📄 wm_bringtobottom.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_bringtobottom.o --depend=.\Obj\wm_bringtobottom.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_BringToBottom.c]
THUMB
AREA ||i.WM_BringToBottom||, CODE, READONLY, ALIGN=1
WM_BringToBottom PROC
;;;34 */
;;;35 void WM_BringToBottom(WM_HWIN hWin) {
000000 e92d41f0 PUSH {r4-r8,lr}
000004 0006 MOVS r6,r0
;;;36 WM_HWIN hParent;
;;;37 WM_HWIN hPrev;
;;;38 WM_Obj* pWin;
;;;39 WM_Obj* pPrev;
;;;40 WM_Obj* pParent;
;;;41 WM_LOCK();
;;;42 if (hWin) {
000006 d01b BEQ |L1.64|
;;;43 pWin = WM_H2P(hWin);
000008 4630 MOV r0,r6
00000a f7fffffe BL GUI_ALLOC_h2p
00000e 4605 MOV r5,r0
;;;44 hPrev = WM__GetPrevSibling(hWin);
000010 4630 MOV r0,r6
000012 f7fffffe BL WM__GetPrevSibling
000016 0004 MOVS r4,r0
;;;45 if (hPrev) { /* If there is no previous one, there is nothing to do ! */
000018 d012 BEQ |L1.64|
;;;46 hParent = WM_GetParent(hWin);
00001a 4630 MOV r0,r6
00001c f7fffffe BL WM_GetParent
;;;47 pParent = WM_H2P(hParent);
000020 f7fffffe BL GUI_ALLOC_h2p
000024 4607 MOV r7,r0
;;;48 /* unlink hWin */
;;;49 pPrev = WM_H2P(hPrev);
000026 4620 MOV r0,r4
000028 f7fffffe BL GUI_ALLOC_h2p
;;;50 pPrev->hNext = pWin->hNext;
00002c 8b69 LDRH r1,[r5,#0x1a]
00002e 8341 STRH r1,[r0,#0x1a]
;;;51 /* Link from parent (making it the first child) */
;;;52 pWin->hNext = pParent->hFirstChild;
000030 8b38 LDRH r0,[r7,#0x18]
000032 8368 STRH r0,[r5,#0x1a]
;;;53 pParent->hFirstChild = hWin;
000034 833e STRH r6,[r7,#0x18]
;;;54 /* Send message in order to make sure top window will be drawn */
;;;55 WM_InvalidateArea(&pWin->Rect);
000036 4628 MOV r0,r5
000038 e8bd41f0 POP {r4-r8,lr}
00003c f7ffbffe B.W WM_InvalidateArea
|L1.64|
;;;56 }
;;;57 }
;;;58 WM_UNLOCK();
;;;59 }
000040 e8bd81f0 POP {r4-r8,pc}
;;;60
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -