📄 wm__notifyvischanged.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__notifyvischanged.o --depend=.\Obj\wm__notifyvischanged.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__NotifyVisChanged.c]
THUMB
AREA ||i.WM__NotifyVisChanged||, CODE, READONLY, ALIGN=1
WM__NotifyVisChanged PROC
;;;66 */
;;;67 void WM__NotifyVisChanged(WM_HWIN hWin, GUI_RECT * pRect) {
000000 b510 PUSH {r4,lr}
000002 460c MOV r4,r1
;;;68 WM_Obj * pWin;
;;;69 WM_HWIN hParent;
;;;70 pWin = WM_H2P(hWin);
000004 f7fffffe BL GUI_ALLOC_h2p
;;;71 hParent = pWin->hParent;
000008 f9b00016 LDRSH r0,[r0,#0x16]
;;;72 if (hParent) {
00000c 2800 CMP r0,#0
00000e d004 BEQ |L1.26|
;;;73 _NotifyVisChanged(hParent, pRect);
000010 4621 MOV r1,r4
000012 e8bd4010 POP {r4,lr}
000016 f7ffbffe B.W _NotifyVisChanged
|L1.26|
;;;74 }
;;;75 }
00001a bd10 POP {r4,pc}
;;;76
ENDP
AREA ||i._NotifyVisChanged||, CODE, READONLY, ALIGN=1
_NotifyVisChanged PROC
;;;37 */
;;;38 static void _NotifyVisChanged(WM_HWIN hWin, GUI_RECT * pRect) {
000000 b570 PUSH {r4-r6,lr}
000002 460e MOV r6,r1
;;;39 WM_Obj* pWin;
;;;40
;;;41 for (hWin = WM_GetFirstChild(hWin); hWin; hWin = pWin->hNext) {
000004 f7fffffe BL WM_GetFirstChild
000008 4605 MOV r5,r0
00000a e015 B |L2.56|
|L2.12|
;;;42 pWin = WM_H2P(hWin);
00000c 4628 MOV r0,r5
00000e f7fffffe BL GUI_ALLOC_h2p
000012 4604 MOV r4,r0
;;;43 if (pWin->Status & WM_SF_ISVIS) {
000014 8b80 LDRH r0,[r0,#0x1c]
000016 0780 LSLS r0,r0,#30
000018 d50c BPL |L2.52|
;;;44 if (GUI_RectsIntersect(&pWin->Rect, pRect)) {
00001a 4631 MOV r1,r6
00001c 4620 MOV r0,r4
00001e f7fffffe BL GUI_RectsIntersect
000022 b138 CBZ r0,|L2.52|
;;;45 WM__SendMsgNoData(hWin, WM_NOTIFY_VIS_CHANGED); /* Notify window that visibility may have changed */
000024 2129 MOVS r1,#0x29
000026 4628 MOV r0,r5
000028 f7fffffe BL WM__SendMsgNoData
;;;46 _NotifyVisChanged(hWin, pRect);
00002c 4631 MOV r1,r6
00002e 4628 MOV r0,r5
000030 f7fffffe BL _NotifyVisChanged
|L2.52|
000034 f9b4501a LDRSH r5,[r4,#0x1a] ;41
|L2.56|
000038 2d00 CMP r5,#0 ;41
00003a d1e7 BNE |L2.12|
;;;47 }
;;;48 }
;;;49 }
;;;50 }
00003c bd70 POP {r4-r6,pc}
;;;51
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -