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

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

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

                  BUTTON_GetBkColor PROC
;;;36     */
;;;37     GUI_COLOR BUTTON_GetBkColor(BUTTON_Handle hObj,unsigned int Index) {
000000  b510              PUSH     {r4,lr}
000002  0002              MOVS     r2,r0
000004  460c              MOV      r4,r1
;;;38       GUI_COLOR Color = 0;
000006  f04f0000          MOV      r0,#0
;;;39       if (hObj && (Index < 2)) {
00000a  d007              BEQ      |L1.28|
00000c  2c02              CMP      r4,#2
00000e  d205              BCS      |L1.28|
;;;40         BUTTON_Obj * pObj;
;;;41         WM_LOCK();
;;;42         pObj = BUTTON_H2P(hObj);
000010  4610              MOV      r0,r2
000012  f7fffffe          BL       GUI_ALLOC_h2p
;;;43         Color = pObj->Props.aBkColor[Index];
000016  eb000084          ADD      r0,r0,r4,LSL #2
00001a  6a80              LDR      r0,[r0,#0x28]
                  |L1.28|
;;;44         WM_UNLOCK();
;;;45       }
;;;46       return Color;
;;;47     }
00001c  bd10              POP      {r4,pc}
;;;48     
                          ENDP


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

                  BUTTON_GetFont PROC
;;;52     */
;;;53     const GUI_FONT GUI_UNI_PTR * BUTTON_GetFont(BUTTON_Handle hObj) {
000000  b510              PUSH     {r4,lr}
000002  0001              MOVS     r1,r0
;;;54       const GUI_FONT GUI_UNI_PTR * pFont = 0;
000004  f04f0000          MOV      r0,#0
;;;55       if (hObj) {
000008  d003              BEQ      |L2.18|
;;;56         BUTTON_Obj * pObj;
;;;57         WM_LOCK();
;;;58         pObj = BUTTON_H2P(hObj);
00000a  4608              MOV      r0,r1
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;59         pFont = pObj->Props.pFont;
000010  6c00              LDR      r0,[r0,#0x40]
                  |L2.18|
;;;60         WM_UNLOCK();
;;;61       }
;;;62       return pFont;
;;;63     }
000012  bd10              POP      {r4,pc}
;;;64     
                          ENDP


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

                  BUTTON_GetText PROC
;;;68     */
;;;69     void BUTTON_GetText(BUTTON_Handle hObj, char * pBuffer, int MaxLen) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  460e              MOV      r6,r1
000006  4615              MOV      r5,r2
;;;70       if (hObj) {
000008  2800              CMP      r0,#0
00000a  d015              BEQ      |L3.56|
;;;71         BUTTON_Obj * pObj;
;;;72         WM_LOCK();
;;;73         pObj = BUTTON_H2P(hObj);
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;74         if (pObj->hpText) {
000010  f9b00048          LDRSH    r0,[r0,#0x48]
000014  2700              MOVS     r7,#0                 ;69
000016  b188              CBZ      r0,|L3.60|
;;;75           const char * pText = (const char*) GUI_ALLOC_h2p(pObj->hpText);
000018  f7fffffe          BL       GUI_ALLOC_h2p
00001c  4680              MOV      r8,r0
;;;76           int Len = strlen(pText);
00001e  f7fffffe          BL       strlen
;;;77           if (Len > (MaxLen - 1))
000022  1e69              SUBS     r1,r5,#1
000024  4604              MOV      r4,r0                 ;76
000026  4288              CMP      r0,r1
000028  dd00              BLE      |L3.44|
;;;78             Len = MaxLen - 1;
00002a  1e6c              SUBS     r4,r5,#1
                  |L3.44|
;;;79           memcpy((void *)pBuffer, (const void *)pText, Len);
00002c  4622              MOV      r2,r4
00002e  4641              MOV      r1,r8
000030  4630              MOV      r0,r6
000032  f7fffffe          BL       __aeabi_memcpy
;;;80           *(pBuffer + Len) = 0;
000036  5537              STRB     r7,[r6,r4]
                  |L3.56|
;;;81         } else {
;;;82           *pBuffer = 0;     /* Empty string */
;;;83         }
;;;84         WM_UNLOCK();
;;;85       }
;;;86     }
000038  e8bd81f0          POP      {r4-r8,pc}
                  |L3.60|
00003c  7037              STRB     r7,[r6,#0]            ;82
00003e  e7fb              B        |L3.56|
;;;87     
                          ENDP


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

                  BUTTON_GetTextColor PROC
;;;91     */
;;;92     GUI_COLOR BUTTON_GetTextColor(BUTTON_Handle hObj,unsigned int Index) {
000000  b510              PUSH     {r4,lr}
000002  0002              MOVS     r2,r0
000004  460c              MOV      r4,r1
;;;93       GUI_COLOR Color = 0;
000006  f04f0000          MOV      r0,#0
;;;94       if (hObj && (Index < 2)) {
00000a  d007              BEQ      |L4.28|
00000c  2c02              CMP      r4,#2
00000e  d205              BCS      |L4.28|
;;;95         BUTTON_Obj * pObj;
;;;96         WM_LOCK();
;;;97         pObj = BUTTON_H2P(hObj);
000010  4610              MOV      r0,r2
000012  f7fffffe          BL       GUI_ALLOC_h2p
;;;98         Color = pObj->Props.aTextColor[Index];
000016  eb000084          ADD      r0,r0,r4,LSL #2
00001a  6b40              LDR      r0,[r0,#0x34]
                  |L4.28|
;;;99         WM_UNLOCK();
;;;100      }
;;;101      return Color;
;;;102    }
00001c  bd10              POP      {r4,pc}
;;;103    
                          ENDP

⌨️ 快捷键说明

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