📄 wm_setfocusonnextchild.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\wm_setfocusonnextchild.o --depend=.\Obj\wm_setfocusonnextchild.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\WM\WM_SetFocusOnNextChild.c]
THUMB
AREA ||i.WM_SetFocusOnNextChild||, CODE, READONLY, ALIGN=1
WM_SetFocusOnNextChild PROC
;;;99 */
;;;100 WM_HWIN WM_SetFocusOnNextChild(WM_HWIN hParent) {
000000 b570 PUSH {r4-r6,lr}
000002 0006 MOVS r6,r0
;;;101 WM_HWIN r = 0;
000004 f04f0000 MOV r0,#0
;;;102 if (hParent) {
000008 d01b BEQ |L1.66|
00000a 4630 MOV r0,r6
00000c f7fffffe BL WM__GetFocussedChild
000010 4601 MOV r1,r0
000012 4630 MOV r0,r6
000014 f7fffffe BL _GetNextChild
000018 4605 MOV r5,r0
00001a 4604 MOV r4,r0
00001c e006 B |L1.44|
|L1.30|
00001e 4621 MOV r1,r4
000020 4630 MOV r0,r6
000022 f7fffffe BL _GetNextChild
000026 4604 MOV r4,r0
000028 42a8 CMP r0,r5
00002a d005 BEQ |L1.56|
|L1.44|
00002c 4620 MOV r0,r4
00002e f7fffffe BL WM_IsFocussable
000032 b908 CBNZ r0,|L1.56|
000034 2c00 CMP r4,#0
000036 d1f2 BNE |L1.30|
|L1.56|
000038 4620 MOV r0,r4
00003a f7fffffe BL WM_SetFocus
00003e b908 CBNZ r0,|L1.68|
000040 4620 MOV r0,r4
|L1.66|
;;;103 WM_LOCK();
;;;104 r = _SetFocusOnNextChild(hParent);
;;;105 WM_UNLOCK();
;;;106 }
;;;107 return r;
;;;108 }
000042 bd70 POP {r4-r6,pc}
|L1.68|
000044 2000 MOVS r0,#0
000046 bd70 POP {r4-r6,pc}
;;;109
ENDP
AREA ||i._GetNextChild||, CODE, READONLY, ALIGN=1
_GetNextChild PROC
;;;44 */
;;;45 static WM_HWIN _GetNextChild(WM_HWIN hParent, WM_HWIN hChild) {
000000 b570 PUSH {r4-r6,lr}
000002 4605 MOV r5,r0
000004 000c MOVS r4,r1
;;;46 WM_HWIN hObj = 0;
;;;47 WM_Obj* pObj;
;;;48 if (hChild) {
000006 d005 BEQ |L2.20|
;;;49 pObj = WM_HANDLE2PTR(hChild);
000008 4620 MOV r0,r4
00000a f7fffffe BL GUI_ALLOC_h2p
;;;50 hObj = pObj->hNext;
00000e f9b0001a LDRSH r0,[r0,#0x1a]
;;;51 }
;;;52 if (!hObj) {
000012 b920 CBNZ r0,|L2.30|
|L2.20|
;;;53 pObj = WM_HANDLE2PTR(hParent);
000014 4628 MOV r0,r5
000016 f7fffffe BL GUI_ALLOC_h2p
;;;54 hObj = pObj->hFirstChild;
00001a f9b00018 LDRSH r0,[r0,#0x18]
|L2.30|
;;;55 }
;;;56 if (hObj != hChild) {
00001e 42a0 CMP r0,r4
000020 d100 BNE |L2.36|
;;;57 return hObj;
;;;58 }
;;;59 return 0;
000022 2000 MOVS r0,#0
|L2.36|
;;;60 }
000024 bd70 POP {r4-r6,pc}
;;;61
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -