📄 wm_settrans.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 + -