📄 header.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\header.o --depend=.\Obj\header.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\HEADER.c]
THUMB
AREA ||i.HEADER_AddItem||, CODE, READONLY, ALIGN=2
HEADER_AddItem PROC
;;;568 */
;;;569 void HEADER_AddItem(HEADER_Handle hObj, int Width, const char * s, int Align) {
000000 e92d43fe PUSH {r1-r9,lr}
000004 0006 MOVS r6,r0
000006 460d MOV r5,r1
000008 4691 MOV r9,r2
00000a 461f MOV r7,r3
;;;570 if (hObj) {
00000c d03f BEQ |L1.142|
;;;571 HEADER_Obj * pObj;
;;;572 HEADER_COLUMN Column;
;;;573 int Index;
;;;574 WM_LOCK();
;;;575 pObj = HEADER_H2P(hObj);
00000e 4630 MOV r0,r6
000010 f7fffffe BL GUI_ALLOC_h2p
000014 4604 MOV r4,r0
;;;576 if (!Width) {
000016 b985 CBNZ r5,|L1.58|
;;;577 const GUI_FONT GUI_UNI_PTR * pFont = GUI_SetFont(pObj->pFont);
000018 6c20 LDR r0,[r4,#0x40]
00001a f7fffffe BL GUI_SetFont
00001e 4680 MOV r8,r0
;;;578 Width = GUI_GetStringDistX(s) + 2 * (pObj->Widget.pEffect->EffectSize + _DefaultBorderH);
000020 4648 MOV r0,r9
000022 f7fffffe BL GUI_GetStringDistX
000026 6a21 LDR r1,[r4,#0x20]
000028 4a1a LDR r2,|L1.148|
00002a 6949 LDR r1,[r1,#0x14]
00002c 68d2 LDR r2,[r2,#0xc] ; _DefaultBorderH
00002e 4411 ADD r1,r1,r2
000030 eb000541 ADD r5,r0,r1,LSL #1
;;;579 GUI_SetFont(pFont);
000034 4640 MOV r0,r8
000036 f7fffffe BL GUI_SetFont
|L1.58|
;;;580 }
;;;581 Column.Width = Width;
;;;582 Column.Align = Align;
00003a f8ad7004 STRH r7,[sp,#4]
;;;583 Column.hDrawObj = 0;
00003e 2000 MOVS r0,#0
000040 f8ad0006 STRH r0,[sp,#6]
000044 9500 STR r5,[sp,#0] ;582
;;;584 Index = GUI_ARRAY_GetNumItems(&pObj->Columns);
000046 f1040030 ADD r0,r4,#0x30
00004a 4605 MOV r5,r0
00004c f7fffffe BL GUI_ARRAY_GetNumItems
000050 4604 MOV r4,r0
;;;585 if (GUI_ARRAY_AddItem(&pObj->Columns, &Column, sizeof(HEADER_COLUMN) + strlen(s) + 1) == 0) {
000052 4648 MOV r0,r9
000054 f7fffffe BL strlen
000058 f100020d ADD r2,r0,#0xd
00005c 4669 MOV r1,sp
00005e 4628 MOV r0,r5
000060 f7fffffe BL GUI_ARRAY_AddItem
000064 2800 CMP r0,#0
000066 d112 BNE |L1.142|
;;;586 HEADER_COLUMN * pColumn;
;;;587 pObj = HEADER_H2P(hObj);
000068 4630 MOV r0,r6
00006a f7fffffe BL GUI_ALLOC_h2p
;;;588 pColumn = (HEADER_COLUMN *)GUI_ARRAY_GetpItem(&pObj->Columns, Index);
00006e 4621 MOV r1,r4
000070 3030 ADDS r0,r0,#0x30
000072 f7fffffe BL GUI_ARRAY_GetpItem
;;;589 strcpy(pColumn->acText, s);
000076 4649 MOV r1,r9
000078 3008 ADDS r0,r0,#8
00007a f7fffffe BL strcpy
;;;590 WM_InvalidateWindow(hObj);
00007e 4630 MOV r0,r6
000080 f7fffffe BL WM_InvalidateWindow
;;;591 WM_InvalidateWindow(WM_GetParent(hObj));
000084 4630 MOV r0,r6
000086 f7fffffe BL WM_GetParent
00008a f7fffffe BL WM_InvalidateWindow
|L1.142|
;;;592 }
;;;593 WM_UNLOCK();
;;;594 }
;;;595 }
00008e e8bd83fe POP {r1-r9,pc}
;;;596
ENDP
000092 0000 DCW 0x0000
|L1.148|
DCD ||.data||
AREA ||i.HEADER_Create||, CODE, READONLY, ALIGN=1
HEADER_Create PROC
;;;334 */
;;;335 HEADER_Handle HEADER_Create(int x0, int y0, int xsize, int ysize, WM_HWIN hParent, int Id, int Flags, int ExFlags) {
000000 e92d41ff PUSH {r0-r8,lr}
000004 460d MOV r5,r1
000006 461f MOV r7,r3
000008 4604 MOV r4,r0
;;;336 return HEADER_CreateEx(x0, y0, xsize, ysize, hParent, Flags, ExFlags, Id);
00000a e9dd310b LDRD r3,r1,[sp,#0x2c]
00000e 4616 MOV r6,r2 ;335
000010 980a LDR r0,[sp,#0x28]
000012 9a0d LDR r2,[sp,#0x34]
000014 e88d000f STM sp,{r0-r3}
000018 463b MOV r3,r7
00001a 4632 MOV r2,r6
00001c 4629 MOV r1,r5
00001e 4620 MOV r0,r4
000020 f7fffffe BL HEADER_CreateEx
;;;337 }
000024 b004 ADD sp,sp,#0x10
000026 e8bd81f0 POP {r4-r8,pc}
;;;338
ENDP
AREA ||i.HEADER_CreateEx||, CODE, READONLY, ALIGN=2
HEADER_CreateEx PROC
;;;342 */
;;;343 HEADER_Handle HEADER_CreateEx(int x0, int y0, int xsize, int ysize, WM_HWIN hParent,
000000 e92d5fff PUSH {r0-r12,lr}
;;;344 int WinFlags, int ExFlags, int Id)
;;;345 {
000004 4604 MOV r4,r0
;;;346 HEADER_Handle hObj;
;;;347 GUI_USE_PARA(ExFlags);
;;;348 /* Create the window */
;;;349 WM_LOCK();
;;;350 if ((xsize == 0) && (x0 == 0) && (y0 == 0)) {
000006 e9ddba0e LDRD r11,r10,[sp,#0x38]
00000a 4310 ORRS r0,r0,r2
00000c 460f MOV r7,r1 ;345
00000e 4616 MOV r6,r2 ;345
000010 461d MOV r5,r3 ;345
000012 4308 ORRS r0,r0,r1
000014 d10b BNE |L3.46|
;;;351 GUI_RECT Rect;
;;;352 WM_GetInsideRectEx(hParent, &Rect);
000016 a902 ADD r1,sp,#8
000018 4658 MOV r0,r11
00001a f7fffffe BL WM_GetInsideRectEx
;;;353 xsize = Rect.x1 - Rect.x0 + 1;
00001e f9bd000c LDRSH r0,[sp,#0xc]
000022 f9bd4008 LDRSH r4,[sp,#8]
;;;354 x0 = Rect.x0;
;;;355 y0 = Rect.y0;
000026 f9bd700a LDRSH r7,[sp,#0xa]
00002a 1b06 SUBS r6,r0,r4 ;353
00002c 1c76 ADDS r6,r6,#1 ;353
|L3.46|
;;;356 }
;;;357 if (ysize == 0) {
;;;358 const WIDGET_EFFECT* pEffect = WIDGET_GetDefaultEffect();
;;;359 ysize = GUI_GetYDistOfFont(_pDefaultFont);
00002e f8df807c LDR r8,|L3.172|
000032 b975 CBNZ r5,|L3.82|
000034 f7fffffe BL WIDGET_GetDefaultEffect
000038 4681 MOV r9,r0 ;358
00003a 4645 MOV r5,r8
00003c f8d80014 LDR r0,[r8,#0x14] ; _pDefaultFont
000040 f7fffffe BL GUI_GetYDistOfFont
;;;360 ysize += 2 * _DefaultBorderV;
000044 6929 LDR r1,[r5,#0x10] ; _DefaultBorderV
000046 eb000141 ADD r1,r0,r1,LSL #1
;;;361 ysize += 2 * (unsigned)pEffect->EffectSize;
00004a f8d90014 LDR r0,[r9,#0x14]
00004e eb010540 ADD r5,r1,r0,LSL #1
|L3.82|
;;;362 }
;;;363 WinFlags |= WM_CF_ANCHOR_LEFT | WM_CF_ANCHOR_RIGHT;
000052 fa1ff08a UXTH r0,r10
;;;364 hObj = WM_CreateWindowAsChild(x0, y0, xsize, ysize, hParent, WinFlags, &_HEADER_Callback,
000056 f4407120 ORR r1,r0,#0x280
00005a 2324 MOVS r3,#0x24
00005c 4a14 LDR r2,|L3.176|
00005e e9cdb100 STRD r11,r1,[sp,#0]
000062 e9cd2302 STRD r2,r3,[sp,#8]
000066 462b MOV r3,r5
000068 4632 MOV r2,r6
00006a 4639 MOV r1,r7
00006c 4620 MOV r0,r4
00006e f7fffffe BL WM_CreateWindowAsChild
000072 0005 MOVS r5,r0
;;;365 sizeof(HEADER_Obj) - sizeof(WM_Obj));
;;;366 if (hObj) {
000074 d016 BEQ |L3.164|
;;;367 HEADER_Obj* pObj = HEADER_H2P(hObj);
000076 4628 MOV r0,r5
000078 f7fffffe BL GUI_ALLOC_h2p
00007c 4604 MOV r4,r0
;;;368 /* Init sub-classes */
;;;369 GUI_ARRAY_CREATE(&pObj->Columns);
;;;370 /* init widget specific variables */
;;;371 WIDGET__Init(&pObj->Widget, Id, 0);
00007e 2200 MOVS r2,#0
000080 9911 LDR r1,[sp,#0x44]
000082 f7fffffe BL WIDGET__Init
;;;372 /* init member variables */
;;;373 HEADER_INIT_ID(pObj);
;;;374 pObj->BkColor = _DefaultBkColor;
000086 f8d82004 LDR r2,[r8,#4] ; _DefaultBkColor
;;;375 pObj->TextColor = _DefaultTextColor;
00008a 62a2 STR r2,[r4,#0x28]
00008c f8d82008 LDR r2,[r8,#8] ; _DefaultTextColor
;;;376 pObj->pFont = _pDefaultFont;
000090 62e2 STR r2,[r4,#0x2c]
000092 f8d81014 LDR r1,[r8,#0x14] ; _pDefaultFont
;;;377 pObj->CapturePosX = -1;
000096 6421 STR r1,[r4,#0x40]
000098 f04f31ff MOV r1,#0xffffffff
;;;378 pObj->CaptureItem = -1;
00009c 6361 STR r1,[r4,#0x34]
;;;379 pObj->ScrollPos = 0;
00009e 63a1 STR r1,[r4,#0x38]
0000a0 2100 MOVS r1,#0
0000a2 63e1 STR r1,[r4,#0x3c]
|L3.164|
;;;380 } else {
;;;381 GUI_DEBUG_ERROROUT_IF(hObj==0, "HEADER_Create failed")
;;;382 }
;;;383 WM_UNLOCK();
;;;384 return hObj;
0000a4 4628 MOV r0,r5
;;;385 }
0000a6 b004 ADD sp,sp,#0x10
0000a8 e8bd9ff0 POP {r4-r12,pc}
;;;386
ENDP
|L3.172|
DCD ||.data||
|L3.176|
DCD _HEADER_Callback
AREA ||i.HEADER_DeleteItem||, CODE, READONLY, ALIGN=1
HEADER_DeleteItem PROC
;;;600 */
;;;601 void HEADER_DeleteItem(HEADER_Handle hObj, unsigned Index) {
000000 b570 PUSH {r4-r6,lr}
000002 0004 MOVS r4,r0
000004 460d MOV r5,r1
;;;602 if (hObj) {
000006 d016 BEQ |L4.54|
;;;603 HEADER_Obj* pObj;
;;;604 WM_LOCK();
;;;605 pObj = HEADER_H2P(hObj);
000008 4620 MOV r0,r4
00000a f7fffffe BL GUI_ALLOC_h2p
;;;606 if (Index < GUI_ARRAY_GetNumItems(&pObj->Columns)) {
00000e 3030 ADDS r0,r0,#0x30
000010 4606 MOV r6,r0
000012 f7fffffe BL GUI_ARRAY_GetNumItems
000016 42a8 CMP r0,r5
000018 d90d BLS |L4.54|
;;;607 GUI_ARRAY_DeleteItem(&pObj->Columns, Index);
00001a 4629 MOV r1,r5
00001c 4630 MOV r0,r6
00001e f7fffffe BL GUI_ARRAY_DeleteItem
;;;608 WM_InvalidateWindow(hObj);
000022 4620 MOV r0,r4
000024 f7fffffe BL WM_InvalidateWindow
;;;609 WM_InvalidateWindow(WM_GetParent(hObj));
000028 4620 MOV r0,r4
00002a f7fffffe BL WM_GetParent
00002e e8bd4070 POP {r4-r6,lr}
000032 f7ffbffe B.W WM_InvalidateWindow
|L4.54|
;;;610 }
;;;611 WM_UNLOCK();
;;;612 }
;;;613 }
000036 bd70 POP {r4-r6,pc}
;;;614
ENDP
AREA ||i.HEADER_GetDefaultBkColor||, CODE, READONLY, ALIGN=2
HEADER_GetDefaultBkColor PROC
;;;457 const GUI_CURSOR GUI_UNI_PTR * HEADER_GetDefaultCursor(void) { return _pDefaultCursor; }
;;;458 GUI_COLOR HEADER_GetDefaultBkColor(void) { return _DefaultBkColor; }
000000 4801 LDR r0,|L5.8|
000002 6840 LDR r0,[r0,#4] ; _DefaultBkColor
000004 4770 BX lr
;;;459 GUI_COLOR HEADER_GetDefaultTextColor(void) { return _DefaultTextColor; }
ENDP
000006 0000 DCW 0x0000
|L5.8|
DCD ||.data||
AREA ||i.HEADER_GetDefaultBorderH||, CODE, READONLY, ALIGN=2
HEADER_GetDefaultBorderH PROC
;;;459 GUI_COLOR HEADER_GetDefaultTextColor(void) { return _DefaultTextColor; }
;;;460 int HEADER_GetDefaultBorderH(void) { return _DefaultBorderH; }
000000 4801 LDR r0,|L6.8|
000002 68c0 LDR r0,[r0,#0xc] ; _DefaultBorderH
000004 4770 BX lr
;;;461 int HEADER_GetDefaultBorderV(void) { return _DefaultBorderV; }
ENDP
000006 0000 DCW 0x0000
|L6.8|
DCD ||.data||
AREA ||i.HEADER_GetDefaultBorderV||, CODE, READONLY, ALIGN=2
HEADER_GetDefaultBorderV PROC
;;;460 int HEADER_GetDefaultBorderH(void) { return _DefaultBorderH; }
;;;461 int HEADER_GetDefaultBorderV(void) { return _DefaultBorderV; }
000000 4801 LDR r0,|L7.8|
000002 6900 LDR r0,[r0,#0x10] ; _DefaultBorderV
000004 4770 BX lr
;;;462 const GUI_FONT GUI_UNI_PTR * HEADER_GetDefaultFont(void) { return _pDefaultFont; }
ENDP
000006 0000 DCW 0x0000
|L7.8|
DCD ||.data||
AREA ||i.HEADER_GetDefaultCursor||, CODE, READONLY, ALIGN=2
HEADER_GetDefaultCursor PROC
;;;456 */
;;;457 const GUI_CURSOR GUI_UNI_PTR * HEADER_GetDefaultCursor(void) { return _pDefaultCursor; }
000000 4801 LDR r0,|L8.8|
000002 6800 LDR r0,[r0,#0] ; _pDefaultCursor
000004 4770 BX lr
;;;458 GUI_COLOR HEADER_GetDefaultBkColor(void) { return _DefaultBkColor; }
ENDP
000006 0000 DCW 0x0000
|L8.8|
DCD ||.data||
AREA ||i.HEADER_GetDefaultFont||, CODE, READONLY, ALIGN=2
HEADER_GetDefaultFont PROC
;;;461 int HEADER_GetDefaultBorderV(void) { return _DefaultBorderV; }
;;;462 const GUI_FONT GUI_UNI_PTR * HEADER_GetDefaultFont(void) { return _pDefaultFont; }
000000 4801 LDR r0,|L9.8|
000002 6940 LDR r0,[r0,#0x14] ; _pDefaultFont
000004 4770 BX lr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -