⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wm_stayontop.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 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_stayontop.o --depend=.\Obj\wm_stayontop.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_StayOnTop.c]
                          THUMB

                          AREA ||i.WM_GetStayOnTop||, CODE, READONLY, ALIGN=1

                  WM_GetStayOnTop PROC
;;;61     */
;;;62     int WM_GetStayOnTop(WM_HWIN hWin) {
000000  b510              PUSH     {r4,lr}
;;;63       int Result = 0;
000002  2400              MOVS     r4,#0
;;;64       WM_Obj * pWin;
;;;65       if (hWin) {
000004  b128              CBZ      r0,|L1.18|
;;;66         WM_LOCK();
;;;67         pWin = WM_H2P(hWin);
000006  f7fffffe          BL       GUI_ALLOC_h2p
;;;68         if ((pWin->Status & WM_SF_STAYONTOP) != 0) {
00000a  8b80              LDRH     r0,[r0,#0x1c]
00000c  0700              LSLS     r0,r0,#28
00000e  d500              BPL      |L1.18|
;;;69           Result = 1;
000010  2401              MOVS     r4,#1
                  |L1.18|
;;;70         }
;;;71         WM_UNLOCK();
;;;72       }
;;;73       return Result;
000012  4620              MOV      r0,r4
;;;74     }
000014  bd10              POP      {r4,pc}
;;;75     
                          ENDP


                          AREA ||i.WM_SetStayOnTop||, CODE, READONLY, ALIGN=1

                  WM_SetStayOnTop PROC
;;;34     */
;;;35     void WM_SetStayOnTop(WM_HWIN hWin, int OnOff) {
000000  b570              PUSH     {r4-r6,lr}
000002  0004              MOVS     r4,r0
000004  460d              MOV      r5,r1
;;;36       WM_Obj * pWin;
;;;37       if (hWin) {
000006  d01b              BEQ      |L2.64|
;;;38         U16 OldStatus;
;;;39         WM_LOCK();
;;;40         pWin = WM_H2P(hWin);
000008  4620              MOV      r0,r4
00000a  f7fffffe          BL       GUI_ALLOC_h2p
;;;41         OldStatus = pWin->Status;
00000e  8b81              LDRH     r1,[r0,#0x1c]
;;;42         if (OnOff) {
;;;43           if ((pWin->Status & WM_SF_STAYONTOP) == 0) {  /* First check if this is necessary at all */
000010  070a              LSLS     r2,r1,#28
000012  b125              CBZ      r5,|L2.30|
000014  2a00              CMP      r2,#0
000016  db07              BLT      |L2.40|
;;;44             pWin->Status |= WM_SF_STAYONTOP;
000018  f0410208          ORR      r2,r1,#8
00001c  e003              B        |L2.38|
                  |L2.30|
;;;45           }
;;;46         } else {
;;;47           if ((pWin->Status & WM_SF_STAYONTOP) != 0) {  /* First check if this is necessary at all */
00001e  2a00              CMP      r2,#0
000020  da02              BGE      |L2.40|
;;;48             pWin->Status &= ~WM_SF_STAYONTOP;
000022  f0210208          BIC      r2,r1,#8
                  |L2.38|
000026  8382              STRH     r2,[r0,#0x1c]
                  |L2.40|
;;;49           }
;;;50         }
;;;51         if (pWin->Status != OldStatus) {
000028  8b80              LDRH     r0,[r0,#0x1c]
00002a  4288              CMP      r0,r1
00002c  d008              BEQ      |L2.64|
;;;52           WM_AttachWindow(hWin, WM_GetParent(hWin));
00002e  4620              MOV      r0,r4
000030  f7fffffe          BL       WM_GetParent
000034  4601              MOV      r1,r0
000036  4620              MOV      r0,r4
000038  e8bd4070          POP      {r4-r6,lr}
00003c  f7ffbffe          B.W      WM_AttachWindow
                  |L2.64|
;;;53         }
;;;54         WM_UNLOCK();
;;;55       }
;;;56     }
000040  bd70              POP      {r4-r6,pc}
;;;57     
                          ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -