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

📄 wm_getinsiderectexscrollbar.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\wm_getinsiderectexscrollbar.o --depend=.\Obj\wm_getinsiderectexscrollbar.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\WM\WM_GetInsideRectExScrollbar.c]
                          THUMB

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

                  WM_GetInsideRectExScrollbar PROC
;;;39     */      
;;;40     void WM_GetInsideRectExScrollbar(WM_HWIN hWin, GUI_RECT* pRect) {
000000  b5f0              PUSH     {r4-r7,lr}
000002  b087              SUB      sp,sp,#0x1c
000004  0007              MOVS     r7,r0
000006  460c              MOV      r4,r1
;;;41       GUI_RECT rWin, rInside, rScrollbar;
;;;42       WM_HWIN hBarV, hBarH;
;;;43       U16 WinFlags;
;;;44       if (hWin) {
000008  d04c              BEQ      |L1.164|
;;;45         if (pRect) {
00000a  2c00              CMP      r4,#0
00000c  d04a              BEQ      |L1.164|
;;;46           hBarH = WM_GetDialogItem(hWin, GUI_ID_HSCROLL);
00000e  21ff              MOVS     r1,#0xff
000010  4638              MOV      r0,r7
000012  f7fffffe          BL       WM_GetDialogItem
000016  4605              MOV      r5,r0
;;;47           hBarV = WM_GetDialogItem(hWin, GUI_ID_VSCROLL);
000018  21fe              MOVS     r1,#0xfe
00001a  4638              MOV      r0,r7
00001c  f7fffffe          BL       WM_GetDialogItem
000020  4606              MOV      r6,r0
;;;48           WM_GetWindowRectEx(hWin, &rWin);     /* The entire window in screen coordinates */
000022  a905              ADD      r1,sp,#0x14
000024  4638              MOV      r0,r7
000026  f7fffffe          BL       WM_GetWindowRectEx
;;;49           WM_GetInsideRectEx(hWin, &rInside);
00002a  a903              ADD      r1,sp,#0xc
00002c  4638              MOV      r0,r7
00002e  f7fffffe          BL       WM_GetInsideRectEx
;;;50           if (hBarV) {
000032  b1c6              CBZ      r6,|L1.102|
;;;51              WM_GetWindowRectEx(hBarV, &rScrollbar);
000034  a901              ADD      r1,sp,#4
000036  4630              MOV      r0,r6
000038  f7fffffe          BL       WM_GetWindowRectEx
;;;52              GUI_MoveRect(&rScrollbar, -rWin.x0, -rWin.y0);
00003c  f9bd0016          LDRSH    r0,[sp,#0x16]
000040  4242              RSBS     r2,r0,#0
000042  f9bd0014          LDRSH    r0,[sp,#0x14]
000046  4241              RSBS     r1,r0,#0
000048  a801              ADD      r0,sp,#4
00004a  f7fffffe          BL       GUI_MoveRect
;;;53              WinFlags = WM_GetFlags(hBarV);
00004e  4630              MOV      r0,r6
000050  f7fffffe          BL       WM_GetFlags
;;;54              if ((WinFlags & WM_SF_ANCHOR_RIGHT) && (WinFlags & WM_SF_ISVIS)) {
000054  0601              LSLS     r1,r0,#24
000056  d506              BPL      |L1.102|
000058  0780              LSLS     r0,r0,#30
00005a  d504              BPL      |L1.102|
;;;55                rInside.x1 = rScrollbar.x0 - 1;
00005c  f8bd0004          LDRH     r0,[sp,#4]
000060  1e40              SUBS     r0,r0,#1
000062  f8ad0010          STRH     r0,[sp,#0x10]
                  |L1.102|
;;;56              }
;;;57           }
;;;58           if (hBarH) {
000066  b1c5              CBZ      r5,|L1.154|
;;;59              WM_GetWindowRectEx(hBarH, &rScrollbar);
000068  a901              ADD      r1,sp,#4
00006a  4628              MOV      r0,r5
00006c  f7fffffe          BL       WM_GetWindowRectEx
;;;60              GUI_MoveRect(&rScrollbar, -rWin.x0, -rWin.y0);
000070  f9bd0016          LDRSH    r0,[sp,#0x16]
000074  4242              RSBS     r2,r0,#0
000076  f9bd0014          LDRSH    r0,[sp,#0x14]
00007a  4241              RSBS     r1,r0,#0
00007c  a801              ADD      r0,sp,#4
00007e  f7fffffe          BL       GUI_MoveRect
;;;61              WinFlags = WM_GetFlags(hBarH);
000082  4628              MOV      r0,r5
000084  f7fffffe          BL       WM_GetFlags
;;;62              if ((WinFlags & WM_SF_ANCHOR_BOTTOM) && (WinFlags & WM_SF_ISVIS)) {
000088  05c1              LSLS     r1,r0,#23
00008a  d506              BPL      |L1.154|
00008c  0780              LSLS     r0,r0,#30
00008e  d504              BPL      |L1.154|
;;;63                rInside.y1 = rScrollbar.y0 - 1;
000090  f8bd0006          LDRH     r0,[sp,#6]
000094  1e40              SUBS     r0,r0,#1
000096  f8ad0012          STRH     r0,[sp,#0x12]
                  |L1.154|
;;;64              }
;;;65           }
;;;66           *pRect = rInside;
00009a  2208              MOVS     r2,#8
00009c  a903              ADD      r1,sp,#0xc
00009e  4620              MOV      r0,r4
0000a0  f7fffffe          BL       __aeabi_memcpy
                  |L1.164|
;;;67         }
;;;68       }
;;;69     }
0000a4  b007              ADD      sp,sp,#0x1c
0000a6  bdf0              POP      {r4-r7,pc}
;;;70     
                          ENDP

⌨️ 快捷键说明

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