📄 gui_editstring.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\gui_editstring.o --depend=.\Obj\gui_editstring.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\GUI\Widget\GUI_EditString.c]
THUMB
AREA ||i.GUI_EditString||, CODE, READONLY, ALIGN=2
GUI_EditString PROC
;;;35 */
;;;36 void GUI_EditString(char * pString, int Len, int xsize) {
000000 e92d43fe PUSH {r1-r9,lr}
000004 4680 MOV r8,r0
000006 460e MOV r6,r1
000008 4614 MOV r4,r2
;;;37 int Key, x, y, ysize, Id;
;;;38 EDIT_Handle hEdit;
;;;39 EDIT_Obj* pObj;
;;;40 const GUI_FONT GUI_UNI_PTR * pOldFont = GUI_SetFont(EDIT_GetDefaultFont());
00000a f7fffffe BL EDIT_GetDefaultFont
00000e f7fffffe BL GUI_SetFont
000012 4605 MOV r5,r0
;;;41 x = GUI_GetDispPosX();
000014 f7fffffe BL GUI_GetDispPosX
000018 4681 MOV r9,r0
;;;42 y = GUI_GetDispPosY();
00001a f7fffffe BL GUI_GetDispPosY
00001e 4607 MOV r7,r0
;;;43 if (xsize == 0)
000020 b924 CBNZ r4,|L1.44|
;;;44 xsize = GUI_GetCharDistX('X') * Len + 6;
000022 2058 MOVS r0,#0x58
000024 f7fffffe BL GUI_GetCharDistX
000028 4370 MULS r0,r6,r0
00002a 1d84 ADDS r4,r0,#6
|L1.44|
;;;45 ysize = GUI_GetFontSizeY();
00002c f7fffffe BL GUI_GetFontSizeY
;;;46 Id = 0x1234;
;;;47 hEdit = EDIT_Create(x, y, xsize, ysize, Id, Len, 0);
000030 2300 MOVS r3,#0
000032 e9cd6301 STRD r6,r3,[sp,#4]
000036 f2412134 MOV r1,#0x1234 ;46
00003a 9100 STR r1,[sp,#0]
00003c 4603 MOV r3,r0
00003e 4622 MOV r2,r4
000040 4639 MOV r1,r7
000042 4648 MOV r0,r9
000044 f7fffffe BL EDIT_Create
000048 4604 MOV r4,r0
;;;48 EDIT_SetText(hEdit, pString);
00004a 4641 MOV r1,r8
00004c f7fffffe BL EDIT_SetText
;;;49 pObj = EDIT_H2P(hEdit);
000050 4620 MOV r0,r4
000052 f7fffffe BL GUI_ALLOC_h2p
000056 4606 MOV r6,r0
;;;50 WM_SetFocus(hEdit);
000058 4620 MOV r0,r4
00005a f7fffffe BL WM_SetFocus
;;;51 do {
;;;52 Key = GUI_WaitKey();
00005e bf00 NOP
|L1.96|
000060 f7fffffe BL GUI_WaitKey
;;;53 } while ((Key != GUI_KEY_ESCAPE) && (Key != GUI_KEY_ENTER) && (Key != 0));
000064 281b CMP r0,#0x1b
000066 d00a BEQ |L1.126|
000068 280d CMP r0,#0xd
00006a d002 BEQ |L1.114|
00006c 2800 CMP r0,#0
00006e d1f7 BNE |L1.96|
000070 e005 B |L1.126|
|L1.114|
;;;54 if (Key == GUI_KEY_ENTER)
;;;55 EDIT_GetText(hEdit, pString, pObj->MaxLen);
000072 f9b6202a LDRSH r2,[r6,#0x2a]
000076 4641 MOV r1,r8
000078 4620 MOV r0,r4
00007a f7fffffe BL EDIT_GetText
|L1.126|
;;;56 GUI_SetFont(pOldFont);
00007e 4628 MOV r0,r5
000080 f7fffffe BL GUI_SetFont
;;;57 EDIT_Delete(hEdit);
000084 4620 MOV r0,r4
000086 e8bd43fe POP {r1-r9,lr}
00008a f7ffbffe B.W WM_DeleteWindow
;;;58 }
;;;59
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -