📄 widget_effect_3d.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\widget_effect_3d.o --depend=.\Obj\widget_effect_3d.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\WIDGET_Effect_3D.c]
THUMB
AREA ||i.WIDGET_EFFECT_3D_DrawUp||, CODE, READONLY, ALIGN=1
WIDGET_EFFECT_3D_DrawUp PROC
;;;128 */
;;;129 void WIDGET_EFFECT_3D_DrawUp(void) {
000000 b51c PUSH {r2-r4,lr}
;;;130 GUI_RECT r;
;;;131 WM_GetClientRect(&r);
000002 4668 MOV r0,sp
000004 f7fffffe BL WM_GetClientRect
;;;132 _WIDGET_EFFECT_3D_DrawUpRect(&r);
000008 4668 MOV r0,sp
00000a f7fffffe BL _WIDGET_EFFECT_3D_DrawUpRect
;;;133 }
00000e bd1c POP {r2-r4,pc}
;;;134
ENDP
AREA ||i.WIDGET_SetDefaultEffect_3D||, CODE, READONLY, ALIGN=2
WIDGET_SetDefaultEffect_3D PROC
;;;138 */
;;;139 void WIDGET_SetDefaultEffect_3D(void) {
000000 4801 LDR r0,|L2.8|
;;;140 WIDGET_SetDefaultEffect(&WIDGET_Effect_3D);
000002 f7ffbffe B.W WIDGET_SetDefaultEffect
;;;141 }
;;;142
ENDP
000006 0000 DCW 0x0000
|L2.8|
DCD ||.constdata||
AREA ||i._WIDGET_EFFECT_3D_DrawDown||, CODE, READONLY, ALIGN=1
_WIDGET_EFFECT_3D_DrawDown PROC
;;;103 */
;;;104 static void _WIDGET_EFFECT_3D_DrawDown(void) {
000000 b51c PUSH {r2-r4,lr}
;;;105 GUI_RECT r;
;;;106 WM_GetClientRect(&r);
000002 4668 MOV r0,sp
000004 f7fffffe BL WM_GetClientRect
;;;107 _WIDGET_EFFECT_3D_DrawDownRect(&r);
000008 4668 MOV r0,sp
00000a f7fffffe BL _WIDGET_EFFECT_3D_DrawDownRect
;;;108 }
00000e bd1c POP {r2-r4,pc}
;;;109
ENDP
AREA ||i._WIDGET_EFFECT_3D_DrawDownRect||, CODE, READONLY, ALIGN=2
_WIDGET_EFFECT_3D_DrawDownRect PROC
;;;78 */
;;;79 static void _WIDGET_EFFECT_3D_DrawDownRect(const GUI_RECT* pRect) {
000000 b51c PUSH {r2-r4,lr}
;;;80 GUI_RECT r;
;;;81 r = *pRect;
000002 4601 MOV r1,r0
000004 2208 MOVS r2,#8
000006 4668 MOV r0,sp
000008 f7fffffe BL __aeabi_memcpy
;;;82 LCD_SetColor(0x000000); /* TBD: Use halftone */
00000c 2000 MOVS r0,#0
00000e f7fffffe BL LCD_SetColor
;;;83 /* GUI_DrawRect(0, 0, r.x1, r.y1);*/
;;;84 /* Draw the upper left sides */
;;;85 LCD_SetColor(0x808080);
000012 482e LDR r0,|L4.204|
000014 f7fffffe BL LCD_SetColor
;;;86 GUI_DrawHLine(r.y0, r.x0, r.x1);
000018 f9bd2004 LDRSH r2,[sp,#4]
00001c f9bd1000 LDRSH r1,[sp,#0]
000020 f9bd0002 LDRSH r0,[sp,#2]
000024 f7fffffe BL GUI_DrawHLine
;;;87 GUI_DrawVLine(r.x0, r.y0 + 1, r.y1);
000028 f9bd1002 LDRSH r1,[sp,#2]
00002c f9bd2006 LDRSH r2,[sp,#6]
000030 1c49 ADDS r1,r1,#1
000032 f9bd0000 LDRSH r0,[sp,#0]
000036 f7fffffe BL GUI_DrawVLine
;;;88 LCD_SetColor(0x0);
00003a 2000 MOVS r0,#0
00003c f7fffffe BL LCD_SetColor
;;;89 GUI_DrawHLine(r.y0 + 1, r.x0 + 1, r.x1 - 1);
000040 f9bd2004 LDRSH r2,[sp,#4]
000044 f9bd1000 LDRSH r1,[sp,#0]
000048 f9bd0002 LDRSH r0,[sp,#2]
00004c 1e52 SUBS r2,r2,#1
00004e 1c49 ADDS r1,r1,#1
000050 1c40 ADDS r0,r0,#1
000052 f7fffffe BL GUI_DrawHLine
;;;90 GUI_DrawVLine(r.x0 + 1, r.y0 + 2, r.y1 - 1);
000056 f9bd2006 LDRSH r2,[sp,#6]
00005a f9bd1002 LDRSH r1,[sp,#2]
00005e f9bd0000 LDRSH r0,[sp,#0]
000062 1e52 SUBS r2,r2,#1
000064 1c89 ADDS r1,r1,#2
000066 1c40 ADDS r0,r0,#1
000068 f7fffffe BL GUI_DrawVLine
;;;91 /* Draw the lower right sides */
;;;92 LCD_SetColor(0xffffff);
00006c f06f407f MVN r0,#0xff000000
000070 f7fffffe BL LCD_SetColor
;;;93 GUI_DrawHLine(r.y1, r.x0 + 1, r.x1);
000074 f9bd1000 LDRSH r1,[sp,#0]
000078 f9bd2004 LDRSH r2,[sp,#4]
00007c 1c49 ADDS r1,r1,#1
00007e f9bd0006 LDRSH r0,[sp,#6]
000082 f7fffffe BL GUI_DrawHLine
;;;94 GUI_DrawVLine(r.x1, r.y0 + 1, r.y1);
000086 f9bd1002 LDRSH r1,[sp,#2]
00008a f9bd2006 LDRSH r2,[sp,#6]
00008e 1c49 ADDS r1,r1,#1
000090 f9bd0004 LDRSH r0,[sp,#4]
000094 f7fffffe BL GUI_DrawVLine
;;;95 LCD_SetColor(0xc0c0c0);
000098 480d LDR r0,|L4.208|
00009a f7fffffe BL LCD_SetColor
;;;96 GUI_DrawHLine(r.y1 - 1, r. x0 + 2, r.x1-1);
00009e f9bd2004 LDRSH r2,[sp,#4]
0000a2 f9bd1000 LDRSH r1,[sp,#0]
0000a6 f9bd0006 LDRSH r0,[sp,#6]
0000aa 1e52 SUBS r2,r2,#1
0000ac 1c89 ADDS r1,r1,#2
0000ae 1e40 SUBS r0,r0,#1
0000b0 f7fffffe BL GUI_DrawHLine
;;;97 GUI_DrawVLine(r.x1 - 1, r. y0 + 2, r.y1-1);
0000b4 f9bd2006 LDRSH r2,[sp,#6]
0000b8 f9bd1002 LDRSH r1,[sp,#2]
0000bc f9bd0004 LDRSH r0,[sp,#4]
0000c0 1e52 SUBS r2,r2,#1
0000c2 1c89 ADDS r1,r1,#2
0000c4 1e40 SUBS r0,r0,#1
0000c6 f7fffffe BL GUI_DrawVLine
;;;98 }
0000ca bd1c POP {r2-r4,pc}
;;;99
ENDP
|L4.204|
DCD 0x00808080
|L4.208|
DCD 0x00c0c0c0
AREA ||i._WIDGET_EFFECT_3D_DrawUpRect||, CODE, READONLY, ALIGN=2
_WIDGET_EFFECT_3D_DrawUpRect PROC
;;;54 */
;;;55 static void _WIDGET_EFFECT_3D_DrawUpRect(const GUI_RECT* pRect) {
000000 b51c PUSH {r2-r4,lr}
;;;56 GUI_RECT r;
;;;57 /* Saving of context no longer required ... Speeds up the system
;;;58 GUI_CONTEXT Context;
;;;59 GUI_SaveContext(&Context);
;;;60 */
;;;61 r = *pRect;
000002 4601 MOV r1,r0
000004 2208 MOVS r2,#8
000006 4668 MOV r0,sp
000008 f7fffffe BL __aeabi_memcpy
;;;62 LCD_SetColor(0x000000);
00000c 2000 MOVS r0,#0
00000e f7fffffe BL LCD_SetColor
;;;63 GUI_DrawRect(r.x0, r.y0, r.x1, r.y1); /* Draw rectangle around it */
000012 f9bd3006 LDRSH r3,[sp,#6]
000016 f9bd2004 LDRSH r2,[sp,#4]
00001a f9bd1002 LDRSH r1,[sp,#2]
00001e f9bd0000 LDRSH r0,[sp,#0]
000022 f7fffffe BL GUI_DrawRect
;;;64 /* Draw the bright sides */
;;;65 LCD_SetColor(0xffffff);
000026 f06f407f MVN r0,#0xff000000
00002a f7fffffe BL LCD_SetColor
;;;66 GUI_DrawHLine(r.y0 + 1, r.x0 + 1, r.x1 - 2); /* Draw top line */
00002e f9bd2004 LDRSH r2,[sp,#4]
000032 f9bd1000 LDRSH r1,[sp,#0]
000036 f9bd0002 LDRSH r0,[sp,#2]
00003a 1e92 SUBS r2,r2,#2
00003c 1c49 ADDS r1,r1,#1
00003e 1c40 ADDS r0,r0,#1
000040 f7fffffe BL GUI_DrawHLine
;;;67 GUI_DrawVLine(r.x0 + 1, r.y0 + 1, r.y1 - 2);
000044 f9bd2006 LDRSH r2,[sp,#6]
000048 f9bd1002 LDRSH r1,[sp,#2]
00004c f9bd0000 LDRSH r0,[sp,#0]
000050 1e92 SUBS r2,r2,#2
000052 1c49 ADDS r1,r1,#1
000054 1c40 ADDS r0,r0,#1
000056 f7fffffe BL GUI_DrawVLine
;;;68 /* Draw the dark sides */
;;;69 LCD_SetColor(0x555555);
00005a 480d LDR r0,|L5.144|
00005c f7fffffe BL LCD_SetColor
;;;70 GUI_DrawHLine(r.y1-1, r.x0 + 1, r.x1 - 1);
000060 f9bd2004 LDRSH r2,[sp,#4]
000064 f9bd1000 LDRSH r1,[sp,#0]
000068 f9bd0006 LDRSH r0,[sp,#6]
00006c 1e52 SUBS r2,r2,#1
00006e 1c49 ADDS r1,r1,#1
000070 1e40 SUBS r0,r0,#1
000072 f7fffffe BL GUI_DrawHLine
;;;71 GUI_DrawVLine(r.x1-1, r.y0 + 1, r.y1 - 2);
000076 f9bd2006 LDRSH r2,[sp,#6]
00007a f9bd1002 LDRSH r1,[sp,#2]
00007e f9bd0004 LDRSH r0,[sp,#4]
000082 1e92 SUBS r2,r2,#2
000084 1c49 ADDS r1,r1,#1
000086 1e40 SUBS r0,r0,#1
000088 f7fffffe BL GUI_DrawVLine
;;;72 /* GUI_RestoreContext(&Context); */
;;;73 }
00008c bd1c POP {r2-r4,pc}
;;;74
ENDP
00008e 0000 DCW 0x0000
|L5.144|
DCD 0x00555555
AREA ||i._WIDGET_EFFECT_3D_GetRect||, CODE, READONLY, ALIGN=1
_WIDGET_EFFECT_3D_GetRect PROC
;;;113 */
;;;114 static void _WIDGET_EFFECT_3D_GetRect(GUI_RECT* pRect) {
000000 b510 PUSH {r4,lr}
000002 4604 MOV r4,r0
;;;115 WM_GetClientRect(pRect);
000004 f7fffffe BL WM_GetClientRect
;;;116 GUI__ReduceRect(pRect, pRect, 2);
000008 4621 MOV r1,r4
00000a 4620 MOV r0,r4
00000c e8bd4010 POP {r4,lr}
000010 2202 MOVS r2,#2
000012 f7ffbffe B.W GUI__ReduceRect
;;;117 }
;;;118
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=2
WIDGET_Effect_3D
DCD WIDGET_EFFECT_3D_DrawUp
DCD _WIDGET_EFFECT_3D_DrawDown
DCD _WIDGET_EFFECT_3D_DrawUpRect
DCD _WIDGET_EFFECT_3D_DrawDownRect
DCD _WIDGET_EFFECT_3D_GetRect
DCD 0x00000002
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -