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

📄 guiaaarc.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\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 + -