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

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

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

                  FRAMEWIN_SetBorderSize PROC
;;;35     */
;;;36     void FRAMEWIN_SetBorderSize(FRAMEWIN_Handle hObj, unsigned Size) {
000000  e92d47fc          PUSH     {r2-r10,lr}
000004  ea5f0a00          MOVS     r10,r0
000008  4689              MOV      r9,r1
;;;37       GUI_LOCK();
;;;38       if (hObj) {
00000a  d040              BEQ      |L1.142|
;;;39         GUI_RECT r;
;;;40         WM_Obj * pChild;
;;;41         int Diff, OldSize, OldHeight;
;;;42         WM_HWIN hChild;
;;;43         FRAMEWIN_Obj* pObj = FRAMEWIN_H2P(hObj);
00000c  4650              MOV      r0,r10
00000e  f7fffffe          BL       GUI_ALLOC_h2p
000012  4604              MOV      r4,r0
;;;44         OldHeight          = FRAMEWIN__CalcTitleHeight(pObj);
000014  f7fffffe          BL       FRAMEWIN__CalcTitleHeight
000018  4680              MOV      r8,r0
;;;45         OldSize            = pObj->Props.BorderSize;
00001a  f9b40042          LDRSH    r0,[r4,#0x42]
;;;46         Diff               = Size - OldSize;
;;;47         for (hChild = pObj->Widget.Win.hFirstChild; hChild; hChild = pChild->hNext) {
00001e  f9b46018          LDRSH    r6,[r4,#0x18]
000022  eba90700          SUB      r7,r9,r0              ;46
000026  e028              B        |L1.122|
                  |L1.40|
;;;48           pChild = WM_H2P(hChild);
000028  4630              MOV      r0,r6
00002a  f7fffffe          BL       GUI_ALLOC_h2p
00002e  4605              MOV      r5,r0
;;;49           r = pChild->Rect;
000030  6869              LDR      r1,[r5,#4]
000032  6800              LDR      r0,[r0,#0]
;;;50           GUI_MoveRect(&r, -pObj->Widget.Win.Rect.x0, -pObj->Widget.Win.Rect.y0);
000034  e9cd0100          STRD     r0,r1,[sp,#0]
000038  f9b40002          LDRSH    r0,[r4,#2]
00003c  4242              RSBS     r2,r0,#0
00003e  f9b40000          LDRSH    r0,[r4,#0]
000042  4241              RSBS     r1,r0,#0
000044  4668              MOV      r0,sp
000046  f7fffffe          BL       GUI_MoveRect
;;;51           if ((r.y0 == pObj->Props.BorderSize) && ((r.y1 - r.y0 + 1) == OldHeight)) {
00004a  f9bd0002          LDRSH    r0,[sp,#2]
00004e  f9b41042          LDRSH    r1,[r4,#0x42]
000052  4288              CMP      r0,r1
000054  d10f              BNE      |L1.118|
000056  f9bd1006          LDRSH    r1,[sp,#6]
00005a  1a08              SUBS     r0,r1,r0
00005c  1c40              ADDS     r0,r0,#1
00005e  4540              CMP      r0,r8
000060  d109              BNE      |L1.118|
;;;52             if (pChild->Status & WM_SF_ANCHOR_RIGHT) {
000062  8ba8              LDRH     r0,[r5,#0x1c]
;;;53               WM_MoveWindow(hChild, -Diff, Diff);
000064  463a              MOV      r2,r7
000066  0600              LSLS     r0,r0,#24             ;52
000068  d501              BPL      |L1.110|
00006a  4251              RSBS     r1,r2,#0
00006c  e000              B        |L1.112|
                  |L1.110|
;;;54             } else {
;;;55               WM_MoveWindow(hChild, Diff, Diff);
00006e  4639              MOV      r1,r7
                  |L1.112|
000070  4630              MOV      r0,r6                 ;53
000072  f7fffffe          BL       WM_MoveWindow
                  |L1.118|
000076  f9b5601a          LDRSH    r6,[r5,#0x1a]         ;47
                  |L1.122|
00007a  2e00              CMP      r6,#0                 ;47
00007c  d1d4              BNE      |L1.40|
;;;56             }
;;;57           }
;;;58         }
;;;59         pObj->Props.BorderSize   = Size;
00007e  f8a49042          STRH     r9,[r4,#0x42]
;;;60         FRAMEWIN__UpdatePositions(pObj);
000082  4620              MOV      r0,r4
000084  f7fffffe          BL       FRAMEWIN__UpdatePositions
;;;61         FRAMEWIN_Invalidate(hObj);
000088  4650              MOV      r0,r10
00008a  f7fffffe          BL       WM_InvalidateWindow
                  |L1.142|
;;;62       }
;;;63       GUI_UNLOCK();
;;;64     }
00008e  e8bd87fc          POP      {r2-r10,pc}
;;;65     
                          ENDP

⌨️ 快捷键说明

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