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

📄 text.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\text.o --depend=.\Obj\text.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\TEXT.c]
                          THUMB

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

                  TEXT_CreateEx PROC
;;;149    */
;;;150    TEXT_Handle TEXT_CreateEx(int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
000000  e92d47ff          PUSH     {r0-r10,lr}
;;;151                              int WinFlags, int ExFlags, int Id, const char* pText)
;;;152    {
000004  4604              MOV      r4,r0
000006  460d              MOV      r5,r1
;;;153      TEXT_Handle hObj;
;;;154      /* Create the window */
;;;155      #if TEXT_SUPPORT_TRANSPARENCY
;;;156        WinFlags |= WM_CF_HASTRANS;
000008  a80c              ADD      r0,sp,#0x30
00000a  e8900603          LDM      r0,{r0,r1,r9,r10}
00000e  4616              MOV      r6,r2                 ;152
000010  461f              MOV      r7,r3                 ;152
000012  b289              UXTH     r1,r1
;;;157      #endif
;;;158      hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent, WinFlags, _TEXT_Callback,
000014  231c              MOVS     r3,#0x1c
000016  4a1c              LDR      r2,|L1.136|
000018  f0410101          ORR      r1,r1,#1
00001c  f8dd8040          LDR      r8,[sp,#0x40]
000020  e88d000f          STM      sp,{r0-r3}
000024  463b              MOV      r3,r7
000026  4632              MOV      r2,r6
000028  4629              MOV      r1,r5
00002a  4620              MOV      r0,r4
00002c  f7fffffe          BL       WM_CreateWindowAsChild
000030  0006              MOVS     r6,r0
;;;159                                    sizeof(TEXT_Obj) - sizeof(WM_Obj));
;;;160      if (hObj) {
000032  d025              BEQ      |L1.128|
;;;161        TEXT_Obj* pObj;
;;;162        WM_HMEM hMem = 0;
000034  2500              MOVS     r5,#0
;;;163        WM_LOCK();
;;;164        pObj = TEXT_H2P(hObj);
000036  4630              MOV      r0,r6
000038  f7fffffe          BL       GUI_ALLOC_h2p
00003c  4604              MOV      r4,r0
;;;165        /* init widget specific variables */
;;;166        WIDGET__Init(&pObj->Widget, Id, 0);
00003e  2200              MOVS     r2,#0
000040  4651              MOV      r1,r10
000042  f7fffffe          BL       WIDGET__Init
;;;167        /* init member variables */
;;;168        TEXT_INIT_ID(pObj);
;;;169        if (pText) {
000046  f1b80f00          CMP      r8,#0
00004a  d00e              BEQ      |L1.106|
;;;170          hMem = GUI_ALLOC_AllocZero(strlen(pText) + 1);
00004c  4640              MOV      r0,r8
00004e  f7fffffe          BL       strlen
000052  1c40              ADDS     r0,r0,#1
000054  b200              SXTH     r0,r0
000056  f7fffffe          BL       GUI_ALLOC_AllocZero
00005a  0005              MOVS     r5,r0
;;;171          if (hMem) {
00005c  d005              BEQ      |L1.106|
;;;172            strcpy((char*) GUI_ALLOC_h2p(hMem), pText);
00005e  4628              MOV      r0,r5
000060  f7fffffe          BL       GUI_ALLOC_h2p
000064  4641              MOV      r1,r8
000066  f7fffffe          BL       strcpy
                  |L1.106|
;;;173          }
;;;174        }
;;;175        pObj->hpText = hMem;
00006a  8525              STRH     r5,[r4,#0x28]
;;;176        pObj->Align  = ExFlags;
;;;177        pObj->pFont  = _pDefaultFont;
00006c  4807              LDR      r0,|L1.140|
00006e  f8a49030          STRH     r9,[r4,#0x30]         ;176
;;;178        pObj->BkColor = GUI_INVALID_COLOR;
000072  f06f4270          MVN      r2,#0xf0000000
000076  6801              LDR      r1,[r0,#0]            ;177  ; _pDefaultFont
;;;179        pObj->TextColor = _DefaultTextColor;
000078  63a2              STR      r2,[r4,#0x38]
00007a  62e1              STR      r1,[r4,#0x2c]
00007c  6840              LDR      r0,[r0,#4]  ; _DefaultTextColor
00007e  6360              STR      r0,[r4,#0x34]
                  |L1.128|
;;;180        WM_UNLOCK();
;;;181      } else {
;;;182        GUI_DEBUG_ERROROUT_IF(hObj==0, "TEXT_Create failed")
;;;183      }
;;;184      return hObj;
000080  4630              MOV      r0,r6
;;;185    }
000082  b004              ADD      sp,sp,#0x10
000084  e8bd87f0          POP      {r4-r10,pc}
;;;186    
                          ENDP

                  |L1.136|
                          DCD      _TEXT_Callback
                  |L1.140|
                          DCD      ||.data||

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

                  TEXT_GetDefaultFont PROC
;;;212    */
;;;213    const GUI_FONT GUI_UNI_PTR * TEXT_GetDefaultFont(void) {
000000  4801              LDR      r0,|L2.8|
;;;214      return _pDefaultFont;
000002  6800              LDR      r0,[r0,#0]  ; _pDefaultFont
;;;215    }
000004  4770              BX       lr
;;;216    
                          ENDP

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

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

                  TEXT_SetDefaultFont PROC
;;;196    */
;;;197    void TEXT_SetDefaultFont(const GUI_FONT GUI_UNI_PTR * pFont) {
000000  4901              LDR      r1,|L3.8|
;;;198      _pDefaultFont = pFont;
;;;199    }
000002  6008              STR      r0,[r1,#0]  ; _pDefaultFont
000004  4770              BX       lr
;;;200    
                          ENDP

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

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

                  TEXT_SetDefaultTextColor PROC
;;;204    */
;;;205    void TEXT_SetDefaultTextColor(GUI_COLOR Color) {
000000  4901              LDR      r1,|L4.8|
;;;206      _DefaultTextColor = Color;
;;;207    }
000002  6048              STR      r0,[r1,#4]  ; _DefaultTextColor
000004  4770              BX       lr
;;;208    
                          ENDP

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

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

                  _TEXT_Callback PROC
;;;115    */
;;;116    static void _TEXT_Callback (WM_MESSAGE*pMsg) {
000000  b57c              PUSH     {r2-r6,lr}
;;;117      TEXT_Handle hObj = pMsg->hWin;
000002  f9b05004          LDRSH    r5,[r0,#4]
000006  4606              MOV      r6,r0                 ;116
;;;118      TEXT_Obj* pObj = TEXT_H2P(hObj);
000008  4628              MOV      r0,r5
00000a  f7fffffe          BL       GUI_ALLOC_h2p
00000e  4604              MOV      r4,r0
;;;119      /* Let widget handle the standard messages */
;;;120      if (WIDGET_HandleActive(hObj, pMsg) == 0) {
000010  4631              MOV      r1,r6
000012  4628              MOV      r0,r5
000014  f7fffffe          BL       WIDGET_HandleActive
000018  2800              CMP      r0,#0
00001a  d026              BEQ      |L5.106|
;;;121        return;
;;;122      }
;;;123      switch (pMsg->MsgId) {
00001c  6830              LDR      r0,[r6,#0]
00001e  280b              CMP      r0,#0xb
000020  d024              BEQ      |L5.108|
000022  280f              CMP      r0,#0xf
000024  d126              BNE      |L5.116|
000026  6b60              LDR      r0,[r4,#0x34]
000028  f7fffffe          BL       LCD_SetColor
00002c  6ae0              LDR      r0,[r4,#0x2c]
00002e  f7fffffe          BL       GUI_SetFont
000032  4628              MOV      r0,r5
000034  f7fffffe          BL       WM_GetHasTrans
000038  b920              CBNZ     r0,|L5.68|
00003a  6ba0              LDR      r0,[r4,#0x38]
00003c  f7fffffe          BL       LCD_SetBkColor
000040  f7fffffe          BL       GUI_Clear
                  |L5.68|
000044  f9b40028          LDRSH    r0,[r4,#0x28]
000048  2800              CMP      r0,#0
00004a  d00e              BEQ      |L5.106|
00004c  f7fffffe          BL       GUI_ALLOC_h2p
000050  4605              MOV      r5,r0
000052  2002              MOVS     r0,#2
000054  f7fffffe          BL       GUI_SetTextMode
000058  4668              MOV      r0,sp
00005a  f7fffffe          BL       WM_GetClientRect
00005e  f9b42030          LDRSH    r2,[r4,#0x30]
000062  4669              MOV      r1,sp
000064  4628              MOV      r0,r5
000066  f7fffffe          BL       GUI_DispStringInRect
                  |L5.106|
;;;124      case WM_PAINT:
;;;125        GUI_DEBUG_LOG("TEXT: _Callback(WM_PAINT)\n");
;;;126        _Paint(hObj, pObj);
;;;127        return;
;;;128      case WM_DELETE:
;;;129        GUI_DEBUG_LOG("TEXT: _Callback(WM_DELETE)\n");
;;;130        _Delete(pObj);
;;;131        break;       /* No return here ... WM_DefaultProc needs to be called */
;;;132      }
;;;133      WM_DefaultProc(pMsg);
;;;134    }
00006a  bd7c              POP      {r2-r6,pc}
                  |L5.108|
00006c  f1040028          ADD      r0,r4,#0x28
000070  f7fffffe          BL       GUI_ALLOC_FreePtr
                  |L5.116|
000074  4630              MOV      r0,r6                 ;133
000076  e8bd407c          POP      {r2-r6,lr}            ;133
00007a  f7ffbffe          B.W      WM_DefaultProc
;;;135    
                          ENDP


                          AREA ||.data||, DATA, ALIGN=2

                  _pDefaultFont
                          DCD      GUI_Font13_1
                  _DefaultTextColor
                          DCD      0x00000000

⌨️ 快捷键说明

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