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

📄 wm_settrans.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_settrans.o --depend=.\Obj\wm_settrans.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_SetTrans.c]
                          THUMB

                          AREA ||i.WM_ClrHasTrans||, CODE, READONLY, ALIGN=2

                  WM_ClrHasTrans PROC
;;;55     */
;;;56     void WM_ClrHasTrans(WM_HWIN hWin) {
000000  b510              PUSH     {r4,lr}
000002  0004              MOVS     r4,r0
;;;57       WM_Obj *pWin;
;;;58       WM_LOCK();
;;;59       if (hWin) {
000004  d011              BEQ      |L1.42|
;;;60         pWin = WM_H2P(hWin);  
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       GUI_ALLOC_h2p
;;;61         /* First check if this is necessary at all */
;;;62         if (pWin->Status & WM_SF_HASTRANS) {
00000c  8b81              LDRH     r1,[r0,#0x1c]
00000e  07ca              LSLS     r2,r1,#31
000010  d00b              BEQ      |L1.42|
;;;63           pWin->Status &= ~WM_SF_HASTRANS;
000012  f0210101          BIC      r1,r1,#1
000016  8381              STRH     r1,[r0,#0x1c]
;;;64           WM__TransWindowCnt--;            /* Decrement counter for transparency windows */
000018  4904              LDR      r1,|L1.44|
00001a  6808              LDR      r0,[r1,#0]  ; WM__TransWindowCnt
00001c  1e40              SUBS     r0,r0,#1
;;;65           WM_InvalidateWindow(hWin);        /* Mark content as invalid */
00001e  6008              STR      r0,[r1,#0]  ; WM__TransWindowCnt
000020  4620              MOV      r0,r4
000022  e8bd4010          POP      {r4,lr}
000026  f7ffbffe          B.W      WM_InvalidateWindow
                  |L1.42|
;;;66         }
;;;67       }
;;;68       WM_UNLOCK();
;;;69     }
00002a  bd10              POP      {r4,pc}
;;;70     
                          ENDP

                  |L1.44|
                          DCD      WM__TransWindowCnt

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

                  WM_GetHasTrans PROC
;;;74     */
;;;75     int WM_GetHasTrans(WM_HWIN hWin) {
000000  b510              PUSH     {r4,lr}
000002  0001              MOVS     r1,r0
;;;76       int r = 0;
000004  f04f0000          MOV      r0,#0
;;;77       WM_Obj *pWin;
;;;78       WM_LOCK();
;;;79       if (hWin) {
000008  d005              BEQ      |L2.22|
;;;80         pWin = WM_H2P(hWin);  
00000a  4608              MOV      r0,r1
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;81         r = pWin->Status & WM_SF_HASTRANS;
000010  8b80              LDRH     r0,[r0,#0x1c]
000012  f0000001          AND      r0,r0,#1
                  |L2.22|
;;;82       }
;;;83       WM_UNLOCK();
;;;84       return r;
;;;85     }
000016  bd10              POP      {r4,pc}
;;;86     
                          ENDP


                          AREA ||i.WM_SetHasTrans||, CODE, READONLY, ALIGN=2

                  WM_SetHasTrans PROC
;;;36     */
;;;37     void WM_SetHasTrans(WM_HWIN hWin) {
000000  b510              PUSH     {r4,lr}
000002  0004              MOVS     r4,r0
;;;38       WM_Obj *pWin;
;;;39       WM_LOCK();
;;;40       if (hWin) {
000004  d011              BEQ      |L3.42|
;;;41         pWin = WM_H2P(hWin);  
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       GUI_ALLOC_h2p
;;;42         /* First check if this is necessary at all */
;;;43         if ((pWin->Status & WM_SF_HASTRANS) == 0) {
00000c  8b81              LDRH     r1,[r0,#0x1c]
00000e  07ca              LSLS     r2,r1,#31
000010  d10b              BNE      |L3.42|
;;;44           pWin->Status |= WM_SF_HASTRANS; /* Set Transparency flag */
000012  f0410101          ORR      r1,r1,#1
000016  8381              STRH     r1,[r0,#0x1c]
;;;45           WM__TransWindowCnt++;          /* Increment counter for transparency windows */
000018  4904              LDR      r1,|L3.44|
00001a  6808              LDR      r0,[r1,#0]  ; WM__TransWindowCnt
00001c  1c40              ADDS     r0,r0,#1
;;;46           WM_InvalidateWindow(hWin);      /* Mark content as invalid */
00001e  6008              STR      r0,[r1,#0]  ; WM__TransWindowCnt
000020  4620              MOV      r0,r4
000022  e8bd4010          POP      {r4,lr}
000026  f7ffbffe          B.W      WM_InvalidateWindow
                  |L3.42|
;;;47         }
;;;48       }
;;;49       WM_UNLOCK();
;;;50     }
00002a  bd10              POP      {r4,pc}
;;;51     
                          ENDP

                  |L3.44|
                          DCD      WM__TransWindowCnt

⌨️ 快捷键说明

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