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

📄 multiedit.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
0000b0  b2c0              UXTB     r0,r0
0000b2  f0400002          ORR      r0,r0,#2
0000b6  b2c0              UXTB     r0,r0
0000b8  f0400004          ORR      r0,r0,#4
0000bc  7020              STRB     r0,[r4,#0]
                  |L18.190|
;;;1486           _InvalidateNumChars(pObj);
;;;1487           _InvalidateNumLines(pObj);
;;;1488           _InvalidateTextSizeX(pObj);
;;;1489         }
;;;1490       }
;;;1491       WM_UNLOCK();
;;;1492     }
;;;1493   }
0000be  e8bd87f0          POP      {r4-r10,pc}
;;;1494   
                          ENDP


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

                  MULTIEDIT_SetTextColor PROC
;;;1685   */
;;;1686   void MULTIEDIT_SetTextColor(MULTIEDIT_HANDLE hObj, unsigned Index, GUI_COLOR color) {
000000  b570              PUSH     {r4-r6,lr}
000002  0004              MOVS     r4,r0
000004  460d              MOV      r5,r1
000006  4616              MOV      r6,r2
;;;1687     if (hObj && (Index < NUM_DISP_MODES)) {
000008  d00c              BEQ      |L19.36|
00000a  2d02              CMP      r5,#2
00000c  d20a              BCS      |L19.36|
;;;1688       MULTIEDIT_OBJ* pObj;
;;;1689       WM_LOCK();
;;;1690       pObj = MULTIEDIT_H2P(hObj);
00000e  4620              MOV      r0,r4
000010  f7fffffe          BL       GUI_ALLOC_h2p
;;;1691       pObj->aColor[Index] = color;
000014  eb000085          ADD      r0,r0,r5,LSL #2
;;;1692       WM_Invalidate(hObj);
000018  6306              STR      r6,[r0,#0x30]
00001a  4620              MOV      r0,r4
00001c  e8bd4070          POP      {r4-r6,lr}
000020  f7ffbffe          B.W      WM_InvalidateWindow
                  |L19.36|
;;;1693       WM_UNLOCK();
;;;1694     }
;;;1695   }
000024  bd70              POP      {r4-r6,pc}
;;;1696   
                          ENDP


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

                  MULTIEDIT_SetWrapChar PROC
;;;1553   */
;;;1554   void MULTIEDIT_SetWrapChar(MULTIEDIT_HANDLE hObj) {
000000  2102              MOVS     r1,#2
;;;1555     _SetWrapMode(hObj, GUI_WRAPMODE_CHAR);
000002  f7ffbffe          B.W      _SetWrapMode
;;;1556   }
;;;1557   
                          ENDP


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

                  MULTIEDIT_SetWrapNone PROC
;;;1561   */
;;;1562   void MULTIEDIT_SetWrapNone(MULTIEDIT_HANDLE hObj) {
000000  2100              MOVS     r1,#0
;;;1563     _SetWrapMode(hObj, GUI_WRAPMODE_NONE);
000002  f7ffbffe          B.W      _SetWrapMode
;;;1564   }
;;;1565   
                          ENDP


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

                  MULTIEDIT_SetWrapWord PROC
;;;1545   */
;;;1546   void MULTIEDIT_SetWrapWord(MULTIEDIT_HANDLE hObj) {
000000  2101              MOVS     r1,#1
;;;1547     _SetWrapMode(hObj, GUI_WRAPMODE_WORD);
000002  f7ffbffe          B.W      _SetWrapMode
;;;1548   }
;;;1549   
                          ENDP


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

                  _AddKey PROC
;;;1200   */
;;;1201   static int _AddKey(MULTIEDIT_HANDLE hObj, U16 Key) {
000000  e92d41fc          PUSH     {r2-r8,lr}
000004  4607              MOV      r7,r0
000006  460e              MOV      r6,r1
;;;1202     int r = 0;               /* Key has not been consumed */
000008  2500              MOVS     r5,#0
;;;1203     MULTIEDIT_OBJ* pObj;
;;;1204     pObj = MULTIEDIT_H2P(hObj);
00000a  f7fffffe          BL       GUI_ALLOC_h2p
00000e  4604              MOV      r4,r0
;;;1205     switch (Key) {
000010  2e13              CMP      r6,#0x13
000012  d036              BEQ      |L23.130|
000014  dc1f              BGT      |L23.86|
000016  2e10              CMP      r6,#0x10
000018  d041              BEQ      |L23.158|
00001a  dc17              BGT      |L23.76|
00001c  2e08              CMP      r6,#8
00001e  d059              BEQ      |L23.212|
000020  2e0d              CMP      r6,#0xd
000022  d117              BNE      |L23.84|
;;;1206     case GUI_KEY_UP:
;;;1207       _MoveCursorUp(hObj, pObj);
;;;1208       r = 1;               /* Key has been consumed */
;;;1209       break;
;;;1210     case GUI_KEY_DOWN:
;;;1211       _MoveCursorDown(hObj, pObj);
;;;1212       r = 1;               /* Key has been consumed */
;;;1213       break;
;;;1214     case GUI_KEY_RIGHT:
;;;1215       _SetCursorPos(hObj, pObj, pObj->CursorPosChar + 1);
;;;1216       r = 1;               /* Key has been consumed */
;;;1217       break;
;;;1218     case GUI_KEY_LEFT:
;;;1219       _SetCursorPos(hObj, pObj, pObj->CursorPosChar - 1);
;;;1220       r = 1;               /* Key has been consumed */
;;;1221       break;
;;;1222     case GUI_KEY_END:
;;;1223       _MoveCursor2LineEnd(hObj, pObj);
;;;1224       r = 1;               /* Key has been consumed */
;;;1225       break;
;;;1226     case GUI_KEY_HOME:
;;;1227       _MoveCursor2LinePos1(hObj, pObj);
;;;1228       r = 1;               /* Key has been consumed */
;;;1229       break;
;;;1230     case GUI_KEY_BACKSPACE:
;;;1231       if (!(pObj->Flags & MULTIEDIT_SF_READONLY)) {
;;;1232         if (pObj->CursorPosChar > pObj->NumCharsPrompt) {
;;;1233           _SetCursorPos(hObj, pObj, pObj->CursorPosChar - 1);
;;;1234           _DeleteChar(hObj, pObj);
;;;1235         }
;;;1236         r = 1;               /* Key has been consumed */
;;;1237       }
;;;1238       break;
;;;1239     case GUI_KEY_DELETE:
;;;1240       if (!(pObj->Flags & MULTIEDIT_SF_READONLY)) {
;;;1241         _DeleteChar(hObj, pObj);
;;;1242         r = 1;               /* Key has been consumed */
;;;1243       }
;;;1244       break;
;;;1245     case GUI_KEY_INSERT:
;;;1246       if (!(pObj->Flags & MULTIEDIT_CF_INSERT)) {
;;;1247         pObj->Flags |= MULTIEDIT_CF_INSERT;
;;;1248       } else {
;;;1249         pObj->Flags &= ~MULTIEDIT_CF_INSERT;
;;;1250       }
;;;1251       r = 1;               /* Key has been consumed */
;;;1252       break;
;;;1253     case GUI_KEY_ENTER:
;;;1254       if (pObj->Flags & MULTIEDIT_SF_READONLY) {
000024  f8940074          LDRB     r0,[r4,#0x74]
000028  07c0              LSLS     r0,r0,#31
00002a  d10a              BNE      |L23.66|
;;;1255         _MoveCursor2NextLine(hObj, pObj);
;;;1256       } else {
;;;1257         if (_InsertChar(hObj, pObj, (U8)('\n'))) {
00002c  220a              MOVS     r2,#0xa
00002e  4621              MOV      r1,r4
000030  4638              MOV      r0,r7
000032  f7fffffe          BL       _InsertChar
000036  2800              CMP      r0,#0
000038  d007              BEQ      |L23.74|
;;;1258           if (pObj->Flags & MULTIEDIT_SF_PASSWORD) {
00003a  f8940074          LDRB     r0,[r4,#0x74]
00003e  0680              LSLS     r0,r0,#26
000040  d471              BMI      |L23.294|
                  |L23.66|
;;;1259             _SetCursorPos(hObj, pObj, pObj->CursorPosChar + 1);
;;;1260           } else {
;;;1261             _MoveCursor2NextLine(hObj, pObj);
000042  4621              MOV      r1,r4
000044  4638              MOV      r0,r7
000046  f7fffffe          BL       _MoveCursor2NextLine
                  |L23.74|
00004a  e086              B        |L23.346|
                  |L23.76|
00004c  2e11              CMP      r6,#0x11              ;1205
00004e  d00c              BEQ      |L23.106|
000050  2e12              CMP      r6,#0x12              ;1205
000052  d07e              BEQ      |L23.338|
                  |L23.84|
000054  e068              B        |L23.296|
                  |L23.86|
000056  f1a60017          SUB      r0,r6,#0x17           ;1205
00005a  2808              CMP      r0,#8                 ;1205
00005c  d264              BCS      |L23.296|
00005e  e8dff000          TBB      [pc,r0]               ;1205
000062  2c22              DCB      0x2c,0x22
000064  63637d63          DCB      0x63,0x63,0x7d,0x63
000068  5148              DCB      0x51,0x48
                  |L23.106|
00006a  466b              MOV      r3,sp                 ;1205
00006c  aa01              ADD      r2,sp,#4              ;1205
00006e  4621              MOV      r1,r4                 ;1205
000070  4638              MOV      r0,r7                 ;1205
000072  f7fffffe          BL       _GetCursorXY
000076  6f20              LDR      r0,[r4,#0x70]         ;1205
000078  f7fffffe          BL       GUI_GetYDistOfFont
00007c  9900              LDR      r1,[sp,#0]            ;1205
00007e  1a0b              SUBS     r3,r1,r0              ;1205
000080  e00a              B        |L23.152|
                  |L23.130|
000082  466b              MOV      r3,sp                 ;1209
000084  aa01              ADD      r2,sp,#4              ;1209
000086  4621              MOV      r1,r4                 ;1209
000088  4638              MOV      r0,r7                 ;1209
00008a  f7fffffe          BL       _GetCursorXY
00008e  6f20              LDR      r0,[r4,#0x70]         ;1209
000090  f7fffffe          BL       GUI_GetYDistOfFont
000094  9900              LDR      r1,[sp,#0]            ;1209
000096  1843              ADDS     r3,r0,r1              ;1209
                  |L23.152|
000098  9300              STR      r3,[sp,#0]            ;1209
00009a  9a01              LDR      r2,[sp,#4]            ;1209
00009c  e015              B        |L23.202|
                  |L23.158|
00009e  f8b42048          LDRH     r2,[r4,#0x48]         ;1219
0000a2  1e52              SUBS     r2,r2,#1              ;1219
0000a4  e03a              B        |L23.284|
0000a6  466b              MOV      r3,sp                 ;1221
0000a8  aa01              ADD      r2,sp,#4              ;1221
0000aa  4621              MOV      r1,r4                 ;1221
0000ac  4638              MOV      r0,r7                 ;1221
0000ae  f7fffffe          BL       _GetCursorXY
0000b2  f64772ff          MOV      r2,#0x7fff            ;1221
0000b6  9b00              LDR      r3,[sp,#0]            ;1225
0000b8  e007              B        |L23.202|
0000ba  466b              MOV      r3,sp                 ;1225
0000bc  aa01              ADD      r2,sp,#4              ;1225
0000be  4621              MOV      r1,r4                 ;1225
0000c0  4638              MOV      r0,r7                 ;1225
0000c2  f7fffffe          BL       _GetCursorXY
0000c6  9b00              LDR      r3,[sp,#0]            ;1225
0000c8  2200              MOVS     r2,#0                 ;1225
                  |L23.202|
0000ca  4621              MOV      r1,r4                 ;1225
0000cc  4638              MOV      r0,r7                 ;1225
0000ce  f7fffffe          BL       _SetCursorXY
0000d2  e042              B        |L23.346|
                  |L23.212|
0000d4  f8940074          LDRB     r0,[r4,#0x74]         ;1231
0000d8  07c0              LSLS     r0,r0,#31             ;1231
0000da  d13f              BNE      |L23.348|
0000dc  f8b42048          LDRH     r2,[r4,#0x48]         ;1232
0000e0  8fe0              LDRH     r0,[r4,#0x3e]         ;1232
0000e2  4282              CMP      r2,r0                 ;1232
0000e4  d939              BLS      |L23.346|
0000e6  1e52              SUBS     r2,r2,#1              ;1233
0000e8  4621              MOV      r1,r4                 ;1233
0000ea  4638              MOV      r0,r7                 ;1233
0000ec  f7fffffe          BL       _SetCursorPos
0000f0  e003              B        |L23.250|
0000f2  f8940074          LDRB     r0,[r4,#0x74]         ;1240
0000f6  07c0              LSLS     r0,r0,#31             ;1240
0000f8  d130              BNE      |L23.348|
                  |L23.250|
0000fa  4621              MOV      r1,r4                 ;1241
0000fc  4638              MOV      r0,r7                 ;1241
0000fe  f7fffffe          BL       _DeleteChar
000102  e02a              B        |L23.346|
000104  f8940074          LDRB     r0,[r4,#0x74]         ;1246
000108  0741              LSLS     r1,r0,#29             ;1246
00010a  d402              BMI      |L23.274|
00010c  f0400004          ORR      r0,r0,#4              ;1247
000110  e001              B        |L23.278|
                  |L23.274|
000112  f0200004          BIC      r0,r0,#4              ;1249
                  |L23.278|
000116  f8840074          STRB     r0,[r4,#0x74]         ;1249
00011a  e01e              B        |L23.346|
                  |L23.284|
00011c  4621              MOV      r1,r4                 ;1259
00011e  4638              MOV      r0,r7                 ;1259
000120  f7fffffe          BL       _SetCursorPos
000124  e019              B        |L23.346|
                  |L23.294|
000126  e014              B        |L23.338|
                  |L23.296|
;;;1262           }
;;;1263         }
;;;1264       }
;;;1265       r = 1;               /* Key has been consumed */
;;;1266       break;
;;;1267     case GUI_KEY_ESCAPE:
;;;1268       break;
;;;1269     default:
;;;1270       if (!(pObj->Flags & MULTIEDIT_SF_READONLY) && (Key >= 0x20)) {
000128  f8940074          LDRB     r0,[r4,#0x74]
00012c  07c0              LSLS     r0,r0,#31
00012e  d115              BNE      |L23.348|
000130  2e20              CMP      r6,#0x20
000132  d313              BCC      |L23.348|
;;;1271         if (_IsOverwriteAtThisChar(hObj, pObj)) {
000134  4621              MOV      r1,r4

⌨️ 快捷键说明

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