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

📄 slider.txt

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

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

                  SLIDER_CreateEx PROC
;;;311    */
;;;312    SLIDER_Handle SLIDER_CreateEx(int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
000000  e92d41ff          PUSH     {r0-r8,lr}
;;;313                                  int WinFlags, int ExFlags, int Id)
;;;314    {
000004  4605              MOV      r5,r0
000006  460e              MOV      r6,r1
;;;315      SLIDER_Handle hObj;
;;;316      /* Create the window */
;;;317      WM_LOCK();
;;;318      #if SLIDER_SUPPORT_TRANSPARENCY
;;;319        WinFlags |= WM_CF_HASTRANS;
000008  a80a              ADD      r0,sp,#0x28
00000a  e8900113          LDM      r0,{r0,r1,r4,r8}
00000e  4617              MOV      r7,r2                 ;314
000010  469c              MOV      r12,r3                ;314
000012  b289              UXTH     r1,r1
;;;320      #endif
;;;321      hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent, WinFlags, _SLIDER_Callback, sizeof(SLIDER_Obj) - sizeof(WM_Obj));
000014  2330              MOVS     r3,#0x30
000016  4a17              LDR      r2,|L1.116|
000018  f0410101          ORR      r1,r1,#1
00001c  e88d000f          STM      sp,{r0-r3}
000020  4663              MOV      r3,r12
000022  463a              MOV      r2,r7
000024  4631              MOV      r1,r6
000026  4628              MOV      r0,r5
000028  f7fffffe          BL       WM_CreateWindowAsChild
00002c  0006              MOVS     r6,r0
;;;322      if (hObj) {
00002e  d01d              BEQ      |L1.108|
;;;323        SLIDER_Obj* pObj = SLIDER_H2P(hObj);
000030  4630              MOV      r0,r6
000032  f7fffffe          BL       GUI_ALLOC_h2p
000036  4605              MOV      r5,r0
;;;324        U16 InitState;
;;;325        /* Handle SpecialFlags */
;;;326        InitState = WIDGET_STATE_FOCUSSABLE;
000038  2210              MOVS     r2,#0x10
;;;327        if (ExFlags & SLIDER_CF_VERTICAL) {
00003a  0720              LSLS     r0,r4,#28
00003c  d500              BPL      |L1.64|
;;;328          InitState |= WIDGET_CF_VERTICAL;
00003e  2218              MOVS     r2,#0x18
                  |L1.64|
;;;329        }
;;;330        /* init widget specific variables */
;;;331        WIDGET__Init(&pObj->Widget, Id, InitState);
000040  4641              MOV      r1,r8
000042  4628              MOV      r0,r5
000044  f7fffffe          BL       WIDGET__Init
;;;332        /* init member variables */
;;;333        SLIDER_INIT_ID(pObj);
;;;334        pObj->aBkColor[0] = _DefaultBkColor;
000048  480b              LDR      r0,|L1.120|
;;;335        pObj->aBkColor[1] = SLIDER_BKCOLOR1_DEFAULT;
;;;336        pObj->aColor[0]   = SLIDER_COLOR0_DEFAULT;
;;;337        pObj->aColor[1]   = SLIDER_COLOR1_DEFAULT;
;;;338        pObj->Width       = 8;
00004a  2108              MOVS     r1,#8
00004c  6800              LDR      r0,[r0,#0]            ;334  ; _DefaultBkColor
00004e  62a8              STR      r0,[r5,#0x28]         ;335
000050  f06f407f          MVN      r0,#0xff000000        ;335
000054  62e8              STR      r0,[r5,#0x2c]         ;336
000056  4809              LDR      r0,|L1.124|
000058  6328              STR      r0,[r5,#0x30]         ;337
00005a  2000              MOVS     r0,#0                 ;337
00005c  6368              STR      r0,[r5,#0x34]
00005e  f8a5104c          STRH     r1,[r5,#0x4c]
;;;339        pObj->Max         = 100;
000062  2164              MOVS     r1,#0x64
;;;340        pObj->Min         = 0;
;;;341        pObj->NumTicks    = -1;
000064  e9c5010e          STRD     r0,r1,[r5,#0x38]
000068  1e40              SUBS     r0,r0,#1
00006a  64a8              STR      r0,[r5,#0x48]
                  |L1.108|
;;;342      } else {
;;;343        GUI_DEBUG_ERROROUT_IF(hObj==0, "SLIDER_Create failed")
;;;344      }
;;;345      WM_UNLOCK();
;;;346      return hObj;
00006c  4630              MOV      r0,r6
;;;347    }
00006e  b004              ADD      sp,sp,#0x10
000070  e8bd81f0          POP      {r4-r8,pc}
;;;348    
                          ENDP

                  |L1.116|
                          DCD      _SLIDER_Callback
                  |L1.120|
                          DCD      ||.data||
                  |L1.124|
                          DCD      0x00c0c0c0

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

                  SLIDER_Dec PROC
;;;358    */
;;;359    void SLIDER_Dec(SLIDER_Handle hObj) {
000000  b510              PUSH     {r4,lr}
000002  0004              MOVS     r4,r0
;;;360      SLIDER_Obj* pObj;
;;;361      if (hObj) {
000004  d011              BEQ      |L2.42|
;;;362        WM_LOCK();
;;;363        pObj = SLIDER_H2P(hObj);
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       GUI_ALLOC_h2p
;;;364        if (pObj->v > pObj->Min) {
00000c  6b82              LDR      r2,[r0,#0x38]
00000e  6c01              LDR      r1,[r0,#0x40]
000010  4291              CMP      r1,r2
000012  dd0a              BLE      |L2.42|
;;;365          pObj->v--;
000014  1e49              SUBS     r1,r1,#1
;;;366          WM_InvalidateWindow(hObj);
000016  6401              STR      r1,[r0,#0x40]
000018  4620              MOV      r0,r4
00001a  f7fffffe          BL       WM_InvalidateWindow
;;;367          WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);
00001e  4620              MOV      r0,r4
000020  e8bd4010          POP      {r4,lr}
000024  2105              MOVS     r1,#5
000026  f7ffbffe          B.W      WM_NotifyParent
                  |L2.42|
;;;368        }
;;;369        WM_UNLOCK();
;;;370      }
;;;371    }
00002a  bd10              POP      {r4,pc}
;;;372    
                          ENDP


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

                  SLIDER_GetValue PROC
;;;512    */
;;;513    int SLIDER_GetValue(SLIDER_Handle hObj) {
000000  b510              PUSH     {r4,lr}
000002  0001              MOVS     r1,r0
;;;514      int r = 0;
000004  f04f0000          MOV      r0,#0
;;;515      SLIDER_Obj* pObj;
;;;516      if (hObj) {
000008  d003              BEQ      |L3.18|
;;;517        WM_LOCK();
;;;518        pObj = SLIDER_H2P(hObj);
00000a  4608              MOV      r0,r1
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;519        r = pObj->v;
000010  6c00              LDR      r0,[r0,#0x40]
                  |L3.18|
;;;520        WM_UNLOCK();
;;;521      }
;;;522      return r;
;;;523    }
000012  bd10              POP      {r4,pc}
;;;524    
                          ENDP


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

                  SLIDER_Inc PROC
;;;376    */
;;;377    void SLIDER_Inc(SLIDER_Handle hObj) {
000000  b510              PUSH     {r4,lr}
000002  0004              MOVS     r4,r0
;;;378      SLIDER_Obj* pObj;
;;;379      if (hObj) {
000004  d011              BEQ      |L4.42|
;;;380        WM_LOCK();
;;;381        pObj = SLIDER_H2P(hObj);
000006  4620              MOV      r0,r4
000008  f7fffffe          BL       GUI_ALLOC_h2p
;;;382        if (pObj->v < pObj->Max) {
00000c  e9d0210f          LDRD     r2,r1,[r0,#0x3c]
000010  4291              CMP      r1,r2
000012  da0a              BGE      |L4.42|
;;;383          pObj->v++;
000014  1c49              ADDS     r1,r1,#1
;;;384          WM_InvalidateWindow(hObj);
000016  6401              STR      r1,[r0,#0x40]
000018  4620              MOV      r0,r4
00001a  f7fffffe          BL       WM_InvalidateWindow
;;;385          WM_NotifyParent(hObj, WM_NOTIFICATION_VALUE_CHANGED);
00001e  4620              MOV      r0,r4
000020  e8bd4010          POP      {r4,lr}
000024  2105              MOVS     r1,#5
000026  f7ffbffe          B.W      WM_NotifyParent
                  |L4.42|
;;;386        }
;;;387        WM_UNLOCK();
;;;388      }
;;;389    }
00002a  bd10              POP      {r4,pc}
;;;390    
                          ENDP


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

                  SLIDER_SetBkColor PROC
;;;476    */
;;;477    void SLIDER_SetBkColor(SLIDER_Handle hObj, GUI_COLOR Color) {
000000  b570              PUSH     {r4-r6,lr}
000002  0005              MOVS     r5,r0
000004  460c              MOV      r4,r1
;;;478      if (hObj) {
000006  d011              BEQ      |L5.44|
;;;479        SLIDER_Obj * pObj;
;;;480        WM_LOCK();
;;;481        pObj = SLIDER_H2P(hObj);
000008  4628              MOV      r0,r5
00000a  f7fffffe          BL       GUI_ALLOC_h2p
;;;482        pObj->aBkColor[0] = Color;
;;;483        #if SLIDER_SUPPORT_TRANSPARENCY
;;;484          if (Color <= 0xFFFFFF) {
00000e  6284              STR      r4,[r0,#0x28]
000010  f1b47f80          CMP      r4,#0x1000000
;;;485            WM_ClrHasTrans(hObj);
000014  4628              MOV      r0,r5
000016  d202              BCS      |L5.30|
000018  f7fffffe          BL       WM_ClrHasTrans
00001c  e001              B        |L5.34|
                  |L5.30|
;;;486          } else {
;;;487            WM_SetHasTrans(hObj);
00001e  f7fffffe          BL       WM_SetHasTrans
                  |L5.34|
;;;488          }
;;;489        #endif
;;;490        WM_InvalidateWindow(hObj);
000022  4628              MOV      r0,r5
000024  e8bd4070          POP      {r4-r6,lr}
000028  f7ffbffe          B.W      WM_InvalidateWindow
                  |L5.44|
;;;491        WM_UNLOCK();
;;;492      }
;;;493    }
00002c  bd70              POP      {r4-r6,pc}
;;;494    
                          ENDP


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

                  SLIDER_SetDefaultBkColor PROC
;;;498    */
;;;499    void SLIDER_SetDefaultBkColor(GUI_COLOR Color) {
000000  4901              LDR      r1,|L6.8|
;;;500      _DefaultBkColor = Color;
;;;501    }
000002  6008              STR      r0,[r1,#0]  ; _DefaultBkColor
000004  4770              BX       lr
;;;502    
                          ENDP

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

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

                  SLIDER_SetNumTicks PROC
;;;461    */
;;;462    void SLIDER_SetNumTicks(SLIDER_Handle hObj, int NumTicks) {
000000  b570              PUSH     {r4-r6,lr}
000002  0004              MOVS     r4,r0
000004  460d              MOV      r5,r1
;;;463      if (hObj && (NumTicks >= 0)) {
000006  d00a              BEQ      |L7.30|
000008  2d00              CMP      r5,#0
00000a  db08              BLT      |L7.30|

⌨️ 快捷键说明

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