wm_show.txt
来自「STM32F103ZET6+UCOSII+UCGUI源码」· 文本 代码 · 共 82 行
TXT
82 行
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\wm_show.o --depend=.\Obj\wm_show.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_Show.c]
THUMB
AREA ||i.WM_InvalidateWindowDescs||, CODE, READONLY, ALIGN=1
WM_InvalidateWindowDescs PROC
;;;37 */
;;;38 void WM_InvalidateWindowDescs(WM_HWIN hWin) {
000000 b570 PUSH {r4-r6,lr}
000002 0004 MOVS r4,r0
;;;39 WM_HWIN hChild;
;;;40 if (hWin) {
000004 d012 BEQ |L1.44|
;;;41 WM_InvalidateWindow(hWin); /* Invalidate window itself */
000006 4620 MOV r0,r4
000008 f7fffffe BL WM_InvalidateWindow
;;;42 for (hChild = WM_GetFirstChild(hWin); hChild;) {
00000c 4620 MOV r0,r4
00000e f7fffffe BL WM_GetFirstChild
000012 4604 MOV r4,r0
000014 e008 B |L1.40|
|L1.22|
;;;43 WM_Obj* pChild = WM_H2P(hChild);
000016 4620 MOV r0,r4
000018 f7fffffe BL GUI_ALLOC_h2p
00001c 4605 MOV r5,r0
;;;44 WM_InvalidateWindowDescs(hChild);
00001e 4620 MOV r0,r4
000020 f7fffffe BL WM_InvalidateWindowDescs
;;;45 hChild = pChild->hNext;
000024 f9b5401a LDRSH r4,[r5,#0x1a]
|L1.40|
000028 2c00 CMP r4,#0 ;42
00002a d1f4 BNE |L1.22|
|L1.44|
;;;46 }
;;;47 }
;;;48 }
00002c bd70 POP {r4-r6,pc}
;;;49
ENDP
AREA ||i.WM_ShowWindow||, CODE, READONLY, ALIGN=1
WM_ShowWindow PROC
;;;53 */
;;;54 void WM_ShowWindow(WM_HWIN hWin) {
000000 b510 PUSH {r4,lr}
000002 0004 MOVS r4,r0
;;;55 if (hWin) {
000004 d00d BEQ |L2.34|
;;;56 WM_Obj *pWin;
;;;57 WM_LOCK();
;;;58 pWin = WM_H2P(hWin);
000006 4620 MOV r0,r4
000008 f7fffffe BL GUI_ALLOC_h2p
;;;59 if ((pWin->Status & WM_SF_ISVIS) == 0) { /* First check if this is necessary at all */
00000c 8b81 LDRH r1,[r0,#0x1c]
00000e 078a LSLS r2,r1,#30
000010 d407 BMI |L2.34|
;;;60 pWin->Status |= WM_SF_ISVIS; /* Set Visibility flag */
000012 f0410102 ORR r1,r1,#2
000016 8381 STRH r1,[r0,#0x1c]
;;;61 WM_InvalidateWindowDescs(hWin); /* Mark content as invalid */
000018 4620 MOV r0,r4
00001a e8bd4010 POP {r4,lr}
00001e f7ffbffe B.W WM_InvalidateWindowDescs
|L2.34|
;;;62 #if WM_SUPPORT_NOTIFY_VIS_CHANGED
;;;63 WM__NotifyVisChanged(hWin, &pWin->Rect);
;;;64 #endif
;;;65 }
;;;66 WM_UNLOCK();
;;;67 }
;;;68 }
000022 bd10 POP {r4,pc}
;;;69
ENDP
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?