📄 wm_setfocusonprevchild.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_setfocusonprevchild.o --depend=.\Obj\wm_setfocusonprevchild.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_SetFocusOnPrevChild.c]
THUMB
AREA ||i.WM_SetFocusOnPrevChild||, CODE, READONLY, ALIGN=1
WM_SetFocusOnPrevChild PROC
;;;96 */
;;;97 WM_HWIN WM_SetFocusOnPrevChild(WM_HWIN hParent) {
000000 b570 PUSH {r4-r6,lr}
000002 0001 MOVS r1,r0
;;;98 WM_HWIN r = 0;
000004 f04f0000 MOV r0,#0
;;;99 if (hParent) {
000008 d018 BEQ |L1.60|
00000a 4608 MOV r0,r1
00000c f7fffffe BL WM__GetFocussedChild
000010 f7fffffe BL _GetPrevChild
000014 4605 MOV r5,r0
000016 4604 MOV r4,r0
000018 e005 B |L1.38|
|L1.26|
00001a 4620 MOV r0,r4
00001c f7fffffe BL _GetPrevChild
000020 4604 MOV r4,r0
000022 42a8 CMP r0,r5
000024 d005 BEQ |L1.50|
|L1.38|
000026 4620 MOV r0,r4
000028 f7fffffe BL WM_IsFocussable
00002c b908 CBNZ r0,|L1.50|
00002e 2c00 CMP r4,#0
000030 d1f3 BNE |L1.26|
|L1.50|
000032 4620 MOV r0,r4
000034 f7fffffe BL WM_SetFocus
000038 b908 CBNZ r0,|L1.62|
00003a 4620 MOV r0,r4
|L1.60|
;;;100 WM_LOCK();
;;;101 r = _SetFocusOnPrevChild(hParent);
;;;102 WM_UNLOCK();
;;;103 }
;;;104 return r;
;;;105 }
00003c bd70 POP {r4-r6,pc}
|L1.62|
00003e 2000 MOVS r0,#0
000040 bd70 POP {r4-r6,pc}
;;;106
ENDP
AREA ||i._GetPrevChild||, CODE, READONLY, ALIGN=1
_GetPrevChild PROC
;;;44 */
;;;45 static WM_HWIN _GetPrevChild(WM_HWIN hChild) {
000000 b510 PUSH {r4,lr}
000002 0004 MOVS r4,r0
;;;46 WM_HWIN hObj = 0;
;;;47 if (hChild) {
000004 d003 BEQ |L2.14|
;;;48 hObj = WM__GetPrevSibling(hChild);
000006 4620 MOV r0,r4
000008 f7fffffe BL WM__GetPrevSibling
;;;49 }
;;;50 if (!hObj) {
00000c b910 CBNZ r0,|L2.20|
|L2.14|
;;;51 hObj = WM__GetLastSibling(hChild);
00000e 4620 MOV r0,r4
000010 f7fffffe BL WM__GetLastSibling
|L2.20|
;;;52 }
;;;53 if (hObj != hChild) {
000014 42a0 CMP r0,r4
000016 d100 BNE |L2.26|
;;;54 return hObj;
;;;55 }
;;;56 return 0;
000018 2000 MOVS r0,#0
|L2.26|
;;;57 }
00001a bd10 POP {r4,pc}
;;;58
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -