📄 listview_setitemcolor.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\listview_setitemcolor.o --depend=.\Obj\listview_setitemcolor.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\LISTVIEW_SetItemColor.c]
THUMB
AREA ||i.LISTVIEW_SetItemBkColor||, CODE, READONLY, ALIGN=1
LISTVIEW_SetItemBkColor PROC
;;;77 */
;;;78 void LISTVIEW_SetItemBkColor(LISTVIEW_Handle hObj, unsigned Column, unsigned Row, unsigned int Index, GUI_COLOR Color) {
000000 b570 PUSH {r4-r6,lr}
000002 461c MOV r4,r3
;;;79 LISTVIEW_ITEM_INFO * pItemInfo;
;;;80 WM_LOCK();
;;;81 pItemInfo = _GetpItemInfo(hObj, Column, Row, Index);
000004 9d04 LDR r5,[sp,#0x10]
000006 f7fffffe BL _GetpItemInfo
;;;82 if (pItemInfo) {
00000a 2800 CMP r0,#0
00000c d001 BEQ |L1.18|
;;;83 pItemInfo->aBkColor[Index] = Color;
00000e f8405024 STR r5,[r0,r4,LSL #2]
|L1.18|
;;;84 }
;;;85 WM_UNLOCK();
;;;86 }
000012 bd70 POP {r4-r6,pc}
;;;87
ENDP
AREA ||i.LISTVIEW_SetItemTextColor||, CODE, READONLY, ALIGN=1
LISTVIEW_SetItemTextColor PROC
;;;63 */
;;;64 void LISTVIEW_SetItemTextColor(LISTVIEW_Handle hObj, unsigned Column, unsigned Row, unsigned int Index, GUI_COLOR Color) {
000000 b570 PUSH {r4-r6,lr}
000002 461c MOV r4,r3
;;;65 LISTVIEW_ITEM_INFO * pItemInfo;
;;;66 WM_LOCK();
;;;67 pItemInfo = _GetpItemInfo(hObj, Column, Row, Index);
000004 9d04 LDR r5,[sp,#0x10]
000006 f7fffffe BL _GetpItemInfo
;;;68 if (pItemInfo) {
00000a 2800 CMP r0,#0
00000c d002 BEQ |L2.20|
;;;69 pItemInfo->aTextColor[Index] = Color;
00000e eb000084 ADD r0,r0,r4,LSL #2
000012 60c5 STR r5,[r0,#0xc]
|L2.20|
;;;70 }
;;;71 WM_UNLOCK();
;;;72 }
000014 bd70 POP {r4-r6,pc}
;;;73
ENDP
AREA ||i._GetpItemInfo||, CODE, READONLY, ALIGN=1
_GetpItemInfo PROC
;;;29 */
;;;30 static LISTVIEW_ITEM_INFO * _GetpItemInfo(LISTVIEW_Handle hObj, unsigned Column, unsigned Row, unsigned int Index) {
000000 e92d41f0 PUSH {r4-r8,lr}
000004 ea5f0800 MOVS r8,r0
000008 460c MOV r4,r1
00000a 4616 MOV r6,r2
00000c 461f MOV r7,r3
;;;31 LISTVIEW_ITEM_INFO * pItemInfo = 0;
00000e f04f0500 MOV r5,#0
;;;32 LISTVIEW_ITEM * pItem;
;;;33 LISTVIEW_Obj * pObj;
;;;34 if (hObj) {
000012 d035 BEQ |L3.128|
;;;35 if ((Column < LISTVIEW_GetNumColumns(hObj)) && (Row < LISTVIEW_GetNumRows(hObj)) && (Index < GUI_COUNTOF(pItemInfo->aTextColor))) {
000014 4640 MOV r0,r8
000016 f7fffffe BL LISTVIEW_GetNumColumns
00001a 42a0 CMP r0,r4
00001c d930 BLS |L3.128|
00001e 4640 MOV r0,r8
000020 f7fffffe BL LISTVIEW_GetNumRows
000024 42b0 CMP r0,r6
000026 d92b BLS |L3.128|
000028 2f03 CMP r7,#3
00002a d229 BCS |L3.128|
;;;36 pObj = LISTVIEW_H2P(hObj);
00002c 4640 MOV r0,r8
00002e f7fffffe BL GUI_ALLOC_h2p
;;;37 pItem = (LISTVIEW_ITEM *)GUI_ARRAY_GetpItem((GUI_ARRAY *)GUI_ARRAY_GetpItem(&pObj->RowArray, Row), Column);
000032 4631 MOV r1,r6
000034 302a ADDS r0,r0,#0x2a
000036 f7fffffe BL GUI_ARRAY_GetpItem
00003a 4621 MOV r1,r4
00003c f7fffffe BL GUI_ARRAY_GetpItem
000040 4604 MOV r4,r0
;;;38 if (!pItem->hItemInfo) {
000042 f9b00000 LDRSH r0,[r0,#0]
000046 b9c0 CBNZ r0,|L3.122|
;;;39 int i;
;;;40 pItem->hItemInfo = GUI_ALLOC_AllocZero(sizeof(LISTVIEW_ITEM_INFO));
000048 2018 MOVS r0,#0x18
00004a f7fffffe BL GUI_ALLOC_AllocZero
00004e 8020 STRH r0,[r4,#0]
;;;41 pItemInfo = (LISTVIEW_ITEM_INFO *)GUI_ALLOC_h2p(pItem->hItemInfo);
000050 f7fffffe BL GUI_ALLOC_h2p
000054 4605 MOV r5,r0
;;;42 for (i = 0; i < GUI_COUNTOF(pItemInfo->aTextColor); i++) {
000056 2400 MOVS r4,#0
|L3.88|
;;;43 pItemInfo->aTextColor[i] = LISTVIEW_GetTextColor(hObj, i);
000058 4621 MOV r1,r4
00005a 4640 MOV r0,r8
00005c f7fffffe BL LISTVIEW_GetTextColor
000060 eb050184 ADD r1,r5,r4,LSL #2
;;;44 pItemInfo->aBkColor[i] = LISTVIEW_GetBkColor (hObj, i);
000064 60c8 STR r0,[r1,#0xc]
000066 4621 MOV r1,r4
000068 4640 MOV r0,r8
00006a f7fffffe BL LISTVIEW_GetBkColor
00006e f8450024 STR r0,[r5,r4,LSL #2]
000072 1c64 ADDS r4,r4,#1 ;42
000074 2c03 CMP r4,#3 ;42
000076 d3ef BCC |L3.88|
000078 e002 B |L3.128|
|L3.122|
;;;45 }
;;;46 } else {
;;;47 pItemInfo = (LISTVIEW_ITEM_INFO *)GUI_ALLOC_h2p(pItem->hItemInfo);
00007a f7fffffe BL GUI_ALLOC_h2p
00007e 4605 MOV r5,r0
|L3.128|
;;;48 }
;;;49 }
;;;50 }
;;;51 return pItemInfo;
000080 4628 MOV r0,r5
;;;52 }
000082 e8bd81f0 POP {r4-r8,pc}
;;;53
ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -