📄 menu_popup.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\menu_popup.o --depend=.\Obj\menu_popup.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\MENU_Popup.c]
THUMB
AREA ||i.MENU_Popup||, CODE, READONLY, ALIGN=1
MENU_Popup PROC
;;;34 */
;;;35 void MENU_Popup(MENU_Handle hObj, WM_HWIN hDestWin, int x, int y, int xSize, int ySize, int Flags) {
000000 e92d47f0 PUSH {r4-r10,lr}
;;;36 GUI_USE_PARA(Flags);
;;;37 if (hObj && hDestWin) {
000004 e9dd4508 LDRD r4,r5,[sp,#0x20]
000008 0007 MOVS r7,r0 ;35
00000a 4689 MOV r9,r1 ;35
00000c 4690 MOV r8,r2 ;35
00000e 461e MOV r6,r3 ;35
000010 d034 BEQ |L1.124|
000012 f1b90f00 CMP r9,#0
000016 d031 BEQ |L1.124|
;;;38 MENU_Obj* pObj;
;;;39 WM_LOCK();
;;;40 pObj = MENU_H2P(hObj);
000018 4638 MOV r0,r7
00001a f7fffffe BL GUI_ALLOC_h2p
;;;41 if (pObj) {
00001e 2800 CMP r0,#0
000020 d02c BEQ |L1.124|
;;;42 pObj->Flags |= MENU_SF_POPUP;
000022 f8b0205e LDRH r2,[r0,#0x5e]
;;;43 pObj->Width = ((xSize > 0) ? xSize : 0);
000026 2300 MOVS r3,#0
000028 f0420280 ORR r2,r2,#0x80 ;42
00002c 4619 MOV r1,r3
00002e f8a0205e STRH r2,[r0,#0x5e] ;42
000032 2c00 CMP r4,#0
000034 dd00 BLE |L1.56|
000036 4621 MOV r1,r4
|L1.56|
;;;44 pObj->Height = ((ySize > 0) ? ySize : 0);
000038 6641 STR r1,[r0,#0x64]
00003a 2d00 CMP r5,#0
00003c dd00 BLE |L1.64|
00003e 462b MOV r3,r5
|L1.64|
;;;45 x += WM_GetWindowOrgX(hDestWin);
000040 6683 STR r3,[r0,#0x68]
000042 4648 MOV r0,r9
000044 f7fffffe BL WM_GetWindowOrgX
000048 eb000408 ADD r4,r0,r8
;;;46 y += WM_GetWindowOrgY(hDestWin);
00004c 4648 MOV r0,r9
00004e f7fffffe BL WM_GetWindowOrgY
000052 1985 ADDS r5,r0,r6
;;;47 MENU_SetOwner(hObj, hDestWin);
000054 4649 MOV r1,r9
000056 4638 MOV r0,r7
000058 f7fffffe BL MENU_SetOwner
;;;48 WM_AttachWindowAt(hObj, WM_HBKWIN, x, y);
00005c f7fffffe BL WM_GetDesktopWindow
000060 4601 MOV r1,r0
000062 462b MOV r3,r5
000064 4622 MOV r2,r4
000066 4638 MOV r0,r7
000068 f7fffffe BL WM_AttachWindowAt
;;;49 MENU__SendMenuMessage(hDestWin, hObj, MENU_ON_OPEN, 0);
00006c 4639 MOV r1,r7
00006e 4648 MOV r0,r9
000070 e8bd47f0 POP {r4-r10,lr}
000074 2300 MOVS r3,#0
000076 2203 MOVS r2,#3
000078 f7ffbffe B.W MENU__SendMenuMessage
|L1.124|
;;;50 }
;;;51 WM_UNLOCK();
;;;52 }
;;;53 }
00007c e8bd87f0 POP {r4-r10,pc}
;;;54
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -