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

📄 multiedit.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
00000c  f9b00038          LDRSH    r0,[r0,#0x38]
000010  b148              CBZ      r0,|L5.38|
;;;1811         const char* s;
;;;1812         s = (const char*)GUI_ALLOC_h2p(pObj->hText);
000012  f7fffffe          BL       GUI_ALLOC_h2p
000016  4605              MOV      r5,r0
;;;1813         s += GUI_UC__NumChars2NumBytes(s, pObj->NumCharsPrompt);
000018  8fe1              LDRH     r1,[r4,#0x3e]
00001a  f7fffffe          BL       GUI_UC__NumChars2NumBytes
00001e  4428              ADD      r0,r0,r5
;;;1814         r = 1 + strlen(s);
000020  f7fffffe          BL       strlen
000024  1c45              ADDS     r5,r0,#1
                  |L5.38|
;;;1815       }
;;;1816       WM_UNLOCK();
;;;1817     }
;;;1818     return r;
000026  4628              MOV      r0,r5
;;;1819   }
000028  bd70              POP      {r4-r6,pc}
;;;1820   
                          ENDP


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

                  MULTIEDIT_SetAutoScrollH PROC
;;;1610   */
;;;1611   void MULTIEDIT_SetAutoScrollH(MULTIEDIT_HANDLE hObj, int OnOff) {
000000  2210              MOVS     r2,#0x10
;;;1612     _SetFlag(hObj, OnOff, MULTIEDIT_SF_AUTOSCROLLBAR_H);
000002  f7ffbffe          B.W      _SetFlag
;;;1613   }
;;;1614   
                          ENDP


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

                  MULTIEDIT_SetAutoScrollV PROC
;;;1602   */
;;;1603   void MULTIEDIT_SetAutoScrollV(MULTIEDIT_HANDLE hObj, int OnOff) {
000000  2208              MOVS     r2,#8
;;;1604     _SetFlag(hObj, OnOff, MULTIEDIT_SF_AUTOSCROLLBAR_V);
000002  f7ffbffe          B.W      _SetFlag
;;;1605   }
;;;1606   
                          ENDP


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

                  MULTIEDIT_SetBkColor PROC
;;;1655   */
;;;1656   void MULTIEDIT_SetBkColor(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
;;;1657     if (hObj && (Index < NUM_DISP_MODES)) {
000008  d00c              BEQ      |L8.36|
00000a  2d02              CMP      r5,#2
00000c  d20a              BCS      |L8.36|
;;;1658       MULTIEDIT_OBJ* pObj;
;;;1659       WM_LOCK();
;;;1660       pObj = MULTIEDIT_H2P(hObj);
00000e  4620              MOV      r0,r4
000010  f7fffffe          BL       GUI_ALLOC_h2p
;;;1661       pObj->aBkColor[Index] = color;
000014  eb000085          ADD      r0,r0,r5,LSL #2
;;;1662       _InvalidateTextArea(hObj);
000018  6286              STR      r6,[r0,#0x28]
00001a  4620              MOV      r0,r4
00001c  e8bd4070          POP      {r4-r6,lr}
000020  f7ffbffe          B.W      _InvalidateTextArea
                  |L8.36|
;;;1663       WM_UNLOCK();
;;;1664     }
;;;1665   }
000024  bd70              POP      {r4-r6,pc}
;;;1666   
                          ENDP


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

                  MULTIEDIT_SetBufferSize PROC
;;;1740   */
;;;1741   void MULTIEDIT_SetBufferSize(MULTIEDIT_HANDLE hObj, int BufferSize) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  0006              MOVS     r6,r0
000006  460d              MOV      r5,r1
;;;1742     if (hObj) {
000008  d029              BEQ      |L9.94|
;;;1743       MULTIEDIT_OBJ* pObj;
;;;1744       WM_HMEM hText;
;;;1745       WM_LOCK();
;;;1746       pObj = MULTIEDIT_H2P(hObj);
00000a  4630              MOV      r0,r6
00000c  f7fffffe          BL       GUI_ALLOC_h2p
000010  4604              MOV      r4,r0
;;;1747       if ((hText = GUI_ALLOC_AllocZero(BufferSize)) == 0) {
000012  b228              SXTH     r0,r5
000014  f7fffffe          BL       GUI_ALLOC_AllocZero
000018  0007              MOVS     r7,r0
00001a  d01b              BEQ      |L9.84|
;;;1748         GUI_DEBUG_ERROROUT("MULTIEDIT_SetBufferSize failed to alloc buffer");
;;;1749       } else {
;;;1750         GUI_ALLOC_FreePtr(&pObj->hText);
00001c  f1040038          ADD      r0,r4,#0x38
000020  f7fffffe          BL       GUI_ALLOC_FreePtr
;;;1751         pObj->hText          = hText;
000024  8727              STRH     r7,[r4,#0x38]
;;;1752         pObj->BufferSize     = BufferSize;
;;;1753         pObj->NumCharsPrompt = 0;
000026  2000              MOVS     r0,#0
000028  f8a45044          STRH     r5,[r4,#0x44]         ;1752
00002c  87e0              STRH     r0,[r4,#0x3e]
;;;1754         _SetCursorPos(hObj, pObj, 0);
00002e  4602              MOV      r2,r0
000030  4621              MOV      r1,r4
000032  4630              MOV      r0,r6
000034  f7fffffe          BL       _SetCursorPos
000038  f8140f75          LDRB     r0,[r4,#0x75]!
00003c  f0400001          ORR      r0,r0,#1
000040  b2c0              UXTB     r0,r0
000042  f0400008          ORR      r0,r0,#8
000046  b2c0              UXTB     r0,r0
000048  f0400002          ORR      r0,r0,#2
00004c  b2c0              UXTB     r0,r0
00004e  f0400004          ORR      r0,r0,#4
000052  7020              STRB     r0,[r4,#0]
                  |L9.84|
;;;1755         _InvalidateNumChars(pObj);
;;;1756         _InvalidateCursorXY(pObj);
;;;1757         _InvalidateNumLines(pObj);
;;;1758         _InvalidateTextSizeX(pObj);
;;;1759       }
;;;1760       _InvalidateTextArea(hObj);
000054  4630              MOV      r0,r6
000056  e8bd41f0          POP      {r4-r8,lr}
00005a  f7ffbffe          B.W      _InvalidateTextArea
                  |L9.94|
;;;1761       WM_UNLOCK();
;;;1762     }
;;;1763   }
00005e  e8bd81f0          POP      {r4-r8,pc}
;;;1764   
                          ENDP


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

                  MULTIEDIT_SetCursorOffset PROC
;;;1670   */
;;;1671   void MULTIEDIT_SetCursorOffset(MULTIEDIT_HANDLE hObj, int Offset) {
000000  b570              PUSH     {r4-r6,lr}
000002  0004              MOVS     r4,r0
000004  460d              MOV      r5,r1
;;;1672     if (hObj) {
000006  d00c              BEQ      |L10.34|
;;;1673       MULTIEDIT_OBJ* pObj;
;;;1674       WM_LOCK();
;;;1675       pObj = MULTIEDIT_H2P(hObj);
000008  4620              MOV      r0,r4
00000a  f7fffffe          BL       GUI_ALLOC_h2p
;;;1676       _SetCursorPos(hObj, pObj, Offset);
00000e  4601              MOV      r1,r0
000010  462a              MOV      r2,r5
000012  4620              MOV      r0,r4
000014  f7fffffe          BL       _SetCursorPos
;;;1677       WM_Invalidate(hObj);
000018  4620              MOV      r0,r4
00001a  e8bd4070          POP      {r4-r6,lr}
00001e  f7ffbffe          B.W      WM_InvalidateWindow
                  |L10.34|
;;;1678       WM_UNLOCK();
;;;1679     }
;;;1680   }
000022  bd70              POP      {r4-r6,pc}
;;;1681   
                          ENDP


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

                  MULTIEDIT_SetFont PROC
;;;1635   */
;;;1636   void MULTIEDIT_SetFont(MULTIEDIT_HANDLE hObj, const GUI_FONT GUI_UNI_PTR * pFont) {
000000  b570              PUSH     {r4-r6,lr}
000002  0006              MOVS     r6,r0
000004  460d              MOV      r5,r1
;;;1637     if (hObj) {
000006  d015              BEQ      |L11.52|
;;;1638       MULTIEDIT_OBJ* pObj;
;;;1639       WM_LOCK();
;;;1640       pObj = MULTIEDIT_H2P(hObj);
000008  4630              MOV      r0,r6
00000a  f7fffffe          BL       GUI_ALLOC_h2p
00000e  4604              MOV      r4,r0
;;;1641       if (pObj->pFont != pFont) {
000010  6f00              LDR      r0,[r0,#0x70]
000012  42a8              CMP      r0,r5
000014  d00e              BEQ      |L11.52|
;;;1642         pObj->pFont = pFont;
000016  f8445f70          STR      r5,[r4,#0x70]!
;;;1643         _InvalidateTextArea(hObj);
00001a  4630              MOV      r0,r6
00001c  f7fffffe          BL       _InvalidateTextArea
000020  7960              LDRB     r0,[r4,#5]
000022  f0400008          ORR      r0,r0,#8
000026  b2c0              UXTB     r0,r0
000028  f0400002          ORR      r0,r0,#2
00002c  b2c0              UXTB     r0,r0
00002e  f0400004          ORR      r0,r0,#4
000032  7160              STRB     r0,[r4,#5]
                  |L11.52|
;;;1644         _InvalidateCursorXY(pObj);
;;;1645         _InvalidateNumLines(pObj);
;;;1646         _InvalidateTextSizeX(pObj);
;;;1647       }
;;;1648       WM_UNLOCK();
;;;1649     }
;;;1650   }
000034  bd70              POP      {r4-r6,pc}
;;;1651   
                          ENDP


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

                  MULTIEDIT_SetHBorder PROC
;;;1618   */
;;;1619   void MULTIEDIT_SetHBorder(MULTIEDIT_HANDLE hObj, unsigned HBorder) {
000000  b570              PUSH     {r4-r6,lr}
000002  0005              MOVS     r5,r0
000004  460c              MOV      r4,r1
;;;1620     if (hObj) {
000006  d00d              BEQ      |L12.36|
;;;1621       MULTIEDIT_OBJ* pObj;
;;;1622       WM_LOCK();
;;;1623       pObj = MULTIEDIT_H2P(hObj);
000008  4628              MOV      r0,r5
00000a  f7fffffe          BL       GUI_ALLOC_h2p
;;;1624       if ((unsigned)pObj->HBorder != HBorder) {
00000e  f8901077          LDRB     r1,[r0,#0x77]
000012  42a1              CMP      r1,r4
000014  d006              BEQ      |L12.36|
;;;1625         pObj->HBorder = HBorder;
000016  f8804077          STRB     r4,[r0,#0x77]
;;;1626         _Invalidate(hObj);
00001a  4628              MOV      r0,r5
00001c  e8bd4070          POP      {r4-r6,lr}
000020  f7ffbffe          B.W      _Invalidate
                  |L12.36|
;;;1627       }
;;;1628       WM_UNLOCK();
;;;1629     }
;;;1630   }
000024  bd70              POP      {r4-r6,pc}
;;;1631   
                          ENDP


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

                  MULTIEDIT_SetInsertMode PROC
;;;1569   */
;;;1570   void MULTIEDIT_SetInsertMode(MULTIEDIT_HANDLE hObj, int OnOff) {
000000  2204              MOVS     r2,#4
;;;1571     _SetFlag(hObj, OnOff, MULTIEDIT_SF_INSERT);
000002  f7ffbffe          B.W      _SetFlag
;;;1572   }
;;;1573   
                          ENDP


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

                  MULTIEDIT_SetMaxNumChars PROC
;;;1768   */
;;;1769   void MULTIEDIT_SetMaxNumChars(MULTIEDIT_HANDLE hObj, unsigned MaxNumChars) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  0006              MOVS     r6,r0
000006  460f              MOV      r7,r1
;;;1770     if (hObj) {
000008  d028              BEQ      |L14.92|
;;;1771       MULTIEDIT_OBJ* pObj;
;;;1772       WM_LOCK();
;;;1773       pObj = MULTIEDIT_H2P(hObj);
00000a  4630              MOV      r0,r6
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;1774       pObj->MaxNumChars = MaxNumChars;
000010  b2b9              UXTH     r1,r7
000012  4604              MOV      r4,r0                 ;1773
000014  8741              STRH     r1,[r0,#0x3a]
;;;1775       if (MaxNumChars < (unsigned)pObj->NumCharsPrompt) {
000016  8fc0              LDRH     r0,[r0,#0x3e]
000018  42b8              CMP      r0,r7
00001a  d900              BLS      |L14.30|
;;;1776         pObj->NumCharsPrompt = MaxNumChars;
00001c  87e1              STRH     r1,[r4,#0x3e]
                  |L14.30|
;;;1777       }
;;;1778       if (pObj->hText && MaxNumChars) {
00001e  f9b40038          LDRSH    r0,[r4,#0x38]
000022  2800              CMP      r0,#0
000024  d01a              BEQ      |L14.92|
000026  2f00              CMP      r7,#0

⌨️ 快捷键说明

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