📄 framewin_minmaxrest.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\framewin_minmaxrest.o --depend=.\Obj\framewin_minmaxrest.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\Widget\FRAMEWIN_MinMaxRest.c]
THUMB
AREA ||i.FRAMEWIN_Maximize||, CODE, READONLY, ALIGN=1
FRAMEWIN_Maximize PROC
;;;151 */
;;;152 void FRAMEWIN_Maximize(FRAMEWIN_Handle hObj) {
000000 b510 PUSH {r4,lr}
000002 0004 MOVS r4,r0
;;;153 if (hObj) {
000004 d008 BEQ |L1.24|
;;;154 FRAMEWIN_Obj* pObj;
;;;155 WM_LOCK();
;;;156 pObj = FRAMEWIN_H2P(hObj);
000006 4620 MOV r0,r4
000008 f7fffffe BL GUI_ALLOC_h2p
;;;157 _MaximizeFramewin(hObj, pObj);
00000c 4601 MOV r1,r0
00000e 4620 MOV r0,r4
000010 e8bd4010 POP {r4,lr}
000014 f7ffbffe B.W _MaximizeFramewin
|L1.24|
;;;158 WM_UNLOCK();
;;;159 }
;;;160 }
000018 bd10 POP {r4,pc}
;;;161
ENDP
AREA ||i.FRAMEWIN_Minimize||, CODE, READONLY, ALIGN=1
FRAMEWIN_Minimize PROC
;;;137 */
;;;138 void FRAMEWIN_Minimize(FRAMEWIN_Handle hObj) {
000000 b510 PUSH {r4,lr}
000002 0004 MOVS r4,r0
;;;139 if (hObj) {
000004 d008 BEQ |L2.24|
;;;140 FRAMEWIN_Obj* pObj;
;;;141 WM_LOCK();
;;;142 pObj = FRAMEWIN_H2P(hObj);
000006 4620 MOV r0,r4
000008 f7fffffe BL GUI_ALLOC_h2p
;;;143 _MinimizeFramewin(hObj, pObj);
00000c 4601 MOV r1,r0
00000e 4620 MOV r0,r4
000010 e8bd4010 POP {r4,lr}
000014 f7ffbffe B.W _MinimizeFramewin
|L2.24|
;;;144 WM_UNLOCK();
;;;145 }
;;;146 }
000018 bd10 POP {r4,pc}
;;;147
ENDP
AREA ||i.FRAMEWIN_Restore||, CODE, READONLY, ALIGN=1
FRAMEWIN_Restore PROC
;;;165 */
;;;166 void FRAMEWIN_Restore(FRAMEWIN_Handle hObj) {
000000 b570 PUSH {r4-r6,lr}
000002 0004 MOVS r4,r0
;;;167 if (hObj) {
000004 d00d BEQ |L3.34|
;;;168 FRAMEWIN_Obj* pObj;
;;;169 WM_LOCK();
;;;170 pObj = FRAMEWIN_H2P(hObj);
000006 4620 MOV r0,r4
000008 f7fffffe BL GUI_ALLOC_h2p
00000c 4605 MOV r5,r0
;;;171 _RestoreMinimized(hObj, pObj);
00000e 4601 MOV r1,r0
000010 4620 MOV r0,r4
000012 f7fffffe BL _RestoreMinimized
;;;172 _RestoreMaximized(hObj, pObj);
000016 4629 MOV r1,r5
000018 4620 MOV r0,r4
00001a e8bd4070 POP {r4-r6,lr}
00001e f7ffbffe B.W _RestoreMaximized
|L3.34|
;;;173 WM_UNLOCK();
;;;174 }
;;;175 }
000022 bd70 POP {r4-r6,pc}
;;;176
ENDP
AREA ||i._InvalidateButton||, CODE, READONLY, ALIGN=1
_InvalidateButton PROC
;;;38 */
;;;39 static void _InvalidateButton(FRAMEWIN_Obj* pObj, int Id) {
000000 b570 PUSH {r4-r6,lr}
000002 460d MOV r5,r1
;;;40 WM_HWIN hChild;
;;;41 WM_Obj* pChild;
;;;42 for (hChild = pObj->Widget.Win.hFirstChild; hChild; hChild = pChild->hNext) {
000004 f9b04018 LDRSH r4,[r0,#0x18]
000008 e00d B |L4.38|
|L4.10|
;;;43 pChild = WM_H2P(hChild);
00000a 4620 MOV r0,r4
00000c f7fffffe BL GUI_ALLOC_h2p
000010 4606 MOV r6,r0
;;;44 if (WM_GetId(hChild) == Id) {
000012 4620 MOV r0,r4
000014 f7fffffe BL WM_GetId
000018 42a8 CMP r0,r5
00001a d102 BNE |L4.34|
;;;45 WM_InvalidateWindow(hChild);
00001c 4620 MOV r0,r4
00001e f7fffffe BL WM_InvalidateWindow
|L4.34|
000022 f9b6401a LDRSH r4,[r6,#0x1a] ;42
|L4.38|
000026 2c00 CMP r4,#0 ;42
000028 d1ef BNE |L4.10|
;;;46 }
;;;47 }
;;;48 }
00002a bd70 POP {r4-r6,pc}
;;;49
ENDP
AREA ||i._MaximizeFramewin||, CODE, READONLY, ALIGN=1
_MaximizeFramewin PROC
;;;107 */
;;;108 static void _MaximizeFramewin(FRAMEWIN_Handle hObj, FRAMEWIN_Obj* pObj) {
000000 e92d41f0 PUSH {r4-r8,lr}
000004 4680 MOV r8,r0
000006 460c MOV r4,r1
;;;109 _RestoreMinimized(hObj, pObj);
000008 f7fffffe BL _RestoreMinimized
;;;110 /* When window is not maximized, maximize it */
;;;111 if ((pObj->Flags & FRAMEWIN_SF_MAXIMIZED) == 0) {
00000c f8b4005c LDRH r0,[r4,#0x5c]
000010 0600 LSLS r0,r0,#24
000012 d434 BMI |L5.126|
;;;112 WM_HWIN hParent = pObj->Widget.Win.hParent;
000014 f9b40016 LDRSH r0,[r4,#0x16]
;;;113 WM_Obj* pParent = WM_H2P(hParent);
000018 f7fffffe BL GUI_ALLOC_h2p
;;;114 GUI_RECT r = pParent->Rect;
;;;115 if (pParent->hParent == 0) {
00001c e9d06500 LDRD r6,r5,[r0,#0]
000020 8ac0 LDRH r0,[r0,#0x16]
000022 b938 CBNZ r0,|L5.52|
;;;116 r.x1 = LCD_GetXSize();
000024 f7fffffe BL LCD_GetXSize
000028 f360050f BFI r5,r0,#0,#16
;;;117 r.y1 = LCD_GetYSize();
00002c f7fffffe BL LCD_GetYSize
000030 f360451f BFI r5,r0,#16,#16
|L5.52|
;;;118 }
;;;119 pObj->rRestore = pObj->Widget.Win.Rect;
000034 2208 MOVS r2,#8
000036 4621 MOV r1,r4
000038 f1040052 ADD r0,r4,#0x52
00003c f7fffffe BL __aeabi_memcpy
000040 1437 ASRS r7,r6,#16
000042 b236 SXTH r6,r6
000044 463a MOV r2,r7
000046 4631 MOV r1,r6
;;;120 WM_MoveTo(hObj, r.x0, r.y0);
000048 4640 MOV r0,r8
00004a f7fffffe BL WM_MoveTo
;;;121 WM_SetSize(hObj, r.x1 - r.x0 + 1, r.y1 - r.y0 + 1);
00004e b228 SXTH r0,r5
000050 1b81 SUBS r1,r0,r6
000052 ebc74225 RSB r2,r7,r5,ASR #16
000056 1c52 ADDS r2,r2,#1
000058 1c49 ADDS r1,r1,#1
00005a 4640 MOV r0,r8
00005c f7fffffe BL WM_SetSize
;;;122 FRAMEWIN__UpdatePositions(pObj);
000060 4620 MOV r0,r4
000062 f7fffffe BL FRAMEWIN__UpdatePositions
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -