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

📄 radio.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
000116  4650              MOV      r0,r10
000118  f7fffffe          BL       GUI_DrawBitmap
                  |L8.284|
;;;182                                   RADIO_BORDER + ((pBmRadio->YSize - pBmCheck->YSize) / 2) + y);
;;;183        }
;;;184        /* Draw text if available */
;;;185        pText = (const char*)GUI_ARRAY_GetpItem(&pObj->TextArray, i);
00011c  4629              MOV      r1,r5
00011e  f1040034          ADD      r0,r4,#0x34
000122  f7fffffe          BL       GUI_ARRAY_GetpItem
000126  0007              MOVS     r7,r0
;;;186        if (pText) {
000128  d037              BEQ      |L8.410|
;;;187          if (*pText) {
00012a  7838              LDRB     r0,[r7,#0]
00012c  b3a8              CBZ      r0,|L8.410|
;;;188            r = Rect;
00012e  e9dd0105          LDRD     r0,r1,[sp,#0x14]
;;;189            r.x1 = r.x0 + GUI_GetStringDistX(pText) - 2;
000132  e9cd0103          STRD     r0,r1,[sp,#0xc]
000136  4638              MOV      r0,r7
000138  f7fffffe          BL       GUI_GetStringDistX
00013c  f8bd100c          LDRH     r1,[sp,#0xc]
000140  1e80              SUBS     r0,r0,#2
000142  4408              ADD      r0,r0,r1
000144  f8ad0010          STRH     r0,[sp,#0x10]
;;;190            GUI_MoveRect(&r, 0, y);
000148  464a              MOV      r2,r9
00014a  2100              MOVS     r1,#0
00014c  a803              ADD      r0,sp,#0xc
00014e  f7fffffe          BL       GUI_MoveRect
;;;191            GUI_DispStringAt(pText, r.x0, r.y0 - SpaceAbove);
000152  f9bd000e          LDRSH    r0,[sp,#0xe]
000156  9900              LDR      r1,[sp,#0]
000158  1a42              SUBS     r2,r0,r1
00015a  f9bd100c          LDRSH    r1,[sp,#0xc]
00015e  4638              MOV      r0,r7
000160  f7fffffe          BL       GUI_DispStringAt
;;;192            /* Calculate focus rect */
;;;193            if (HasFocus && (pObj->Sel == i)) {
000164  f1bb0f00          CMP      r11,#0
000168  d017              BEQ      |L8.410|
00016a  f9b40038          LDRSH    r0,[r4,#0x38]
00016e  42a8              CMP      r0,r5
000170  d113              BNE      |L8.410|
000172  f8bd000e          LDRH     r0,[sp,#0xe]
000176  1b80              SUBS     r0,r0,r6
000178  f8ad0006          STRH     r0,[sp,#6]
00017c  f8bd0012          LDRH     r0,[sp,#0x12]
000180  4430              ADD      r0,r0,r6
000182  f8ad000a          STRH     r0,[sp,#0xa]
000186  f8bd000c          LDRH     r0,[sp,#0xc]
00018a  1b80              SUBS     r0,r0,r6
00018c  f8ad0004          STRH     r0,[sp,#4]
000190  f8bd0010          LDRH     r0,[sp,#0x10]
000194  4430              ADD      r0,r0,r6
000196  f8ad0008          STRH     r0,[sp,#8]
                  |L8.410|
00019a  1c6d              ADDS     r5,r5,#1              ;175
                  |L8.412|
00019c  8fe0              LDRH     r0,[r4,#0x3e]         ;175
00019e  42a8              CMP      r0,r5                 ;175
0001a0  dc98              BGT      |L8.212|
;;;194              _ResizeRect(&rFocus, &r, FocusBorder);
;;;195            }
;;;196          }
;;;197        }
;;;198      }
;;;199    
;;;200      /* Draw the focus rect */
;;;201      if (HasFocus) {
0001a2  f1bb0f00          CMP      r11,#0
0001a6  d007              BEQ      |L8.440|
;;;202        LCD_SetColor(GUI_BLACK);
0001a8  2000              MOVS     r0,#0
0001aa  f7fffffe          BL       LCD_SetColor
;;;203        WIDGET__DrawFocusRect(&pObj->Widget, &rFocus, 0);
0001ae  2200              MOVS     r2,#0
0001b0  a901              ADD      r1,sp,#4
0001b2  4620              MOV      r0,r4
0001b4  f7fffffe          BL       WIDGET__DrawFocusRect
                  |L8.440|
;;;204      }
;;;205    }
0001b8  b009              ADD      sp,sp,#0x24
0001ba  e8bd8ff0          POP      {r4-r11,pc}
;;;206    
                          ENDP

0001be  0000              DCW      0x0000
                  |L8.448|
                          DCD      0x00c0c0c0

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

                  _RADIO_Callback PROC
;;;268    */
;;;269    static void _RADIO_Callback (WM_MESSAGE* pMsg) {
000000  e92d41f0          PUSH     {r4-r8,lr}
;;;270      RADIO_Handle hObj;
;;;271      RADIO_Obj*   pObj;
;;;272      hObj = pMsg->hWin;
000004  f9b06004          LDRSH    r6,[r0,#4]
000008  4605              MOV      r5,r0                 ;269
;;;273      pObj = RADIO_H2P(hObj);
00000a  4630              MOV      r0,r6
00000c  f7fffffe          BL       GUI_ALLOC_h2p
000010  4604              MOV      r4,r0
;;;274      /* Let widget handle the standard messages */
;;;275      if (WIDGET_HandleActive(hObj, pMsg) == 0) {
000012  4629              MOV      r1,r5
000014  4630              MOV      r0,r6
000016  f7fffffe          BL       WIDGET_HandleActive
00001a  2800              CMP      r0,#0
00001c  d028              BEQ      |L9.112|
;;;276        return;
;;;277      }
;;;278      switch (pMsg->MsgId) {
00001e  6829              LDR      r1,[r5,#0]
000020  290e              CMP      r1,#0xe
000022  d03b              BEQ      |L9.156|
000024  dc1d              BGT      |L9.98|
000026  290b              CMP      r1,#0xb
000028  d04d              BEQ      |L9.198|
00002a  290c              CMP      r1,#0xc
00002c  d14f              BNE      |L9.206|
00002e  68a8              LDR      r0,[r5,#8]
000030  2700              MOVS     r7,#0
000032  b340              CBZ      r0,|L9.134|
000034  7a01              LDRB     r1,[r0,#8]
000036  b319              CBZ      r1,|L9.128|
000038  6840              LDR      r0,[r0,#4]
00003a  8f62              LDRH     r2,[r4,#0x3a]
00003c  fb90f1f2          SDIV     r1,r0,r2
000040  fb010012          MLS      r0,r1,r2,r0
000044  8fa2              LDRH     r2,[r4,#0x3c]
000046  4282              CMP      r2,r0
000048  db02              BLT      |L9.80|
00004a  4630              MOV      r0,r6
00004c  f7fffffe          BL       RADIO_SetValue
                  |L9.80|
000050  4630              MOV      r0,r6
000052  f7fffffe          BL       WM_IsFocussable
000056  b110              CBZ      r0,|L9.94|
000058  4630              MOV      r0,r6
00005a  f7fffffe          BL       WM_SetFocus
                  |L9.94|
00005e  2101              MOVS     r1,#1
000060  e012              B        |L9.136|
                  |L9.98|
000062  290f              CMP      r1,#0xf
000064  d006              BEQ      |L9.116|
000066  292b              CMP      r1,#0x2b
000068  d131              BNE      |L9.206|
;;;279      case WM_PAINT:
;;;280        GUI_DEBUG_LOG("RADIO: _Callback(WM_PAINT)\n");
;;;281        _OnPaint(hObj, pObj);
;;;282        return;
;;;283      case WM_GET_RADIOGROUP:
;;;284        pMsg->Data.v = pObj->GroupId;
00006a  f8940040          LDRB     r0,[r4,#0x40]
;;;285        return;
00006e  60a8              STR      r0,[r5,#8]
                  |L9.112|
;;;286      case WM_TOUCH:
;;;287        _OnTouch(hObj, pObj, pMsg);
;;;288        break;
;;;289      case WM_KEY:
;;;290        _OnKey(hObj, pMsg);
;;;291        break;
;;;292      case WM_DELETE:
;;;293        GUI_ARRAY_Delete(&pObj->TextArray);
;;;294        break;
;;;295      }
;;;296      WM_DefaultProc(pMsg);
;;;297    }
000070  e8bd81f0          POP      {r4-r8,pc}
                  |L9.116|
000074  4621              MOV      r1,r4                 ;281
000076  4630              MOV      r0,r6                 ;281
000078  e8bd41f0          POP      {r4-r8,lr}            ;281
00007c  f7ffbffe          B.W      _OnPaint
                  |L9.128|
000080  2701              MOVS     r7,#1                 ;281
000082  2102              MOVS     r1,#2                 ;281
000084  e000              B        |L9.136|
                  |L9.134|
000086  2103              MOVS     r1,#3                 ;281
                  |L9.136|
000088  4630              MOV      r0,r6                 ;281
00008a  f7fffffe          BL       WM_NotifyParent
00008e  2f01              CMP      r7,#1                 ;281
000090  d11d              BNE      |L9.206|
000092  f9b40024          LDRSH    r0,[r4,#0x24]         ;281
000096  f7fffffe          BL       GUI_StoreKey
00009a  e018              B        |L9.206|
                  |L9.156|
00009c  68a8              LDR      r0,[r5,#8]            ;281
00009e  6841              LDR      r1,[r0,#4]            ;281
0000a0  2900              CMP      r1,#0                 ;281
0000a2  dd14              BLE      |L9.206|
0000a4  6800              LDR      r0,[r0,#0]            ;281
0000a6  2810              CMP      r0,#0x10              ;281
0000a8  d007              BEQ      |L9.186|
0000aa  2811              CMP      r0,#0x11              ;281
0000ac  d005              BEQ      |L9.186|
0000ae  2812              CMP      r0,#0x12              ;281
0000b0  d001              BEQ      |L9.182|
0000b2  2813              CMP      r0,#0x13              ;281
0000b4  d10b              BNE      |L9.206|
                  |L9.182|
0000b6  2101              MOVS     r1,#1                 ;281
0000b8  e001              B        |L9.190|
                  |L9.186|
0000ba  f04f31ff          MOV      r1,#0xffffffff        ;281
                  |L9.190|
0000be  4630              MOV      r0,r6                 ;281
0000c0  f7fffffe          BL       RADIO_AddValue
0000c4  e003              B        |L9.206|
                  |L9.198|
0000c6  f1040034          ADD      r0,r4,#0x34           ;293
0000ca  f7fffffe          BL       GUI_ARRAY_Delete
                  |L9.206|
0000ce  4628              MOV      r0,r5                 ;296
0000d0  e8bd41f0          POP      {r4-r8,lr}            ;296
0000d4  f7ffbffe          B.W      WM_DefaultProc
;;;298    
                          ENDP


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

                  RADIO__DefaultTextColor
                          DCD      0x00000000
                  RADIO__pDefaultFont
                          DCD      GUI_Font13_1
                  RADIO__pDefaultImageCheck
                          DCD      RADIO__bmCheck
                  RADIO__pfHandleSetValue
                          DCD      0x00000000
                  RADIO__apDefaultImage
                          DCD      RADIO__abmRadio
                          DCD      RADIO__abmRadio+0x14

⌨️ 快捷键说明

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