📄 gui_drawbitmapexp.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\gui_drawbitmapexp.o --depend=.\Obj\gui_drawbitmapexp.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\Core\GUI_DrawBitmapExp.c]
THUMB
AREA ||i.GUI_DrawBitmapExp||, CODE, READONLY, ALIGN=2
GUI_DrawBitmapExp PROC
;;;32 */
;;;33 void GUI_DrawBitmapExp(int x0, int y0, int XSize, int YSize, int XMul, int YMul,
000000 e92d4ff0 PUSH {r4-r11,lr}
;;;34 int BitsPerPixel, int BytesPerLine, const U8 GUI_UNI_PTR * pData,
;;;35 const GUI_LOGPALETTE GUI_UNI_PTR * pPal)
;;;36 {
000004 b089 SUB sp,sp,#0x24
;;;37 GUI_DRAWMODE PrevDraw;
;;;38 const LCD_PIXELINDEX* pTrans;
;;;39 GUI_LOCK();
;;;40 pTrans = LCD_GetpPalConvTable(pPal);
000006 9c17 LDR r4,[sp,#0x5c]
000008 e9dd9a12 LDRD r9,r10,[sp,#0x48]
00000c 4607 MOV r7,r0 ;36
00000e 460d MOV r5,r1 ;36
000010 4616 MOV r6,r2 ;36
000012 4698 MOV r8,r3 ;36
000014 4620 MOV r0,r4
000016 f7fffffe BL LCD_GetpPalConvTable
00001a 4683 MOV r11,r0
;;;41 PrevDraw = GUI_SetDrawMode((pPal && pPal->HasTrans) ? GUI_DRAWMODE_TRANS : 0);
00001c 2000 MOVS r0,#0
00001e b114 CBZ r4,|L1.38|
000020 7921 LDRB r1,[r4,#4]
000022 b101 CBZ r1,|L1.38|
000024 2002 MOVS r0,#2
|L1.38|
000026 f7fffffe BL GUI_SetDrawMode
;;;42 #if (GUI_WINSUPPORT)
;;;43 WM_ADDORG(x0,y0);
00002a 9008 STR r0,[sp,#0x20]
00002c 4816 LDR r0,|L1.136|
00002e 6c01 LDR r1,[r0,#0x40] ; GUI_Context
000030 6c40 LDR r0,[r0,#0x44] ; GUI_Context
000032 19cc ADDS r4,r1,r7
000034 4405 ADD r5,r5,r0
;;;44 {
;;;45 GUI_RECT r;
;;;46 r.x0 = x0;
;;;47 r.x1 = x0 + XSize * XMul -1;
000036 1e60 SUBS r0,r4,#1
000038 fb060009 MLA r0,r6,r9,r0
00003c f8ad001c STRH r0,[sp,#0x1c]
;;;48 r.y0 = y0;
;;;49 r.y1 = y0 + YSize * YMul -1;
000040 1e68 SUBS r0,r5,#1
000042 fb08000a MLA r0,r8,r10,r0
000046 f8ad4018 STRH r4,[sp,#0x18] ;46
00004a f8ad001e STRH r0,[sp,#0x1e]
00004e f8ad501a STRH r5,[sp,#0x1a] ;48
;;;50 WM_ITERATE_START(&r); {
000052 a806 ADD r0,sp,#0x18
000054 f7fffffe BL WM__InitIVRSearch
000058 e00e B |L1.120|
|L1.90|
;;;51 #endif
;;;52 LCD_DrawBitmap( x0, y0 ,XSize ,YSize, XMul, YMul
00005a a814 ADD r0,sp,#0x50
00005c c807 LDM r0,{r0-r2}
00005e af02 ADD r7,sp,#8
000060 e8a70807 STM r7!,{r0-r2,r11}
000064 e9cd9a00 STRD r9,r10,[sp,#0]
000068 4643 MOV r3,r8
00006a 4632 MOV r2,r6
00006c 4629 MOV r1,r5
00006e 4620 MOV r0,r4
000070 f7fffffe BL LCD_DrawBitmap
;;;53 ,BitsPerPixel, BytesPerLine, pData, pTrans);
;;;54 #if (GUI_WINSUPPORT)
;;;55 } WM_ITERATE_END();
000074 f7fffffe BL WM__GetNextIVR
|L1.120|
000078 2800 CMP r0,#0
00007a d1ee BNE |L1.90|
;;;56 }
;;;57 #endif
;;;58 GUI_SetDrawMode(PrevDraw);
00007c 9808 LDR r0,[sp,#0x20]
00007e b009 ADD sp,sp,#0x24
000080 e8bd4ff0 POP {r4-r11,lr}
000084 f7ffbffe B.W GUI_SetDrawMode
;;;59 GUI_UNLOCK();
;;;60 }
;;;61
ENDP
|L1.136|
DCD GUI_Context
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -