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

📄 header.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\header.o --depend=.\Obj\header.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\HEADER.c]
                          THUMB

                          AREA ||i.HEADER_AddItem||, CODE, READONLY, ALIGN=2

                  HEADER_AddItem PROC
;;;568    */
;;;569    void HEADER_AddItem(HEADER_Handle hObj, int Width, const char * s, int Align) {
000000  e92d43fe          PUSH     {r1-r9,lr}
000004  0006              MOVS     r6,r0
000006  460d              MOV      r5,r1
000008  4691              MOV      r9,r2
00000a  461f              MOV      r7,r3
;;;570      if (hObj) {
00000c  d03f              BEQ      |L1.142|
;;;571        HEADER_Obj * pObj;
;;;572        HEADER_COLUMN Column;
;;;573        int Index;
;;;574        WM_LOCK();
;;;575        pObj = HEADER_H2P(hObj);
00000e  4630              MOV      r0,r6
000010  f7fffffe          BL       GUI_ALLOC_h2p
000014  4604              MOV      r4,r0
;;;576        if (!Width) {
000016  b985              CBNZ     r5,|L1.58|
;;;577          const GUI_FONT GUI_UNI_PTR * pFont = GUI_SetFont(pObj->pFont);
000018  6c20              LDR      r0,[r4,#0x40]
00001a  f7fffffe          BL       GUI_SetFont
00001e  4680              MOV      r8,r0
;;;578          Width = GUI_GetStringDistX(s) + 2 * (pObj->Widget.pEffect->EffectSize + _DefaultBorderH);
000020  4648              MOV      r0,r9
000022  f7fffffe          BL       GUI_GetStringDistX
000026  6a21              LDR      r1,[r4,#0x20]
000028  4a1a              LDR      r2,|L1.148|
00002a  6949              LDR      r1,[r1,#0x14]
00002c  68d2              LDR      r2,[r2,#0xc]  ; _DefaultBorderH
00002e  4411              ADD      r1,r1,r2
000030  eb000541          ADD      r5,r0,r1,LSL #1
;;;579          GUI_SetFont(pFont);
000034  4640              MOV      r0,r8
000036  f7fffffe          BL       GUI_SetFont
                  |L1.58|
;;;580        }
;;;581        Column.Width    = Width;
;;;582        Column.Align    = Align;
00003a  f8ad7004          STRH     r7,[sp,#4]
;;;583        Column.hDrawObj = 0;
00003e  2000              MOVS     r0,#0
000040  f8ad0006          STRH     r0,[sp,#6]
000044  9500              STR      r5,[sp,#0]            ;582
;;;584        Index = GUI_ARRAY_GetNumItems(&pObj->Columns);
000046  f1040030          ADD      r0,r4,#0x30
00004a  4605              MOV      r5,r0
00004c  f7fffffe          BL       GUI_ARRAY_GetNumItems
000050  4604              MOV      r4,r0
;;;585        if (GUI_ARRAY_AddItem(&pObj->Columns, &Column, sizeof(HEADER_COLUMN) + strlen(s) + 1) == 0) {
000052  4648              MOV      r0,r9
000054  f7fffffe          BL       strlen
000058  f100020d          ADD      r2,r0,#0xd
00005c  4669              MOV      r1,sp
00005e  4628              MOV      r0,r5
000060  f7fffffe          BL       GUI_ARRAY_AddItem
000064  2800              CMP      r0,#0
000066  d112              BNE      |L1.142|
;;;586          HEADER_COLUMN * pColumn;
;;;587          pObj = HEADER_H2P(hObj);
000068  4630              MOV      r0,r6
00006a  f7fffffe          BL       GUI_ALLOC_h2p
;;;588          pColumn = (HEADER_COLUMN *)GUI_ARRAY_GetpItem(&pObj->Columns, Index);
00006e  4621              MOV      r1,r4
000070  3030              ADDS     r0,r0,#0x30
000072  f7fffffe          BL       GUI_ARRAY_GetpItem
;;;589          strcpy(pColumn->acText, s);
000076  4649              MOV      r1,r9
000078  3008              ADDS     r0,r0,#8
00007a  f7fffffe          BL       strcpy
;;;590          WM_InvalidateWindow(hObj);
00007e  4630              MOV      r0,r6
000080  f7fffffe          BL       WM_InvalidateWindow
;;;591          WM_InvalidateWindow(WM_GetParent(hObj));
000084  4630              MOV      r0,r6
000086  f7fffffe          BL       WM_GetParent
00008a  f7fffffe          BL       WM_InvalidateWindow
                  |L1.142|
;;;592        }
;;;593        WM_UNLOCK();
;;;594      }
;;;595    }
00008e  e8bd83fe          POP      {r1-r9,pc}
;;;596    
                          ENDP

000092  0000              DCW      0x0000
                  |L1.148|
                          DCD      ||.data||

                          AREA ||i.HEADER_Create||, CODE, READONLY, ALIGN=1

                  HEADER_Create PROC
;;;334    */
;;;335    HEADER_Handle HEADER_Create(int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int ExFlags) {
000000  e92d41ff          PUSH     {r0-r8,lr}
000004  460d              MOV      r5,r1
000006  461f              MOV      r7,r3
000008  4604              MOV      r4,r0
;;;336      return HEADER_CreateEx(x0, y0, xsize, ysize, hParent, Flags, ExFlags, Id);
00000a  e9dd310b          LDRD     r3,r1,[sp,#0x2c]
00000e  4616              MOV      r6,r2                 ;335
000010  980a              LDR      r0,[sp,#0x28]
000012  9a0d              LDR      r2,[sp,#0x34]
000014  e88d000f          STM      sp,{r0-r3}
000018  463b              MOV      r3,r7
00001a  4632              MOV      r2,r6
00001c  4629              MOV      r1,r5
00001e  4620              MOV      r0,r4
000020  f7fffffe          BL       HEADER_CreateEx
;;;337    }
000024  b004              ADD      sp,sp,#0x10
000026  e8bd81f0          POP      {r4-r8,pc}
;;;338    
                          ENDP


                          AREA ||i.HEADER_CreateEx||, CODE, READONLY, ALIGN=2

                  HEADER_CreateEx PROC
;;;342    */
;;;343    HEADER_Handle HEADER_CreateEx(int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
000000  e92d5fff          PUSH     {r0-r12,lr}
;;;344                                  int WinFlags, int ExFlags, int Id)
;;;345    {
000004  4604              MOV      r4,r0
;;;346      HEADER_Handle hObj;
;;;347      GUI_USE_PARA(ExFlags);
;;;348      /* Create the window */
;;;349      WM_LOCK();
;;;350      if ((xsize == 0) && (x0 == 0) && (y0 == 0)) {
000006  e9ddba0e          LDRD     r11,r10,[sp,#0x38]
00000a  4310              ORRS     r0,r0,r2
00000c  460f              MOV      r7,r1                 ;345
00000e  4616              MOV      r6,r2                 ;345
000010  461d              MOV      r5,r3                 ;345
000012  4308              ORRS     r0,r0,r1
000014  d10b              BNE      |L3.46|
;;;351        GUI_RECT Rect;
;;;352        WM_GetInsideRectEx(hParent, &Rect);
000016  a902              ADD      r1,sp,#8
000018  4658              MOV      r0,r11
00001a  f7fffffe          BL       WM_GetInsideRectEx
;;;353        xsize = Rect.x1 - Rect.x0 + 1;
00001e  f9bd000c          LDRSH    r0,[sp,#0xc]
000022  f9bd4008          LDRSH    r4,[sp,#8]
;;;354        x0    = Rect.x0;
;;;355        y0    = Rect.y0;
000026  f9bd700a          LDRSH    r7,[sp,#0xa]
00002a  1b06              SUBS     r6,r0,r4              ;353
00002c  1c76              ADDS     r6,r6,#1              ;353
                  |L3.46|
;;;356      }
;;;357      if (ysize == 0) {
;;;358        const WIDGET_EFFECT* pEffect = WIDGET_GetDefaultEffect();
;;;359        ysize  = GUI_GetYDistOfFont(_pDefaultFont);
00002e  f8df807c          LDR      r8,|L3.172|
000032  b975              CBNZ     r5,|L3.82|
000034  f7fffffe          BL       WIDGET_GetDefaultEffect
000038  4681              MOV      r9,r0                 ;358
00003a  4645              MOV      r5,r8
00003c  f8d80014          LDR      r0,[r8,#0x14]  ; _pDefaultFont
000040  f7fffffe          BL       GUI_GetYDistOfFont
;;;360        ysize += 2 * _DefaultBorderV;
000044  6929              LDR      r1,[r5,#0x10]  ; _DefaultBorderV
000046  eb000141          ADD      r1,r0,r1,LSL #1
;;;361        ysize += 2 * (unsigned)pEffect->EffectSize;
00004a  f8d90014          LDR      r0,[r9,#0x14]
00004e  eb010540          ADD      r5,r1,r0,LSL #1
                  |L3.82|
;;;362      }
;;;363      WinFlags |= WM_CF_ANCHOR_LEFT | WM_CF_ANCHOR_RIGHT;
000052  fa1ff08a          UXTH     r0,r10
;;;364      hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent, WinFlags, &_HEADER_Callback,
000056  f4407120          ORR      r1,r0,#0x280
00005a  2324              MOVS     r3,#0x24
00005c  4a14              LDR      r2,|L3.176|
00005e  e9cdb100          STRD     r11,r1,[sp,#0]
000062  e9cd2302          STRD     r2,r3,[sp,#8]
000066  462b              MOV      r3,r5
000068  4632              MOV      r2,r6
00006a  4639              MOV      r1,r7
00006c  4620              MOV      r0,r4
00006e  f7fffffe          BL       WM_CreateWindowAsChild
000072  0005              MOVS     r5,r0
;;;365                                    sizeof(HEADER_Obj) - sizeof(WM_Obj));
;;;366      if (hObj) {
000074  d016              BEQ      |L3.164|
;;;367        HEADER_Obj* pObj = HEADER_H2P(hObj);
000076  4628              MOV      r0,r5
000078  f7fffffe          BL       GUI_ALLOC_h2p
00007c  4604              MOV      r4,r0
;;;368        /* Init sub-classes */
;;;369        GUI_ARRAY_CREATE(&pObj->Columns);
;;;370        /* init widget specific variables */
;;;371        WIDGET__Init(&pObj->Widget, Id, 0);
00007e  2200              MOVS     r2,#0
000080  9911              LDR      r1,[sp,#0x44]
000082  f7fffffe          BL       WIDGET__Init
;;;372        /* init member variables */
;;;373        HEADER_INIT_ID(pObj);
;;;374        pObj->BkColor     = _DefaultBkColor;
000086  f8d82004          LDR      r2,[r8,#4]  ; _DefaultBkColor
;;;375        pObj->TextColor   = _DefaultTextColor;
00008a  62a2              STR      r2,[r4,#0x28]
00008c  f8d82008          LDR      r2,[r8,#8]  ; _DefaultTextColor
;;;376        pObj->pFont       = _pDefaultFont;
000090  62e2              STR      r2,[r4,#0x2c]
000092  f8d81014          LDR      r1,[r8,#0x14]  ; _pDefaultFont
;;;377        pObj->CapturePosX = -1;
000096  6421              STR      r1,[r4,#0x40]
000098  f04f31ff          MOV      r1,#0xffffffff
;;;378        pObj->CaptureItem = -1;
00009c  6361              STR      r1,[r4,#0x34]
;;;379        pObj->ScrollPos   = 0;
00009e  63a1              STR      r1,[r4,#0x38]
0000a0  2100              MOVS     r1,#0
0000a2  63e1              STR      r1,[r4,#0x3c]
                  |L3.164|
;;;380      } else {
;;;381        GUI_DEBUG_ERROROUT_IF(hObj==0, "HEADER_Create failed")
;;;382      }
;;;383      WM_UNLOCK();
;;;384      return hObj;
0000a4  4628              MOV      r0,r5
;;;385    }
0000a6  b004              ADD      sp,sp,#0x10
0000a8  e8bd9ff0          POP      {r4-r12,pc}
;;;386    
                          ENDP

                  |L3.172|
                          DCD      ||.data||
                  |L3.176|
                          DCD      _HEADER_Callback

                          AREA ||i.HEADER_DeleteItem||, CODE, READONLY, ALIGN=1

                  HEADER_DeleteItem PROC
;;;600    */
;;;601    void HEADER_DeleteItem(HEADER_Handle hObj, unsigned Index) {
000000  b570              PUSH     {r4-r6,lr}
000002  0004              MOVS     r4,r0
000004  460d              MOV      r5,r1
;;;602      if (hObj) {
000006  d016              BEQ      |L4.54|
;;;603        HEADER_Obj* pObj;
;;;604        WM_LOCK();
;;;605        pObj = HEADER_H2P(hObj);
000008  4620              MOV      r0,r4
00000a  f7fffffe          BL       GUI_ALLOC_h2p
;;;606        if (Index < GUI_ARRAY_GetNumItems(&pObj->Columns)) {
00000e  3030              ADDS     r0,r0,#0x30
000010  4606              MOV      r6,r0
000012  f7fffffe          BL       GUI_ARRAY_GetNumItems
000016  42a8              CMP      r0,r5
000018  d90d              BLS      |L4.54|
;;;607          GUI_ARRAY_DeleteItem(&pObj->Columns, Index);
00001a  4629              MOV      r1,r5
00001c  4630              MOV      r0,r6
00001e  f7fffffe          BL       GUI_ARRAY_DeleteItem
;;;608          WM_InvalidateWindow(hObj);
000022  4620              MOV      r0,r4
000024  f7fffffe          BL       WM_InvalidateWindow
;;;609          WM_InvalidateWindow(WM_GetParent(hObj));
000028  4620              MOV      r0,r4
00002a  f7fffffe          BL       WM_GetParent
00002e  e8bd4070          POP      {r4-r6,lr}
000032  f7ffbffe          B.W      WM_InvalidateWindow
                  |L4.54|
;;;610        }
;;;611        WM_UNLOCK();
;;;612      }
;;;613    }
000036  bd70              POP      {r4-r6,pc}
;;;614    
                          ENDP


                          AREA ||i.HEADER_GetDefaultBkColor||, CODE, READONLY, ALIGN=2

                  HEADER_GetDefaultBkColor PROC
;;;457    const GUI_CURSOR GUI_UNI_PTR *  HEADER_GetDefaultCursor(void)    { return _pDefaultCursor; }
;;;458    GUI_COLOR          HEADER_GetDefaultBkColor(void)   { return _DefaultBkColor; }
000000  4801              LDR      r0,|L5.8|
000002  6840              LDR      r0,[r0,#4]  ; _DefaultBkColor
000004  4770              BX       lr
;;;459    GUI_COLOR          HEADER_GetDefaultTextColor(void) { return _DefaultTextColor; }
                          ENDP

000006  0000              DCW      0x0000
                  |L5.8|
                          DCD      ||.data||

                          AREA ||i.HEADER_GetDefaultBorderH||, CODE, READONLY, ALIGN=2

                  HEADER_GetDefaultBorderH PROC
;;;459    GUI_COLOR          HEADER_GetDefaultTextColor(void) { return _DefaultTextColor; }
;;;460    int                HEADER_GetDefaultBorderH(void)   { return _DefaultBorderH; }
000000  4801              LDR      r0,|L6.8|
000002  68c0              LDR      r0,[r0,#0xc]  ; _DefaultBorderH
000004  4770              BX       lr
;;;461    int                HEADER_GetDefaultBorderV(void)   { return _DefaultBorderV; }
                          ENDP

000006  0000              DCW      0x0000
                  |L6.8|
                          DCD      ||.data||

                          AREA ||i.HEADER_GetDefaultBorderV||, CODE, READONLY, ALIGN=2

                  HEADER_GetDefaultBorderV PROC
;;;460    int                HEADER_GetDefaultBorderH(void)   { return _DefaultBorderH; }
;;;461    int                HEADER_GetDefaultBorderV(void)   { return _DefaultBorderV; }
000000  4801              LDR      r0,|L7.8|
000002  6900              LDR      r0,[r0,#0x10]  ; _DefaultBorderV
000004  4770              BX       lr
;;;462    const GUI_FONT GUI_UNI_PTR *    HEADER_GetDefaultFont(void)      { return _pDefaultFont; }
                          ENDP

000006  0000              DCW      0x0000
                  |L7.8|
                          DCD      ||.data||

                          AREA ||i.HEADER_GetDefaultCursor||, CODE, READONLY, ALIGN=2

                  HEADER_GetDefaultCursor PROC
;;;456    */
;;;457    const GUI_CURSOR GUI_UNI_PTR *  HEADER_GetDefaultCursor(void)    { return _pDefaultCursor; }
000000  4801              LDR      r0,|L8.8|
000002  6800              LDR      r0,[r0,#0]  ; _pDefaultCursor
000004  4770              BX       lr
;;;458    GUI_COLOR          HEADER_GetDefaultBkColor(void)   { return _DefaultBkColor; }
                          ENDP

000006  0000              DCW      0x0000
                  |L8.8|
                          DCD      ||.data||

                          AREA ||i.HEADER_GetDefaultFont||, CODE, READONLY, ALIGN=2

                  HEADER_GetDefaultFont PROC
;;;461    int                HEADER_GetDefaultBorderV(void)   { return _DefaultBorderV; }
;;;462    const GUI_FONT GUI_UNI_PTR *    HEADER_GetDefaultFont(void)      { return _pDefaultFont; }
000000  4801              LDR      r0,|L9.8|
000002  6940              LDR      r0,[r0,#0x14]  ; _pDefaultFont
000004  4770              BX       lr

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -