📄 guiaaarc.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\guiaaarc.o --depend=.\Obj\guiaaarc.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\AntiAlias\GUIAAArc.c]
THUMB
AREA ||i.GUI_AA_DrawArc||, CODE, READONLY, ALIGN=1
GUI_AA_DrawArc PROC
;;;68 */
;;;69 void GUI_AA_DrawArc(int x0, int y0, int rx, int ry, int a0, int a1) {
000000 e92d47fc PUSH {r2-r10,lr}
;;;70 GUI_LOCK();
;;;71 #if (GUI_WINSUPPORT)
;;;72 WM_ADDORG_AA(x0,y0);
000004 e9dd890a LDRD r8,r9,[sp,#0x28]
000008 4604 MOV r4,r0 ;69
00000a 460d MOV r5,r1 ;69
00000c 4616 MOV r6,r2 ;69
00000e 461f MOV r7,r3 ;69
000010 f7fffffe BL WM__GetOrgX_AA
000014 4404 ADD r4,r4,r0
000016 f7fffffe BL WM__GetOrgY_AA
00001a 4405 ADD r5,r5,r0
;;;73 WM_ITERATE_START(NULL) {
00001c 2000 MOVS r0,#0
00001e f7fffffe BL WM__InitIVRSearch
000022 e009 B |L1.56|
|L1.36|
;;;74 #endif
;;;75 _DrawArcAA( x0, y0, rx, ry, a0, a1);
000024 463b MOV r3,r7
000026 4632 MOV r2,r6
000028 4629 MOV r1,r5
00002a 4620 MOV r0,r4
00002c e9cd8900 STRD r8,r9,[sp,#0]
000030 f7fffffe BL _DrawArcAA
;;;76 #if (GUI_WINSUPPORT)
;;;77 } WM_ITERATE_END();
000034 f7fffffe BL WM__GetNextIVR
|L1.56|
000038 2800 CMP r0,#0
00003a d1f3 BNE |L1.36|
;;;78 #endif
;;;79 GUI_UNLOCK();
;;;80 }
00003c e8bd87fc POP {r2-r10,pc}
;;;81
ENDP
AREA ||i._DrawArcAA||, CODE, READONLY, ALIGN=2
_DrawArcAA PROC
;;;38 */
;;;39 static void _DrawArcAA(int x0, int y0, int rx, int ry, int a0, int a1) {
000000 e92d5ffc PUSH {r2-r12,lr}
;;;40 int PenSizePrev = GUI_GetPenSize();
000004 e9ddab0c LDRD r10,r11,[sp,#0x30]
000008 4605 MOV r5,r0 ;39
00000a 460c MOV r4,r1 ;39
00000c 4616 MOV r6,r2 ;39
00000e 4699 MOV r9,r3 ;39
000010 f7fffffe BL GUI_GetPenSize
;;;41 int PenSize_AA;
;;;42 int Factor;
;;;43
;;;44 Factor = GUI_Context.AA_HiResEnable ? 1 : GUI_Context.AA_Factor;
000014 4914 LDR r1,|L2.104|
000016 4607 MOV r7,r0 ;40
000018 f891205d LDRB r2,[r1,#0x5d] ; GUI_Context
00001c 2001 MOVS r0,#1
00001e b90a CBNZ r2,|L2.36|
000020 f891005c LDRB r0,[r1,#0x5c] ; GUI_Context
|L2.36|
;;;45 /* Convert into Hires coordinates (if not already done) */
;;;46 x0 *= Factor;
;;;47 y0 *= Factor;
000024 fb04f800 MUL r8,r4,r0
;;;48 rx *= Factor;
;;;49 ry *= Factor;
;;;50 PenSize_AA = PenSizePrev * GUI_Context.AA_Factor;
000028 f891405c LDRB r4,[r1,#0x5c] ; GUI_Context
00002c 4345 MULS r5,r0,r5 ;46
00002e 4346 MULS r6,r0,r6 ;48
000030 fb09f900 MUL r9,r9,r0 ;49
000034 437c MULS r4,r7,r4
;;;51 GUI_AA_Init_HiRes(x0 - rx - PenSize_AA, x0 + rx + PenSize_AA);
000036 19a8 ADDS r0,r5,r6
000038 1901 ADDS r1,r0,r4
00003a 1ba8 SUBS r0,r5,r6
00003c 1b00 SUBS r0,r0,r4
00003e f7fffffe BL GUI_AA_Init_HiRes
;;;52 GUI_SetPenSize(PenSize_AA);
000042 b2e0 UXTB r0,r4
000044 f7fffffe BL GUI_SetPenSize
;;;53 GL_DrawArc(x0, y0, rx, ry,a0,a1);
000048 464b MOV r3,r9
00004a 4632 MOV r2,r6
00004c 4641 MOV r1,r8
00004e 4628 MOV r0,r5
000050 e9cdab00 STRD r10,r11,[sp,#0]
000054 f7fffffe BL GL_DrawArc
;;;54 GUI_SetPenSize(PenSizePrev); /* restore former pen size */
000058 b2f8 UXTB r0,r7
00005a f7fffffe BL GUI_SetPenSize
;;;55 /* Cleanup */
;;;56 GUI_AA_Exit();
00005e e8bd5ffc POP {r2-r12,lr}
000062 f7ffbffe B.W GUI_AA_Exit
;;;57 }
;;;58
ENDP
000066 0000 DCW 0x0000
|L2.104|
DCD GUI_Context
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -