You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62386 lines
2.7 MiB
62386 lines
2.7 MiB
|
|
e54_gfx_learning.elf: file format elf32-littlearm
|
|
|
|
Sections:
|
|
Idx Name Size VMA LMA File off Algn
|
|
0 .text 00029a1c 00000000 00000000 00010000 2**3
|
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
|
1 .ARM.exidx 00000008 00029a1c 00029a1c 00039a1c 2**2
|
|
CONTENTS, ALLOC, LOAD, READONLY, DATA
|
|
2 .relocate 00000074 20000000 00029a24 00040000 2**2
|
|
CONTENTS, ALLOC, LOAD, DATA
|
|
3 .bkupram 00000000 47000000 47000000 00040074 2**0
|
|
CONTENTS
|
|
4 .qspi 00000000 04000000 04000000 00040074 2**0
|
|
CONTENTS
|
|
5 .bss 00006d8c 20000078 00029aa0 00040078 2**3
|
|
ALLOC
|
|
6 .stack 00010004 20006e04 0003082c 00040078 2**0
|
|
ALLOC
|
|
7 .ARM.attributes 0000002e 00000000 00000000 00040074 2**0
|
|
CONTENTS, READONLY
|
|
8 .comment 00000059 00000000 00000000 000400a2 2**0
|
|
CONTENTS, READONLY
|
|
9 .debug_info 0009d60e 00000000 00000000 000400fb 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
10 .debug_abbrev 0000c8d3 00000000 00000000 000dd709 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
11 .debug_loc 0004d8a1 00000000 00000000 000e9fdc 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
12 .debug_aranges 00002000 00000000 00000000 0013787d 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
13 .debug_ranges 00003f18 00000000 00000000 0013987d 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
14 .debug_macro 0003f994 00000000 00000000 0013d795 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
15 .debug_line 0003ad40 00000000 00000000 0017d129 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
16 .debug_str 0012aff9 00000000 00000000 001b7e69 2**0
|
|
CONTENTS, READONLY, DEBUGGING
|
|
17 .debug_frame 000064d8 00000000 00000000 002e2e64 2**2
|
|
CONTENTS, READONLY, DEBUGGING
|
|
|
|
Disassembly of section .text:
|
|
|
|
00000000 <exception_table>:
|
|
/**********************
|
|
* GLOBAL FUNCTIONS
|
|
**********************/
|
|
|
|
void _lv_gc_clear_roots(void)
|
|
{
|
|
0: 08 6e 01 20 79 0f 00 00 75 0f 00 00 75 0f 00 00 .n. y...u...u...
|
|
#define LV_CLEAR_ROOT(root_type, root_name) _lv_memset_00(&LV_GC_ROOT(root_name), sizeof(LV_GC_ROOT(root_name)));
|
|
LV_ITERATE_ROOTS(LV_CLEAR_ROOT)
|
|
10: 75 0f 00 00 75 0f 00 00 75 0f 00 00 00 00 00 00 u...u...u.......
|
|
...
|
|
2c: 75 0f 00 00 75 0f 00 00 00 00 00 00 75 0f 00 00 u...u.......u...
|
|
3c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
4c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
5c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
6c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
7c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
8c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
9c: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
ac: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
bc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
cc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
dc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 00 00 00 00 u...u...u.......
|
|
...
|
|
f4: 59 1c 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 Y...u...u...u...
|
|
104: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
114: 75 0f 00 00 b5 1e 00 00 c9 1e 00 00 dd 1e 00 00 u...............
|
|
124: f1 1e 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 ....u...u...u...
|
|
134: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
144: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
154: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
164: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
174: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
184: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
194: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
1a4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
1b4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
1c4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
1d4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
1e4: 75 0f 00 00 75 0f 00 00 79 21 00 00 75 0f 00 00 u...u...y!..u...
|
|
1f4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
204: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
214: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
224: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
234: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
244: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
254: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u...
|
|
|
|
00000264 <__do_global_dtors_aux>:
|
|
264: b510 push {r4, lr}
|
|
266: 4c05 ldr r4, [pc, #20] ; (27c <__do_global_dtors_aux+0x18>)
|
|
268: 7823 ldrb r3, [r4, #0]
|
|
26a: b933 cbnz r3, 27a <__do_global_dtors_aux+0x16>
|
|
26c: 4b04 ldr r3, [pc, #16] ; (280 <__do_global_dtors_aux+0x1c>)
|
|
26e: b113 cbz r3, 276 <__do_global_dtors_aux+0x12>
|
|
270: 4804 ldr r0, [pc, #16] ; (284 <__do_global_dtors_aux+0x20>)
|
|
272: f3af 8000 nop.w
|
|
276: 2301 movs r3, #1
|
|
278: 7023 strb r3, [r4, #0]
|
|
27a: bd10 pop {r4, pc}
|
|
27c: 20000078 .word 0x20000078
|
|
280: 00000000 .word 0x00000000
|
|
284: 00029a24 .word 0x00029a24
|
|
|
|
00000288 <frame_dummy>:
|
|
288: 4b0c ldr r3, [pc, #48] ; (2bc <frame_dummy+0x34>)
|
|
28a: b143 cbz r3, 29e <frame_dummy+0x16>
|
|
28c: 480c ldr r0, [pc, #48] ; (2c0 <frame_dummy+0x38>)
|
|
28e: 490d ldr r1, [pc, #52] ; (2c4 <frame_dummy+0x3c>)
|
|
290: b510 push {r4, lr}
|
|
292: f3af 8000 nop.w
|
|
296: 480c ldr r0, [pc, #48] ; (2c8 <frame_dummy+0x40>)
|
|
298: 6803 ldr r3, [r0, #0]
|
|
29a: b923 cbnz r3, 2a6 <frame_dummy+0x1e>
|
|
29c: bd10 pop {r4, pc}
|
|
29e: 480a ldr r0, [pc, #40] ; (2c8 <frame_dummy+0x40>)
|
|
2a0: 6803 ldr r3, [r0, #0]
|
|
2a2: b933 cbnz r3, 2b2 <frame_dummy+0x2a>
|
|
2a4: 4770 bx lr
|
|
2a6: 4b09 ldr r3, [pc, #36] ; (2cc <frame_dummy+0x44>)
|
|
2a8: 2b00 cmp r3, #0
|
|
2aa: d0f7 beq.n 29c <frame_dummy+0x14>
|
|
2ac: e8bd 4010 ldmia.w sp!, {r4, lr}
|
|
2b0: 4718 bx r3
|
|
2b2: 4b06 ldr r3, [pc, #24] ; (2cc <frame_dummy+0x44>)
|
|
2b4: 2b00 cmp r3, #0
|
|
2b6: d0f5 beq.n 2a4 <frame_dummy+0x1c>
|
|
2b8: 4718 bx r3
|
|
2ba: bf00 nop
|
|
2bc: 00000000 .word 0x00000000
|
|
2c0: 00029a24 .word 0x00029a24
|
|
2c4: 2000007c .word 0x2000007c
|
|
2c8: 00029a24 .word 0x00029a24
|
|
2cc: 00000000 .word 0x00000000
|
|
|
|
000002d0 <ssd1963_init>:
|
|
/**********************
|
|
* GLOBAL FUNCTIONS
|
|
**********************/
|
|
|
|
void ssd1963_init(void)
|
|
{
|
|
2d0: b570 push {r4, r5, r6, lr}
|
|
}
|
|
|
|
static void ssd1963_reset(void)
|
|
{
|
|
/*Hardware reset*/
|
|
asm volatile("nop");
|
|
2d2: bf00 nop
|
|
((Port *)hw)->Group[submodule_index].OUTTGL.reg = PORT_OUT_OUT(mask);
|
|
}
|
|
|
|
static inline void hri_port_set_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
|
|
{
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
2d4: 4c8c ldr r4, [pc, #560] ; (508 <ssd1963_init+0x238>)
|
|
2d6: 2610 movs r6, #16
|
|
2d8: 61a6 str r6, [r4, #24]
|
|
LV_DRV_DISP_RST(1);
|
|
LV_DRV_DELAY_MS(50);
|
|
2da: 2032 movs r0, #50 ; 0x32
|
|
2dc: 4d8b ldr r5, [pc, #556] ; (50c <ssd1963_init+0x23c>)
|
|
2de: 47a8 blx r5
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = ~data;
|
|
}
|
|
|
|
static inline void hri_port_clear_OUT_reg(const void *const hw, uint8_t submodule_index, hri_port_out_reg_t mask)
|
|
{
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
2e0: 6166 str r6, [r4, #20]
|
|
LV_DRV_DISP_RST(0);
|
|
asm volatile("nop");
|
|
2e2: bf00 nop
|
|
LV_DRV_DELAY_MS(50);
|
|
2e4: 2032 movs r0, #50 ; 0x32
|
|
2e6: 47a8 blx r5
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
2e8: 61a6 str r6, [r4, #24]
|
|
LV_DRV_DISP_RST(1);
|
|
LV_DRV_DELAY_MS(50);
|
|
2ea: 2032 movs r0, #50 ; 0x32
|
|
2ec: 47a8 blx r5
|
|
|
|
asm volatile("nop");
|
|
2ee: bf00 nop
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
2f0: 2640 movs r6, #64 ; 0x40
|
|
2f2: 6166 str r6, [r4, #20]
|
|
/*Chip enable*/
|
|
LV_DRV_DISP_PAR_CS(0);
|
|
LV_DRV_DELAY_MS(10);
|
|
2f4: 200a movs r0, #10
|
|
2f6: 47a8 blx r5
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
2f8: 61a6 str r6, [r4, #24]
|
|
LV_DRV_DISP_PAR_CS(1);
|
|
LV_DRV_DELAY_MS(5);
|
|
2fa: 2005 movs r0, #5
|
|
2fc: 47a8 blx r5
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
2fe: 6166 str r6, [r4, #20]
|
|
/**
|
|
* Command mode
|
|
*/
|
|
static inline void ssd1963_cmd_mode(void)
|
|
{
|
|
if(cmd_mode == false) {
|
|
300: 4b83 ldr r3, [pc, #524] ; (510 <ssd1963_init+0x240>)
|
|
302: 781b ldrb r3, [r3, #0]
|
|
304: b923 cbnz r3, 310 <ssd1963_init+0x40>
|
|
306: 2220 movs r2, #32
|
|
308: 6162 str r2, [r4, #20]
|
|
LV_DRV_DISP_CMD_DATA(SSD1963_CMD_MODE);
|
|
cmd_mode = true;
|
|
30a: 2201 movs r2, #1
|
|
30c: 4b80 ldr r3, [pc, #512] ; (510 <ssd1963_init+0x240>)
|
|
30e: 701a strb r2, [r3, #0]
|
|
static inline void ssd1963_cmd(uint8_t cmd)
|
|
{
|
|
|
|
LV_DRV_DISP_PAR_CS(0);
|
|
ssd1963_cmd_mode();
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
310: 2201 movs r2, #1
|
|
312: 4980 ldr r1, [pc, #512] ; (514 <ssd1963_init+0x244>)
|
|
314: 4880 ldr r0, [pc, #512] ; (518 <ssd1963_init+0x248>)
|
|
316: 4b81 ldr r3, [pc, #516] ; (51c <ssd1963_init+0x24c>)
|
|
318: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
31a: 4c7b ldr r4, [pc, #492] ; (508 <ssd1963_init+0x238>)
|
|
31c: 2540 movs r5, #64 ; 0x40
|
|
31e: 61a5 str r5, [r4, #24]
|
|
LV_DRV_DELAY_MS(20);
|
|
320: 2014 movs r0, #20
|
|
322: 4b7a ldr r3, [pc, #488] ; (50c <ssd1963_init+0x23c>)
|
|
324: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
326: 6165 str r5, [r4, #20]
|
|
if(cmd_mode == false) {
|
|
328: 4b79 ldr r3, [pc, #484] ; (510 <ssd1963_init+0x240>)
|
|
32a: 781b ldrb r3, [r3, #0]
|
|
32c: b923 cbnz r3, 338 <ssd1963_init+0x68>
|
|
32e: 2220 movs r2, #32
|
|
330: 6162 str r2, [r4, #20]
|
|
cmd_mode = true;
|
|
332: 2201 movs r2, #1
|
|
334: 4b76 ldr r3, [pc, #472] ; (510 <ssd1963_init+0x240>)
|
|
336: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
338: 2201 movs r2, #1
|
|
33a: 4976 ldr r1, [pc, #472] ; (514 <ssd1963_init+0x244>)
|
|
33c: 4876 ldr r0, [pc, #472] ; (518 <ssd1963_init+0x248>)
|
|
33e: 4b77 ldr r3, [pc, #476] ; (51c <ssd1963_init+0x24c>)
|
|
340: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
342: 4c71 ldr r4, [pc, #452] ; (508 <ssd1963_init+0x238>)
|
|
344: 2540 movs r5, #64 ; 0x40
|
|
346: 61a5 str r5, [r4, #24]
|
|
LV_DRV_DELAY_MS(20);
|
|
348: 2014 movs r0, #20
|
|
34a: 4b70 ldr r3, [pc, #448] ; (50c <ssd1963_init+0x23c>)
|
|
34c: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
34e: 6165 str r5, [r4, #20]
|
|
if(cmd_mode == false) {
|
|
350: 4b6f ldr r3, [pc, #444] ; (510 <ssd1963_init+0x240>)
|
|
352: 781b ldrb r3, [r3, #0]
|
|
354: b923 cbnz r3, 360 <ssd1963_init+0x90>
|
|
356: 2220 movs r2, #32
|
|
358: 6162 str r2, [r4, #20]
|
|
cmd_mode = true;
|
|
35a: 2201 movs r2, #1
|
|
35c: 4b6c ldr r3, [pc, #432] ; (510 <ssd1963_init+0x240>)
|
|
35e: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
360: 2201 movs r2, #1
|
|
362: 496c ldr r1, [pc, #432] ; (514 <ssd1963_init+0x244>)
|
|
364: 486c ldr r0, [pc, #432] ; (518 <ssd1963_init+0x248>)
|
|
366: 4b6d ldr r3, [pc, #436] ; (51c <ssd1963_init+0x24c>)
|
|
368: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
36a: 4c67 ldr r4, [pc, #412] ; (508 <ssd1963_init+0x238>)
|
|
36c: 2540 movs r5, #64 ; 0x40
|
|
36e: 61a5 str r5, [r4, #24]
|
|
LV_DRV_DELAY_MS(20);
|
|
370: 2014 movs r0, #20
|
|
372: 4b66 ldr r3, [pc, #408] ; (50c <ssd1963_init+0x23c>)
|
|
374: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
376: 6165 str r5, [r4, #20]
|
|
378: 6165 str r5, [r4, #20]
|
|
if(cmd_mode == false) {
|
|
37a: 4b65 ldr r3, [pc, #404] ; (510 <ssd1963_init+0x240>)
|
|
37c: 781b ldrb r3, [r3, #0]
|
|
37e: b923 cbnz r3, 38a <ssd1963_init+0xba>
|
|
380: 2220 movs r2, #32
|
|
382: 6162 str r2, [r4, #20]
|
|
cmd_mode = true;
|
|
384: 2201 movs r2, #1
|
|
386: 4b62 ldr r3, [pc, #392] ; (510 <ssd1963_init+0x240>)
|
|
388: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
38a: 22e2 movs r2, #226 ; 0xe2
|
|
38c: 4961 ldr r1, [pc, #388] ; (514 <ssd1963_init+0x244>)
|
|
38e: 4862 ldr r0, [pc, #392] ; (518 <ssd1963_init+0x248>)
|
|
390: 4b62 ldr r3, [pc, #392] ; (51c <ssd1963_init+0x24c>)
|
|
392: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
394: 4b5c ldr r3, [pc, #368] ; (508 <ssd1963_init+0x238>)
|
|
396: 2240 movs r2, #64 ; 0x40
|
|
398: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
39a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
39c: 4b5c ldr r3, [pc, #368] ; (510 <ssd1963_init+0x240>)
|
|
39e: 781b ldrb r3, [r3, #0]
|
|
3a0: b12b cbz r3, 3ae <ssd1963_init+0xde>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
3a2: 2220 movs r2, #32
|
|
3a4: 4b58 ldr r3, [pc, #352] ; (508 <ssd1963_init+0x238>)
|
|
3a6: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
3a8: 2200 movs r2, #0
|
|
3aa: 4b59 ldr r3, [pc, #356] ; (510 <ssd1963_init+0x240>)
|
|
3ac: 701a strb r2, [r3, #0]
|
|
static inline void ssd1963_data(uint8_t data)
|
|
{
|
|
|
|
LV_DRV_DISP_PAR_CS(0);
|
|
ssd1963_data_mode();
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
3ae: 222f movs r2, #47 ; 0x2f
|
|
3b0: 4958 ldr r1, [pc, #352] ; (514 <ssd1963_init+0x244>)
|
|
3b2: 4859 ldr r0, [pc, #356] ; (518 <ssd1963_init+0x248>)
|
|
3b4: 4b59 ldr r3, [pc, #356] ; (51c <ssd1963_init+0x24c>)
|
|
3b6: 4798 blx r3
|
|
3b8: 4b53 ldr r3, [pc, #332] ; (508 <ssd1963_init+0x238>)
|
|
3ba: 2240 movs r2, #64 ; 0x40
|
|
3bc: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
3be: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
3c0: 4b53 ldr r3, [pc, #332] ; (510 <ssd1963_init+0x240>)
|
|
3c2: 781b ldrb r3, [r3, #0]
|
|
3c4: b12b cbz r3, 3d2 <ssd1963_init+0x102>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
3c6: 2220 movs r2, #32
|
|
3c8: 4b4f ldr r3, [pc, #316] ; (508 <ssd1963_init+0x238>)
|
|
3ca: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
3cc: 2200 movs r2, #0
|
|
3ce: 4b50 ldr r3, [pc, #320] ; (510 <ssd1963_init+0x240>)
|
|
3d0: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
3d2: 2203 movs r2, #3
|
|
3d4: 494f ldr r1, [pc, #316] ; (514 <ssd1963_init+0x244>)
|
|
3d6: 4850 ldr r0, [pc, #320] ; (518 <ssd1963_init+0x248>)
|
|
3d8: 4b50 ldr r3, [pc, #320] ; (51c <ssd1963_init+0x24c>)
|
|
3da: 4798 blx r3
|
|
3dc: 4b4a ldr r3, [pc, #296] ; (508 <ssd1963_init+0x238>)
|
|
3de: 2240 movs r2, #64 ; 0x40
|
|
3e0: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
3e2: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
3e4: 4b4a ldr r3, [pc, #296] ; (510 <ssd1963_init+0x240>)
|
|
3e6: 781b ldrb r3, [r3, #0]
|
|
3e8: b12b cbz r3, 3f6 <ssd1963_init+0x126>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
3ea: 2220 movs r2, #32
|
|
3ec: 4b46 ldr r3, [pc, #280] ; (508 <ssd1963_init+0x238>)
|
|
3ee: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
3f0: 2200 movs r2, #0
|
|
3f2: 4b47 ldr r3, [pc, #284] ; (510 <ssd1963_init+0x240>)
|
|
3f4: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
3f6: 2254 movs r2, #84 ; 0x54
|
|
3f8: 4946 ldr r1, [pc, #280] ; (514 <ssd1963_init+0x244>)
|
|
3fa: 4847 ldr r0, [pc, #284] ; (518 <ssd1963_init+0x248>)
|
|
3fc: 4b47 ldr r3, [pc, #284] ; (51c <ssd1963_init+0x24c>)
|
|
3fe: 4798 blx r3
|
|
400: 4b41 ldr r3, [pc, #260] ; (508 <ssd1963_init+0x238>)
|
|
402: 2240 movs r2, #64 ; 0x40
|
|
404: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
406: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
408: 4b41 ldr r3, [pc, #260] ; (510 <ssd1963_init+0x240>)
|
|
40a: 781b ldrb r3, [r3, #0]
|
|
40c: b92b cbnz r3, 41a <ssd1963_init+0x14a>
|
|
40e: 2220 movs r2, #32
|
|
410: 4b3d ldr r3, [pc, #244] ; (508 <ssd1963_init+0x238>)
|
|
412: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
414: 2201 movs r2, #1
|
|
416: 4b3e ldr r3, [pc, #248] ; (510 <ssd1963_init+0x240>)
|
|
418: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
41a: 22e0 movs r2, #224 ; 0xe0
|
|
41c: 493d ldr r1, [pc, #244] ; (514 <ssd1963_init+0x244>)
|
|
41e: 483e ldr r0, [pc, #248] ; (518 <ssd1963_init+0x248>)
|
|
420: 4b3e ldr r3, [pc, #248] ; (51c <ssd1963_init+0x24c>)
|
|
422: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
424: 4b38 ldr r3, [pc, #224] ; (508 <ssd1963_init+0x238>)
|
|
426: 2240 movs r2, #64 ; 0x40
|
|
428: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
42a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
42c: 4b38 ldr r3, [pc, #224] ; (510 <ssd1963_init+0x240>)
|
|
42e: 781b ldrb r3, [r3, #0]
|
|
430: b12b cbz r3, 43e <ssd1963_init+0x16e>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
432: 2220 movs r2, #32
|
|
434: 4b34 ldr r3, [pc, #208] ; (508 <ssd1963_init+0x238>)
|
|
436: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
438: 2200 movs r2, #0
|
|
43a: 4b35 ldr r3, [pc, #212] ; (510 <ssd1963_init+0x240>)
|
|
43c: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
43e: 2201 movs r2, #1
|
|
440: 4934 ldr r1, [pc, #208] ; (514 <ssd1963_init+0x244>)
|
|
442: 4835 ldr r0, [pc, #212] ; (518 <ssd1963_init+0x248>)
|
|
444: 4b35 ldr r3, [pc, #212] ; (51c <ssd1963_init+0x24c>)
|
|
446: 4798 blx r3
|
|
448: 4c2f ldr r4, [pc, #188] ; (508 <ssd1963_init+0x238>)
|
|
44a: 2540 movs r5, #64 ; 0x40
|
|
44c: 61a5 str r5, [r4, #24]
|
|
delay_us(100);
|
|
44e: 2064 movs r0, #100 ; 0x64
|
|
450: 4b33 ldr r3, [pc, #204] ; (520 <ssd1963_init+0x250>)
|
|
452: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
454: 6165 str r5, [r4, #20]
|
|
if(cmd_mode == false) {
|
|
456: 4b2e ldr r3, [pc, #184] ; (510 <ssd1963_init+0x240>)
|
|
458: 781b ldrb r3, [r3, #0]
|
|
45a: b923 cbnz r3, 466 <ssd1963_init+0x196>
|
|
45c: 2220 movs r2, #32
|
|
45e: 6162 str r2, [r4, #20]
|
|
cmd_mode = true;
|
|
460: 2201 movs r2, #1
|
|
462: 4b2b ldr r3, [pc, #172] ; (510 <ssd1963_init+0x240>)
|
|
464: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
466: 22e0 movs r2, #224 ; 0xe0
|
|
468: 492a ldr r1, [pc, #168] ; (514 <ssd1963_init+0x244>)
|
|
46a: 482b ldr r0, [pc, #172] ; (518 <ssd1963_init+0x248>)
|
|
46c: 4b2b ldr r3, [pc, #172] ; (51c <ssd1963_init+0x24c>)
|
|
46e: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
470: 4b25 ldr r3, [pc, #148] ; (508 <ssd1963_init+0x238>)
|
|
472: 2240 movs r2, #64 ; 0x40
|
|
474: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
476: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
478: 4b25 ldr r3, [pc, #148] ; (510 <ssd1963_init+0x240>)
|
|
47a: 781b ldrb r3, [r3, #0]
|
|
47c: b12b cbz r3, 48a <ssd1963_init+0x1ba>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
47e: 2220 movs r2, #32
|
|
480: 4b21 ldr r3, [pc, #132] ; (508 <ssd1963_init+0x238>)
|
|
482: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
484: 2200 movs r2, #0
|
|
486: 4b22 ldr r3, [pc, #136] ; (510 <ssd1963_init+0x240>)
|
|
488: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
48a: 2203 movs r2, #3
|
|
48c: 4921 ldr r1, [pc, #132] ; (514 <ssd1963_init+0x244>)
|
|
48e: 4822 ldr r0, [pc, #136] ; (518 <ssd1963_init+0x248>)
|
|
490: 4b22 ldr r3, [pc, #136] ; (51c <ssd1963_init+0x24c>)
|
|
492: 4798 blx r3
|
|
494: 4c1c ldr r4, [pc, #112] ; (508 <ssd1963_init+0x238>)
|
|
496: 2540 movs r5, #64 ; 0x40
|
|
498: 61a5 str r5, [r4, #24]
|
|
delay_ms(1);
|
|
49a: 2001 movs r0, #1
|
|
49c: 4b1b ldr r3, [pc, #108] ; (50c <ssd1963_init+0x23c>)
|
|
49e: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
4a0: 6165 str r5, [r4, #20]
|
|
if(cmd_mode == false) {
|
|
4a2: 4b1b ldr r3, [pc, #108] ; (510 <ssd1963_init+0x240>)
|
|
4a4: 781b ldrb r3, [r3, #0]
|
|
4a6: b923 cbnz r3, 4b2 <ssd1963_init+0x1e2>
|
|
4a8: 2220 movs r2, #32
|
|
4aa: 6162 str r2, [r4, #20]
|
|
cmd_mode = true;
|
|
4ac: 2201 movs r2, #1
|
|
4ae: 4b18 ldr r3, [pc, #96] ; (510 <ssd1963_init+0x240>)
|
|
4b0: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
4b2: 2201 movs r2, #1
|
|
4b4: 4917 ldr r1, [pc, #92] ; (514 <ssd1963_init+0x244>)
|
|
4b6: 4818 ldr r0, [pc, #96] ; (518 <ssd1963_init+0x248>)
|
|
4b8: 4b18 ldr r3, [pc, #96] ; (51c <ssd1963_init+0x24c>)
|
|
4ba: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
4bc: 4c12 ldr r4, [pc, #72] ; (508 <ssd1963_init+0x238>)
|
|
4be: 2540 movs r5, #64 ; 0x40
|
|
4c0: 61a5 str r5, [r4, #24]
|
|
delay_ms(1);
|
|
4c2: 2001 movs r0, #1
|
|
4c4: 4b11 ldr r3, [pc, #68] ; (50c <ssd1963_init+0x23c>)
|
|
4c6: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
4c8: 6165 str r5, [r4, #20]
|
|
if(cmd_mode == false) {
|
|
4ca: 4b11 ldr r3, [pc, #68] ; (510 <ssd1963_init+0x240>)
|
|
4cc: 781b ldrb r3, [r3, #0]
|
|
4ce: b923 cbnz r3, 4da <ssd1963_init+0x20a>
|
|
4d0: 2220 movs r2, #32
|
|
4d2: 6162 str r2, [r4, #20]
|
|
cmd_mode = true;
|
|
4d4: 2201 movs r2, #1
|
|
4d6: 4b0e ldr r3, [pc, #56] ; (510 <ssd1963_init+0x240>)
|
|
4d8: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
4da: 22e6 movs r2, #230 ; 0xe6
|
|
4dc: 490d ldr r1, [pc, #52] ; (514 <ssd1963_init+0x244>)
|
|
4de: 480e ldr r0, [pc, #56] ; (518 <ssd1963_init+0x248>)
|
|
4e0: 4b0e ldr r3, [pc, #56] ; (51c <ssd1963_init+0x24c>)
|
|
4e2: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
4e4: 4b08 ldr r3, [pc, #32] ; (508 <ssd1963_init+0x238>)
|
|
4e6: 2240 movs r2, #64 ; 0x40
|
|
4e8: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
4ea: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
4ec: 4b08 ldr r3, [pc, #32] ; (510 <ssd1963_init+0x240>)
|
|
4ee: 781b ldrb r3, [r3, #0]
|
|
4f0: b12b cbz r3, 4fe <ssd1963_init+0x22e>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
4f2: 2220 movs r2, #32
|
|
4f4: 4b04 ldr r3, [pc, #16] ; (508 <ssd1963_init+0x238>)
|
|
4f6: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
4f8: 2200 movs r2, #0
|
|
4fa: 4b05 ldr r3, [pc, #20] ; (510 <ssd1963_init+0x240>)
|
|
4fc: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
4fe: 2201 movs r2, #1
|
|
500: 4904 ldr r1, [pc, #16] ; (514 <ssd1963_init+0x244>)
|
|
502: 4805 ldr r0, [pc, #20] ; (518 <ssd1963_init+0x248>)
|
|
504: e00e b.n 524 <ssd1963_init+0x254>
|
|
506: bf00 nop
|
|
508: 41008000 .word 0x41008000
|
|
50c: 00001509 .word 0x00001509
|
|
510: 20000000 .word 0x20000000
|
|
514: 1c03c3f7 .word 0x1c03c3f7
|
|
518: 41008080 .word 0x41008080
|
|
51c: 00001041 .word 0x00001041
|
|
520: 000014e9 .word 0x000014e9
|
|
524: 4b8a ldr r3, [pc, #552] ; (750 <ssd1963_init+0x480>)
|
|
526: 4798 blx r3
|
|
528: 4b8a ldr r3, [pc, #552] ; (754 <ssd1963_init+0x484>)
|
|
52a: 2240 movs r2, #64 ; 0x40
|
|
52c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
52e: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
530: 4b89 ldr r3, [pc, #548] ; (758 <ssd1963_init+0x488>)
|
|
532: 781b ldrb r3, [r3, #0]
|
|
534: b12b cbz r3, 542 <ssd1963_init+0x272>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
536: 2220 movs r2, #32
|
|
538: 4b86 ldr r3, [pc, #536] ; (754 <ssd1963_init+0x484>)
|
|
53a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
53c: 2200 movs r2, #0
|
|
53e: 4b86 ldr r3, [pc, #536] ; (758 <ssd1963_init+0x488>)
|
|
540: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
542: 22cc movs r2, #204 ; 0xcc
|
|
544: 4985 ldr r1, [pc, #532] ; (75c <ssd1963_init+0x48c>)
|
|
546: 4886 ldr r0, [pc, #536] ; (760 <ssd1963_init+0x490>)
|
|
548: 4b81 ldr r3, [pc, #516] ; (750 <ssd1963_init+0x480>)
|
|
54a: 4798 blx r3
|
|
54c: 4b81 ldr r3, [pc, #516] ; (754 <ssd1963_init+0x484>)
|
|
54e: 2240 movs r2, #64 ; 0x40
|
|
550: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
552: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
554: 4b80 ldr r3, [pc, #512] ; (758 <ssd1963_init+0x488>)
|
|
556: 781b ldrb r3, [r3, #0]
|
|
558: b12b cbz r3, 566 <ssd1963_init+0x296>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
55a: 2220 movs r2, #32
|
|
55c: 4b7d ldr r3, [pc, #500] ; (754 <ssd1963_init+0x484>)
|
|
55e: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
560: 2200 movs r2, #0
|
|
562: 4b7d ldr r3, [pc, #500] ; (758 <ssd1963_init+0x488>)
|
|
564: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
566: 22cc movs r2, #204 ; 0xcc
|
|
568: 497c ldr r1, [pc, #496] ; (75c <ssd1963_init+0x48c>)
|
|
56a: 487d ldr r0, [pc, #500] ; (760 <ssd1963_init+0x490>)
|
|
56c: 4b78 ldr r3, [pc, #480] ; (750 <ssd1963_init+0x480>)
|
|
56e: 4798 blx r3
|
|
570: 4b78 ldr r3, [pc, #480] ; (754 <ssd1963_init+0x484>)
|
|
572: 2240 movs r2, #64 ; 0x40
|
|
574: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
576: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
578: 4b77 ldr r3, [pc, #476] ; (758 <ssd1963_init+0x488>)
|
|
57a: 781b ldrb r3, [r3, #0]
|
|
57c: b92b cbnz r3, 58a <ssd1963_init+0x2ba>
|
|
57e: 2220 movs r2, #32
|
|
580: 4b74 ldr r3, [pc, #464] ; (754 <ssd1963_init+0x484>)
|
|
582: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
584: 2201 movs r2, #1
|
|
586: 4b74 ldr r3, [pc, #464] ; (758 <ssd1963_init+0x488>)
|
|
588: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
58a: 22b0 movs r2, #176 ; 0xb0
|
|
58c: 4973 ldr r1, [pc, #460] ; (75c <ssd1963_init+0x48c>)
|
|
58e: 4874 ldr r0, [pc, #464] ; (760 <ssd1963_init+0x490>)
|
|
590: 4b6f ldr r3, [pc, #444] ; (750 <ssd1963_init+0x480>)
|
|
592: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
594: 4b6f ldr r3, [pc, #444] ; (754 <ssd1963_init+0x484>)
|
|
596: 2240 movs r2, #64 ; 0x40
|
|
598: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
59a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
59c: 4b6e ldr r3, [pc, #440] ; (758 <ssd1963_init+0x488>)
|
|
59e: 781b ldrb r3, [r3, #0]
|
|
5a0: b12b cbz r3, 5ae <ssd1963_init+0x2de>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
5a2: 2220 movs r2, #32
|
|
5a4: 4b6b ldr r3, [pc, #428] ; (754 <ssd1963_init+0x484>)
|
|
5a6: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
5a8: 2200 movs r2, #0
|
|
5aa: 4b6b ldr r3, [pc, #428] ; (758 <ssd1963_init+0x488>)
|
|
5ac: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
5ae: 2228 movs r2, #40 ; 0x28
|
|
5b0: 496a ldr r1, [pc, #424] ; (75c <ssd1963_init+0x48c>)
|
|
5b2: 486b ldr r0, [pc, #428] ; (760 <ssd1963_init+0x490>)
|
|
5b4: 4b66 ldr r3, [pc, #408] ; (750 <ssd1963_init+0x480>)
|
|
5b6: 4798 blx r3
|
|
5b8: 4b66 ldr r3, [pc, #408] ; (754 <ssd1963_init+0x484>)
|
|
5ba: 2240 movs r2, #64 ; 0x40
|
|
5bc: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
5be: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
5c0: 4b65 ldr r3, [pc, #404] ; (758 <ssd1963_init+0x488>)
|
|
5c2: 781b ldrb r3, [r3, #0]
|
|
5c4: b12b cbz r3, 5d2 <ssd1963_init+0x302>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
5c6: 2220 movs r2, #32
|
|
5c8: 4b62 ldr r3, [pc, #392] ; (754 <ssd1963_init+0x484>)
|
|
5ca: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
5cc: 2200 movs r2, #0
|
|
5ce: 4b62 ldr r3, [pc, #392] ; (758 <ssd1963_init+0x488>)
|
|
5d0: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
5d2: 2280 movs r2, #128 ; 0x80
|
|
5d4: 4961 ldr r1, [pc, #388] ; (75c <ssd1963_init+0x48c>)
|
|
5d6: 4862 ldr r0, [pc, #392] ; (760 <ssd1963_init+0x490>)
|
|
5d8: 4b5d ldr r3, [pc, #372] ; (750 <ssd1963_init+0x480>)
|
|
5da: 4798 blx r3
|
|
5dc: 4c5d ldr r4, [pc, #372] ; (754 <ssd1963_init+0x484>)
|
|
5de: 2540 movs r5, #64 ; 0x40
|
|
5e0: 61a5 str r5, [r4, #24]
|
|
ssd1963_data((SSD1963_HOR_RES-1)>>8); //Set panel size
|
|
5e2: 4b60 ldr r3, [pc, #384] ; (764 <ssd1963_init+0x494>)
|
|
5e4: 4798 blx r3
|
|
5e6: 4b60 ldr r3, [pc, #384] ; (768 <ssd1963_init+0x498>)
|
|
5e8: 4798 blx r3
|
|
5ea: 1e42 subs r2, r0, #1
|
|
5ec: f3c2 2207 ubfx r2, r2, #8, #8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
5f0: 6165 str r5, [r4, #20]
|
|
if(cmd_mode != false) {
|
|
5f2: 4b59 ldr r3, [pc, #356] ; (758 <ssd1963_init+0x488>)
|
|
5f4: 781b ldrb r3, [r3, #0]
|
|
5f6: b123 cbz r3, 602 <ssd1963_init+0x332>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
5f8: 2120 movs r1, #32
|
|
5fa: 61a1 str r1, [r4, #24]
|
|
cmd_mode = false;
|
|
5fc: 2100 movs r1, #0
|
|
5fe: 4b56 ldr r3, [pc, #344] ; (758 <ssd1963_init+0x488>)
|
|
600: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
602: 4956 ldr r1, [pc, #344] ; (75c <ssd1963_init+0x48c>)
|
|
604: 4856 ldr r0, [pc, #344] ; (760 <ssd1963_init+0x490>)
|
|
606: 4b52 ldr r3, [pc, #328] ; (750 <ssd1963_init+0x480>)
|
|
608: 4798 blx r3
|
|
60a: 4c52 ldr r4, [pc, #328] ; (754 <ssd1963_init+0x484>)
|
|
60c: 2540 movs r5, #64 ; 0x40
|
|
60e: 61a5 str r5, [r4, #24]
|
|
ssd1963_data(SSD1963_HOR_RES-1);
|
|
610: 4b54 ldr r3, [pc, #336] ; (764 <ssd1963_init+0x494>)
|
|
612: 4798 blx r3
|
|
614: 4b54 ldr r3, [pc, #336] ; (768 <ssd1963_init+0x498>)
|
|
616: 4798 blx r3
|
|
618: 1e42 subs r2, r0, #1
|
|
61a: b2d2 uxtb r2, r2
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
61c: 6165 str r5, [r4, #20]
|
|
if(cmd_mode != false) {
|
|
61e: 4b4e ldr r3, [pc, #312] ; (758 <ssd1963_init+0x488>)
|
|
620: 781b ldrb r3, [r3, #0]
|
|
622: b123 cbz r3, 62e <ssd1963_init+0x35e>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
624: 2120 movs r1, #32
|
|
626: 61a1 str r1, [r4, #24]
|
|
cmd_mode = false;
|
|
628: 2100 movs r1, #0
|
|
62a: 4b4b ldr r3, [pc, #300] ; (758 <ssd1963_init+0x488>)
|
|
62c: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
62e: 494b ldr r1, [pc, #300] ; (75c <ssd1963_init+0x48c>)
|
|
630: 484b ldr r0, [pc, #300] ; (760 <ssd1963_init+0x490>)
|
|
632: 4b47 ldr r3, [pc, #284] ; (750 <ssd1963_init+0x480>)
|
|
634: 4798 blx r3
|
|
636: 4c47 ldr r4, [pc, #284] ; (754 <ssd1963_init+0x484>)
|
|
638: 2540 movs r5, #64 ; 0x40
|
|
63a: 61a5 str r5, [r4, #24]
|
|
ssd1963_data((SSD1963_VER_RES-1)>>8);
|
|
63c: 4b49 ldr r3, [pc, #292] ; (764 <ssd1963_init+0x494>)
|
|
63e: 4798 blx r3
|
|
640: 4b4a ldr r3, [pc, #296] ; (76c <ssd1963_init+0x49c>)
|
|
642: 4798 blx r3
|
|
644: 1e42 subs r2, r0, #1
|
|
646: f3c2 2207 ubfx r2, r2, #8, #8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
64a: 6165 str r5, [r4, #20]
|
|
if(cmd_mode != false) {
|
|
64c: 4b42 ldr r3, [pc, #264] ; (758 <ssd1963_init+0x488>)
|
|
64e: 781b ldrb r3, [r3, #0]
|
|
650: b123 cbz r3, 65c <ssd1963_init+0x38c>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
652: 2120 movs r1, #32
|
|
654: 61a1 str r1, [r4, #24]
|
|
cmd_mode = false;
|
|
656: 2100 movs r1, #0
|
|
658: 4b3f ldr r3, [pc, #252] ; (758 <ssd1963_init+0x488>)
|
|
65a: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
65c: 493f ldr r1, [pc, #252] ; (75c <ssd1963_init+0x48c>)
|
|
65e: 4840 ldr r0, [pc, #256] ; (760 <ssd1963_init+0x490>)
|
|
660: 4b3b ldr r3, [pc, #236] ; (750 <ssd1963_init+0x480>)
|
|
662: 4798 blx r3
|
|
664: 4c3b ldr r4, [pc, #236] ; (754 <ssd1963_init+0x484>)
|
|
666: 2540 movs r5, #64 ; 0x40
|
|
668: 61a5 str r5, [r4, #24]
|
|
ssd1963_data(SSD1963_VER_RES-1);
|
|
66a: 4b3e ldr r3, [pc, #248] ; (764 <ssd1963_init+0x494>)
|
|
66c: 4798 blx r3
|
|
66e: 4b3f ldr r3, [pc, #252] ; (76c <ssd1963_init+0x49c>)
|
|
670: 4798 blx r3
|
|
672: 1e42 subs r2, r0, #1
|
|
674: b2d2 uxtb r2, r2
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
676: 6165 str r5, [r4, #20]
|
|
if(cmd_mode != false) {
|
|
678: 4b37 ldr r3, [pc, #220] ; (758 <ssd1963_init+0x488>)
|
|
67a: 781b ldrb r3, [r3, #0]
|
|
67c: b123 cbz r3, 688 <ssd1963_init+0x3b8>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
67e: 2120 movs r1, #32
|
|
680: 61a1 str r1, [r4, #24]
|
|
cmd_mode = false;
|
|
682: 2100 movs r1, #0
|
|
684: 4b34 ldr r3, [pc, #208] ; (758 <ssd1963_init+0x488>)
|
|
686: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
688: 4934 ldr r1, [pc, #208] ; (75c <ssd1963_init+0x48c>)
|
|
68a: 4835 ldr r0, [pc, #212] ; (760 <ssd1963_init+0x490>)
|
|
68c: 4b30 ldr r3, [pc, #192] ; (750 <ssd1963_init+0x480>)
|
|
68e: 4798 blx r3
|
|
690: 4b30 ldr r3, [pc, #192] ; (754 <ssd1963_init+0x484>)
|
|
692: 2240 movs r2, #64 ; 0x40
|
|
694: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
696: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
698: 4b2f ldr r3, [pc, #188] ; (758 <ssd1963_init+0x488>)
|
|
69a: 781b ldrb r3, [r3, #0]
|
|
69c: b12b cbz r3, 6aa <ssd1963_init+0x3da>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
69e: 2220 movs r2, #32
|
|
6a0: 4b2c ldr r3, [pc, #176] ; (754 <ssd1963_init+0x484>)
|
|
6a2: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
6a4: 2200 movs r2, #0
|
|
6a6: 4b2c ldr r3, [pc, #176] ; (758 <ssd1963_init+0x488>)
|
|
6a8: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
6aa: 2200 movs r2, #0
|
|
6ac: 492b ldr r1, [pc, #172] ; (75c <ssd1963_init+0x48c>)
|
|
6ae: 482c ldr r0, [pc, #176] ; (760 <ssd1963_init+0x490>)
|
|
6b0: 4b27 ldr r3, [pc, #156] ; (750 <ssd1963_init+0x480>)
|
|
6b2: 4798 blx r3
|
|
6b4: 4b27 ldr r3, [pc, #156] ; (754 <ssd1963_init+0x484>)
|
|
6b6: 2240 movs r2, #64 ; 0x40
|
|
6b8: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
6ba: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
6bc: 4b26 ldr r3, [pc, #152] ; (758 <ssd1963_init+0x488>)
|
|
6be: 781b ldrb r3, [r3, #0]
|
|
6c0: b92b cbnz r3, 6ce <ssd1963_init+0x3fe>
|
|
6c2: 2220 movs r2, #32
|
|
6c4: 4b23 ldr r3, [pc, #140] ; (754 <ssd1963_init+0x484>)
|
|
6c6: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
6c8: 2201 movs r2, #1
|
|
6ca: 4b23 ldr r3, [pc, #140] ; (758 <ssd1963_init+0x488>)
|
|
6cc: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
6ce: 22f0 movs r2, #240 ; 0xf0
|
|
6d0: 4922 ldr r1, [pc, #136] ; (75c <ssd1963_init+0x48c>)
|
|
6d2: 4823 ldr r0, [pc, #140] ; (760 <ssd1963_init+0x490>)
|
|
6d4: 4b1e ldr r3, [pc, #120] ; (750 <ssd1963_init+0x480>)
|
|
6d6: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
6d8: 4b1e ldr r3, [pc, #120] ; (754 <ssd1963_init+0x484>)
|
|
6da: 2240 movs r2, #64 ; 0x40
|
|
6dc: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
6de: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
6e0: 4b1d ldr r3, [pc, #116] ; (758 <ssd1963_init+0x488>)
|
|
6e2: 781b ldrb r3, [r3, #0]
|
|
6e4: b12b cbz r3, 6f2 <ssd1963_init+0x422>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
6e6: 2220 movs r2, #32
|
|
6e8: 4b1a ldr r3, [pc, #104] ; (754 <ssd1963_init+0x484>)
|
|
6ea: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
6ec: 2200 movs r2, #0
|
|
6ee: 4b1a ldr r3, [pc, #104] ; (758 <ssd1963_init+0x488>)
|
|
6f0: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
6f2: 2203 movs r2, #3
|
|
6f4: 4919 ldr r1, [pc, #100] ; (75c <ssd1963_init+0x48c>)
|
|
6f6: 481a ldr r0, [pc, #104] ; (760 <ssd1963_init+0x490>)
|
|
6f8: 4b15 ldr r3, [pc, #84] ; (750 <ssd1963_init+0x480>)
|
|
6fa: 4798 blx r3
|
|
6fc: 4b15 ldr r3, [pc, #84] ; (754 <ssd1963_init+0x484>)
|
|
6fe: 2240 movs r2, #64 ; 0x40
|
|
700: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
702: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
704: 4b14 ldr r3, [pc, #80] ; (758 <ssd1963_init+0x488>)
|
|
706: 781b ldrb r3, [r3, #0]
|
|
708: b92b cbnz r3, 716 <ssd1963_init+0x446>
|
|
70a: 2220 movs r2, #32
|
|
70c: 4b11 ldr r3, [pc, #68] ; (754 <ssd1963_init+0x484>)
|
|
70e: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
710: 2201 movs r2, #1
|
|
712: 4b11 ldr r3, [pc, #68] ; (758 <ssd1963_init+0x488>)
|
|
714: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
716: 223a movs r2, #58 ; 0x3a
|
|
718: 4910 ldr r1, [pc, #64] ; (75c <ssd1963_init+0x48c>)
|
|
71a: 4811 ldr r0, [pc, #68] ; (760 <ssd1963_init+0x490>)
|
|
71c: 4b0c ldr r3, [pc, #48] ; (750 <ssd1963_init+0x480>)
|
|
71e: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
720: 4b0c ldr r3, [pc, #48] ; (754 <ssd1963_init+0x484>)
|
|
722: 2240 movs r2, #64 ; 0x40
|
|
724: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
726: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
728: 4b0b ldr r3, [pc, #44] ; (758 <ssd1963_init+0x488>)
|
|
72a: 781b ldrb r3, [r3, #0]
|
|
72c: b12b cbz r3, 73a <ssd1963_init+0x46a>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
72e: 2220 movs r2, #32
|
|
730: 4b08 ldr r3, [pc, #32] ; (754 <ssd1963_init+0x484>)
|
|
732: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
734: 2200 movs r2, #0
|
|
736: 4b08 ldr r3, [pc, #32] ; (758 <ssd1963_init+0x488>)
|
|
738: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
73a: 2255 movs r2, #85 ; 0x55
|
|
73c: 4907 ldr r1, [pc, #28] ; (75c <ssd1963_init+0x48c>)
|
|
73e: 4808 ldr r0, [pc, #32] ; (760 <ssd1963_init+0x490>)
|
|
740: 4b03 ldr r3, [pc, #12] ; (750 <ssd1963_init+0x480>)
|
|
742: 4798 blx r3
|
|
744: 4b03 ldr r3, [pc, #12] ; (754 <ssd1963_init+0x484>)
|
|
746: 2240 movs r2, #64 ; 0x40
|
|
748: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
74a: 615a str r2, [r3, #20]
|
|
74c: e010 b.n 770 <ssd1963_init+0x4a0>
|
|
74e: bf00 nop
|
|
750: 00001041 .word 0x00001041
|
|
754: 41008000 .word 0x41008000
|
|
758: 20000000 .word 0x20000000
|
|
75c: 1c03c3f7 .word 0x1c03c3f7
|
|
760: 41008080 .word 0x41008080
|
|
764: 00010ec9 .word 0x00010ec9
|
|
768: 00010ed5 .word 0x00010ed5
|
|
76c: 00010efd .word 0x00010efd
|
|
if(cmd_mode == false) {
|
|
770: 4b8a ldr r3, [pc, #552] ; (99c <ssd1963_init+0x6cc>)
|
|
772: 781b ldrb r3, [r3, #0]
|
|
774: b92b cbnz r3, 782 <ssd1963_init+0x4b2>
|
|
776: 2220 movs r2, #32
|
|
778: 4b89 ldr r3, [pc, #548] ; (9a0 <ssd1963_init+0x6d0>)
|
|
77a: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
77c: 2201 movs r2, #1
|
|
77e: 4b87 ldr r3, [pc, #540] ; (99c <ssd1963_init+0x6cc>)
|
|
780: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
782: 22b4 movs r2, #180 ; 0xb4
|
|
784: 4987 ldr r1, [pc, #540] ; (9a4 <ssd1963_init+0x6d4>)
|
|
786: 4888 ldr r0, [pc, #544] ; (9a8 <ssd1963_init+0x6d8>)
|
|
788: 4b88 ldr r3, [pc, #544] ; (9ac <ssd1963_init+0x6dc>)
|
|
78a: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
78c: 4b84 ldr r3, [pc, #528] ; (9a0 <ssd1963_init+0x6d0>)
|
|
78e: 2240 movs r2, #64 ; 0x40
|
|
790: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
792: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
794: 4b81 ldr r3, [pc, #516] ; (99c <ssd1963_init+0x6cc>)
|
|
796: 781b ldrb r3, [r3, #0]
|
|
798: b12b cbz r3, 7a6 <ssd1963_init+0x4d6>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
79a: 2220 movs r2, #32
|
|
79c: 4b80 ldr r3, [pc, #512] ; (9a0 <ssd1963_init+0x6d0>)
|
|
79e: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
7a0: 2200 movs r2, #0
|
|
7a2: 4b7e ldr r3, [pc, #504] ; (99c <ssd1963_init+0x6cc>)
|
|
7a4: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
7a6: 2202 movs r2, #2
|
|
7a8: 497e ldr r1, [pc, #504] ; (9a4 <ssd1963_init+0x6d4>)
|
|
7aa: 487f ldr r0, [pc, #508] ; (9a8 <ssd1963_init+0x6d8>)
|
|
7ac: 4b7f ldr r3, [pc, #508] ; (9ac <ssd1963_init+0x6dc>)
|
|
7ae: 4798 blx r3
|
|
7b0: 4b7b ldr r3, [pc, #492] ; (9a0 <ssd1963_init+0x6d0>)
|
|
7b2: 2240 movs r2, #64 ; 0x40
|
|
7b4: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
7b6: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
7b8: 4b78 ldr r3, [pc, #480] ; (99c <ssd1963_init+0x6cc>)
|
|
7ba: 781b ldrb r3, [r3, #0]
|
|
7bc: b12b cbz r3, 7ca <ssd1963_init+0x4fa>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
7be: 2220 movs r2, #32
|
|
7c0: 4b77 ldr r3, [pc, #476] ; (9a0 <ssd1963_init+0x6d0>)
|
|
7c2: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
7c4: 2200 movs r2, #0
|
|
7c6: 4b75 ldr r3, [pc, #468] ; (99c <ssd1963_init+0x6cc>)
|
|
7c8: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
7ca: 220d movs r2, #13
|
|
7cc: 4975 ldr r1, [pc, #468] ; (9a4 <ssd1963_init+0x6d4>)
|
|
7ce: 4876 ldr r0, [pc, #472] ; (9a8 <ssd1963_init+0x6d8>)
|
|
7d0: 4b76 ldr r3, [pc, #472] ; (9ac <ssd1963_init+0x6dc>)
|
|
7d2: 4798 blx r3
|
|
7d4: 4b72 ldr r3, [pc, #456] ; (9a0 <ssd1963_init+0x6d0>)
|
|
7d6: 2240 movs r2, #64 ; 0x40
|
|
7d8: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
7da: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
7dc: 4b6f ldr r3, [pc, #444] ; (99c <ssd1963_init+0x6cc>)
|
|
7de: 781b ldrb r3, [r3, #0]
|
|
7e0: b12b cbz r3, 7ee <ssd1963_init+0x51e>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
7e2: 2220 movs r2, #32
|
|
7e4: 4b6e ldr r3, [pc, #440] ; (9a0 <ssd1963_init+0x6d0>)
|
|
7e6: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
7e8: 2200 movs r2, #0
|
|
7ea: 4b6c ldr r3, [pc, #432] ; (99c <ssd1963_init+0x6cc>)
|
|
7ec: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
7ee: 2200 movs r2, #0
|
|
7f0: 496c ldr r1, [pc, #432] ; (9a4 <ssd1963_init+0x6d4>)
|
|
7f2: 486d ldr r0, [pc, #436] ; (9a8 <ssd1963_init+0x6d8>)
|
|
7f4: 4b6d ldr r3, [pc, #436] ; (9ac <ssd1963_init+0x6dc>)
|
|
7f6: 4798 blx r3
|
|
7f8: 4b69 ldr r3, [pc, #420] ; (9a0 <ssd1963_init+0x6d0>)
|
|
7fa: 2240 movs r2, #64 ; 0x40
|
|
7fc: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
7fe: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
800: 4b66 ldr r3, [pc, #408] ; (99c <ssd1963_init+0x6cc>)
|
|
802: 781b ldrb r3, [r3, #0]
|
|
804: b12b cbz r3, 812 <ssd1963_init+0x542>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
806: 2220 movs r2, #32
|
|
808: 4b65 ldr r3, [pc, #404] ; (9a0 <ssd1963_init+0x6d0>)
|
|
80a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
80c: 2200 movs r2, #0
|
|
80e: 4b63 ldr r3, [pc, #396] ; (99c <ssd1963_init+0x6cc>)
|
|
810: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
812: 222b movs r2, #43 ; 0x2b
|
|
814: 4963 ldr r1, [pc, #396] ; (9a4 <ssd1963_init+0x6d4>)
|
|
816: 4864 ldr r0, [pc, #400] ; (9a8 <ssd1963_init+0x6d8>)
|
|
818: 4b64 ldr r3, [pc, #400] ; (9ac <ssd1963_init+0x6dc>)
|
|
81a: 4798 blx r3
|
|
81c: 4b60 ldr r3, [pc, #384] ; (9a0 <ssd1963_init+0x6d0>)
|
|
81e: 2240 movs r2, #64 ; 0x40
|
|
820: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
822: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
824: 4b5d ldr r3, [pc, #372] ; (99c <ssd1963_init+0x6cc>)
|
|
826: 781b ldrb r3, [r3, #0]
|
|
828: b12b cbz r3, 836 <ssd1963_init+0x566>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
82a: 2220 movs r2, #32
|
|
82c: 4b5c ldr r3, [pc, #368] ; (9a0 <ssd1963_init+0x6d0>)
|
|
82e: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
830: 2200 movs r2, #0
|
|
832: 4b5a ldr r3, [pc, #360] ; (99c <ssd1963_init+0x6cc>)
|
|
834: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
836: 2228 movs r2, #40 ; 0x28
|
|
838: 495a ldr r1, [pc, #360] ; (9a4 <ssd1963_init+0x6d4>)
|
|
83a: 485b ldr r0, [pc, #364] ; (9a8 <ssd1963_init+0x6d8>)
|
|
83c: 4b5b ldr r3, [pc, #364] ; (9ac <ssd1963_init+0x6dc>)
|
|
83e: 4798 blx r3
|
|
840: 4b57 ldr r3, [pc, #348] ; (9a0 <ssd1963_init+0x6d0>)
|
|
842: 2240 movs r2, #64 ; 0x40
|
|
844: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
846: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
848: 4b54 ldr r3, [pc, #336] ; (99c <ssd1963_init+0x6cc>)
|
|
84a: 781b ldrb r3, [r3, #0]
|
|
84c: b12b cbz r3, 85a <ssd1963_init+0x58a>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
84e: 2220 movs r2, #32
|
|
850: 4b53 ldr r3, [pc, #332] ; (9a0 <ssd1963_init+0x6d0>)
|
|
852: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
854: 2200 movs r2, #0
|
|
856: 4b51 ldr r3, [pc, #324] ; (99c <ssd1963_init+0x6cc>)
|
|
858: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
85a: 2200 movs r2, #0
|
|
85c: 4951 ldr r1, [pc, #324] ; (9a4 <ssd1963_init+0x6d4>)
|
|
85e: 4852 ldr r0, [pc, #328] ; (9a8 <ssd1963_init+0x6d8>)
|
|
860: 4b52 ldr r3, [pc, #328] ; (9ac <ssd1963_init+0x6dc>)
|
|
862: 4798 blx r3
|
|
864: 4b4e ldr r3, [pc, #312] ; (9a0 <ssd1963_init+0x6d0>)
|
|
866: 2240 movs r2, #64 ; 0x40
|
|
868: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
86a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
86c: 4b4b ldr r3, [pc, #300] ; (99c <ssd1963_init+0x6cc>)
|
|
86e: 781b ldrb r3, [r3, #0]
|
|
870: b12b cbz r3, 87e <ssd1963_init+0x5ae>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
872: 2220 movs r2, #32
|
|
874: 4b4a ldr r3, [pc, #296] ; (9a0 <ssd1963_init+0x6d0>)
|
|
876: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
878: 2200 movs r2, #0
|
|
87a: 4b48 ldr r3, [pc, #288] ; (99c <ssd1963_init+0x6cc>)
|
|
87c: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
87e: 2200 movs r2, #0
|
|
880: 4948 ldr r1, [pc, #288] ; (9a4 <ssd1963_init+0x6d4>)
|
|
882: 4849 ldr r0, [pc, #292] ; (9a8 <ssd1963_init+0x6d8>)
|
|
884: 4b49 ldr r3, [pc, #292] ; (9ac <ssd1963_init+0x6dc>)
|
|
886: 4798 blx r3
|
|
888: 4b45 ldr r3, [pc, #276] ; (9a0 <ssd1963_init+0x6d0>)
|
|
88a: 2240 movs r2, #64 ; 0x40
|
|
88c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
88e: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
890: 4b42 ldr r3, [pc, #264] ; (99c <ssd1963_init+0x6cc>)
|
|
892: 781b ldrb r3, [r3, #0]
|
|
894: b12b cbz r3, 8a2 <ssd1963_init+0x5d2>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
896: 2220 movs r2, #32
|
|
898: 4b41 ldr r3, [pc, #260] ; (9a0 <ssd1963_init+0x6d0>)
|
|
89a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
89c: 2200 movs r2, #0
|
|
89e: 4b3f ldr r3, [pc, #252] ; (99c <ssd1963_init+0x6cc>)
|
|
8a0: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
8a2: 2200 movs r2, #0
|
|
8a4: 493f ldr r1, [pc, #252] ; (9a4 <ssd1963_init+0x6d4>)
|
|
8a6: 4840 ldr r0, [pc, #256] ; (9a8 <ssd1963_init+0x6d8>)
|
|
8a8: 4b40 ldr r3, [pc, #256] ; (9ac <ssd1963_init+0x6dc>)
|
|
8aa: 4798 blx r3
|
|
8ac: 4b3c ldr r3, [pc, #240] ; (9a0 <ssd1963_init+0x6d0>)
|
|
8ae: 2240 movs r2, #64 ; 0x40
|
|
8b0: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
8b2: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
8b4: 4b39 ldr r3, [pc, #228] ; (99c <ssd1963_init+0x6cc>)
|
|
8b6: 781b ldrb r3, [r3, #0]
|
|
8b8: b92b cbnz r3, 8c6 <ssd1963_init+0x5f6>
|
|
8ba: 2220 movs r2, #32
|
|
8bc: 4b38 ldr r3, [pc, #224] ; (9a0 <ssd1963_init+0x6d0>)
|
|
8be: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
8c0: 2201 movs r2, #1
|
|
8c2: 4b36 ldr r3, [pc, #216] ; (99c <ssd1963_init+0x6cc>)
|
|
8c4: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
8c6: 22b6 movs r2, #182 ; 0xb6
|
|
8c8: 4936 ldr r1, [pc, #216] ; (9a4 <ssd1963_init+0x6d4>)
|
|
8ca: 4837 ldr r0, [pc, #220] ; (9a8 <ssd1963_init+0x6d8>)
|
|
8cc: 4b37 ldr r3, [pc, #220] ; (9ac <ssd1963_init+0x6dc>)
|
|
8ce: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
8d0: 4b33 ldr r3, [pc, #204] ; (9a0 <ssd1963_init+0x6d0>)
|
|
8d2: 2240 movs r2, #64 ; 0x40
|
|
8d4: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
8d6: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
8d8: 4b30 ldr r3, [pc, #192] ; (99c <ssd1963_init+0x6cc>)
|
|
8da: 781b ldrb r3, [r3, #0]
|
|
8dc: b12b cbz r3, 8ea <ssd1963_init+0x61a>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
8de: 2220 movs r2, #32
|
|
8e0: 4b2f ldr r3, [pc, #188] ; (9a0 <ssd1963_init+0x6d0>)
|
|
8e2: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
8e4: 2200 movs r2, #0
|
|
8e6: 4b2d ldr r3, [pc, #180] ; (99c <ssd1963_init+0x6cc>)
|
|
8e8: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
8ea: 2201 movs r2, #1
|
|
8ec: 492d ldr r1, [pc, #180] ; (9a4 <ssd1963_init+0x6d4>)
|
|
8ee: 482e ldr r0, [pc, #184] ; (9a8 <ssd1963_init+0x6d8>)
|
|
8f0: 4b2e ldr r3, [pc, #184] ; (9ac <ssd1963_init+0x6dc>)
|
|
8f2: 4798 blx r3
|
|
8f4: 4b2a ldr r3, [pc, #168] ; (9a0 <ssd1963_init+0x6d0>)
|
|
8f6: 2240 movs r2, #64 ; 0x40
|
|
8f8: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
8fa: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
8fc: 4b27 ldr r3, [pc, #156] ; (99c <ssd1963_init+0x6cc>)
|
|
8fe: 781b ldrb r3, [r3, #0]
|
|
900: b12b cbz r3, 90e <ssd1963_init+0x63e>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
902: 2220 movs r2, #32
|
|
904: 4b26 ldr r3, [pc, #152] ; (9a0 <ssd1963_init+0x6d0>)
|
|
906: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
908: 2200 movs r2, #0
|
|
90a: 4b24 ldr r3, [pc, #144] ; (99c <ssd1963_init+0x6cc>)
|
|
90c: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
90e: 221d movs r2, #29
|
|
910: 4924 ldr r1, [pc, #144] ; (9a4 <ssd1963_init+0x6d4>)
|
|
912: 4825 ldr r0, [pc, #148] ; (9a8 <ssd1963_init+0x6d8>)
|
|
914: 4b25 ldr r3, [pc, #148] ; (9ac <ssd1963_init+0x6dc>)
|
|
916: 4798 blx r3
|
|
918: 4b21 ldr r3, [pc, #132] ; (9a0 <ssd1963_init+0x6d0>)
|
|
91a: 2240 movs r2, #64 ; 0x40
|
|
91c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
91e: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
920: 4b1e ldr r3, [pc, #120] ; (99c <ssd1963_init+0x6cc>)
|
|
922: 781b ldrb r3, [r3, #0]
|
|
924: b12b cbz r3, 932 <ssd1963_init+0x662>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
926: 2220 movs r2, #32
|
|
928: 4b1d ldr r3, [pc, #116] ; (9a0 <ssd1963_init+0x6d0>)
|
|
92a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
92c: 2200 movs r2, #0
|
|
92e: 4b1b ldr r3, [pc, #108] ; (99c <ssd1963_init+0x6cc>)
|
|
930: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
932: 2200 movs r2, #0
|
|
934: 491b ldr r1, [pc, #108] ; (9a4 <ssd1963_init+0x6d4>)
|
|
936: 481c ldr r0, [pc, #112] ; (9a8 <ssd1963_init+0x6d8>)
|
|
938: 4b1c ldr r3, [pc, #112] ; (9ac <ssd1963_init+0x6dc>)
|
|
93a: 4798 blx r3
|
|
93c: 4b18 ldr r3, [pc, #96] ; (9a0 <ssd1963_init+0x6d0>)
|
|
93e: 2240 movs r2, #64 ; 0x40
|
|
940: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
942: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
944: 4b15 ldr r3, [pc, #84] ; (99c <ssd1963_init+0x6cc>)
|
|
946: 781b ldrb r3, [r3, #0]
|
|
948: b12b cbz r3, 956 <ssd1963_init+0x686>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
94a: 2220 movs r2, #32
|
|
94c: 4b14 ldr r3, [pc, #80] ; (9a0 <ssd1963_init+0x6d0>)
|
|
94e: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
950: 2200 movs r2, #0
|
|
952: 4b12 ldr r3, [pc, #72] ; (99c <ssd1963_init+0x6cc>)
|
|
954: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
956: 220c movs r2, #12
|
|
958: 4912 ldr r1, [pc, #72] ; (9a4 <ssd1963_init+0x6d4>)
|
|
95a: 4813 ldr r0, [pc, #76] ; (9a8 <ssd1963_init+0x6d8>)
|
|
95c: 4b13 ldr r3, [pc, #76] ; (9ac <ssd1963_init+0x6dc>)
|
|
95e: 4798 blx r3
|
|
960: 4b0f ldr r3, [pc, #60] ; (9a0 <ssd1963_init+0x6d0>)
|
|
962: 2240 movs r2, #64 ; 0x40
|
|
964: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
966: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
968: 4b0c ldr r3, [pc, #48] ; (99c <ssd1963_init+0x6cc>)
|
|
96a: 781b ldrb r3, [r3, #0]
|
|
96c: b12b cbz r3, 97a <ssd1963_init+0x6aa>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
96e: 2220 movs r2, #32
|
|
970: 4b0b ldr r3, [pc, #44] ; (9a0 <ssd1963_init+0x6d0>)
|
|
972: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
974: 2200 movs r2, #0
|
|
976: 4b09 ldr r3, [pc, #36] ; (99c <ssd1963_init+0x6cc>)
|
|
978: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
97a: 2209 movs r2, #9
|
|
97c: 4909 ldr r1, [pc, #36] ; (9a4 <ssd1963_init+0x6d4>)
|
|
97e: 480a ldr r0, [pc, #40] ; (9a8 <ssd1963_init+0x6d8>)
|
|
980: 4b0a ldr r3, [pc, #40] ; (9ac <ssd1963_init+0x6dc>)
|
|
982: 4798 blx r3
|
|
984: 4b06 ldr r3, [pc, #24] ; (9a0 <ssd1963_init+0x6d0>)
|
|
986: 2240 movs r2, #64 ; 0x40
|
|
988: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
98a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
98c: 4b03 ldr r3, [pc, #12] ; (99c <ssd1963_init+0x6cc>)
|
|
98e: 781b ldrb r3, [r3, #0]
|
|
990: b18b cbz r3, 9b6 <ssd1963_init+0x6e6>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
992: 2220 movs r2, #32
|
|
994: 4b02 ldr r3, [pc, #8] ; (9a0 <ssd1963_init+0x6d0>)
|
|
996: 619a str r2, [r3, #24]
|
|
998: e00a b.n 9b0 <ssd1963_init+0x6e0>
|
|
99a: bf00 nop
|
|
99c: 20000000 .word 0x20000000
|
|
9a0: 41008000 .word 0x41008000
|
|
9a4: 1c03c3f7 .word 0x1c03c3f7
|
|
9a8: 41008080 .word 0x41008080
|
|
9ac: 00001041 .word 0x00001041
|
|
cmd_mode = false;
|
|
9b0: 2200 movs r2, #0
|
|
9b2: 4b8b ldr r3, [pc, #556] ; (be0 <ssd1963_init+0x910>)
|
|
9b4: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
9b6: 2200 movs r2, #0
|
|
9b8: 498a ldr r1, [pc, #552] ; (be4 <ssd1963_init+0x914>)
|
|
9ba: 488b ldr r0, [pc, #556] ; (be8 <ssd1963_init+0x918>)
|
|
9bc: 4b8b ldr r3, [pc, #556] ; (bec <ssd1963_init+0x91c>)
|
|
9be: 4798 blx r3
|
|
9c0: 4b8b ldr r3, [pc, #556] ; (bf0 <ssd1963_init+0x920>)
|
|
9c2: 2240 movs r2, #64 ; 0x40
|
|
9c4: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
9c6: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
9c8: 4b85 ldr r3, [pc, #532] ; (be0 <ssd1963_init+0x910>)
|
|
9ca: 781b ldrb r3, [r3, #0]
|
|
9cc: b12b cbz r3, 9da <ssd1963_init+0x70a>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
9ce: 2220 movs r2, #32
|
|
9d0: 4b87 ldr r3, [pc, #540] ; (bf0 <ssd1963_init+0x920>)
|
|
9d2: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
9d4: 2200 movs r2, #0
|
|
9d6: 4b82 ldr r3, [pc, #520] ; (be0 <ssd1963_init+0x910>)
|
|
9d8: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
9da: 2200 movs r2, #0
|
|
9dc: 4981 ldr r1, [pc, #516] ; (be4 <ssd1963_init+0x914>)
|
|
9de: 4882 ldr r0, [pc, #520] ; (be8 <ssd1963_init+0x918>)
|
|
9e0: 4b82 ldr r3, [pc, #520] ; (bec <ssd1963_init+0x91c>)
|
|
9e2: 4798 blx r3
|
|
9e4: 4b82 ldr r3, [pc, #520] ; (bf0 <ssd1963_init+0x920>)
|
|
9e6: 2240 movs r2, #64 ; 0x40
|
|
9e8: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
9ea: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
9ec: 4b7c ldr r3, [pc, #496] ; (be0 <ssd1963_init+0x910>)
|
|
9ee: 781b ldrb r3, [r3, #0]
|
|
9f0: b92b cbnz r3, 9fe <ssd1963_init+0x72e>
|
|
9f2: 2220 movs r2, #32
|
|
9f4: 4b7e ldr r3, [pc, #504] ; (bf0 <ssd1963_init+0x920>)
|
|
9f6: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
9f8: 2201 movs r2, #1
|
|
9fa: 4b79 ldr r3, [pc, #484] ; (be0 <ssd1963_init+0x910>)
|
|
9fc: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
9fe: 222a movs r2, #42 ; 0x2a
|
|
a00: 4978 ldr r1, [pc, #480] ; (be4 <ssd1963_init+0x914>)
|
|
a02: 4879 ldr r0, [pc, #484] ; (be8 <ssd1963_init+0x918>)
|
|
a04: 4b79 ldr r3, [pc, #484] ; (bec <ssd1963_init+0x91c>)
|
|
a06: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
a08: 4b79 ldr r3, [pc, #484] ; (bf0 <ssd1963_init+0x920>)
|
|
a0a: 2240 movs r2, #64 ; 0x40
|
|
a0c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
a0e: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
a10: 4b73 ldr r3, [pc, #460] ; (be0 <ssd1963_init+0x910>)
|
|
a12: 781b ldrb r3, [r3, #0]
|
|
a14: b12b cbz r3, a22 <ssd1963_init+0x752>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
a16: 2220 movs r2, #32
|
|
a18: 4b75 ldr r3, [pc, #468] ; (bf0 <ssd1963_init+0x920>)
|
|
a1a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
a1c: 2200 movs r2, #0
|
|
a1e: 4b70 ldr r3, [pc, #448] ; (be0 <ssd1963_init+0x910>)
|
|
a20: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
a22: 2200 movs r2, #0
|
|
a24: 496f ldr r1, [pc, #444] ; (be4 <ssd1963_init+0x914>)
|
|
a26: 4870 ldr r0, [pc, #448] ; (be8 <ssd1963_init+0x918>)
|
|
a28: 4b70 ldr r3, [pc, #448] ; (bec <ssd1963_init+0x91c>)
|
|
a2a: 4798 blx r3
|
|
a2c: 4b70 ldr r3, [pc, #448] ; (bf0 <ssd1963_init+0x920>)
|
|
a2e: 2240 movs r2, #64 ; 0x40
|
|
a30: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
a32: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
a34: 4b6a ldr r3, [pc, #424] ; (be0 <ssd1963_init+0x910>)
|
|
a36: 781b ldrb r3, [r3, #0]
|
|
a38: b12b cbz r3, a46 <ssd1963_init+0x776>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
a3a: 2220 movs r2, #32
|
|
a3c: 4b6c ldr r3, [pc, #432] ; (bf0 <ssd1963_init+0x920>)
|
|
a3e: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
a40: 2200 movs r2, #0
|
|
a42: 4b67 ldr r3, [pc, #412] ; (be0 <ssd1963_init+0x910>)
|
|
a44: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
a46: 2200 movs r2, #0
|
|
a48: 4966 ldr r1, [pc, #408] ; (be4 <ssd1963_init+0x914>)
|
|
a4a: 4867 ldr r0, [pc, #412] ; (be8 <ssd1963_init+0x918>)
|
|
a4c: 4b67 ldr r3, [pc, #412] ; (bec <ssd1963_init+0x91c>)
|
|
a4e: 4798 blx r3
|
|
a50: 4b67 ldr r3, [pc, #412] ; (bf0 <ssd1963_init+0x920>)
|
|
a52: 2240 movs r2, #64 ; 0x40
|
|
a54: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
a56: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
a58: 4b61 ldr r3, [pc, #388] ; (be0 <ssd1963_init+0x910>)
|
|
a5a: 781b ldrb r3, [r3, #0]
|
|
a5c: b12b cbz r3, a6a <ssd1963_init+0x79a>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
a5e: 2220 movs r2, #32
|
|
a60: 4b63 ldr r3, [pc, #396] ; (bf0 <ssd1963_init+0x920>)
|
|
a62: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
a64: 2200 movs r2, #0
|
|
a66: 4b5e ldr r3, [pc, #376] ; (be0 <ssd1963_init+0x910>)
|
|
a68: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
a6a: 2201 movs r2, #1
|
|
a6c: 495d ldr r1, [pc, #372] ; (be4 <ssd1963_init+0x914>)
|
|
a6e: 485e ldr r0, [pc, #376] ; (be8 <ssd1963_init+0x918>)
|
|
a70: 4b5e ldr r3, [pc, #376] ; (bec <ssd1963_init+0x91c>)
|
|
a72: 4798 blx r3
|
|
a74: 4b5e ldr r3, [pc, #376] ; (bf0 <ssd1963_init+0x920>)
|
|
a76: 2240 movs r2, #64 ; 0x40
|
|
a78: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
a7a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
a7c: 4b58 ldr r3, [pc, #352] ; (be0 <ssd1963_init+0x910>)
|
|
a7e: 781b ldrb r3, [r3, #0]
|
|
a80: b12b cbz r3, a8e <ssd1963_init+0x7be>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
a82: 2220 movs r2, #32
|
|
a84: 4b5a ldr r3, [pc, #360] ; (bf0 <ssd1963_init+0x920>)
|
|
a86: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
a88: 2200 movs r2, #0
|
|
a8a: 4b55 ldr r3, [pc, #340] ; (be0 <ssd1963_init+0x910>)
|
|
a8c: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
a8e: 22df movs r2, #223 ; 0xdf
|
|
a90: 4954 ldr r1, [pc, #336] ; (be4 <ssd1963_init+0x914>)
|
|
a92: 4855 ldr r0, [pc, #340] ; (be8 <ssd1963_init+0x918>)
|
|
a94: 4b55 ldr r3, [pc, #340] ; (bec <ssd1963_init+0x91c>)
|
|
a96: 4798 blx r3
|
|
a98: 4b55 ldr r3, [pc, #340] ; (bf0 <ssd1963_init+0x920>)
|
|
a9a: 2240 movs r2, #64 ; 0x40
|
|
a9c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
a9e: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
aa0: 4b4f ldr r3, [pc, #316] ; (be0 <ssd1963_init+0x910>)
|
|
aa2: 781b ldrb r3, [r3, #0]
|
|
aa4: b92b cbnz r3, ab2 <ssd1963_init+0x7e2>
|
|
aa6: 2220 movs r2, #32
|
|
aa8: 4b51 ldr r3, [pc, #324] ; (bf0 <ssd1963_init+0x920>)
|
|
aaa: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
aac: 2201 movs r2, #1
|
|
aae: 4b4c ldr r3, [pc, #304] ; (be0 <ssd1963_init+0x910>)
|
|
ab0: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
ab2: 222b movs r2, #43 ; 0x2b
|
|
ab4: 494b ldr r1, [pc, #300] ; (be4 <ssd1963_init+0x914>)
|
|
ab6: 484c ldr r0, [pc, #304] ; (be8 <ssd1963_init+0x918>)
|
|
ab8: 4b4c ldr r3, [pc, #304] ; (bec <ssd1963_init+0x91c>)
|
|
aba: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
abc: 4b4c ldr r3, [pc, #304] ; (bf0 <ssd1963_init+0x920>)
|
|
abe: 2240 movs r2, #64 ; 0x40
|
|
ac0: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
ac2: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
ac4: 4b46 ldr r3, [pc, #280] ; (be0 <ssd1963_init+0x910>)
|
|
ac6: 781b ldrb r3, [r3, #0]
|
|
ac8: b12b cbz r3, ad6 <ssd1963_init+0x806>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
aca: 2220 movs r2, #32
|
|
acc: 4b48 ldr r3, [pc, #288] ; (bf0 <ssd1963_init+0x920>)
|
|
ace: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
ad0: 2200 movs r2, #0
|
|
ad2: 4b43 ldr r3, [pc, #268] ; (be0 <ssd1963_init+0x910>)
|
|
ad4: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
ad6: 2200 movs r2, #0
|
|
ad8: 4942 ldr r1, [pc, #264] ; (be4 <ssd1963_init+0x914>)
|
|
ada: 4843 ldr r0, [pc, #268] ; (be8 <ssd1963_init+0x918>)
|
|
adc: 4b43 ldr r3, [pc, #268] ; (bec <ssd1963_init+0x91c>)
|
|
ade: 4798 blx r3
|
|
ae0: 4b43 ldr r3, [pc, #268] ; (bf0 <ssd1963_init+0x920>)
|
|
ae2: 2240 movs r2, #64 ; 0x40
|
|
ae4: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
ae6: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
ae8: 4b3d ldr r3, [pc, #244] ; (be0 <ssd1963_init+0x910>)
|
|
aea: 781b ldrb r3, [r3, #0]
|
|
aec: b12b cbz r3, afa <ssd1963_init+0x82a>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
aee: 2220 movs r2, #32
|
|
af0: 4b3f ldr r3, [pc, #252] ; (bf0 <ssd1963_init+0x920>)
|
|
af2: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
af4: 2200 movs r2, #0
|
|
af6: 4b3a ldr r3, [pc, #232] ; (be0 <ssd1963_init+0x910>)
|
|
af8: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
afa: 2200 movs r2, #0
|
|
afc: 4939 ldr r1, [pc, #228] ; (be4 <ssd1963_init+0x914>)
|
|
afe: 483a ldr r0, [pc, #232] ; (be8 <ssd1963_init+0x918>)
|
|
b00: 4b3a ldr r3, [pc, #232] ; (bec <ssd1963_init+0x91c>)
|
|
b02: 4798 blx r3
|
|
b04: 4b3a ldr r3, [pc, #232] ; (bf0 <ssd1963_init+0x920>)
|
|
b06: 2240 movs r2, #64 ; 0x40
|
|
b08: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
b0a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
b0c: 4b34 ldr r3, [pc, #208] ; (be0 <ssd1963_init+0x910>)
|
|
b0e: 781b ldrb r3, [r3, #0]
|
|
b10: b12b cbz r3, b1e <ssd1963_init+0x84e>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
b12: 2220 movs r2, #32
|
|
b14: 4b36 ldr r3, [pc, #216] ; (bf0 <ssd1963_init+0x920>)
|
|
b16: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
b18: 2200 movs r2, #0
|
|
b1a: 4b31 ldr r3, [pc, #196] ; (be0 <ssd1963_init+0x910>)
|
|
b1c: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
b1e: 2201 movs r2, #1
|
|
b20: 4930 ldr r1, [pc, #192] ; (be4 <ssd1963_init+0x914>)
|
|
b22: 4831 ldr r0, [pc, #196] ; (be8 <ssd1963_init+0x918>)
|
|
b24: 4b31 ldr r3, [pc, #196] ; (bec <ssd1963_init+0x91c>)
|
|
b26: 4798 blx r3
|
|
b28: 4b31 ldr r3, [pc, #196] ; (bf0 <ssd1963_init+0x920>)
|
|
b2a: 2240 movs r2, #64 ; 0x40
|
|
b2c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
b2e: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
b30: 4b2b ldr r3, [pc, #172] ; (be0 <ssd1963_init+0x910>)
|
|
b32: 781b ldrb r3, [r3, #0]
|
|
b34: b12b cbz r3, b42 <ssd1963_init+0x872>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
b36: 2220 movs r2, #32
|
|
b38: 4b2d ldr r3, [pc, #180] ; (bf0 <ssd1963_init+0x920>)
|
|
b3a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
b3c: 2200 movs r2, #0
|
|
b3e: 4b28 ldr r3, [pc, #160] ; (be0 <ssd1963_init+0x910>)
|
|
b40: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
b42: 220f movs r2, #15
|
|
b44: 4927 ldr r1, [pc, #156] ; (be4 <ssd1963_init+0x914>)
|
|
b46: 4828 ldr r0, [pc, #160] ; (be8 <ssd1963_init+0x918>)
|
|
b48: 4b28 ldr r3, [pc, #160] ; (bec <ssd1963_init+0x91c>)
|
|
b4a: 4798 blx r3
|
|
b4c: 4b28 ldr r3, [pc, #160] ; (bf0 <ssd1963_init+0x920>)
|
|
b4e: 2240 movs r2, #64 ; 0x40
|
|
b50: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
b52: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
b54: 4b22 ldr r3, [pc, #136] ; (be0 <ssd1963_init+0x910>)
|
|
b56: 781b ldrb r3, [r3, #0]
|
|
b58: b92b cbnz r3, b66 <ssd1963_init+0x896>
|
|
b5a: 2220 movs r2, #32
|
|
b5c: 4b24 ldr r3, [pc, #144] ; (bf0 <ssd1963_init+0x920>)
|
|
b5e: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
b60: 2201 movs r2, #1
|
|
b62: 4b1f ldr r3, [pc, #124] ; (be0 <ssd1963_init+0x910>)
|
|
b64: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
b66: 2229 movs r2, #41 ; 0x29
|
|
b68: 491e ldr r1, [pc, #120] ; (be4 <ssd1963_init+0x914>)
|
|
b6a: 481f ldr r0, [pc, #124] ; (be8 <ssd1963_init+0x918>)
|
|
b6c: 4b1f ldr r3, [pc, #124] ; (bec <ssd1963_init+0x91c>)
|
|
b6e: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
b70: 4b1f ldr r3, [pc, #124] ; (bf0 <ssd1963_init+0x920>)
|
|
b72: 2240 movs r2, #64 ; 0x40
|
|
b74: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
b76: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
b78: 4b19 ldr r3, [pc, #100] ; (be0 <ssd1963_init+0x910>)
|
|
b7a: 781b ldrb r3, [r3, #0]
|
|
b7c: b92b cbnz r3, b8a <ssd1963_init+0x8ba>
|
|
b7e: 2220 movs r2, #32
|
|
b80: 4b1b ldr r3, [pc, #108] ; (bf0 <ssd1963_init+0x920>)
|
|
b82: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
b84: 2201 movs r2, #1
|
|
b86: 4b16 ldr r3, [pc, #88] ; (be0 <ssd1963_init+0x910>)
|
|
b88: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
b8a: 22be movs r2, #190 ; 0xbe
|
|
b8c: 4915 ldr r1, [pc, #84] ; (be4 <ssd1963_init+0x914>)
|
|
b8e: 4816 ldr r0, [pc, #88] ; (be8 <ssd1963_init+0x918>)
|
|
b90: 4b16 ldr r3, [pc, #88] ; (bec <ssd1963_init+0x91c>)
|
|
b92: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
b94: 4b16 ldr r3, [pc, #88] ; (bf0 <ssd1963_init+0x920>)
|
|
b96: 2240 movs r2, #64 ; 0x40
|
|
b98: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
b9a: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
b9c: 4b10 ldr r3, [pc, #64] ; (be0 <ssd1963_init+0x910>)
|
|
b9e: 781b ldrb r3, [r3, #0]
|
|
ba0: b12b cbz r3, bae <ssd1963_init+0x8de>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
ba2: 2220 movs r2, #32
|
|
ba4: 4b12 ldr r3, [pc, #72] ; (bf0 <ssd1963_init+0x920>)
|
|
ba6: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
ba8: 2200 movs r2, #0
|
|
baa: 4b0d ldr r3, [pc, #52] ; (be0 <ssd1963_init+0x910>)
|
|
bac: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
bae: 2206 movs r2, #6
|
|
bb0: 490c ldr r1, [pc, #48] ; (be4 <ssd1963_init+0x914>)
|
|
bb2: 480d ldr r0, [pc, #52] ; (be8 <ssd1963_init+0x918>)
|
|
bb4: 4b0d ldr r3, [pc, #52] ; (bec <ssd1963_init+0x91c>)
|
|
bb6: 4798 blx r3
|
|
bb8: 4b0d ldr r3, [pc, #52] ; (bf0 <ssd1963_init+0x920>)
|
|
bba: 2240 movs r2, #64 ; 0x40
|
|
bbc: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
bbe: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
bc0: 4b07 ldr r3, [pc, #28] ; (be0 <ssd1963_init+0x910>)
|
|
bc2: 781b ldrb r3, [r3, #0]
|
|
bc4: b12b cbz r3, bd2 <ssd1963_init+0x902>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
bc6: 2220 movs r2, #32
|
|
bc8: 4b09 ldr r3, [pc, #36] ; (bf0 <ssd1963_init+0x920>)
|
|
bca: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
bcc: 2200 movs r2, #0
|
|
bce: 4b04 ldr r3, [pc, #16] ; (be0 <ssd1963_init+0x910>)
|
|
bd0: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
bd2: 22ff movs r2, #255 ; 0xff
|
|
bd4: 4903 ldr r1, [pc, #12] ; (be4 <ssd1963_init+0x914>)
|
|
bd6: 4804 ldr r0, [pc, #16] ; (be8 <ssd1963_init+0x918>)
|
|
bd8: 4b04 ldr r3, [pc, #16] ; (bec <ssd1963_init+0x91c>)
|
|
bda: 4798 blx r3
|
|
bdc: e00a b.n bf4 <ssd1963_init+0x924>
|
|
bde: bf00 nop
|
|
be0: 20000000 .word 0x20000000
|
|
be4: 1c03c3f7 .word 0x1c03c3f7
|
|
be8: 41008080 .word 0x41008080
|
|
bec: 00001041 .word 0x00001041
|
|
bf0: 41008000 .word 0x41008000
|
|
bf4: 4b26 ldr r3, [pc, #152] ; (c90 <ssd1963_init+0x9c0>)
|
|
bf6: 2240 movs r2, #64 ; 0x40
|
|
bf8: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
bfa: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
bfc: 4b25 ldr r3, [pc, #148] ; (c94 <ssd1963_init+0x9c4>)
|
|
bfe: 781b ldrb r3, [r3, #0]
|
|
c00: b12b cbz r3, c0e <ssd1963_init+0x93e>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
c02: 2220 movs r2, #32
|
|
c04: 4b22 ldr r3, [pc, #136] ; (c90 <ssd1963_init+0x9c0>)
|
|
c06: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
c08: 2200 movs r2, #0
|
|
c0a: 4b22 ldr r3, [pc, #136] ; (c94 <ssd1963_init+0x9c4>)
|
|
c0c: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
c0e: 2201 movs r2, #1
|
|
c10: 4921 ldr r1, [pc, #132] ; (c98 <ssd1963_init+0x9c8>)
|
|
c12: 4822 ldr r0, [pc, #136] ; (c9c <ssd1963_init+0x9cc>)
|
|
c14: 4b22 ldr r3, [pc, #136] ; (ca0 <ssd1963_init+0x9d0>)
|
|
c16: 4798 blx r3
|
|
c18: 4b1d ldr r3, [pc, #116] ; (c90 <ssd1963_init+0x9c0>)
|
|
c1a: 2240 movs r2, #64 ; 0x40
|
|
c1c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
c1e: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
c20: 4b1c ldr r3, [pc, #112] ; (c94 <ssd1963_init+0x9c4>)
|
|
c22: 781b ldrb r3, [r3, #0]
|
|
c24: b12b cbz r3, c32 <ssd1963_init+0x962>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
c26: 2220 movs r2, #32
|
|
c28: 4b19 ldr r3, [pc, #100] ; (c90 <ssd1963_init+0x9c0>)
|
|
c2a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
c2c: 2200 movs r2, #0
|
|
c2e: 4b19 ldr r3, [pc, #100] ; (c94 <ssd1963_init+0x9c4>)
|
|
c30: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
c32: 22ff movs r2, #255 ; 0xff
|
|
c34: 4918 ldr r1, [pc, #96] ; (c98 <ssd1963_init+0x9c8>)
|
|
c36: 4819 ldr r0, [pc, #100] ; (c9c <ssd1963_init+0x9cc>)
|
|
c38: 4b19 ldr r3, [pc, #100] ; (ca0 <ssd1963_init+0x9d0>)
|
|
c3a: 4798 blx r3
|
|
c3c: 4b14 ldr r3, [pc, #80] ; (c90 <ssd1963_init+0x9c0>)
|
|
c3e: 2240 movs r2, #64 ; 0x40
|
|
c40: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
c42: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
c44: 4b13 ldr r3, [pc, #76] ; (c94 <ssd1963_init+0x9c4>)
|
|
c46: 781b ldrb r3, [r3, #0]
|
|
c48: b12b cbz r3, c56 <ssd1963_init+0x986>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
c4a: 2220 movs r2, #32
|
|
c4c: 4b10 ldr r3, [pc, #64] ; (c90 <ssd1963_init+0x9c0>)
|
|
c4e: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
c50: 2200 movs r2, #0
|
|
c52: 4b10 ldr r3, [pc, #64] ; (c94 <ssd1963_init+0x9c4>)
|
|
c54: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
c56: 2200 movs r2, #0
|
|
c58: 490f ldr r1, [pc, #60] ; (c98 <ssd1963_init+0x9c8>)
|
|
c5a: 4810 ldr r0, [pc, #64] ; (c9c <ssd1963_init+0x9cc>)
|
|
c5c: 4b10 ldr r3, [pc, #64] ; (ca0 <ssd1963_init+0x9d0>)
|
|
c5e: 4798 blx r3
|
|
c60: 4b0b ldr r3, [pc, #44] ; (c90 <ssd1963_init+0x9c0>)
|
|
c62: 2240 movs r2, #64 ; 0x40
|
|
c64: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
c66: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
c68: 4b0a ldr r3, [pc, #40] ; (c94 <ssd1963_init+0x9c4>)
|
|
c6a: 781b ldrb r3, [r3, #0]
|
|
c6c: b12b cbz r3, c7a <ssd1963_init+0x9aa>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
c6e: 2220 movs r2, #32
|
|
c70: 4b07 ldr r3, [pc, #28] ; (c90 <ssd1963_init+0x9c0>)
|
|
c72: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
c74: 2200 movs r2, #0
|
|
c76: 4b07 ldr r3, [pc, #28] ; (c94 <ssd1963_init+0x9c4>)
|
|
c78: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
c7a: 2201 movs r2, #1
|
|
c7c: 4906 ldr r1, [pc, #24] ; (c98 <ssd1963_init+0x9c8>)
|
|
c7e: 4807 ldr r0, [pc, #28] ; (c9c <ssd1963_init+0x9cc>)
|
|
c80: 4b07 ldr r3, [pc, #28] ; (ca0 <ssd1963_init+0x9d0>)
|
|
c82: 4798 blx r3
|
|
c84: 4b02 ldr r3, [pc, #8] ; (c90 <ssd1963_init+0x9c0>)
|
|
c86: 2240 movs r2, #64 ; 0x40
|
|
c88: 619a str r2, [r3, #24]
|
|
c8a: 619a str r2, [r3, #24]
|
|
c8c: bd70 pop {r4, r5, r6, pc}
|
|
c8e: bf00 nop
|
|
c90: 41008000 .word 0x41008000
|
|
c94: 20000000 .word 0x20000000
|
|
c98: 1c03c3f7 .word 0x1c03c3f7
|
|
c9c: 41008080 .word 0x41008080
|
|
ca0: 00001041 .word 0x00001041
|
|
|
|
00000ca4 <ssd1963_flush>:
|
|
{
|
|
ca4: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
if(area->x2 < 0) return;
|
|
ca8: f9b1 3004 ldrsh.w r3, [r1, #4]
|
|
cac: 2b00 cmp r3, #0
|
|
cae: db0f blt.n cd0 <ssd1963_flush+0x2c>
|
|
cb0: 4681 mov r9, r0
|
|
cb2: 468a mov sl, r1
|
|
cb4: 4615 mov r5, r2
|
|
if(area->y2 < 0) return;
|
|
cb6: f9b1 3006 ldrsh.w r3, [r1, #6]
|
|
cba: 2b00 cmp r3, #0
|
|
cbc: db08 blt.n cd0 <ssd1963_flush+0x2c>
|
|
if(area->x1 > SSD1963_HOR_RES - 1) return;
|
|
cbe: f9b1 4000 ldrsh.w r4, [r1]
|
|
cc2: 4b04 ldr r3, [pc, #16] ; (cd4 <ssd1963_flush+0x30>)
|
|
cc4: 4798 blx r3
|
|
cc6: 4b04 ldr r3, [pc, #16] ; (cd8 <ssd1963_flush+0x34>)
|
|
cc8: 4798 blx r3
|
|
cca: 3801 subs r0, #1
|
|
ccc: 4284 cmp r4, r0
|
|
cce: dd05 ble.n cdc <ssd1963_flush+0x38>
|
|
cd0: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
cd4: 00010ec9 .word 0x00010ec9
|
|
cd8: 00010ed5 .word 0x00010ed5
|
|
if(area->y1 > SSD1963_VER_RES - 1) return;
|
|
cdc: f9ba 4002 ldrsh.w r4, [sl, #2]
|
|
ce0: 4b94 ldr r3, [pc, #592] ; (f34 <ssd1963_flush+0x290>)
|
|
ce2: 4798 blx r3
|
|
ce4: 4b94 ldr r3, [pc, #592] ; (f38 <ssd1963_flush+0x294>)
|
|
ce6: 4798 blx r3
|
|
ce8: 3801 subs r0, #1
|
|
cea: 4284 cmp r4, r0
|
|
cec: dcf0 bgt.n cd0 <ssd1963_flush+0x2c>
|
|
int32_t act_x1 = area->x1 < 0 ? 0 : area->x1;
|
|
cee: f9ba 6000 ldrsh.w r6, [sl]
|
|
cf2: ea26 76e6 bic.w r6, r6, r6, asr #31
|
|
int32_t act_y1 = area->y1 < 0 ? 0 : area->y1;
|
|
cf6: f9ba 4002 ldrsh.w r4, [sl, #2]
|
|
cfa: ea24 74e4 bic.w r4, r4, r4, asr #31
|
|
cfe: 46a3 mov fp, r4
|
|
int32_t act_x2 = area->x2 > SSD1963_HOR_RES - 1 ? SSD1963_HOR_RES - 1 : area->x2;
|
|
d00: f9ba 7004 ldrsh.w r7, [sl, #4]
|
|
d04: 4b8b ldr r3, [pc, #556] ; (f34 <ssd1963_flush+0x290>)
|
|
d06: 4798 blx r3
|
|
d08: 4b8c ldr r3, [pc, #560] ; (f3c <ssd1963_flush+0x298>)
|
|
d0a: 4798 blx r3
|
|
d0c: 3801 subs r0, #1
|
|
d0e: 4287 cmp r7, r0
|
|
d10: f300 810a bgt.w f28 <ssd1963_flush+0x284>
|
|
d14: f9ba 7004 ldrsh.w r7, [sl, #4]
|
|
int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2;
|
|
d18: f9ba 8006 ldrsh.w r8, [sl, #6]
|
|
d1c: 4b85 ldr r3, [pc, #532] ; (f34 <ssd1963_flush+0x290>)
|
|
d1e: 4798 blx r3
|
|
d20: 4b85 ldr r3, [pc, #532] ; (f38 <ssd1963_flush+0x294>)
|
|
d22: 4798 blx r3
|
|
d24: 3801 subs r0, #1
|
|
d26: 4580 cmp r8, r0
|
|
d28: f300 8118 bgt.w f5c <ssd1963_flush+0x2b8>
|
|
d2c: f9ba 8006 ldrsh.w r8, [sl, #6]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
d30: 2240 movs r2, #64 ; 0x40
|
|
d32: 4b83 ldr r3, [pc, #524] ; (f40 <ssd1963_flush+0x29c>)
|
|
d34: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
d36: 4b83 ldr r3, [pc, #524] ; (f44 <ssd1963_flush+0x2a0>)
|
|
d38: 781b ldrb r3, [r3, #0]
|
|
d3a: b92b cbnz r3, d48 <ssd1963_flush+0xa4>
|
|
d3c: 2220 movs r2, #32
|
|
d3e: 4b80 ldr r3, [pc, #512] ; (f40 <ssd1963_flush+0x29c>)
|
|
d40: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
d42: 2201 movs r2, #1
|
|
d44: 4b7f ldr r3, [pc, #508] ; (f44 <ssd1963_flush+0x2a0>)
|
|
d46: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
d48: 222a movs r2, #42 ; 0x2a
|
|
d4a: 497f ldr r1, [pc, #508] ; (f48 <ssd1963_flush+0x2a4>)
|
|
d4c: 487f ldr r0, [pc, #508] ; (f4c <ssd1963_flush+0x2a8>)
|
|
d4e: 4b80 ldr r3, [pc, #512] ; (f50 <ssd1963_flush+0x2ac>)
|
|
d50: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
d52: 4b7b ldr r3, [pc, #492] ; (f40 <ssd1963_flush+0x29c>)
|
|
d54: 2140 movs r1, #64 ; 0x40
|
|
d56: 6199 str r1, [r3, #24]
|
|
ssd1963_data(act_x1 >> 8);
|
|
d58: f3c6 2207 ubfx r2, r6, #8, #8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
d5c: 6159 str r1, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
d5e: 4b79 ldr r3, [pc, #484] ; (f44 <ssd1963_flush+0x2a0>)
|
|
d60: 781b ldrb r3, [r3, #0]
|
|
d62: b12b cbz r3, d70 <ssd1963_flush+0xcc>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
d64: 2120 movs r1, #32
|
|
d66: 4b76 ldr r3, [pc, #472] ; (f40 <ssd1963_flush+0x29c>)
|
|
d68: 6199 str r1, [r3, #24]
|
|
cmd_mode = false;
|
|
d6a: 2100 movs r1, #0
|
|
d6c: 4b75 ldr r3, [pc, #468] ; (f44 <ssd1963_flush+0x2a0>)
|
|
d6e: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
d70: 4975 ldr r1, [pc, #468] ; (f48 <ssd1963_flush+0x2a4>)
|
|
d72: 4876 ldr r0, [pc, #472] ; (f4c <ssd1963_flush+0x2a8>)
|
|
d74: 4b76 ldr r3, [pc, #472] ; (f50 <ssd1963_flush+0x2ac>)
|
|
d76: 4798 blx r3
|
|
d78: 4b71 ldr r3, [pc, #452] ; (f40 <ssd1963_flush+0x29c>)
|
|
d7a: 2240 movs r2, #64 ; 0x40
|
|
d7c: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
d7e: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
d80: 4b70 ldr r3, [pc, #448] ; (f44 <ssd1963_flush+0x2a0>)
|
|
d82: 781b ldrb r3, [r3, #0]
|
|
d84: b12b cbz r3, d92 <ssd1963_flush+0xee>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
d86: 2220 movs r2, #32
|
|
d88: 4b6d ldr r3, [pc, #436] ; (f40 <ssd1963_flush+0x29c>)
|
|
d8a: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
d8c: 2200 movs r2, #0
|
|
d8e: 4b6d ldr r3, [pc, #436] ; (f44 <ssd1963_flush+0x2a0>)
|
|
d90: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
d92: b2f2 uxtb r2, r6
|
|
d94: 496c ldr r1, [pc, #432] ; (f48 <ssd1963_flush+0x2a4>)
|
|
d96: 486d ldr r0, [pc, #436] ; (f4c <ssd1963_flush+0x2a8>)
|
|
d98: 4b6d ldr r3, [pc, #436] ; (f50 <ssd1963_flush+0x2ac>)
|
|
d9a: 4798 blx r3
|
|
d9c: 4b68 ldr r3, [pc, #416] ; (f40 <ssd1963_flush+0x29c>)
|
|
d9e: 2140 movs r1, #64 ; 0x40
|
|
da0: 6199 str r1, [r3, #24]
|
|
ssd1963_data(act_x2 >> 8);
|
|
da2: f3c7 2207 ubfx r2, r7, #8, #8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
da6: 6159 str r1, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
da8: 4b66 ldr r3, [pc, #408] ; (f44 <ssd1963_flush+0x2a0>)
|
|
daa: 781b ldrb r3, [r3, #0]
|
|
dac: b12b cbz r3, dba <ssd1963_flush+0x116>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
dae: 2120 movs r1, #32
|
|
db0: 4b63 ldr r3, [pc, #396] ; (f40 <ssd1963_flush+0x29c>)
|
|
db2: 6199 str r1, [r3, #24]
|
|
cmd_mode = false;
|
|
db4: 2100 movs r1, #0
|
|
db6: 4b63 ldr r3, [pc, #396] ; (f44 <ssd1963_flush+0x2a0>)
|
|
db8: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
dba: 4963 ldr r1, [pc, #396] ; (f48 <ssd1963_flush+0x2a4>)
|
|
dbc: 4863 ldr r0, [pc, #396] ; (f4c <ssd1963_flush+0x2a8>)
|
|
dbe: 4b64 ldr r3, [pc, #400] ; (f50 <ssd1963_flush+0x2ac>)
|
|
dc0: 4798 blx r3
|
|
dc2: 4b5f ldr r3, [pc, #380] ; (f40 <ssd1963_flush+0x29c>)
|
|
dc4: 2140 movs r1, #64 ; 0x40
|
|
dc6: 6199 str r1, [r3, #24]
|
|
ssd1963_data(0x00FF & act_x2);
|
|
dc8: b2fa uxtb r2, r7
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
dca: 6159 str r1, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
dcc: 4b5d ldr r3, [pc, #372] ; (f44 <ssd1963_flush+0x2a0>)
|
|
dce: 781b ldrb r3, [r3, #0]
|
|
dd0: b12b cbz r3, dde <ssd1963_flush+0x13a>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
dd2: 2120 movs r1, #32
|
|
dd4: 4b5a ldr r3, [pc, #360] ; (f40 <ssd1963_flush+0x29c>)
|
|
dd6: 6199 str r1, [r3, #24]
|
|
cmd_mode = false;
|
|
dd8: 2100 movs r1, #0
|
|
dda: 4b5a ldr r3, [pc, #360] ; (f44 <ssd1963_flush+0x2a0>)
|
|
ddc: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
dde: 495a ldr r1, [pc, #360] ; (f48 <ssd1963_flush+0x2a4>)
|
|
de0: 485a ldr r0, [pc, #360] ; (f4c <ssd1963_flush+0x2a8>)
|
|
de2: 4b5b ldr r3, [pc, #364] ; (f50 <ssd1963_flush+0x2ac>)
|
|
de4: 4798 blx r3
|
|
de6: 4b56 ldr r3, [pc, #344] ; (f40 <ssd1963_flush+0x29c>)
|
|
de8: 2240 movs r2, #64 ; 0x40
|
|
dea: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
dec: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
dee: 4b55 ldr r3, [pc, #340] ; (f44 <ssd1963_flush+0x2a0>)
|
|
df0: 781b ldrb r3, [r3, #0]
|
|
df2: b92b cbnz r3, e00 <ssd1963_flush+0x15c>
|
|
df4: 2220 movs r2, #32
|
|
df6: 4b52 ldr r3, [pc, #328] ; (f40 <ssd1963_flush+0x29c>)
|
|
df8: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
dfa: 2201 movs r2, #1
|
|
dfc: 4b51 ldr r3, [pc, #324] ; (f44 <ssd1963_flush+0x2a0>)
|
|
dfe: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
e00: 222b movs r2, #43 ; 0x2b
|
|
e02: 4951 ldr r1, [pc, #324] ; (f48 <ssd1963_flush+0x2a4>)
|
|
e04: 4851 ldr r0, [pc, #324] ; (f4c <ssd1963_flush+0x2a8>)
|
|
e06: 4b52 ldr r3, [pc, #328] ; (f50 <ssd1963_flush+0x2ac>)
|
|
e08: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
e0a: 4b4d ldr r3, [pc, #308] ; (f40 <ssd1963_flush+0x29c>)
|
|
e0c: 2140 movs r1, #64 ; 0x40
|
|
e0e: 6199 str r1, [r3, #24]
|
|
ssd1963_data(act_y1 >> 8);
|
|
e10: f3cb 2207 ubfx r2, fp, #8, #8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
e14: 6159 str r1, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
e16: 4b4b ldr r3, [pc, #300] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e18: 781b ldrb r3, [r3, #0]
|
|
e1a: b12b cbz r3, e28 <ssd1963_flush+0x184>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
e1c: 2120 movs r1, #32
|
|
e1e: 4b48 ldr r3, [pc, #288] ; (f40 <ssd1963_flush+0x29c>)
|
|
e20: 6199 str r1, [r3, #24]
|
|
cmd_mode = false;
|
|
e22: 2100 movs r1, #0
|
|
e24: 4b47 ldr r3, [pc, #284] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e26: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
e28: 4947 ldr r1, [pc, #284] ; (f48 <ssd1963_flush+0x2a4>)
|
|
e2a: 4848 ldr r0, [pc, #288] ; (f4c <ssd1963_flush+0x2a8>)
|
|
e2c: 4b48 ldr r3, [pc, #288] ; (f50 <ssd1963_flush+0x2ac>)
|
|
e2e: 4798 blx r3
|
|
e30: 4b43 ldr r3, [pc, #268] ; (f40 <ssd1963_flush+0x29c>)
|
|
e32: 2240 movs r2, #64 ; 0x40
|
|
e34: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
e36: 615a str r2, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
e38: 4b42 ldr r3, [pc, #264] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e3a: 781b ldrb r3, [r3, #0]
|
|
e3c: b12b cbz r3, e4a <ssd1963_flush+0x1a6>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
e3e: 2220 movs r2, #32
|
|
e40: 4b3f ldr r3, [pc, #252] ; (f40 <ssd1963_flush+0x29c>)
|
|
e42: 619a str r2, [r3, #24]
|
|
cmd_mode = false;
|
|
e44: 2200 movs r2, #0
|
|
e46: 4b3f ldr r3, [pc, #252] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e48: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
e4a: b2e2 uxtb r2, r4
|
|
e4c: 493e ldr r1, [pc, #248] ; (f48 <ssd1963_flush+0x2a4>)
|
|
e4e: 483f ldr r0, [pc, #252] ; (f4c <ssd1963_flush+0x2a8>)
|
|
e50: 4b3f ldr r3, [pc, #252] ; (f50 <ssd1963_flush+0x2ac>)
|
|
e52: 4798 blx r3
|
|
e54: 4b3a ldr r3, [pc, #232] ; (f40 <ssd1963_flush+0x29c>)
|
|
e56: 2140 movs r1, #64 ; 0x40
|
|
e58: 6199 str r1, [r3, #24]
|
|
ssd1963_data(act_y2 >> 8);
|
|
e5a: f3c8 2207 ubfx r2, r8, #8, #8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
e5e: 6159 str r1, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
e60: 4b38 ldr r3, [pc, #224] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e62: 781b ldrb r3, [r3, #0]
|
|
e64: b12b cbz r3, e72 <ssd1963_flush+0x1ce>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
e66: 2120 movs r1, #32
|
|
e68: 4b35 ldr r3, [pc, #212] ; (f40 <ssd1963_flush+0x29c>)
|
|
e6a: 6199 str r1, [r3, #24]
|
|
cmd_mode = false;
|
|
e6c: 2100 movs r1, #0
|
|
e6e: 4b35 ldr r3, [pc, #212] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e70: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
e72: 4935 ldr r1, [pc, #212] ; (f48 <ssd1963_flush+0x2a4>)
|
|
e74: 4835 ldr r0, [pc, #212] ; (f4c <ssd1963_flush+0x2a8>)
|
|
e76: 4b36 ldr r3, [pc, #216] ; (f50 <ssd1963_flush+0x2ac>)
|
|
e78: 4798 blx r3
|
|
e7a: 4b31 ldr r3, [pc, #196] ; (f40 <ssd1963_flush+0x29c>)
|
|
e7c: 2140 movs r1, #64 ; 0x40
|
|
e7e: 6199 str r1, [r3, #24]
|
|
ssd1963_data(0x00FF & act_y2);
|
|
e80: fa5f f288 uxtb.w r2, r8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
e84: 6159 str r1, [r3, #20]
|
|
if(cmd_mode != false) {
|
|
e86: 4b2f ldr r3, [pc, #188] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e88: 781b ldrb r3, [r3, #0]
|
|
e8a: b12b cbz r3, e98 <ssd1963_flush+0x1f4>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
e8c: 2120 movs r1, #32
|
|
e8e: 4b2c ldr r3, [pc, #176] ; (f40 <ssd1963_flush+0x29c>)
|
|
e90: 6199 str r1, [r3, #24]
|
|
cmd_mode = false;
|
|
e92: 2100 movs r1, #0
|
|
e94: 4b2b ldr r3, [pc, #172] ; (f44 <ssd1963_flush+0x2a0>)
|
|
e96: 7019 strb r1, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(data);
|
|
e98: 492b ldr r1, [pc, #172] ; (f48 <ssd1963_flush+0x2a4>)
|
|
e9a: 482c ldr r0, [pc, #176] ; (f4c <ssd1963_flush+0x2a8>)
|
|
e9c: 4b2c ldr r3, [pc, #176] ; (f50 <ssd1963_flush+0x2ac>)
|
|
e9e: 4798 blx r3
|
|
ea0: 4b27 ldr r3, [pc, #156] ; (f40 <ssd1963_flush+0x29c>)
|
|
ea2: 2240 movs r2, #64 ; 0x40
|
|
ea4: 619a str r2, [r3, #24]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
ea6: 615a str r2, [r3, #20]
|
|
if(cmd_mode == false) {
|
|
ea8: 4b26 ldr r3, [pc, #152] ; (f44 <ssd1963_flush+0x2a0>)
|
|
eaa: 781b ldrb r3, [r3, #0]
|
|
eac: b92b cbnz r3, eba <ssd1963_flush+0x216>
|
|
eae: 2220 movs r2, #32
|
|
eb0: 4b23 ldr r3, [pc, #140] ; (f40 <ssd1963_flush+0x29c>)
|
|
eb2: 615a str r2, [r3, #20]
|
|
cmd_mode = true;
|
|
eb4: 2201 movs r2, #1
|
|
eb6: 4b23 ldr r3, [pc, #140] ; (f44 <ssd1963_flush+0x2a0>)
|
|
eb8: 701a strb r2, [r3, #0]
|
|
LV_DRV_DISP_PAR_WR_WORD(cmd);
|
|
eba: 222c movs r2, #44 ; 0x2c
|
|
ebc: 4922 ldr r1, [pc, #136] ; (f48 <ssd1963_flush+0x2a4>)
|
|
ebe: 4823 ldr r0, [pc, #140] ; (f4c <ssd1963_flush+0x2a8>)
|
|
ec0: 4b23 ldr r3, [pc, #140] ; (f50 <ssd1963_flush+0x2ac>)
|
|
ec2: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
ec4: 2240 movs r2, #64 ; 0x40
|
|
ec6: 4b1e ldr r3, [pc, #120] ; (f40 <ssd1963_flush+0x29c>)
|
|
ec8: 619a str r2, [r3, #24]
|
|
uint16_t full_w = area->x2 - area->x1 + 1;
|
|
eca: f8ba 3004 ldrh.w r3, [sl, #4]
|
|
ece: 3301 adds r3, #1
|
|
ed0: f8ba 2000 ldrh.w r2, [sl]
|
|
ed4: 1a9b subs r3, r3, r2
|
|
ed6: b29b uxth r3, r3
|
|
if(cmd_mode != false) {
|
|
ed8: 4a1a ldr r2, [pc, #104] ; (f44 <ssd1963_flush+0x2a0>)
|
|
eda: 7812 ldrb r2, [r2, #0]
|
|
edc: b12a cbz r2, eea <ssd1963_flush+0x246>
|
|
ede: 2120 movs r1, #32
|
|
ee0: 4a17 ldr r2, [pc, #92] ; (f40 <ssd1963_flush+0x29c>)
|
|
ee2: 6191 str r1, [r2, #24]
|
|
cmd_mode = false;
|
|
ee4: 2100 movs r1, #0
|
|
ee6: 4a17 ldr r2, [pc, #92] ; (f44 <ssd1963_flush+0x2a0>)
|
|
ee8: 7011 strb r1, [r2, #0]
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
eea: 2140 movs r1, #64 ; 0x40
|
|
eec: 4a14 ldr r2, [pc, #80] ; (f40 <ssd1963_flush+0x29c>)
|
|
eee: 6151 str r1, [r2, #20]
|
|
uint16_t act_w = act_x2 - act_x1 + 1;
|
|
ef0: f1c6 0601 rsb r6, r6, #1
|
|
ef4: 443e add r6, r7
|
|
ef6: b2b6 uxth r6, r6
|
|
for(i = act_y1; i <= act_y2; i++) {
|
|
ef8: 45d8 cmp r8, fp
|
|
efa: db0e blt.n f1a <ssd1963_flush+0x276>
|
|
color_p += full_w;
|
|
efc: 005f lsls r7, r3, #1
|
|
LV_DRV_DISP_PAR_WR_ARRAY((uint16_t *)color_p, act_w);
|
|
efe: f8df b048 ldr.w fp, [pc, #72] ; f48 <ssd1963_flush+0x2a4>
|
|
f02: f8df a054 ldr.w sl, [pc, #84] ; f58 <ssd1963_flush+0x2b4>
|
|
f06: 4633 mov r3, r6
|
|
f08: 462a mov r2, r5
|
|
f0a: 4659 mov r1, fp
|
|
f0c: 480f ldr r0, [pc, #60] ; (f4c <ssd1963_flush+0x2a8>)
|
|
f0e: 47d0 blx sl
|
|
color_p += full_w;
|
|
f10: 443d add r5, r7
|
|
f12: 3401 adds r4, #1
|
|
f14: b224 sxth r4, r4
|
|
for(i = act_y1; i <= act_y2; i++) {
|
|
f16: 45a0 cmp r8, r4
|
|
f18: daf5 bge.n f06 <ssd1963_flush+0x262>
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
f1a: 2240 movs r2, #64 ; 0x40
|
|
f1c: 4b08 ldr r3, [pc, #32] ; (f40 <ssd1963_flush+0x29c>)
|
|
f1e: 619a str r2, [r3, #24]
|
|
lv_disp_flush_ready(disp_drv);
|
|
f20: 4648 mov r0, r9
|
|
f22: 4b0c ldr r3, [pc, #48] ; (f54 <ssd1963_flush+0x2b0>)
|
|
f24: 4798 blx r3
|
|
f26: e6d3 b.n cd0 <ssd1963_flush+0x2c>
|
|
int32_t act_x2 = area->x2 > SSD1963_HOR_RES - 1 ? SSD1963_HOR_RES - 1 : area->x2;
|
|
f28: 4b02 ldr r3, [pc, #8] ; (f34 <ssd1963_flush+0x290>)
|
|
f2a: 4798 blx r3
|
|
f2c: 4b03 ldr r3, [pc, #12] ; (f3c <ssd1963_flush+0x298>)
|
|
f2e: 4798 blx r3
|
|
f30: 1e47 subs r7, r0, #1
|
|
f32: e6f1 b.n d18 <ssd1963_flush+0x74>
|
|
f34: 00010ec9 .word 0x00010ec9
|
|
f38: 00010efd .word 0x00010efd
|
|
f3c: 00010ed5 .word 0x00010ed5
|
|
f40: 41008000 .word 0x41008000
|
|
f44: 20000000 .word 0x20000000
|
|
f48: 1c03c3f7 .word 0x1c03c3f7
|
|
f4c: 41008080 .word 0x41008080
|
|
f50: 00001041 .word 0x00001041
|
|
f54: 00010f95 .word 0x00010f95
|
|
f58: 00001061 .word 0x00001061
|
|
int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2;
|
|
f5c: 4b03 ldr r3, [pc, #12] ; (f6c <ssd1963_flush+0x2c8>)
|
|
f5e: 4798 blx r3
|
|
f60: 4b03 ldr r3, [pc, #12] ; (f70 <ssd1963_flush+0x2cc>)
|
|
f62: 4798 blx r3
|
|
f64: f100 38ff add.w r8, r0, #4294967295
|
|
f68: e6e2 b.n d30 <ssd1963_flush+0x8c>
|
|
f6a: bf00 nop
|
|
f6c: 00010ec9 .word 0x00010ec9
|
|
f70: 00010efd .word 0x00010efd
|
|
|
|
00000f74 <Dummy_Handler>:
|
|
|
|
/**
|
|
* \brief Default interrupt handler for unused IRQs.
|
|
*/
|
|
void Dummy_Handler(void)
|
|
{
|
|
f74: e7fe b.n f74 <Dummy_Handler>
|
|
...
|
|
|
|
00000f78 <Reset_Handler>:
|
|
{
|
|
f78: b508 push {r3, lr}
|
|
if (pSrc != pDest) {
|
|
f7a: 4b1c ldr r3, [pc, #112] ; (fec <Reset_Handler+0x74>)
|
|
f7c: 4a1c ldr r2, [pc, #112] ; (ff0 <Reset_Handler+0x78>)
|
|
f7e: 429a cmp r2, r3
|
|
f80: d010 beq.n fa4 <Reset_Handler+0x2c>
|
|
for (; pDest < &_erelocate;) {
|
|
f82: 4b1c ldr r3, [pc, #112] ; (ff4 <Reset_Handler+0x7c>)
|
|
f84: 4a19 ldr r2, [pc, #100] ; (fec <Reset_Handler+0x74>)
|
|
f86: 429a cmp r2, r3
|
|
f88: d20c bcs.n fa4 <Reset_Handler+0x2c>
|
|
f8a: 3b01 subs r3, #1
|
|
f8c: 1a9b subs r3, r3, r2
|
|
f8e: f023 0303 bic.w r3, r3, #3
|
|
f92: 3304 adds r3, #4
|
|
f94: 4413 add r3, r2
|
|
f96: 4916 ldr r1, [pc, #88] ; (ff0 <Reset_Handler+0x78>)
|
|
*pDest++ = *pSrc++;
|
|
f98: f851 0b04 ldr.w r0, [r1], #4
|
|
f9c: f842 0b04 str.w r0, [r2], #4
|
|
for (; pDest < &_erelocate;) {
|
|
fa0: 429a cmp r2, r3
|
|
fa2: d1f9 bne.n f98 <Reset_Handler+0x20>
|
|
for (pDest = &_szero; pDest < &_ezero;) {
|
|
fa4: 4b14 ldr r3, [pc, #80] ; (ff8 <Reset_Handler+0x80>)
|
|
fa6: 4a15 ldr r2, [pc, #84] ; (ffc <Reset_Handler+0x84>)
|
|
fa8: 429a cmp r2, r3
|
|
faa: d20a bcs.n fc2 <Reset_Handler+0x4a>
|
|
fac: 3b01 subs r3, #1
|
|
fae: 1a9b subs r3, r3, r2
|
|
fb0: f023 0303 bic.w r3, r3, #3
|
|
fb4: 3304 adds r3, #4
|
|
fb6: 4413 add r3, r2
|
|
*pDest++ = 0;
|
|
fb8: 2100 movs r1, #0
|
|
fba: f842 1b04 str.w r1, [r2], #4
|
|
for (pDest = &_szero; pDest < &_ezero;) {
|
|
fbe: 4293 cmp r3, r2
|
|
fc0: d1fb bne.n fba <Reset_Handler+0x42>
|
|
SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk);
|
|
fc2: 4b0f ldr r3, [pc, #60] ; (1000 <Reset_Handler+0x88>)
|
|
fc4: 4a0f ldr r2, [pc, #60] ; (1004 <Reset_Handler+0x8c>)
|
|
fc6: f022 027f bic.w r2, r2, #127 ; 0x7f
|
|
fca: 609a str r2, [r3, #8]
|
|
SCB->CPACR |= (0xFu << 20);
|
|
fcc: f8d3 2088 ldr.w r2, [r3, #136] ; 0x88
|
|
fd0: f442 0270 orr.w r2, r2, #15728640 ; 0xf00000
|
|
fd4: f8c3 2088 str.w r2, [r3, #136] ; 0x88
|
|
\details Acts as a special kind of Data Memory Barrier.
|
|
It completes when all explicit memory accesses before this instruction complete.
|
|
*/
|
|
__STATIC_FORCEINLINE void __DSB(void)
|
|
{
|
|
__ASM volatile ("dsb 0xF":::"memory");
|
|
fd8: f3bf 8f4f dsb sy
|
|
__ASM volatile ("isb 0xF":::"memory");
|
|
fdc: f3bf 8f6f isb sy
|
|
__libc_init_array();
|
|
fe0: 4b09 ldr r3, [pc, #36] ; (1008 <Reset_Handler+0x90>)
|
|
fe2: 4798 blx r3
|
|
main();
|
|
fe4: 4b09 ldr r3, [pc, #36] ; (100c <Reset_Handler+0x94>)
|
|
fe6: 4798 blx r3
|
|
fe8: e7fe b.n fe8 <Reset_Handler+0x70>
|
|
fea: bf00 nop
|
|
fec: 20000000 .word 0x20000000
|
|
ff0: 00029a24 .word 0x00029a24
|
|
ff4: 20000074 .word 0x20000074
|
|
ff8: 20006e04 .word 0x20006e04
|
|
ffc: 20000078 .word 0x20000078
|
|
1000: e000ed00 .word 0xe000ed00
|
|
1004: 00000000 .word 0x00000000
|
|
1008: 0001b47d .word 0x0001b47d
|
|
100c: 00002199 .word 0x00002199
|
|
|
|
00001010 <p_gpio_set_port_data>:
|
|
p_gpio_parallel_write(group, mask, data[ind]);
|
|
}
|
|
}
|
|
|
|
void p_gpio_set_port_data(PortGroup* const port, const uint32_t mask, const uint32_t data)
|
|
{
|
|
1010: b410 push {r4}
|
|
uint32_t dword = (uint32_t)(SSD1963_TFT_DATA_FIX(data));
|
|
1012: 0053 lsls r3, r2, #1
|
|
1014: f403 737c and.w r3, r3, #1008 ; 0x3f0
|
|
1018: 0154 lsls r4, r2, #5
|
|
101a: f404 3470 and.w r4, r4, #245760 ; 0x3c000
|
|
101e: 4323 orrs r3, r4
|
|
1020: f002 0407 and.w r4, r2, #7
|
|
1024: 4323 orrs r3, r4
|
|
1026: 0352 lsls r2, r2, #13
|
|
1028: f002 52e0 and.w r2, r2, #469762048 ; 0x1c000000
|
|
102c: 431a orrs r2, r3
|
|
port->OUTSET.reg = (mask & dword);
|
|
102e: ea02 0301 and.w r3, r2, r1
|
|
1032: 6183 str r3, [r0, #24]
|
|
port->OUTCLR.reg = (mask & ~dword);
|
|
1034: ea21 0102 bic.w r1, r1, r2
|
|
1038: 6141 str r1, [r0, #20]
|
|
}
|
|
103a: f85d 4b04 ldr.w r4, [sp], #4
|
|
103e: 4770 bx lr
|
|
|
|
00001040 <p_gpio_parallel_write>:
|
|
{
|
|
1040: b538 push {r3, r4, r5, lr}
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
1042: 4c05 ldr r4, [pc, #20] ; (1058 <p_gpio_parallel_write+0x18>)
|
|
1044: 2540 movs r5, #64 ; 0x40
|
|
1046: 6165 str r5, [r4, #20]
|
|
p_gpio_set_port_data(group, mask, (uint32_t)data);
|
|
1048: 4b04 ldr r3, [pc, #16] ; (105c <p_gpio_parallel_write+0x1c>)
|
|
104a: 4798 blx r3
|
|
104c: 2380 movs r3, #128 ; 0x80
|
|
104e: 6163 str r3, [r4, #20]
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
1050: 61a3 str r3, [r4, #24]
|
|
1052: 61a5 str r5, [r4, #24]
|
|
1054: bd38 pop {r3, r4, r5, pc}
|
|
1056: bf00 nop
|
|
1058: 41008000 .word 0x41008000
|
|
105c: 00001011 .word 0x00001011
|
|
|
|
00001060 <p_gpio_parallel_write_arr>:
|
|
for(int ind = 0; ind < len; ind++)
|
|
1060: b18b cbz r3, 1086 <p_gpio_parallel_write_arr+0x26>
|
|
{
|
|
1062: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
1066: 460f mov r7, r1
|
|
1068: 4606 mov r6, r0
|
|
106a: 4614 mov r4, r2
|
|
106c: eb02 0543 add.w r5, r2, r3, lsl #1
|
|
p_gpio_parallel_write(group, mask, data[ind]);
|
|
1070: f8df 8014 ldr.w r8, [pc, #20] ; 1088 <p_gpio_parallel_write_arr+0x28>
|
|
1074: f834 2b02 ldrh.w r2, [r4], #2
|
|
1078: 4639 mov r1, r7
|
|
107a: 4630 mov r0, r6
|
|
107c: 47c0 blx r8
|
|
for(int ind = 0; ind < len; ind++)
|
|
107e: 42ac cmp r4, r5
|
|
1080: d1f8 bne.n 1074 <p_gpio_parallel_write_arr+0x14>
|
|
1082: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
1086: 4770 bx lr
|
|
1088: 00001041 .word 0x00001041
|
|
|
|
0000108c <p_gpio_set_port_group_config>:
|
|
|
|
void p_gpio_set_port_group_config(enum gpio_port port, const uint32_t mask, p_port_config* config)
|
|
{
|
|
108c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
1090: b083 sub sp, #12
|
|
1092: 468b mov fp, r1
|
|
1094: 9200 str r2, [sp, #0]
|
|
for(uint8_t i = 0; i < 32; i++)
|
|
{
|
|
if(mask & (1UL << i))
|
|
{
|
|
uint32_t _gpio_pin = GPIO(port, i);
|
|
1096: 0140 lsls r0, r0, #5
|
|
1098: b2c3 uxtb r3, r0
|
|
109a: 9301 str r3, [sp, #4]
|
|
109c: 2600 movs r6, #0
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
109e: f8df 9194 ldr.w r9, [pc, #404] ; 1234 <p_gpio_set_port_group_config+0x1a8>
|
|
10a2: e065 b.n 1170 <p_gpio_set_port_group_config+0xe4>
|
|
((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask;
|
|
10a4: eb09 13c7 add.w r3, r9, r7, lsl #7
|
|
10a8: 605d str r5, [r3, #4]
|
|
const enum gpio_direction direction)
|
|
{
|
|
switch (direction) {
|
|
case GPIO_DIRECTION_OFF:
|
|
hri_port_clear_DIR_reg(PORT, port, mask);
|
|
hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff));
|
|
10aa: b2aa uxth r2, r5
|
|
10ac: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000
|
|
|
|
static inline void hri_port_write_WRCONFIG_reg(const void *const hw, uint8_t submodule_index,
|
|
hri_port_wrconfig_reg_t data)
|
|
{
|
|
PORT_CRITICAL_SECTION_ENTER();
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
10b0: 629a str r2, [r3, #40] ; 0x28
|
|
hri_port_write_WRCONFIG_reg(
|
|
PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16));
|
|
10b2: 0c2a lsrs r2, r5, #16
|
|
hri_port_write_WRCONFIG_reg(
|
|
10b4: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000
|
|
10b8: 629a str r2, [r3, #40] ; 0x28
|
|
* \brief Set pin pull mode
|
|
*/
|
|
static inline void _gpio_set_pin_pull_mode(const enum gpio_port port, const uint8_t pin,
|
|
const enum gpio_pull_mode pull_mode)
|
|
{
|
|
switch (pull_mode) {
|
|
10ba: 9b00 ldr r3, [sp, #0]
|
|
10bc: 781b ldrb r3, [r3, #0]
|
|
10be: 2b01 cmp r3, #1
|
|
10c0: d077 beq.n 11b2 <p_gpio_set_port_group_config+0x126>
|
|
10c2: b323 cbz r3, 110e <p_gpio_set_port_group_config+0x82>
|
|
10c4: 2b02 cmp r3, #2
|
|
10c6: f000 8084 beq.w 11d2 <p_gpio_set_port_group_config+0x146>
|
|
hri_port_set_PINCFG_PULLEN_bit(PORT, port, pin);
|
|
hri_port_clear_OUT_reg(PORT, port, 1U << pin);
|
|
break;
|
|
|
|
default:
|
|
ASSERT(false);
|
|
10ca: 2289 movs r2, #137 ; 0x89
|
|
10cc: 4957 ldr r1, [pc, #348] ; (122c <p_gpio_set_port_group_config+0x1a0>)
|
|
10ce: 2000 movs r0, #0
|
|
10d0: 4b57 ldr r3, [pc, #348] ; (1230 <p_gpio_set_port_group_config+0x1a4>)
|
|
10d2: 4798 blx r3
|
|
10d4: e024 b.n 1120 <p_gpio_set_port_group_config+0x94>
|
|
((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask;
|
|
10d6: eb09 12c7 add.w r2, r9, r7, lsl #7
|
|
10da: 6055 str r5, [r2, #4]
|
|
hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | PORT_WRCONFIG_INEN | (mask & 0xffff));
|
|
10dc: b2ab uxth r3, r5
|
|
10de: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000
|
|
10e2: f443 3300 orr.w r3, r3, #131072 ; 0x20000
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
10e6: 6293 str r3, [r2, #40] ; 0x28
|
|
| ((mask & 0xffff0000) >> 16));
|
|
10e8: 0c2b lsrs r3, r5, #16
|
|
hri_port_write_WRCONFIG_reg(PORT,
|
|
10ea: f043 4340 orr.w r3, r3, #3221225472 ; 0xc0000000
|
|
10ee: f443 3300 orr.w r3, r3, #131072 ; 0x20000
|
|
10f2: 6293 str r3, [r2, #40] ; 0x28
|
|
10f4: e7e1 b.n 10ba <p_gpio_set_port_group_config+0x2e>
|
|
((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
|
|
10f6: eb09 13c7 add.w r3, r9, r7, lsl #7
|
|
10fa: 609d str r5, [r3, #8]
|
|
hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff));
|
|
10fc: b2aa uxth r2, r5
|
|
10fe: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
1102: 629a str r2, [r3, #40] ; 0x28
|
|
PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16));
|
|
1104: 0c2a lsrs r2, r5, #16
|
|
hri_port_write_WRCONFIG_reg(
|
|
1106: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000
|
|
110a: 629a str r2, [r3, #40] ; 0x28
|
|
110c: e7d5 b.n 10ba <p_gpio_set_port_group_config+0x2e>
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
|
|
110e: eb09 13c7 add.w r3, r9, r7, lsl #7
|
|
1112: 4443 add r3, r8
|
|
1114: f893 2040 ldrb.w r2, [r3, #64] ; 0x40
|
|
1118: f002 02fb and.w r2, r2, #251 ; 0xfb
|
|
111c: f883 2040 strb.w r2, [r3, #64] ; 0x40
|
|
gpio_set_pin_direction(_gpio_pin, config->direction);
|
|
gpio_set_pin_pull_mode(_gpio_pin, config->pull_mode);
|
|
gpio_set_pin_function(_gpio_pin, config->function);
|
|
1120: 9b00 ldr r3, [sp, #0]
|
|
1122: 685a ldr r2, [r3, #4]
|
|
/**
|
|
* \brief Set gpio pin function
|
|
*/
|
|
static inline void _gpio_set_pin_function(const uint32_t gpio, const uint32_t function)
|
|
{
|
|
uint8_t port = GPIO_PORT(gpio);
|
|
1124: 0964 lsrs r4, r4, #5
|
|
uint8_t pin = GPIO_PIN(gpio);
|
|
|
|
if (function == GPIO_PIN_FUNCTION_OFF) {
|
|
1126: f1b2 3fff cmp.w r2, #4294967295
|
|
112a: d062 beq.n 11f2 <p_gpio_set_port_group_config+0x166>
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
112c: b2e4 uxtb r4, r4
|
|
112e: eb09 11c4 add.w r1, r9, r4, lsl #7
|
|
1132: 4441 add r1, r8
|
|
1134: f891 3040 ldrb.w r3, [r1, #64] ; 0x40
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
1138: f003 03fe and.w r3, r3, #254 ; 0xfe
|
|
tmp |= value << PORT_PINCFG_PMUXEN_Pos;
|
|
113c: f043 0301 orr.w r3, r3, #1
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
1140: f881 3040 strb.w r3, [r1, #64] ; 0x40
|
|
hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, false);
|
|
|
|
} else {
|
|
hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, true);
|
|
|
|
if (pin & 1) {
|
|
1144: f01a 0f01 tst.w sl, #1
|
|
1148: d15e bne.n 1208 <p_gpio_set_port_group_config+0x17c>
|
|
tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
|
|
114a: eb09 14c4 add.w r4, r9, r4, lsl #7
|
|
114e: eb04 0858 add.w r8, r4, r8, lsr #1
|
|
1152: f898 3030 ldrb.w r3, [r8, #48] ; 0x30
|
|
tmp &= ~PORT_PMUX_PMUXE_Msk;
|
|
1156: f003 03f0 and.w r3, r3, #240 ; 0xf0
|
|
tmp |= PORT_PMUX_PMUXE(data);
|
|
115a: f002 020f and.w r2, r2, #15
|
|
115e: 431a orrs r2, r3
|
|
((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp;
|
|
1160: f888 2030 strb.w r2, [r8, #48] ; 0x30
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
1164: eb09 17c7 add.w r7, r9, r7, lsl #7
|
|
1168: 617d str r5, [r7, #20]
|
|
116a: 3601 adds r6, #1
|
|
for(uint8_t i = 0; i < 32; i++)
|
|
116c: 2e20 cmp r6, #32
|
|
116e: d059 beq.n 1224 <p_gpio_set_port_group_config+0x198>
|
|
1170: b2f4 uxtb r4, r6
|
|
if(mask & (1UL << i))
|
|
1172: fa2b f306 lsr.w r3, fp, r6
|
|
1176: f013 0f01 tst.w r3, #1
|
|
117a: d0f6 beq.n 116a <p_gpio_set_port_group_config+0xde>
|
|
uint32_t _gpio_pin = GPIO(port, i);
|
|
117c: f004 041f and.w r4, r4, #31
|
|
1180: 9b01 ldr r3, [sp, #4]
|
|
1182: 441c add r4, r3
|
|
gpio_set_pin_direction(_gpio_pin, config->direction);
|
|
1184: fa5f fa84 uxtb.w sl, r4
|
|
* GPIO_DIRECTION_OFF = Disables the pin
|
|
* (low power state)
|
|
*/
|
|
static inline void gpio_set_pin_direction(const uint8_t pin, const enum gpio_direction direction)
|
|
{
|
|
_gpio_set_direction((enum gpio_port)GPIO_PORT(pin), 1U << GPIO_PIN(pin), direction);
|
|
1188: ea4f 175a mov.w r7, sl, lsr #5
|
|
118c: f00a 081f and.w r8, sl, #31
|
|
1190: 2501 movs r5, #1
|
|
1192: fa05 f508 lsl.w r5, r5, r8
|
|
switch (direction) {
|
|
1196: 9b00 ldr r3, [sp, #0]
|
|
1198: 785b ldrb r3, [r3, #1]
|
|
119a: 2b01 cmp r3, #1
|
|
119c: d09b beq.n 10d6 <p_gpio_set_port_group_config+0x4a>
|
|
119e: 2b00 cmp r3, #0
|
|
11a0: d080 beq.n 10a4 <p_gpio_set_port_group_config+0x18>
|
|
11a2: 2b02 cmp r3, #2
|
|
11a4: d0a7 beq.n 10f6 <p_gpio_set_port_group_config+0x6a>
|
|
ASSERT(false);
|
|
11a6: 2246 movs r2, #70 ; 0x46
|
|
11a8: 4920 ldr r1, [pc, #128] ; (122c <p_gpio_set_port_group_config+0x1a0>)
|
|
11aa: 2000 movs r0, #0
|
|
11ac: 4b20 ldr r3, [pc, #128] ; (1230 <p_gpio_set_port_group_config+0x1a4>)
|
|
11ae: 4798 blx r3
|
|
11b0: e783 b.n 10ba <p_gpio_set_port_group_config+0x2e>
|
|
hri_port_clear_DIR_reg(PORT, port, 1U << pin);
|
|
11b2: 2301 movs r3, #1
|
|
11b4: fa03 f308 lsl.w r3, r3, r8
|
|
((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask;
|
|
11b8: eb09 12c7 add.w r2, r9, r7, lsl #7
|
|
11bc: 6053 str r3, [r2, #4]
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN;
|
|
11be: eb02 0008 add.w r0, r2, r8
|
|
11c2: f890 1040 ldrb.w r1, [r0, #64] ; 0x40
|
|
11c6: f041 0104 orr.w r1, r1, #4
|
|
11ca: f880 1040 strb.w r1, [r0, #64] ; 0x40
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
11ce: 6193 str r3, [r2, #24]
|
|
11d0: e7a6 b.n 1120 <p_gpio_set_port_group_config+0x94>
|
|
hri_port_clear_DIR_reg(PORT, port, 1U << pin);
|
|
11d2: 2301 movs r3, #1
|
|
11d4: fa03 f308 lsl.w r3, r3, r8
|
|
((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask;
|
|
11d8: eb09 12c7 add.w r2, r9, r7, lsl #7
|
|
11dc: 6053 str r3, [r2, #4]
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN;
|
|
11de: eb02 0008 add.w r0, r2, r8
|
|
11e2: f890 1040 ldrb.w r1, [r0, #64] ; 0x40
|
|
11e6: f041 0104 orr.w r1, r1, #4
|
|
11ea: f880 1040 strb.w r1, [r0, #64] ; 0x40
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
11ee: 6153 str r3, [r2, #20]
|
|
11f0: e796 b.n 1120 <p_gpio_set_port_group_config+0x94>
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
11f2: b2e4 uxtb r4, r4
|
|
11f4: eb09 14c4 add.w r4, r9, r4, lsl #7
|
|
11f8: 44a0 add r8, r4
|
|
11fa: f898 3040 ldrb.w r3, [r8, #64] ; 0x40
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
11fe: f003 03fe and.w r3, r3, #254 ; 0xfe
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
1202: f888 3040 strb.w r3, [r8, #64] ; 0x40
|
|
1206: e7ad b.n 1164 <p_gpio_set_port_group_config+0xd8>
|
|
tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
|
|
1208: eb09 14c4 add.w r4, r9, r4, lsl #7
|
|
120c: eb04 0858 add.w r8, r4, r8, lsr #1
|
|
1210: f898 3030 ldrb.w r3, [r8, #48] ; 0x30
|
|
tmp &= ~PORT_PMUX_PMUXO_Msk;
|
|
1214: f003 030f and.w r3, r3, #15
|
|
tmp |= PORT_PMUX_PMUXO(data);
|
|
1218: ea43 1202 orr.w r2, r3, r2, lsl #4
|
|
121c: b2d2 uxtb r2, r2
|
|
((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp;
|
|
121e: f888 2030 strb.w r2, [r8, #48] ; 0x30
|
|
1222: e79f b.n 1164 <p_gpio_set_port_group_config+0xd8>
|
|
gpio_set_pin_level(_gpio_pin, 0);
|
|
}
|
|
|
|
}
|
|
}
|
|
1224: b003 add sp, #12
|
|
1226: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
122a: bf00 nop
|
|
122c: 0001b518 .word 0x0001b518
|
|
1230: 000019bd .word 0x000019bd
|
|
1234: 41008000 .word 0x41008000
|
|
|
|
00001238 <p_gpio_init>:
|
|
{
|
|
1238: b570 push {r4, r5, r6, lr}
|
|
123a: b082 sub sp, #8
|
|
memset(&data_config, 0, sizeof(data_config));
|
|
123c: 2300 movs r3, #0
|
|
123e: 9300 str r3, [sp, #0]
|
|
data_config.direction = GPIO_DIRECTION_OUT;
|
|
1240: 2302 movs r3, #2
|
|
1242: f88d 3001 strb.w r3, [sp, #1]
|
|
data_config.function = GPIO_PIN_FUNCTION_OFF;
|
|
1246: f04f 33ff mov.w r3, #4294967295
|
|
124a: 9301 str r3, [sp, #4]
|
|
p_gpio_set_port_group_config(SSD1963_TFT_DATA_PORT, SSD1963_TFT_DATA_MASK, &data_config);
|
|
124c: 466a mov r2, sp
|
|
124e: 493f ldr r1, [pc, #252] ; (134c <p_gpio_init+0x114>)
|
|
1250: 2001 movs r0, #1
|
|
1252: 4b3f ldr r3, [pc, #252] ; (1350 <p_gpio_init+0x118>)
|
|
1254: 4798 blx r3
|
|
((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
|
|
1256: 4b3f ldr r3, [pc, #252] ; (1354 <p_gpio_init+0x11c>)
|
|
1258: 2640 movs r6, #64 ; 0x40
|
|
125a: 609e str r6, [r3, #8]
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
125c: 4a3e ldr r2, [pc, #248] ; (1358 <p_gpio_init+0x120>)
|
|
125e: 629a str r2, [r3, #40] ; 0x28
|
|
1260: f04f 4240 mov.w r2, #3221225472 ; 0xc0000000
|
|
1264: 629a str r2, [r3, #40] ; 0x28
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
|
|
1266: f893 1046 ldrb.w r1, [r3, #70] ; 0x46
|
|
126a: f001 01fb and.w r1, r1, #251 ; 0xfb
|
|
126e: f883 1046 strb.w r1, [r3, #70] ; 0x46
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
1272: f893 1046 ldrb.w r1, [r3, #70] ; 0x46
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
1276: f001 01fe and.w r1, r1, #254 ; 0xfe
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
127a: f883 1046 strb.w r1, [r3, #70] ; 0x46
|
|
((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
|
|
127e: 2510 movs r5, #16
|
|
1280: 609d str r5, [r3, #8]
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
1282: 4936 ldr r1, [pc, #216] ; (135c <p_gpio_init+0x124>)
|
|
1284: 6299 str r1, [r3, #40] ; 0x28
|
|
1286: 629a str r2, [r3, #40] ; 0x28
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
|
|
1288: f893 1044 ldrb.w r1, [r3, #68] ; 0x44
|
|
128c: f001 01fb and.w r1, r1, #251 ; 0xfb
|
|
1290: f883 1044 strb.w r1, [r3, #68] ; 0x44
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
1294: f893 1044 ldrb.w r1, [r3, #68] ; 0x44
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
1298: f001 01fe and.w r1, r1, #254 ; 0xfe
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
129c: f883 1044 strb.w r1, [r3, #68] ; 0x44
|
|
((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
|
|
12a0: 2408 movs r4, #8
|
|
12a2: 609c str r4, [r3, #8]
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
12a4: 492e ldr r1, [pc, #184] ; (1360 <p_gpio_init+0x128>)
|
|
12a6: 6299 str r1, [r3, #40] ; 0x28
|
|
12a8: 629a str r2, [r3, #40] ; 0x28
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
|
|
12aa: f893 1043 ldrb.w r1, [r3, #67] ; 0x43
|
|
12ae: f001 01fb and.w r1, r1, #251 ; 0xfb
|
|
12b2: f883 1043 strb.w r1, [r3, #67] ; 0x43
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
12b6: f893 1043 ldrb.w r1, [r3, #67] ; 0x43
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
12ba: f001 01fe and.w r1, r1, #254 ; 0xfe
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
12be: f883 1043 strb.w r1, [r3, #67] ; 0x43
|
|
((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
|
|
12c2: 2120 movs r1, #32
|
|
12c4: 6099 str r1, [r3, #8]
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
12c6: f101 4180 add.w r1, r1, #1073741824 ; 0x40000000
|
|
12ca: 6299 str r1, [r3, #40] ; 0x28
|
|
12cc: 629a str r2, [r3, #40] ; 0x28
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
|
|
12ce: f893 1045 ldrb.w r1, [r3, #69] ; 0x45
|
|
12d2: f001 01fb and.w r1, r1, #251 ; 0xfb
|
|
12d6: f883 1045 strb.w r1, [r3, #69] ; 0x45
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
12da: f893 1045 ldrb.w r1, [r3, #69] ; 0x45
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
12de: f001 01fe and.w r1, r1, #254 ; 0xfe
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
12e2: f883 1045 strb.w r1, [r3, #69] ; 0x45
|
|
((Port *)hw)->Group[submodule_index].DIRSET.reg = mask;
|
|
12e6: 2080 movs r0, #128 ; 0x80
|
|
12e8: 6098 str r0, [r3, #8]
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
12ea: 491e ldr r1, [pc, #120] ; (1364 <p_gpio_init+0x12c>)
|
|
12ec: 6299 str r1, [r3, #40] ; 0x28
|
|
12ee: 629a str r2, [r3, #40] ; 0x28
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN;
|
|
12f0: f893 2047 ldrb.w r2, [r3, #71] ; 0x47
|
|
12f4: f002 02fb and.w r2, r2, #251 ; 0xfb
|
|
12f8: f883 2047 strb.w r2, [r3, #71] ; 0x47
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
12fc: f893 2047 ldrb.w r2, [r3, #71] ; 0x47
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
1300: f002 02fe and.w r2, r2, #254 ; 0xfe
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
1304: f883 2047 strb.w r2, [r3, #71] ; 0x47
|
|
((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask;
|
|
1308: f44f 7280 mov.w r2, #256 ; 0x100
|
|
130c: f8c3 2184 str.w r2, [r3, #388] ; 0x184
|
|
((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data;
|
|
1310: f501 3100 add.w r1, r1, #131072 ; 0x20000
|
|
1314: 3180 adds r1, #128 ; 0x80
|
|
1316: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8
|
|
131a: 4913 ldr r1, [pc, #76] ; (1368 <p_gpio_init+0x130>)
|
|
131c: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8
|
|
((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask;
|
|
1320: f8c3 2184 str.w r2, [r3, #388] ; 0x184
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN;
|
|
1324: f893 11c8 ldrb.w r1, [r3, #456] ; 0x1c8
|
|
1328: f041 0104 orr.w r1, r1, #4
|
|
132c: f883 11c8 strb.w r1, [r3, #456] ; 0x1c8
|
|
((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask;
|
|
1330: f8c3 2194 str.w r2, [r3, #404] ; 0x194
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
1334: f893 21c8 ldrb.w r2, [r3, #456] ; 0x1c8
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
1338: f002 02fe and.w r2, r2, #254 ; 0xfe
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
133c: f883 21c8 strb.w r2, [r3, #456] ; 0x1c8
|
|
((Port *)hw)->Group[submodule_index].OUTSET.reg = mask;
|
|
1340: 619e str r6, [r3, #24]
|
|
1342: 619d str r5, [r3, #24]
|
|
1344: 619c str r4, [r3, #24]
|
|
1346: 6198 str r0, [r3, #24]
|
|
}
|
|
1348: b002 add sp, #8
|
|
134a: bd70 pop {r4, r5, r6, pc}
|
|
134c: 1c03c3f7 .word 0x1c03c3f7
|
|
1350: 0000108d .word 0x0000108d
|
|
1354: 41008000 .word 0x41008000
|
|
1358: 40000040 .word 0x40000040
|
|
135c: 40000010 .word 0x40000010
|
|
1360: 40000008 .word 0x40000008
|
|
1364: 40000080 .word 0x40000080
|
|
1368: c0020000 .word 0xc0020000
|
|
|
|
0000136c <p_i2c_init>:
|
|
#include "p_i2c.h"
|
|
|
|
struct i2c_m_sync_desc p_i2c_master;
|
|
|
|
void p_i2c_init(void)
|
|
{
|
|
136c: 4770 bx lr
|
|
...
|
|
|
|
00001370 <TIMER_0_task1_cb>:
|
|
static volatile uint64_t sys_time = 0;
|
|
/**
|
|
* Example of using TIMER_0.
|
|
*/
|
|
static void TIMER_0_task1_cb(const struct timer_task *const timer_task)
|
|
{
|
|
1370: b508 push {r3, lr}
|
|
sys_time++;
|
|
1372: 4906 ldr r1, [pc, #24] ; (138c <TIMER_0_task1_cb+0x1c>)
|
|
1374: e9d1 2300 ldrd r2, r3, [r1]
|
|
1378: 3201 adds r2, #1
|
|
137a: f143 0300 adc.w r3, r3, #0
|
|
137e: e9c1 2300 strd r2, r3, [r1]
|
|
lv_tick_inc(1);
|
|
1382: 2001 movs r0, #1
|
|
1384: 4b02 ldr r3, [pc, #8] ; (1390 <TIMER_0_task1_cb+0x20>)
|
|
1386: 4798 blx r3
|
|
1388: bd08 pop {r3, pc}
|
|
138a: bf00 nop
|
|
138c: 20000098 .word 0x20000098
|
|
1390: 0001102d .word 0x0001102d
|
|
|
|
00001394 <p_tcc_init>:
|
|
//timer_add_task(&p_tcc_inst, &TIMER_0_task2);
|
|
timer_start(&p_tcc_inst);
|
|
}
|
|
|
|
void p_tcc_init(void)
|
|
{
|
|
1394: b510 push {r4, lr}
|
|
delay_init(SysTick);
|
|
1396: 4811 ldr r0, [pc, #68] ; (13dc <p_tcc_init+0x48>)
|
|
1398: 4b11 ldr r3, [pc, #68] ; (13e0 <p_tcc_init+0x4c>)
|
|
139a: 4798 blx r3
|
|
}
|
|
|
|
static inline void hri_mclk_set_APBAMASK_TC0_bit(const void *const hw)
|
|
{
|
|
MCLK_CRITICAL_SECTION_ENTER();
|
|
((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_TC0;
|
|
139c: 4a11 ldr r2, [pc, #68] ; (13e4 <p_tcc_init+0x50>)
|
|
139e: 6953 ldr r3, [r2, #20]
|
|
13a0: f443 4380 orr.w r3, r3, #16384 ; 0x4000
|
|
13a4: 6153 str r3, [r2, #20]
|
|
}
|
|
|
|
static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data)
|
|
{
|
|
GCLK_CRITICAL_SECTION_ENTER();
|
|
((Gclk *)hw)->PCHCTRL[index].reg = data;
|
|
13a6: 2240 movs r2, #64 ; 0x40
|
|
13a8: 4b0f ldr r3, [pc, #60] ; (13e8 <p_tcc_init+0x54>)
|
|
13aa: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4
|
|
hri_mclk_set_APBAMASK_TC0_bit(MCLK);
|
|
hri_gclk_write_PCHCTRL_reg(GCLK, TC0_GCLK_ID, CONF_GCLK_TC0_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
|
timer_init(&p_tcc_inst, TC0, _tc_get_timer());
|
|
13ae: 4b0f ldr r3, [pc, #60] ; (13ec <p_tcc_init+0x58>)
|
|
13b0: 4798 blx r3
|
|
13b2: 4c0f ldr r4, [pc, #60] ; (13f0 <p_tcc_init+0x5c>)
|
|
13b4: 4602 mov r2, r0
|
|
13b6: 490f ldr r1, [pc, #60] ; (13f4 <p_tcc_init+0x60>)
|
|
13b8: 4620 mov r0, r4
|
|
13ba: 4b0f ldr r3, [pc, #60] ; (13f8 <p_tcc_init+0x64>)
|
|
13bc: 4798 blx r3
|
|
|
|
TIMER_0_task1.interval = 1;
|
|
13be: 490f ldr r1, [pc, #60] ; (13fc <p_tcc_init+0x68>)
|
|
13c0: 2301 movs r3, #1
|
|
13c2: 610b str r3, [r1, #16]
|
|
TIMER_0_task1.cb = TIMER_0_task1_cb;
|
|
13c4: 4a0e ldr r2, [pc, #56] ; (1400 <p_tcc_init+0x6c>)
|
|
13c6: 614a str r2, [r1, #20]
|
|
TIMER_0_task1.mode = TIMER_TASK_REPEAT;
|
|
13c8: 760b strb r3, [r1, #24]
|
|
//TIMER_0_task2.interval = 200;
|
|
//TIMER_0_task2.cb = TIMER_0_task2_cb;
|
|
//TIMER_0_task2.mode = TIMER_TASK_REPEAT;
|
|
|
|
timer_add_task(&p_tcc_inst, &TIMER_0_task1);
|
|
13ca: 3108 adds r1, #8
|
|
13cc: 4620 mov r0, r4
|
|
13ce: 4b0d ldr r3, [pc, #52] ; (1404 <p_tcc_init+0x70>)
|
|
13d0: 4798 blx r3
|
|
//timer_add_task(&p_tcc_inst, &TIMER_0_task2);
|
|
timer_start(&p_tcc_inst);
|
|
13d2: 4620 mov r0, r4
|
|
13d4: 4b0c ldr r3, [pc, #48] ; (1408 <p_tcc_init+0x74>)
|
|
13d6: 4798 blx r3
|
|
13d8: bd10 pop {r4, pc}
|
|
13da: bf00 nop
|
|
13dc: e000e010 .word 0xe000e010
|
|
13e0: 000014d5 .word 0x000014d5
|
|
13e4: 40000800 .word 0x40000800
|
|
13e8: 40001c00 .word 0x40001c00
|
|
13ec: 00002133 .word 0x00002133
|
|
13f0: 20006c04 .word 0x20006c04
|
|
13f4: 40003800 .word 0x40003800
|
|
13f8: 00001631 .word 0x00001631
|
|
13fc: 20000098 .word 0x20000098
|
|
1400: 00001371 .word 0x00001371
|
|
1404: 000016a9 .word 0x000016a9
|
|
1408: 0000166d .word 0x0000166d
|
|
|
|
0000140c <p_usart_init>:
|
|
static uint8_t example_USART_0[12] = "Hello World!";
|
|
|
|
static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE];
|
|
static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE];
|
|
void p_usart_init(void)
|
|
{
|
|
140c: b530 push {r4, r5, lr}
|
|
140e: b083 sub sp, #12
|
|
1410: 4b1f ldr r3, [pc, #124] ; (1490 <p_usart_init+0x84>)
|
|
1412: 2240 movs r2, #64 ; 0x40
|
|
1414: f8c3 20dc str.w r2, [r3, #220] ; 0xdc
|
|
1418: 2243 movs r2, #67 ; 0x43
|
|
141a: f8c3 208c str.w r2, [r3, #140] ; 0x8c
|
|
}
|
|
|
|
static inline void hri_mclk_set_APBBMASK_SERCOM2_bit(const void *const hw)
|
|
{
|
|
MCLK_CRITICAL_SECTION_ENTER();
|
|
((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM2;
|
|
141e: 4a1d ldr r2, [pc, #116] ; (1494 <p_usart_init+0x88>)
|
|
1420: 6993 ldr r3, [r2, #24]
|
|
1422: f443 7300 orr.w r3, r3, #512 ; 0x200
|
|
1426: 6193 str r3, [r2, #24]
|
|
hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos));
|
|
|
|
hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK);
|
|
|
|
usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL);
|
|
1428: 4c1b ldr r4, [pc, #108] ; (1498 <p_usart_init+0x8c>)
|
|
142a: 2300 movs r3, #0
|
|
142c: 9300 str r3, [sp, #0]
|
|
142e: 2310 movs r3, #16
|
|
1430: 4a1a ldr r2, [pc, #104] ; (149c <p_usart_init+0x90>)
|
|
1432: 491b ldr r1, [pc, #108] ; (14a0 <p_usart_init+0x94>)
|
|
1434: 4620 mov r0, r4
|
|
1436: 4d1b ldr r5, [pc, #108] ; (14a4 <p_usart_init+0x98>)
|
|
1438: 47a8 blx r5
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
143a: 4b1b ldr r3, [pc, #108] ; (14a8 <p_usart_init+0x9c>)
|
|
143c: f893 20d8 ldrb.w r2, [r3, #216] ; 0xd8
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
1440: f002 02fe and.w r2, r2, #254 ; 0xfe
|
|
tmp |= value << PORT_PINCFG_PMUXEN_Pos;
|
|
1444: f042 0201 orr.w r2, r2, #1
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
1448: f883 20d8 strb.w r2, [r3, #216] ; 0xd8
|
|
tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
|
|
144c: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc
|
|
tmp &= ~PORT_PMUX_PMUXE_Msk;
|
|
1450: f002 02f0 and.w r2, r2, #240 ; 0xf0
|
|
tmp |= PORT_PMUX_PMUXE(data);
|
|
1454: f042 0203 orr.w r2, r2, #3
|
|
((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp;
|
|
1458: f883 20bc strb.w r2, [r3, #188] ; 0xbc
|
|
tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg;
|
|
145c: f893 20d9 ldrb.w r2, [r3, #217] ; 0xd9
|
|
tmp &= ~PORT_PINCFG_PMUXEN;
|
|
1460: f002 02fe and.w r2, r2, #254 ; 0xfe
|
|
tmp |= value << PORT_PINCFG_PMUXEN_Pos;
|
|
1464: f042 0201 orr.w r2, r2, #1
|
|
((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp;
|
|
1468: f883 20d9 strb.w r2, [r3, #217] ; 0xd9
|
|
tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg;
|
|
146c: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc
|
|
tmp &= ~PORT_PMUX_PMUXO_Msk;
|
|
1470: f002 020f and.w r2, r2, #15
|
|
tmp |= PORT_PMUX_PMUXO(data);
|
|
1474: f042 0230 orr.w r2, r2, #48 ; 0x30
|
|
((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp;
|
|
1478: f883 20bc strb.w r2, [r3, #188] ; 0xbc
|
|
|
|
// port init
|
|
gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX);
|
|
gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX);
|
|
|
|
usart_async_enable(&p_usart_debug_inst);
|
|
147c: 4620 mov r0, r4
|
|
147e: 4b0b ldr r3, [pc, #44] ; (14ac <p_usart_init+0xa0>)
|
|
1480: 4798 blx r3
|
|
|
|
io_write(&p_usart_debug_inst.io, example_USART_0, 12);
|
|
1482: 220c movs r2, #12
|
|
1484: 490a ldr r1, [pc, #40] ; (14b0 <p_usart_init+0xa4>)
|
|
1486: 4620 mov r0, r4
|
|
1488: 4b0a ldr r3, [pc, #40] ; (14b4 <p_usart_init+0xa8>)
|
|
148a: 4798 blx r3
|
|
|
|
|
|
}
|
|
148c: b003 add sp, #12
|
|
148e: bd30 pop {r4, r5, pc}
|
|
1490: 40001c00 .word 0x40001c00
|
|
1494: 40000800 .word 0x40000800
|
|
1498: 20006c20 .word 0x20006c20
|
|
149c: 200000b4 .word 0x200000b4
|
|
14a0: 41012000 .word 0x41012000
|
|
14a4: 00001901 .word 0x00001901
|
|
14a8: 41008000 .word 0x41008000
|
|
14ac: 00001991 .word 0x00001991
|
|
14b0: 20000004 .word 0x20000004
|
|
14b4: 00001529 .word 0x00001529
|
|
|
|
000014b8 <atomic_enter_critical>:
|
|
__ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
|
|
14b8: f3ef 8310 mrs r3, PRIMASK
|
|
/**
|
|
* \brief Disable interrupts, enter critical section
|
|
*/
|
|
void atomic_enter_critical(hal_atomic_t volatile *atomic)
|
|
{
|
|
*atomic = __get_PRIMASK();
|
|
14bc: 6003 str r3, [r0, #0]
|
|
__ASM volatile ("cpsid i" : : : "memory");
|
|
14be: b672 cpsid i
|
|
\details Ensures the apparent order of the explicit memory operations before
|
|
and after the instruction, without ensuring their completion.
|
|
*/
|
|
__STATIC_FORCEINLINE void __DMB(void)
|
|
{
|
|
__ASM volatile ("dmb 0xF":::"memory");
|
|
14c0: f3bf 8f5f dmb sy
|
|
14c4: 4770 bx lr
|
|
|
|
000014c6 <atomic_leave_critical>:
|
|
14c6: f3bf 8f5f dmb sy
|
|
* \brief Exit atomic section
|
|
*/
|
|
void atomic_leave_critical(hal_atomic_t volatile *atomic)
|
|
{
|
|
__DMB();
|
|
__set_PRIMASK(*atomic);
|
|
14ca: 6803 ldr r3, [r0, #0]
|
|
__ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
|
|
14cc: f383 8810 msr PRIMASK, r3
|
|
14d0: 4770 bx lr
|
|
...
|
|
|
|
000014d4 <delay_init>:
|
|
|
|
/**
|
|
* \brief Initialize Delay driver
|
|
*/
|
|
void delay_init(void *const hw)
|
|
{
|
|
14d4: b508 push {r3, lr}
|
|
_delay_init(hardware = hw);
|
|
14d6: 4b02 ldr r3, [pc, #8] ; (14e0 <delay_init+0xc>)
|
|
14d8: 6018 str r0, [r3, #0]
|
|
14da: 4b02 ldr r3, [pc, #8] ; (14e4 <delay_init+0x10>)
|
|
14dc: 4798 blx r3
|
|
14de: bd08 pop {r3, pc}
|
|
14e0: 200000c4 .word 0x200000c4
|
|
14e4: 00001b71 .word 0x00001b71
|
|
|
|
000014e8 <delay_us>:
|
|
|
|
/**
|
|
* \brief Perform delay in us
|
|
*/
|
|
void delay_us(const uint16_t us)
|
|
{
|
|
14e8: b510 push {r4, lr}
|
|
_delay_cycles(hardware, _get_cycles_for_us(us));
|
|
14ea: 4b04 ldr r3, [pc, #16] ; (14fc <delay_us+0x14>)
|
|
14ec: 681c ldr r4, [r3, #0]
|
|
14ee: 4b04 ldr r3, [pc, #16] ; (1500 <delay_us+0x18>)
|
|
14f0: 4798 blx r3
|
|
14f2: 4601 mov r1, r0
|
|
14f4: 4620 mov r0, r4
|
|
14f6: 4b03 ldr r3, [pc, #12] ; (1504 <delay_us+0x1c>)
|
|
14f8: 4798 blx r3
|
|
14fa: bd10 pop {r4, pc}
|
|
14fc: 200000c4 .word 0x200000c4
|
|
1500: 00001b39 .word 0x00001b39
|
|
1504: 00001b79 .word 0x00001b79
|
|
|
|
00001508 <delay_ms>:
|
|
|
|
/**
|
|
* \brief Perform delay in ms
|
|
*/
|
|
void delay_ms(const uint16_t ms)
|
|
{
|
|
1508: b510 push {r4, lr}
|
|
_delay_cycles(hardware, _get_cycles_for_ms(ms));
|
|
150a: 4b04 ldr r3, [pc, #16] ; (151c <delay_ms+0x14>)
|
|
150c: 681c ldr r4, [r3, #0]
|
|
150e: 4b04 ldr r3, [pc, #16] ; (1520 <delay_ms+0x18>)
|
|
1510: 4798 blx r3
|
|
1512: 4601 mov r1, r0
|
|
1514: 4620 mov r0, r4
|
|
1516: 4b03 ldr r3, [pc, #12] ; (1524 <delay_ms+0x1c>)
|
|
1518: 4798 blx r3
|
|
151a: bd10 pop {r4, pc}
|
|
151c: 200000c4 .word 0x200000c4
|
|
1520: 00001b51 .word 0x00001b51
|
|
1524: 00001b79 .word 0x00001b79
|
|
|
|
00001528 <io_write>:
|
|
|
|
/**
|
|
* \brief I/O write interface
|
|
*/
|
|
int32_t io_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length)
|
|
{
|
|
1528: b570 push {r4, r5, r6, lr}
|
|
152a: 460d mov r5, r1
|
|
152c: 4616 mov r6, r2
|
|
ASSERT(io_descr && buf);
|
|
152e: 4604 mov r4, r0
|
|
1530: b160 cbz r0, 154c <io_write+0x24>
|
|
1532: 1c08 adds r0, r1, #0
|
|
1534: bf18 it ne
|
|
1536: 2001 movne r0, #1
|
|
1538: 2234 movs r2, #52 ; 0x34
|
|
153a: 4905 ldr r1, [pc, #20] ; (1550 <io_write+0x28>)
|
|
153c: 4b05 ldr r3, [pc, #20] ; (1554 <io_write+0x2c>)
|
|
153e: 4798 blx r3
|
|
return io_descr->write(io_descr, buf, length);
|
|
1540: 6823 ldr r3, [r4, #0]
|
|
1542: 4632 mov r2, r6
|
|
1544: 4629 mov r1, r5
|
|
1546: 4620 mov r0, r4
|
|
1548: 4798 blx r3
|
|
}
|
|
154a: bd70 pop {r4, r5, r6, pc}
|
|
154c: 2000 movs r0, #0
|
|
154e: e7f3 b.n 1538 <io_write+0x10>
|
|
1550: 0001b534 .word 0x0001b534
|
|
1554: 000019bd .word 0x000019bd
|
|
|
|
00001558 <timer_add_timer_task>:
|
|
* \param[in] head The pointer to the head of timer task list
|
|
* \param[in] task The pointer to task to add
|
|
* \param[in] time Current timer time
|
|
*/
|
|
static void timer_add_timer_task(struct list_descriptor *list, struct timer_task *const new_task, const uint32_t time)
|
|
{
|
|
1558: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
155a: 4684 mov ip, r0
|
|
* \return A pointer to the head of the given list or NULL if the list is
|
|
* empty
|
|
*/
|
|
static inline void *list_get_head(const struct list_descriptor *const list)
|
|
{
|
|
return (void *)list->head;
|
|
155c: 6807 ldr r7, [r0, #0]
|
|
struct timer_task *it, *prev = NULL, *head = (struct timer_task *)list_get_head(list);
|
|
|
|
if (!head) {
|
|
155e: b12f cbz r7, 156c <timer_add_timer_task+0x14>
|
|
if (it->time_label <= time) {
|
|
time_left = it->interval - (time - it->time_label);
|
|
} else {
|
|
time_left = it->interval - (0xFFFFFFFF - it->time_label) - time;
|
|
}
|
|
if (time_left >= new_task->interval)
|
|
1560: 688d ldr r5, [r1, #8]
|
|
1562: 463c mov r4, r7
|
|
1564: 2600 movs r6, #0
|
|
time_left = it->interval - (0xFFFFFFFF - it->time_label) - time;
|
|
1566: f1c2 0e01 rsb lr, r2, #1
|
|
156a: e00b b.n 1584 <timer_add_timer_task+0x2c>
|
|
list_insert_as_head(list, new_task);
|
|
156c: 4b0e ldr r3, [pc, #56] ; (15a8 <timer_add_timer_task+0x50>)
|
|
156e: 4798 blx r3
|
|
return;
|
|
1570: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
time_left = it->interval - (0xFFFFFFFF - it->time_label) - time;
|
|
1572: 4473 add r3, lr
|
|
1574: 68a0 ldr r0, [r4, #8]
|
|
1576: 4403 add r3, r0
|
|
if (time_left >= new_task->interval)
|
|
1578: 42ab cmp r3, r5
|
|
157a: d20a bcs.n 1592 <timer_add_timer_task+0x3a>
|
|
* \return A pointer to the next list element or NULL if there is not next
|
|
* element
|
|
*/
|
|
static inline void *list_get_next_element(const void *const element)
|
|
{
|
|
return element ? ((struct list_element *)element)->next : NULL;
|
|
157c: 6823 ldr r3, [r4, #0]
|
|
157e: 4626 mov r6, r4
|
|
for (it = head; it; it = (struct timer_task *)list_get_next_element(it)) {
|
|
1580: b153 cbz r3, 1598 <timer_add_timer_task+0x40>
|
|
1582: 461c mov r4, r3
|
|
if (it->time_label <= time) {
|
|
1584: 6863 ldr r3, [r4, #4]
|
|
1586: 4293 cmp r3, r2
|
|
1588: d8f3 bhi.n 1572 <timer_add_timer_task+0x1a>
|
|
time_left = it->interval - (time - it->time_label);
|
|
158a: 68a0 ldr r0, [r4, #8]
|
|
158c: 4403 add r3, r0
|
|
158e: 1a9b subs r3, r3, r2
|
|
1590: e7f2 b.n 1578 <timer_add_timer_task+0x20>
|
|
break;
|
|
prev = it;
|
|
}
|
|
|
|
if (it == head) {
|
|
1592: 42a7 cmp r7, r4
|
|
1594: d004 beq.n 15a0 <timer_add_timer_task+0x48>
|
|
1596: 4634 mov r4, r6
|
|
list_insert_as_head(list, new_task);
|
|
} else {
|
|
list_insert_after(prev, new_task);
|
|
1598: 4620 mov r0, r4
|
|
159a: 4b04 ldr r3, [pc, #16] ; (15ac <timer_add_timer_task+0x54>)
|
|
159c: 4798 blx r3
|
|
159e: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
list_insert_as_head(list, new_task);
|
|
15a0: 4660 mov r0, ip
|
|
15a2: 4b01 ldr r3, [pc, #4] ; (15a8 <timer_add_timer_task+0x50>)
|
|
15a4: 4798 blx r3
|
|
15a6: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
15a8: 000019e5 .word 0x000019e5
|
|
15ac: 00001a11 .word 0x00001a11
|
|
|
|
000015b0 <timer_process_counted>:
|
|
|
|
/**
|
|
* \internal Process interrupts
|
|
*/
|
|
static void timer_process_counted(struct _timer_device *device)
|
|
{
|
|
15b0: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
return (void *)list->head;
|
|
15b4: 6944 ldr r4, [r0, #20]
|
|
struct timer_descriptor *timer = CONTAINER_OF(device, struct timer_descriptor, device);
|
|
struct timer_task * it = (struct timer_task *)list_get_head(&timer->tasks);
|
|
uint32_t time = ++timer->time;
|
|
15b6: 6907 ldr r7, [r0, #16]
|
|
15b8: 3701 adds r7, #1
|
|
15ba: 6107 str r7, [r0, #16]
|
|
|
|
if ((timer->flags & TIMER_FLAG_QUEUE_IS_TAKEN) || (timer->flags & TIMER_FLAG_INTERRUPT_TRIGERRED)) {
|
|
15bc: 7e03 ldrb r3, [r0, #24]
|
|
15be: f013 0f01 tst.w r3, #1
|
|
15c2: d113 bne.n 15ec <timer_process_counted+0x3c>
|
|
15c4: 7e03 ldrb r3, [r0, #24]
|
|
15c6: f013 0f02 tst.w r3, #2
|
|
15ca: d10f bne.n 15ec <timer_process_counted+0x3c>
|
|
timer->flags |= TIMER_FLAG_INTERRUPT_TRIGERRED;
|
|
return;
|
|
}
|
|
|
|
while (it && ((time - it->time_label) >= it->interval)) {
|
|
15cc: b354 cbz r4, 1624 <timer_process_counted+0x74>
|
|
15ce: 6863 ldr r3, [r4, #4]
|
|
15d0: 1afb subs r3, r7, r3
|
|
15d2: 68a2 ldr r2, [r4, #8]
|
|
15d4: 4293 cmp r3, r2
|
|
15d6: d307 bcc.n 15e8 <timer_process_counted+0x38>
|
|
15d8: 4606 mov r6, r0
|
|
struct timer_task *tmp = it;
|
|
|
|
list_remove_head(&timer->tasks);
|
|
15da: f100 0814 add.w r8, r0, #20
|
|
15de: f8df 9048 ldr.w r9, [pc, #72] ; 1628 <timer_process_counted+0x78>
|
|
if (TIMER_TASK_REPEAT == tmp->mode) {
|
|
tmp->time_label = time;
|
|
timer_add_timer_task(&timer->tasks, tmp, time);
|
|
15e2: f8df a048 ldr.w sl, [pc, #72] ; 162c <timer_process_counted+0x7c>
|
|
15e6: e012 b.n 160e <timer_process_counted+0x5e>
|
|
15e8: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
timer->flags |= TIMER_FLAG_INTERRUPT_TRIGERRED;
|
|
15ec: 7e03 ldrb r3, [r0, #24]
|
|
15ee: f043 0302 orr.w r3, r3, #2
|
|
15f2: 7603 strb r3, [r0, #24]
|
|
return;
|
|
15f4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
15f8: 6975 ldr r5, [r6, #20]
|
|
}
|
|
it = (struct timer_task *)list_get_head(&timer->tasks);
|
|
|
|
tmp->cb(tmp);
|
|
15fa: 68e3 ldr r3, [r4, #12]
|
|
15fc: 4620 mov r0, r4
|
|
15fe: 4798 blx r3
|
|
while (it && ((time - it->time_label) >= it->interval)) {
|
|
1600: b185 cbz r5, 1624 <timer_process_counted+0x74>
|
|
it = (struct timer_task *)list_get_head(&timer->tasks);
|
|
1602: 462c mov r4, r5
|
|
while (it && ((time - it->time_label) >= it->interval)) {
|
|
1604: 686b ldr r3, [r5, #4]
|
|
1606: 1afb subs r3, r7, r3
|
|
1608: 68aa ldr r2, [r5, #8]
|
|
160a: 4293 cmp r3, r2
|
|
160c: d30a bcc.n 1624 <timer_process_counted+0x74>
|
|
list_remove_head(&timer->tasks);
|
|
160e: 4640 mov r0, r8
|
|
1610: 47c8 blx r9
|
|
if (TIMER_TASK_REPEAT == tmp->mode) {
|
|
1612: 7c23 ldrb r3, [r4, #16]
|
|
1614: 2b01 cmp r3, #1
|
|
1616: d1ef bne.n 15f8 <timer_process_counted+0x48>
|
|
tmp->time_label = time;
|
|
1618: 6067 str r7, [r4, #4]
|
|
timer_add_timer_task(&timer->tasks, tmp, time);
|
|
161a: 463a mov r2, r7
|
|
161c: 4621 mov r1, r4
|
|
161e: 4640 mov r0, r8
|
|
1620: 47d0 blx sl
|
|
1622: e7e9 b.n 15f8 <timer_process_counted+0x48>
|
|
1624: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1628: 00001a19 .word 0x00001a19
|
|
162c: 00001559 .word 0x00001559
|
|
|
|
00001630 <timer_init>:
|
|
{
|
|
1630: b538 push {r3, r4, r5, lr}
|
|
1632: 460d mov r5, r1
|
|
ASSERT(descr && hw);
|
|
1634: 4604 mov r4, r0
|
|
1636: b178 cbz r0, 1658 <timer_init+0x28>
|
|
1638: 1c08 adds r0, r1, #0
|
|
163a: bf18 it ne
|
|
163c: 2001 movne r0, #1
|
|
163e: 223b movs r2, #59 ; 0x3b
|
|
1640: 4906 ldr r1, [pc, #24] ; (165c <timer_init+0x2c>)
|
|
1642: 4b07 ldr r3, [pc, #28] ; (1660 <timer_init+0x30>)
|
|
1644: 4798 blx r3
|
|
_timer_init(&descr->device, hw);
|
|
1646: 4629 mov r1, r5
|
|
1648: 4620 mov r0, r4
|
|
164a: 4b06 ldr r3, [pc, #24] ; (1664 <timer_init+0x34>)
|
|
164c: 4798 blx r3
|
|
descr->time = 0;
|
|
164e: 2000 movs r0, #0
|
|
1650: 6120 str r0, [r4, #16]
|
|
descr->device.timer_cb.period_expired = timer_process_counted;
|
|
1652: 4b05 ldr r3, [pc, #20] ; (1668 <timer_init+0x38>)
|
|
1654: 6023 str r3, [r4, #0]
|
|
}
|
|
1656: bd38 pop {r3, r4, r5, pc}
|
|
1658: 2000 movs r0, #0
|
|
165a: e7f0 b.n 163e <timer_init+0xe>
|
|
165c: 0001b548 .word 0x0001b548
|
|
1660: 000019bd .word 0x000019bd
|
|
1664: 00001f65 .word 0x00001f65
|
|
1668: 000015b1 .word 0x000015b1
|
|
|
|
0000166c <timer_start>:
|
|
{
|
|
166c: b510 push {r4, lr}
|
|
ASSERT(descr);
|
|
166e: 4604 mov r4, r0
|
|
1670: 2253 movs r2, #83 ; 0x53
|
|
1672: 4909 ldr r1, [pc, #36] ; (1698 <timer_start+0x2c>)
|
|
1674: 3000 adds r0, #0
|
|
1676: bf18 it ne
|
|
1678: 2001 movne r0, #1
|
|
167a: 4b08 ldr r3, [pc, #32] ; (169c <timer_start+0x30>)
|
|
167c: 4798 blx r3
|
|
if (_timer_is_started(&descr->device)) {
|
|
167e: 4620 mov r0, r4
|
|
1680: 4b07 ldr r3, [pc, #28] ; (16a0 <timer_start+0x34>)
|
|
1682: 4798 blx r3
|
|
1684: b920 cbnz r0, 1690 <timer_start+0x24>
|
|
_timer_start(&descr->device);
|
|
1686: 4620 mov r0, r4
|
|
1688: 4b06 ldr r3, [pc, #24] ; (16a4 <timer_start+0x38>)
|
|
168a: 4798 blx r3
|
|
return ERR_NONE;
|
|
168c: 2000 movs r0, #0
|
|
168e: bd10 pop {r4, pc}
|
|
return ERR_DENIED;
|
|
1690: f06f 0010 mvn.w r0, #16
|
|
}
|
|
1694: bd10 pop {r4, pc}
|
|
1696: bf00 nop
|
|
1698: 0001b548 .word 0x0001b548
|
|
169c: 000019bd .word 0x000019bd
|
|
16a0: 00002121 .word 0x00002121
|
|
16a4: 0000210d .word 0x0000210d
|
|
|
|
000016a8 <timer_add_task>:
|
|
{
|
|
16a8: b570 push {r4, r5, r6, lr}
|
|
16aa: b082 sub sp, #8
|
|
16ac: 460d mov r5, r1
|
|
ASSERT(descr && task);
|
|
16ae: 4604 mov r4, r0
|
|
16b0: b318 cbz r0, 16fa <timer_add_task+0x52>
|
|
16b2: 1c08 adds r0, r1, #0
|
|
16b4: bf18 it ne
|
|
16b6: 2001 movne r0, #1
|
|
16b8: 227a movs r2, #122 ; 0x7a
|
|
16ba: 491e ldr r1, [pc, #120] ; (1734 <timer_add_task+0x8c>)
|
|
16bc: 4b1e ldr r3, [pc, #120] ; (1738 <timer_add_task+0x90>)
|
|
16be: 4798 blx r3
|
|
descr->flags |= TIMER_FLAG_QUEUE_IS_TAKEN;
|
|
16c0: 7e23 ldrb r3, [r4, #24]
|
|
16c2: f043 0301 orr.w r3, r3, #1
|
|
16c6: 7623 strb r3, [r4, #24]
|
|
if (is_list_element(&descr->tasks, task)) {
|
|
16c8: f104 0614 add.w r6, r4, #20
|
|
16cc: 4629 mov r1, r5
|
|
16ce: 4630 mov r0, r6
|
|
16d0: 4b1a ldr r3, [pc, #104] ; (173c <timer_add_task+0x94>)
|
|
16d2: 4798 blx r3
|
|
16d4: b998 cbnz r0, 16fe <timer_add_task+0x56>
|
|
task->time_label = descr->time;
|
|
16d6: 6923 ldr r3, [r4, #16]
|
|
16d8: 606b str r3, [r5, #4]
|
|
timer_add_timer_task(&descr->tasks, task, descr->time);
|
|
16da: 6922 ldr r2, [r4, #16]
|
|
16dc: 4629 mov r1, r5
|
|
16de: 4630 mov r0, r6
|
|
16e0: 4b17 ldr r3, [pc, #92] ; (1740 <timer_add_task+0x98>)
|
|
16e2: 4798 blx r3
|
|
descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN;
|
|
16e4: 7e23 ldrb r3, [r4, #24]
|
|
16e6: f003 03fe and.w r3, r3, #254 ; 0xfe
|
|
16ea: 7623 strb r3, [r4, #24]
|
|
if (descr->flags & TIMER_FLAG_INTERRUPT_TRIGERRED) {
|
|
16ec: 7e23 ldrb r3, [r4, #24]
|
|
16ee: f013 0f02 tst.w r3, #2
|
|
16f2: d110 bne.n 1716 <timer_add_task+0x6e>
|
|
return ERR_NONE;
|
|
16f4: 2000 movs r0, #0
|
|
}
|
|
16f6: b002 add sp, #8
|
|
16f8: bd70 pop {r4, r5, r6, pc}
|
|
16fa: 2000 movs r0, #0
|
|
16fc: e7dc b.n 16b8 <timer_add_task+0x10>
|
|
descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN;
|
|
16fe: 7e23 ldrb r3, [r4, #24]
|
|
1700: f003 03fe and.w r3, r3, #254 ; 0xfe
|
|
1704: 7623 strb r3, [r4, #24]
|
|
ASSERT(false);
|
|
1706: 227f movs r2, #127 ; 0x7f
|
|
1708: 490a ldr r1, [pc, #40] ; (1734 <timer_add_task+0x8c>)
|
|
170a: 2000 movs r0, #0
|
|
170c: 4b0a ldr r3, [pc, #40] ; (1738 <timer_add_task+0x90>)
|
|
170e: 4798 blx r3
|
|
return ERR_ALREADY_INITIALIZED;
|
|
1710: f06f 0011 mvn.w r0, #17
|
|
1714: e7ef b.n 16f6 <timer_add_task+0x4e>
|
|
CRITICAL_SECTION_ENTER()
|
|
1716: a801 add r0, sp, #4
|
|
1718: 4b0a ldr r3, [pc, #40] ; (1744 <timer_add_task+0x9c>)
|
|
171a: 4798 blx r3
|
|
descr->flags &= ~TIMER_FLAG_INTERRUPT_TRIGERRED;
|
|
171c: 7e23 ldrb r3, [r4, #24]
|
|
171e: f003 03fd and.w r3, r3, #253 ; 0xfd
|
|
1722: 7623 strb r3, [r4, #24]
|
|
_timer_set_irq(&descr->device);
|
|
1724: 4620 mov r0, r4
|
|
1726: 4b08 ldr r3, [pc, #32] ; (1748 <timer_add_task+0xa0>)
|
|
1728: 4798 blx r3
|
|
CRITICAL_SECTION_LEAVE()
|
|
172a: a801 add r0, sp, #4
|
|
172c: 4b07 ldr r3, [pc, #28] ; (174c <timer_add_task+0xa4>)
|
|
172e: 4798 blx r3
|
|
return ERR_NONE;
|
|
1730: 2000 movs r0, #0
|
|
1732: e7e0 b.n 16f6 <timer_add_task+0x4e>
|
|
1734: 0001b548 .word 0x0001b548
|
|
1738: 000019bd .word 0x000019bd
|
|
173c: 000019c3 .word 0x000019c3
|
|
1740: 00001559 .word 0x00001559
|
|
1744: 000014b9 .word 0x000014b9
|
|
1748: 00002139 .word 0x00002139
|
|
174c: 000014c7 .word 0x000014c7
|
|
|
|
00001750 <usart_transmission_complete>:
|
|
* \brief Process completion of data sending
|
|
*
|
|
* \param[in] device The pointer to device structure
|
|
*/
|
|
static void usart_transmission_complete(struct _usart_async_device *device)
|
|
{
|
|
1750: b508 push {r3, lr}
|
|
struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device);
|
|
|
|
descr->stat = 0;
|
|
1752: 2300 movs r3, #0
|
|
1754: 6283 str r3, [r0, #40] ; 0x28
|
|
if (descr->usart_cb.tx_done) {
|
|
1756: 69c3 ldr r3, [r0, #28]
|
|
1758: b11b cbz r3, 1762 <usart_transmission_complete+0x12>
|
|
175a: f1a0 0208 sub.w r2, r0, #8
|
|
descr->usart_cb.tx_done(descr);
|
|
175e: 4610 mov r0, r2
|
|
1760: 4798 blx r3
|
|
1762: bd08 pop {r3, pc}
|
|
|
|
00001764 <usart_error>:
|
|
* \brief Process error interrupt
|
|
*
|
|
* \param[in] device The pointer to device structure
|
|
*/
|
|
static void usart_error(struct _usart_async_device *device)
|
|
{
|
|
1764: b508 push {r3, lr}
|
|
struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device);
|
|
|
|
descr->stat = 0;
|
|
1766: 2300 movs r3, #0
|
|
1768: 6283 str r3, [r0, #40] ; 0x28
|
|
if (descr->usart_cb.error) {
|
|
176a: 6a43 ldr r3, [r0, #36] ; 0x24
|
|
176c: b11b cbz r3, 1776 <usart_error+0x12>
|
|
176e: f1a0 0208 sub.w r2, r0, #8
|
|
descr->usart_cb.error(descr);
|
|
1772: 4610 mov r0, r2
|
|
1774: 4798 blx r3
|
|
1776: bd08 pop {r3, pc}
|
|
|
|
00001778 <usart_fill_rx_buffer>:
|
|
{
|
|
1778: b538 push {r3, r4, r5, lr}
|
|
177a: 4604 mov r4, r0
|
|
struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device);
|
|
177c: f1a0 0508 sub.w r5, r0, #8
|
|
ringbuffer_put(&descr->rx, data);
|
|
1780: 302c adds r0, #44 ; 0x2c
|
|
1782: 4b03 ldr r3, [pc, #12] ; (1790 <usart_fill_rx_buffer+0x18>)
|
|
1784: 4798 blx r3
|
|
if (descr->usart_cb.rx_done) {
|
|
1786: 6a23 ldr r3, [r4, #32]
|
|
1788: b10b cbz r3, 178e <usart_fill_rx_buffer+0x16>
|
|
descr->usart_cb.rx_done(descr);
|
|
178a: 4628 mov r0, r5
|
|
178c: 4798 blx r3
|
|
178e: bd38 pop {r3, r4, r5, pc}
|
|
1790: 00001ab9 .word 0x00001ab9
|
|
|
|
00001794 <usart_async_write>:
|
|
{
|
|
1794: b570 push {r4, r5, r6, lr}
|
|
1796: 460e mov r6, r1
|
|
1798: 4615 mov r5, r2
|
|
ASSERT(descr && buf && length);
|
|
179a: 4604 mov r4, r0
|
|
179c: b1e0 cbz r0, 17d8 <usart_async_write+0x44>
|
|
179e: b1e9 cbz r1, 17dc <usart_async_write+0x48>
|
|
17a0: 1c10 adds r0, r2, #0
|
|
17a2: bf18 it ne
|
|
17a4: 2001 movne r0, #1
|
|
17a6: f240 123b movw r2, #315 ; 0x13b
|
|
17aa: 490f ldr r1, [pc, #60] ; (17e8 <usart_async_write+0x54>)
|
|
17ac: 4b0f ldr r3, [pc, #60] ; (17ec <usart_async_write+0x58>)
|
|
17ae: 4798 blx r3
|
|
if (descr->tx_por != descr->tx_buffer_length) {
|
|
17b0: f8b4 2044 ldrh.w r2, [r4, #68] ; 0x44
|
|
17b4: f8b4 304c ldrh.w r3, [r4, #76] ; 0x4c
|
|
17b8: 429a cmp r2, r3
|
|
17ba: d111 bne.n 17e0 <usart_async_write+0x4c>
|
|
descr->tx_buffer = (uint8_t *)buf;
|
|
17bc: 64a6 str r6, [r4, #72] ; 0x48
|
|
descr->tx_buffer_length = length;
|
|
17be: f8a4 504c strh.w r5, [r4, #76] ; 0x4c
|
|
descr->tx_por = 0;
|
|
17c2: 2300 movs r3, #0
|
|
17c4: f8a4 3044 strh.w r3, [r4, #68] ; 0x44
|
|
descr->stat = USART_ASYNC_STATUS_BUSY;
|
|
17c8: 2301 movs r3, #1
|
|
17ca: 6323 str r3, [r4, #48] ; 0x30
|
|
_usart_async_enable_byte_sent_irq(&descr->device);
|
|
17cc: f104 0008 add.w r0, r4, #8
|
|
17d0: 4b07 ldr r3, [pc, #28] ; (17f0 <usart_async_write+0x5c>)
|
|
17d2: 4798 blx r3
|
|
return (int32_t)length;
|
|
17d4: 4628 mov r0, r5
|
|
17d6: bd70 pop {r4, r5, r6, pc}
|
|
ASSERT(descr && buf && length);
|
|
17d8: 2000 movs r0, #0
|
|
17da: e7e4 b.n 17a6 <usart_async_write+0x12>
|
|
17dc: 2000 movs r0, #0
|
|
17de: e7e2 b.n 17a6 <usart_async_write+0x12>
|
|
return ERR_NO_RESOURCE;
|
|
17e0: f06f 001b mvn.w r0, #27
|
|
}
|
|
17e4: bd70 pop {r4, r5, r6, pc}
|
|
17e6: bf00 nop
|
|
17e8: 0001b560 .word 0x0001b560
|
|
17ec: 000019bd .word 0x000019bd
|
|
17f0: 00001ea3 .word 0x00001ea3
|
|
|
|
000017f4 <usart_process_byte_sent>:
|
|
{
|
|
17f4: b510 push {r4, lr}
|
|
17f6: 4604 mov r4, r0
|
|
if (descr->tx_por != descr->tx_buffer_length) {
|
|
17f8: 8f83 ldrh r3, [r0, #60] ; 0x3c
|
|
17fa: f8b0 2044 ldrh.w r2, [r0, #68] ; 0x44
|
|
17fe: 429a cmp r2, r3
|
|
1800: d009 beq.n 1816 <usart_process_byte_sent+0x22>
|
|
_usart_async_write_byte(&descr->device, descr->tx_buffer[descr->tx_por++]);
|
|
1802: 6c02 ldr r2, [r0, #64] ; 0x40
|
|
1804: 1c59 adds r1, r3, #1
|
|
1806: 8781 strh r1, [r0, #60] ; 0x3c
|
|
1808: 5cd1 ldrb r1, [r2, r3]
|
|
180a: 4b04 ldr r3, [pc, #16] ; (181c <usart_process_byte_sent+0x28>)
|
|
180c: 4798 blx r3
|
|
_usart_async_enable_byte_sent_irq(&descr->device);
|
|
180e: 4620 mov r0, r4
|
|
1810: 4b03 ldr r3, [pc, #12] ; (1820 <usart_process_byte_sent+0x2c>)
|
|
1812: 4798 blx r3
|
|
1814: bd10 pop {r4, pc}
|
|
_usart_async_enable_tx_done_irq(&descr->device);
|
|
1816: 4b03 ldr r3, [pc, #12] ; (1824 <usart_process_byte_sent+0x30>)
|
|
1818: 4798 blx r3
|
|
181a: bd10 pop {r4, pc}
|
|
181c: 00001e9d .word 0x00001e9d
|
|
1820: 00001ea3 .word 0x00001ea3
|
|
1824: 00001eab .word 0x00001eab
|
|
|
|
00001828 <usart_async_read>:
|
|
{
|
|
1828: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
182c: b082 sub sp, #8
|
|
182e: 460f mov r7, r1
|
|
1830: 4690 mov r8, r2
|
|
ASSERT(descr && buf && length);
|
|
1832: 4606 mov r6, r0
|
|
1834: b1a0 cbz r0, 1860 <usart_async_read+0x38>
|
|
1836: b199 cbz r1, 1860 <usart_async_read+0x38>
|
|
1838: 2a00 cmp r2, #0
|
|
183a: d12d bne.n 1898 <usart_async_read+0x70>
|
|
183c: f44f 72ac mov.w r2, #344 ; 0x158
|
|
1840: 4929 ldr r1, [pc, #164] ; (18e8 <usart_async_read+0xc0>)
|
|
1842: 2000 movs r0, #0
|
|
1844: 4b29 ldr r3, [pc, #164] ; (18ec <usart_async_read+0xc4>)
|
|
1846: 4798 blx r3
|
|
CRITICAL_SECTION_ENTER()
|
|
1848: a801 add r0, sp, #4
|
|
184a: 4b29 ldr r3, [pc, #164] ; (18f0 <usart_async_read+0xc8>)
|
|
184c: 4798 blx r3
|
|
num = ringbuffer_num(&descr->rx);
|
|
184e: f106 0034 add.w r0, r6, #52 ; 0x34
|
|
1852: 4b28 ldr r3, [pc, #160] ; (18f4 <usart_async_read+0xcc>)
|
|
1854: 4798 blx r3
|
|
CRITICAL_SECTION_LEAVE()
|
|
1856: a801 add r0, sp, #4
|
|
1858: 4b27 ldr r3, [pc, #156] ; (18f8 <usart_async_read+0xd0>)
|
|
185a: 4798 blx r3
|
|
uint16_t was_read = 0;
|
|
185c: 2500 movs r5, #0
|
|
return (int32_t)was_read;
|
|
185e: e03e b.n 18de <usart_async_read+0xb6>
|
|
ASSERT(descr && buf && length);
|
|
1860: f44f 72ac mov.w r2, #344 ; 0x158
|
|
1864: 4920 ldr r1, [pc, #128] ; (18e8 <usart_async_read+0xc0>)
|
|
1866: 2000 movs r0, #0
|
|
1868: 4b20 ldr r3, [pc, #128] ; (18ec <usart_async_read+0xc4>)
|
|
186a: 4798 blx r3
|
|
CRITICAL_SECTION_ENTER()
|
|
186c: a801 add r0, sp, #4
|
|
186e: 4b20 ldr r3, [pc, #128] ; (18f0 <usart_async_read+0xc8>)
|
|
1870: 4798 blx r3
|
|
num = ringbuffer_num(&descr->rx);
|
|
1872: f106 0a34 add.w sl, r6, #52 ; 0x34
|
|
1876: 4650 mov r0, sl
|
|
1878: 4b1e ldr r3, [pc, #120] ; (18f4 <usart_async_read+0xcc>)
|
|
187a: 4798 blx r3
|
|
187c: 4681 mov r9, r0
|
|
CRITICAL_SECTION_LEAVE()
|
|
187e: a801 add r0, sp, #4
|
|
1880: 4b1d ldr r3, [pc, #116] ; (18f8 <usart_async_read+0xd0>)
|
|
1882: 4798 blx r3
|
|
while ((was_read < num) && (was_read < length)) {
|
|
1884: f1b9 0f00 cmp.w r9, #0
|
|
1888: d004 beq.n 1894 <usart_async_read+0x6c>
|
|
188a: f1b8 0f00 cmp.w r8, #0
|
|
188e: d119 bne.n 18c4 <usart_async_read+0x9c>
|
|
uint16_t was_read = 0;
|
|
1890: 2500 movs r5, #0
|
|
1892: e024 b.n 18de <usart_async_read+0xb6>
|
|
1894: 2500 movs r5, #0
|
|
1896: e022 b.n 18de <usart_async_read+0xb6>
|
|
ASSERT(descr && buf && length);
|
|
1898: f44f 72ac mov.w r2, #344 ; 0x158
|
|
189c: 4912 ldr r1, [pc, #72] ; (18e8 <usart_async_read+0xc0>)
|
|
189e: 2001 movs r0, #1
|
|
18a0: 4b12 ldr r3, [pc, #72] ; (18ec <usart_async_read+0xc4>)
|
|
18a2: 4798 blx r3
|
|
CRITICAL_SECTION_ENTER()
|
|
18a4: a801 add r0, sp, #4
|
|
18a6: 4b12 ldr r3, [pc, #72] ; (18f0 <usart_async_read+0xc8>)
|
|
18a8: 4798 blx r3
|
|
num = ringbuffer_num(&descr->rx);
|
|
18aa: f106 0a34 add.w sl, r6, #52 ; 0x34
|
|
18ae: 4650 mov r0, sl
|
|
18b0: 4b10 ldr r3, [pc, #64] ; (18f4 <usart_async_read+0xcc>)
|
|
18b2: 4798 blx r3
|
|
18b4: 4681 mov r9, r0
|
|
CRITICAL_SECTION_LEAVE()
|
|
18b6: a801 add r0, sp, #4
|
|
18b8: 4b0f ldr r3, [pc, #60] ; (18f8 <usart_async_read+0xd0>)
|
|
18ba: 4798 blx r3
|
|
uint16_t was_read = 0;
|
|
18bc: 2500 movs r5, #0
|
|
while ((was_read < num) && (was_read < length)) {
|
|
18be: f1b9 0f00 cmp.w r9, #0
|
|
18c2: d00c beq.n 18de <usart_async_read+0xb6>
|
|
{
|
|
18c4: 2400 movs r4, #0
|
|
ringbuffer_get(&descr->rx, &buf[was_read++]);
|
|
18c6: 4e0d ldr r6, [pc, #52] ; (18fc <usart_async_read+0xd4>)
|
|
18c8: 1c60 adds r0, r4, #1
|
|
18ca: b285 uxth r5, r0
|
|
18cc: 1939 adds r1, r7, r4
|
|
18ce: 4650 mov r0, sl
|
|
18d0: 47b0 blx r6
|
|
18d2: 3401 adds r4, #1
|
|
while ((was_read < num) && (was_read < length)) {
|
|
18d4: 454c cmp r4, r9
|
|
18d6: d202 bcs.n 18de <usart_async_read+0xb6>
|
|
18d8: b2a3 uxth r3, r4
|
|
18da: 4598 cmp r8, r3
|
|
18dc: d8f4 bhi.n 18c8 <usart_async_read+0xa0>
|
|
}
|
|
18de: 4628 mov r0, r5
|
|
18e0: b002 add sp, #8
|
|
18e2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
18e6: bf00 nop
|
|
18e8: 0001b560 .word 0x0001b560
|
|
18ec: 000019bd .word 0x000019bd
|
|
18f0: 000014b9 .word 0x000014b9
|
|
18f4: 00001af9 .word 0x00001af9
|
|
18f8: 000014c7 .word 0x000014c7
|
|
18fc: 00001a75 .word 0x00001a75
|
|
|
|
00001900 <usart_async_init>:
|
|
{
|
|
1900: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
1902: 460d mov r5, r1
|
|
1904: 4616 mov r6, r2
|
|
1906: 461f mov r7, r3
|
|
ASSERT(descr && hw && rx_buffer && rx_buffer_length);
|
|
1908: 4604 mov r4, r0
|
|
190a: b320 cbz r0, 1956 <usart_async_init+0x56>
|
|
190c: b329 cbz r1, 195a <usart_async_init+0x5a>
|
|
190e: b332 cbz r2, 195e <usart_async_init+0x5e>
|
|
1910: 1c18 adds r0, r3, #0
|
|
1912: bf18 it ne
|
|
1914: 2001 movne r0, #1
|
|
1916: 223a movs r2, #58 ; 0x3a
|
|
1918: 4913 ldr r1, [pc, #76] ; (1968 <usart_async_init+0x68>)
|
|
191a: 4b14 ldr r3, [pc, #80] ; (196c <usart_async_init+0x6c>)
|
|
191c: 4798 blx r3
|
|
if (ERR_NONE != ringbuffer_init(&descr->rx, rx_buffer, rx_buffer_length)) {
|
|
191e: 463a mov r2, r7
|
|
1920: 4631 mov r1, r6
|
|
1922: f104 0034 add.w r0, r4, #52 ; 0x34
|
|
1926: 4b12 ldr r3, [pc, #72] ; (1970 <usart_async_init+0x70>)
|
|
1928: 4798 blx r3
|
|
192a: b9d0 cbnz r0, 1962 <usart_async_init+0x62>
|
|
init_status = _usart_async_init(&descr->device, hw);
|
|
192c: 4629 mov r1, r5
|
|
192e: f104 0008 add.w r0, r4, #8
|
|
1932: 4b10 ldr r3, [pc, #64] ; (1974 <usart_async_init+0x74>)
|
|
1934: 4798 blx r3
|
|
if (init_status) {
|
|
1936: 4603 mov r3, r0
|
|
1938: b958 cbnz r0, 1952 <usart_async_init+0x52>
|
|
descr->io.read = usart_async_read;
|
|
193a: 4a0f ldr r2, [pc, #60] ; (1978 <usart_async_init+0x78>)
|
|
193c: 6062 str r2, [r4, #4]
|
|
descr->io.write = usart_async_write;
|
|
193e: 4a0f ldr r2, [pc, #60] ; (197c <usart_async_init+0x7c>)
|
|
1940: 6022 str r2, [r4, #0]
|
|
descr->device.usart_cb.tx_byte_sent = usart_process_byte_sent;
|
|
1942: 4a0f ldr r2, [pc, #60] ; (1980 <usart_async_init+0x80>)
|
|
1944: 60a2 str r2, [r4, #8]
|
|
descr->device.usart_cb.rx_done_cb = usart_fill_rx_buffer;
|
|
1946: 4a0f ldr r2, [pc, #60] ; (1984 <usart_async_init+0x84>)
|
|
1948: 60e2 str r2, [r4, #12]
|
|
descr->device.usart_cb.tx_done_cb = usart_transmission_complete;
|
|
194a: 4a0f ldr r2, [pc, #60] ; (1988 <usart_async_init+0x88>)
|
|
194c: 6122 str r2, [r4, #16]
|
|
descr->device.usart_cb.error_cb = usart_error;
|
|
194e: 4a0f ldr r2, [pc, #60] ; (198c <usart_async_init+0x8c>)
|
|
1950: 6162 str r2, [r4, #20]
|
|
}
|
|
1952: 4618 mov r0, r3
|
|
1954: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
ASSERT(descr && hw && rx_buffer && rx_buffer_length);
|
|
1956: 2000 movs r0, #0
|
|
1958: e7dd b.n 1916 <usart_async_init+0x16>
|
|
195a: 2000 movs r0, #0
|
|
195c: e7db b.n 1916 <usart_async_init+0x16>
|
|
195e: 2000 movs r0, #0
|
|
1960: e7d9 b.n 1916 <usart_async_init+0x16>
|
|
return ERR_INVALID_ARG;
|
|
1962: f06f 030c mvn.w r3, #12
|
|
1966: e7f4 b.n 1952 <usart_async_init+0x52>
|
|
1968: 0001b560 .word 0x0001b560
|
|
196c: 000019bd .word 0x000019bd
|
|
1970: 00001a25 .word 0x00001a25
|
|
1974: 00001e05 .word 0x00001e05
|
|
1978: 00001829 .word 0x00001829
|
|
197c: 00001795 .word 0x00001795
|
|
1980: 000017f5 .word 0x000017f5
|
|
1984: 00001779 .word 0x00001779
|
|
1988: 00001751 .word 0x00001751
|
|
198c: 00001765 .word 0x00001765
|
|
|
|
00001990 <usart_async_enable>:
|
|
{
|
|
1990: b510 push {r4, lr}
|
|
ASSERT(descr);
|
|
1992: 4604 mov r4, r0
|
|
1994: 2261 movs r2, #97 ; 0x61
|
|
1996: 4906 ldr r1, [pc, #24] ; (19b0 <usart_async_enable+0x20>)
|
|
1998: 3000 adds r0, #0
|
|
199a: bf18 it ne
|
|
199c: 2001 movne r0, #1
|
|
199e: 4b05 ldr r3, [pc, #20] ; (19b4 <usart_async_enable+0x24>)
|
|
19a0: 4798 blx r3
|
|
_usart_async_enable(&descr->device);
|
|
19a2: f104 0008 add.w r0, r4, #8
|
|
19a6: 4b04 ldr r3, [pc, #16] ; (19b8 <usart_async_enable+0x28>)
|
|
19a8: 4798 blx r3
|
|
}
|
|
19aa: 2000 movs r0, #0
|
|
19ac: bd10 pop {r4, pc}
|
|
19ae: bf00 nop
|
|
19b0: 0001b560 .word 0x0001b560
|
|
19b4: 000019bd .word 0x000019bd
|
|
19b8: 00001e89 .word 0x00001e89
|
|
|
|
000019bc <assert>:
|
|
/**
|
|
* \brief Assert function
|
|
*/
|
|
void assert(const bool condition, const char *const file, const int line)
|
|
{
|
|
if (!(condition)) {
|
|
19bc: b900 cbnz r0, 19c0 <assert+0x4>
|
|
__asm("BKPT #0");
|
|
19be: be00 bkpt 0x0000
|
|
19c0: 4770 bx lr
|
|
|
|
000019c2 <is_list_element>:
|
|
* \brief Check whether element belongs to list
|
|
*/
|
|
bool is_list_element(const struct list_descriptor *const list, const void *const element)
|
|
{
|
|
struct list_element *it;
|
|
for (it = list->head; it; it = it->next) {
|
|
19c2: 6803 ldr r3, [r0, #0]
|
|
19c4: b14b cbz r3, 19da <is_list_element+0x18>
|
|
if (it == element) {
|
|
19c6: 428b cmp r3, r1
|
|
19c8: d009 beq.n 19de <is_list_element+0x1c>
|
|
for (it = list->head; it; it = it->next) {
|
|
19ca: 681b ldr r3, [r3, #0]
|
|
19cc: b11b cbz r3, 19d6 <is_list_element+0x14>
|
|
if (it == element) {
|
|
19ce: 4299 cmp r1, r3
|
|
19d0: d1fb bne.n 19ca <is_list_element+0x8>
|
|
return true;
|
|
19d2: 2001 movs r0, #1
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
19d4: 4770 bx lr
|
|
return false;
|
|
19d6: 2000 movs r0, #0
|
|
19d8: 4770 bx lr
|
|
19da: 2000 movs r0, #0
|
|
19dc: 4770 bx lr
|
|
return true;
|
|
19de: 2001 movs r0, #1
|
|
19e0: 4770 bx lr
|
|
...
|
|
|
|
000019e4 <list_insert_as_head>:
|
|
|
|
/**
|
|
* \brief Insert an element as list head
|
|
*/
|
|
void list_insert_as_head(struct list_descriptor *const list, void *const element)
|
|
{
|
|
19e4: b538 push {r3, r4, r5, lr}
|
|
19e6: 4604 mov r4, r0
|
|
19e8: 460d mov r5, r1
|
|
ASSERT(!is_list_element(list, element));
|
|
19ea: 4b06 ldr r3, [pc, #24] ; (1a04 <list_insert_as_head+0x20>)
|
|
19ec: 4798 blx r3
|
|
19ee: f080 0001 eor.w r0, r0, #1
|
|
19f2: 2239 movs r2, #57 ; 0x39
|
|
19f4: 4904 ldr r1, [pc, #16] ; (1a08 <list_insert_as_head+0x24>)
|
|
19f6: b2c0 uxtb r0, r0
|
|
19f8: 4b04 ldr r3, [pc, #16] ; (1a0c <list_insert_as_head+0x28>)
|
|
19fa: 4798 blx r3
|
|
|
|
((struct list_element *)element)->next = list->head;
|
|
19fc: 6823 ldr r3, [r4, #0]
|
|
19fe: 602b str r3, [r5, #0]
|
|
list->head = (struct list_element *)element;
|
|
1a00: 6025 str r5, [r4, #0]
|
|
1a02: bd38 pop {r3, r4, r5, pc}
|
|
1a04: 000019c3 .word 0x000019c3
|
|
1a08: 0001b580 .word 0x0001b580
|
|
1a0c: 000019bd .word 0x000019bd
|
|
|
|
00001a10 <list_insert_after>:
|
|
/**
|
|
* \brief Insert an element after the given list element
|
|
*/
|
|
void list_insert_after(void *const after, void *const element)
|
|
{
|
|
((struct list_element *)element)->next = ((struct list_element *)after)->next;
|
|
1a10: 6803 ldr r3, [r0, #0]
|
|
1a12: 600b str r3, [r1, #0]
|
|
((struct list_element *)after)->next = (struct list_element *)element;
|
|
1a14: 6001 str r1, [r0, #0]
|
|
1a16: 4770 bx lr
|
|
|
|
00001a18 <list_remove_head>:
|
|
/**
|
|
* \brief Removes list head
|
|
*/
|
|
void *list_remove_head(struct list_descriptor *const list)
|
|
{
|
|
if (list->head) {
|
|
1a18: 6803 ldr r3, [r0, #0]
|
|
1a1a: b10b cbz r3, 1a20 <list_remove_head+0x8>
|
|
struct list_element *tmp = list->head;
|
|
|
|
list->head = list->head->next;
|
|
1a1c: 681a ldr r2, [r3, #0]
|
|
1a1e: 6002 str r2, [r0, #0]
|
|
return (void *)tmp;
|
|
}
|
|
|
|
return NULL;
|
|
}
|
|
1a20: 4618 mov r0, r3
|
|
1a22: 4770 bx lr
|
|
|
|
00001a24 <ringbuffer_init>:
|
|
|
|
/**
|
|
* \brief Ringbuffer init
|
|
*/
|
|
int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size)
|
|
{
|
|
1a24: b570 push {r4, r5, r6, lr}
|
|
1a26: 460e mov r6, r1
|
|
1a28: 4615 mov r5, r2
|
|
ASSERT(rb && buf && size);
|
|
1a2a: 4604 mov r4, r0
|
|
1a2c: b178 cbz r0, 1a4e <ringbuffer_init+0x2a>
|
|
1a2e: b181 cbz r1, 1a52 <ringbuffer_init+0x2e>
|
|
1a30: b1a2 cbz r2, 1a5c <ringbuffer_init+0x38>
|
|
1a32: 2001 movs r0, #1
|
|
1a34: 2228 movs r2, #40 ; 0x28
|
|
1a36: 490d ldr r1, [pc, #52] ; (1a6c <ringbuffer_init+0x48>)
|
|
1a38: 4b0d ldr r3, [pc, #52] ; (1a70 <ringbuffer_init+0x4c>)
|
|
1a3a: 4798 blx r3
|
|
|
|
/*
|
|
* buf size must be aligned to power of 2
|
|
*/
|
|
if ((size & (size - 1)) != 0) {
|
|
1a3c: 1e6b subs r3, r5, #1
|
|
1a3e: 421d tst r5, r3
|
|
1a40: d109 bne.n 1a56 <ringbuffer_init+0x32>
|
|
return ERR_INVALID_ARG;
|
|
}
|
|
|
|
/* size - 1 is faster in calculation */
|
|
rb->size = size - 1;
|
|
1a42: 6063 str r3, [r4, #4]
|
|
rb->read_index = 0;
|
|
1a44: 2000 movs r0, #0
|
|
1a46: 60a0 str r0, [r4, #8]
|
|
rb->write_index = rb->read_index;
|
|
1a48: 60e0 str r0, [r4, #12]
|
|
rb->buf = (uint8_t *)buf;
|
|
1a4a: 6026 str r6, [r4, #0]
|
|
|
|
return ERR_NONE;
|
|
1a4c: bd70 pop {r4, r5, r6, pc}
|
|
ASSERT(rb && buf && size);
|
|
1a4e: 2000 movs r0, #0
|
|
1a50: e7f0 b.n 1a34 <ringbuffer_init+0x10>
|
|
1a52: 2000 movs r0, #0
|
|
1a54: e7ee b.n 1a34 <ringbuffer_init+0x10>
|
|
return ERR_INVALID_ARG;
|
|
1a56: f06f 000c mvn.w r0, #12
|
|
1a5a: bd70 pop {r4, r5, r6, pc}
|
|
ASSERT(rb && buf && size);
|
|
1a5c: 2228 movs r2, #40 ; 0x28
|
|
1a5e: 4903 ldr r1, [pc, #12] ; (1a6c <ringbuffer_init+0x48>)
|
|
1a60: 2000 movs r0, #0
|
|
1a62: 4b03 ldr r3, [pc, #12] ; (1a70 <ringbuffer_init+0x4c>)
|
|
1a64: 4798 blx r3
|
|
if ((size & (size - 1)) != 0) {
|
|
1a66: 1e6b subs r3, r5, #1
|
|
1a68: e7eb b.n 1a42 <ringbuffer_init+0x1e>
|
|
1a6a: bf00 nop
|
|
1a6c: 0001b5a0 .word 0x0001b5a0
|
|
1a70: 000019bd .word 0x000019bd
|
|
|
|
00001a74 <ringbuffer_get>:
|
|
/**
|
|
* \brief Get one byte from ringbuffer
|
|
*
|
|
*/
|
|
int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data)
|
|
{
|
|
1a74: b538 push {r3, r4, r5, lr}
|
|
1a76: 460d mov r5, r1
|
|
ASSERT(rb && data);
|
|
1a78: 4604 mov r4, r0
|
|
1a7a: b1a0 cbz r0, 1aa6 <ringbuffer_get+0x32>
|
|
1a7c: 1c08 adds r0, r1, #0
|
|
1a7e: bf18 it ne
|
|
1a80: 2001 movne r0, #1
|
|
1a82: 2240 movs r2, #64 ; 0x40
|
|
1a84: 490a ldr r1, [pc, #40] ; (1ab0 <ringbuffer_get+0x3c>)
|
|
1a86: 4b0b ldr r3, [pc, #44] ; (1ab4 <ringbuffer_get+0x40>)
|
|
1a88: 4798 blx r3
|
|
|
|
if (rb->write_index != rb->read_index) {
|
|
1a8a: 68a3 ldr r3, [r4, #8]
|
|
1a8c: 68e2 ldr r2, [r4, #12]
|
|
1a8e: 429a cmp r2, r3
|
|
1a90: d00b beq.n 1aaa <ringbuffer_get+0x36>
|
|
*data = rb->buf[rb->read_index & rb->size];
|
|
1a92: 6862 ldr r2, [r4, #4]
|
|
1a94: 4013 ands r3, r2
|
|
1a96: 6822 ldr r2, [r4, #0]
|
|
1a98: 5cd3 ldrb r3, [r2, r3]
|
|
1a9a: 702b strb r3, [r5, #0]
|
|
rb->read_index++;
|
|
1a9c: 68a3 ldr r3, [r4, #8]
|
|
1a9e: 3301 adds r3, #1
|
|
1aa0: 60a3 str r3, [r4, #8]
|
|
return ERR_NONE;
|
|
1aa2: 2000 movs r0, #0
|
|
1aa4: bd38 pop {r3, r4, r5, pc}
|
|
1aa6: 2000 movs r0, #0
|
|
1aa8: e7eb b.n 1a82 <ringbuffer_get+0xe>
|
|
}
|
|
|
|
return ERR_NOT_FOUND;
|
|
1aaa: f06f 0009 mvn.w r0, #9
|
|
}
|
|
1aae: bd38 pop {r3, r4, r5, pc}
|
|
1ab0: 0001b5a0 .word 0x0001b5a0
|
|
1ab4: 000019bd .word 0x000019bd
|
|
|
|
00001ab8 <ringbuffer_put>:
|
|
/**
|
|
* \brief Put one byte to ringbuffer
|
|
*
|
|
*/
|
|
int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data)
|
|
{
|
|
1ab8: b538 push {r3, r4, r5, lr}
|
|
1aba: 460d mov r5, r1
|
|
ASSERT(rb);
|
|
1abc: 4604 mov r4, r0
|
|
1abe: 2251 movs r2, #81 ; 0x51
|
|
1ac0: 490b ldr r1, [pc, #44] ; (1af0 <ringbuffer_put+0x38>)
|
|
1ac2: 3000 adds r0, #0
|
|
1ac4: bf18 it ne
|
|
1ac6: 2001 movne r0, #1
|
|
1ac8: 4b0a ldr r3, [pc, #40] ; (1af4 <ringbuffer_put+0x3c>)
|
|
1aca: 4798 blx r3
|
|
|
|
rb->buf[rb->write_index & rb->size] = data;
|
|
1acc: 68e3 ldr r3, [r4, #12]
|
|
1ace: 6862 ldr r2, [r4, #4]
|
|
1ad0: 4013 ands r3, r2
|
|
1ad2: 6822 ldr r2, [r4, #0]
|
|
1ad4: 54d5 strb r5, [r2, r3]
|
|
|
|
/*
|
|
* buffer full strategy: new data will overwrite the oldest data in
|
|
* the buffer
|
|
*/
|
|
if ((rb->write_index - rb->read_index) > rb->size) {
|
|
1ad6: 68e3 ldr r3, [r4, #12]
|
|
1ad8: 6861 ldr r1, [r4, #4]
|
|
1ada: 68a2 ldr r2, [r4, #8]
|
|
1adc: 1a9a subs r2, r3, r2
|
|
1ade: 428a cmp r2, r1
|
|
rb->read_index = rb->write_index - rb->size;
|
|
1ae0: bf84 itt hi
|
|
1ae2: 1a59 subhi r1, r3, r1
|
|
1ae4: 60a1 strhi r1, [r4, #8]
|
|
}
|
|
|
|
rb->write_index++;
|
|
1ae6: 3301 adds r3, #1
|
|
1ae8: 60e3 str r3, [r4, #12]
|
|
|
|
return ERR_NONE;
|
|
}
|
|
1aea: 2000 movs r0, #0
|
|
1aec: bd38 pop {r3, r4, r5, pc}
|
|
1aee: bf00 nop
|
|
1af0: 0001b5a0 .word 0x0001b5a0
|
|
1af4: 000019bd .word 0x000019bd
|
|
|
|
00001af8 <ringbuffer_num>:
|
|
|
|
/**
|
|
* \brief Return the element number of ringbuffer
|
|
*/
|
|
uint32_t ringbuffer_num(const struct ringbuffer *const rb)
|
|
{
|
|
1af8: b510 push {r4, lr}
|
|
ASSERT(rb);
|
|
1afa: 4604 mov r4, r0
|
|
1afc: 2267 movs r2, #103 ; 0x67
|
|
1afe: 4905 ldr r1, [pc, #20] ; (1b14 <ringbuffer_num+0x1c>)
|
|
1b00: 3000 adds r0, #0
|
|
1b02: bf18 it ne
|
|
1b04: 2001 movne r0, #1
|
|
1b06: 4b04 ldr r3, [pc, #16] ; (1b18 <ringbuffer_num+0x20>)
|
|
1b08: 4798 blx r3
|
|
|
|
return rb->write_index - rb->read_index;
|
|
1b0a: 68e0 ldr r0, [r4, #12]
|
|
1b0c: 68a3 ldr r3, [r4, #8]
|
|
}
|
|
1b0e: 1ac0 subs r0, r0, r3
|
|
1b10: bd10 pop {r4, pc}
|
|
1b12: bf00 nop
|
|
1b14: 0001b5a0 .word 0x0001b5a0
|
|
1b18: 000019bd .word 0x000019bd
|
|
|
|
00001b1c <_irq_set>:
|
|
*/
|
|
__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
|
|
{
|
|
if ((int32_t)(IRQn) >= 0)
|
|
{
|
|
NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
|
1b1c: 0943 lsrs r3, r0, #5
|
|
1b1e: f000 001f and.w r0, r0, #31
|
|
1b22: 2201 movs r2, #1
|
|
1b24: fa02 f000 lsl.w r0, r2, r0
|
|
1b28: 3340 adds r3, #64 ; 0x40
|
|
1b2a: 4a02 ldr r2, [pc, #8] ; (1b34 <_irq_set+0x18>)
|
|
1b2c: f842 0023 str.w r0, [r2, r3, lsl #2]
|
|
1b30: 4770 bx lr
|
|
1b32: bf00 nop
|
|
1b34: e000e100 .word 0xe000e100
|
|
|
|
00001b38 <_get_cycles_for_us>:
|
|
*/
|
|
static inline uint32_t _get_cycles_for_us_internal(const uint16_t us, const uint32_t freq, const uint8_t power)
|
|
{
|
|
switch (power) {
|
|
case 9:
|
|
return (us * (freq / 1000000) + 2) / 3;
|
|
1b38: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
1b3c: eb00 1000 add.w r0, r0, r0, lsl #4
|
|
1b40: 3002 adds r0, #2
|
|
1b42: 4b02 ldr r3, [pc, #8] ; (1b4c <_get_cycles_for_us+0x14>)
|
|
1b44: fba3 3000 umull r3, r0, r3, r0
|
|
* \brief Retrieve the amount of cycles to delay for the given amount of us
|
|
*/
|
|
uint32_t _get_cycles_for_us(const uint16_t us)
|
|
{
|
|
return _get_cycles_for_us_internal(us, CONF_CPU_FREQUENCY, CPU_FREQ_POWER);
|
|
}
|
|
1b48: 0840 lsrs r0, r0, #1
|
|
1b4a: 4770 bx lr
|
|
1b4c: aaaaaaab .word 0xaaaaaaab
|
|
|
|
00001b50 <_get_cycles_for_ms>:
|
|
*/
|
|
static inline uint32_t _get_cycles_for_ms_internal(const uint16_t ms, const uint32_t freq, const uint8_t power)
|
|
{
|
|
switch (power) {
|
|
case 9:
|
|
return (ms * (freq / 1000000) + 2) / 3 * 1000;
|
|
1b50: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
1b54: eb00 1000 add.w r0, r0, r0, lsl #4
|
|
1b58: 3002 adds r0, #2
|
|
1b5a: 4b04 ldr r3, [pc, #16] ; (1b6c <_get_cycles_for_ms+0x1c>)
|
|
1b5c: fba3 3000 umull r3, r0, r3, r0
|
|
1b60: 0840 lsrs r0, r0, #1
|
|
* \brief Retrieve the amount of cycles to delay for the given amount of ms
|
|
*/
|
|
uint32_t _get_cycles_for_ms(const uint16_t ms)
|
|
{
|
|
return _get_cycles_for_ms_internal(ms, CONF_CPU_FREQUENCY, CPU_FREQ_POWER);
|
|
}
|
|
1b62: f44f 737a mov.w r3, #1000 ; 0x3e8
|
|
1b66: fb03 f000 mul.w r0, r3, r0
|
|
1b6a: 4770 bx lr
|
|
1b6c: aaaaaaab .word 0xaaaaaaab
|
|
|
|
00001b70 <_delay_init>:
|
|
/**
|
|
* \brief Initialize delay functionality
|
|
*/
|
|
void _delay_init(void *const hw)
|
|
{
|
|
1b70: 4770 bx lr
|
|
1b72: 0000 movs r0, r0
|
|
1b74: 0000 movs r0, r0
|
|
...
|
|
|
|
00001b78 <_delay_cycles>:
|
|
__asm(".align 3 \n"
|
|
"__delay:\n"
|
|
"subs r1, r1, #1\n"
|
|
"bhi __delay\n");
|
|
#elif defined __GNUC__
|
|
__asm(".syntax unified\n"
|
|
1b78: 3901 subs r1, #1
|
|
1b7a: d8fd bhi.n 1b78 <_delay_cycles>
|
|
1b7c: 4770 bx lr
|
|
1b7e: bf00 nop
|
|
|
|
00001b80 <_init_chip>:
|
|
|
|
/**
|
|
* \brief Initialize the hardware abstraction layer
|
|
*/
|
|
void _init_chip(void)
|
|
{
|
|
1b80: b508 push {r3, lr}
|
|
}
|
|
|
|
static inline void hri_nvmctrl_set_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask)
|
|
{
|
|
NVMCTRL_CRITICAL_SECTION_ENTER();
|
|
((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_RWS(mask);
|
|
1b82: 4a09 ldr r2, [pc, #36] ; (1ba8 <_init_chip+0x28>)
|
|
1b84: 8813 ldrh r3, [r2, #0]
|
|
1b86: b29b uxth r3, r3
|
|
1b88: f443 63a0 orr.w r3, r3, #1280 ; 0x500
|
|
1b8c: 8013 strh r3, [r2, #0]
|
|
hri_nvmctrl_set_CTRLA_RWS_bf(NVMCTRL, CONF_NVM_WAIT_STATE);
|
|
|
|
_osc32kctrl_init_sources();
|
|
1b8e: 4b07 ldr r3, [pc, #28] ; (1bac <_init_chip+0x2c>)
|
|
1b90: 4798 blx r3
|
|
_oscctrl_init_sources();
|
|
1b92: 4b07 ldr r3, [pc, #28] ; (1bb0 <_init_chip+0x30>)
|
|
1b94: 4798 blx r3
|
|
_mclk_init();
|
|
1b96: 4b07 ldr r3, [pc, #28] ; (1bb4 <_init_chip+0x34>)
|
|
1b98: 4798 blx r3
|
|
#if _GCLK_INIT_1ST
|
|
_gclk_init_generators_by_fref(_GCLK_INIT_1ST);
|
|
#endif
|
|
_oscctrl_init_referenced_generators();
|
|
1b9a: 4b07 ldr r3, [pc, #28] ; (1bb8 <_init_chip+0x38>)
|
|
1b9c: 4798 blx r3
|
|
_gclk_init_generators_by_fref(_GCLK_INIT_LAST);
|
|
1b9e: f640 70ff movw r0, #4095 ; 0xfff
|
|
1ba2: 4b06 ldr r3, [pc, #24] ; (1bbc <_init_chip+0x3c>)
|
|
1ba4: 4798 blx r3
|
|
1ba6: bd08 pop {r3, pc}
|
|
1ba8: 41004000 .word 0x41004000
|
|
1bac: 00001bf1 .word 0x00001bf1
|
|
1bb0: 00001c11 .word 0x00001c11
|
|
1bb4: 00001be5 .word 0x00001be5
|
|
1bb8: 00001c15 .word 0x00001c15
|
|
1bbc: 00001bc1 .word 0x00001bc1
|
|
|
|
00001bc0 <_gclk_init_generators_by_fref>:
|
|
|
|
void _gclk_init_generators_by_fref(uint32_t bm)
|
|
{
|
|
|
|
#if CONF_GCLK_GENERATOR_0_CONFIG == 1
|
|
if (bm & (1ul << 0)) {
|
|
1bc0: f010 0f01 tst.w r0, #1
|
|
1bc4: d008 beq.n 1bd8 <_gclk_init_generators_by_fref+0x18>
|
|
((Gclk *)hw)->GENCTRL[index].reg = data;
|
|
1bc6: 4a05 ldr r2, [pc, #20] ; (1bdc <_gclk_init_generators_by_fref+0x1c>)
|
|
1bc8: 4b05 ldr r3, [pc, #20] ; (1be0 <_gclk_init_generators_by_fref+0x20>)
|
|
1bca: 621a str r2, [r3, #32]
|
|
while (((Gclk *)hw)->SYNCBUSY.reg & reg) {
|
|
1bcc: 4619 mov r1, r3
|
|
1bce: f643 72fd movw r2, #16381 ; 0x3ffd
|
|
1bd2: 684b ldr r3, [r1, #4]
|
|
1bd4: 4213 tst r3, r2
|
|
1bd6: d1fc bne.n 1bd2 <_gclk_init_generators_by_fref+0x12>
|
|
1bd8: 4770 bx lr
|
|
1bda: bf00 nop
|
|
1bdc: 00010107 .word 0x00010107
|
|
1be0: 40001c00 .word 0x40001c00
|
|
|
|
00001be4 <_mclk_init>:
|
|
((Mclk *)hw)->CPUDIV.reg = data;
|
|
1be4: 2201 movs r2, #1
|
|
1be6: 4b01 ldr r3, [pc, #4] ; (1bec <_mclk_init+0x8>)
|
|
1be8: 715a strb r2, [r3, #5]
|
|
1bea: 4770 bx lr
|
|
1bec: 40000800 .word 0x40000800
|
|
|
|
00001bf0 <_osc32kctrl_init_sources>:
|
|
}
|
|
|
|
static inline void hri_osc32kctrl_write_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data)
|
|
{
|
|
OSC32KCTRL_CRITICAL_SECTION_ENTER();
|
|
((Osc32kctrl *)hw)->XOSC32K.reg = data;
|
|
1bf0: 4b06 ldr r3, [pc, #24] ; (1c0c <_osc32kctrl_init_sources+0x1c>)
|
|
1bf2: f242 328e movw r2, #9102 ; 0x238e
|
|
1bf6: 829a strh r2, [r3, #20]
|
|
}
|
|
|
|
static inline void hri_osc32kctrl_write_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t data)
|
|
{
|
|
OSC32KCTRL_CRITICAL_SECTION_ENTER();
|
|
((Osc32kctrl *)hw)->CFDCTRL.reg = data;
|
|
1bf8: 2200 movs r2, #0
|
|
1bfa: 759a strb r2, [r3, #22]
|
|
}
|
|
|
|
static inline void hri_osc32kctrl_write_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t data)
|
|
{
|
|
OSC32KCTRL_CRITICAL_SECTION_ENTER();
|
|
((Osc32kctrl *)hw)->EVCTRL.reg = data;
|
|
1bfc: 75da strb r2, [r3, #23]
|
|
}
|
|
|
|
static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_CALIB_bf(const void *const hw)
|
|
{
|
|
uint32_t tmp;
|
|
tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg;
|
|
1bfe: 69da ldr r2, [r3, #28]
|
|
calib = hri_osc32kctrl_read_OSCULP32K_CALIB_bf(hw);
|
|
hri_osc32kctrl_write_OSCULP32K_reg(hw,
|
|
#if CONF_OSCULP32K_CALIB_ENABLE == 1
|
|
OSC32KCTRL_OSCULP32K_CALIB(CONF_OSCULP32K_CALIB)
|
|
#else
|
|
OSC32KCTRL_OSCULP32K_CALIB(calib)
|
|
1c00: f402 527c and.w r2, r2, #16128 ; 0x3f00
|
|
}
|
|
|
|
static inline void hri_osc32kctrl_write_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data)
|
|
{
|
|
OSC32KCTRL_CRITICAL_SECTION_ENTER();
|
|
((Osc32kctrl *)hw)->OSCULP32K.reg = data;
|
|
1c04: 61da str r2, [r3, #28]
|
|
((Osc32kctrl *)hw)->RTCCTRL.reg = data;
|
|
1c06: 2201 movs r2, #1
|
|
1c08: 741a strb r2, [r3, #16]
|
|
1c0a: 4770 bx lr
|
|
1c0c: 40001400 .word 0x40001400
|
|
|
|
00001c10 <_oscctrl_init_sources>:
|
|
|
|
/**
|
|
* \brief Initialize clock sources
|
|
*/
|
|
void _oscctrl_init_sources(void)
|
|
{
|
|
1c10: 4770 bx lr
|
|
...
|
|
|
|
00001c14 <_oscctrl_init_referenced_generators>:
|
|
|
|
static inline void hri_oscctrl_write_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index,
|
|
hri_oscctrl_dpllratio_reg_t data)
|
|
{
|
|
OSCCTRL_CRITICAL_SECTION_ENTER();
|
|
((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = data;
|
|
1c14: 4a0e ldr r2, [pc, #56] ; (1c50 <_oscctrl_init_referenced_generators+0x3c>)
|
|
1c16: 4b0f ldr r3, [pc, #60] ; (1c54 <_oscctrl_init_referenced_generators+0x40>)
|
|
1c18: 635a str r2, [r3, #52] ; 0x34
|
|
while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) {
|
|
1c1a: 461a mov r2, r3
|
|
1c1c: 6bd3 ldr r3, [r2, #60] ; 0x3c
|
|
1c1e: f013 0f06 tst.w r3, #6
|
|
1c22: d1fb bne.n 1c1c <_oscctrl_init_referenced_generators+0x8>
|
|
|
|
static inline void hri_oscctrl_write_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index,
|
|
hri_oscctrl_dpllctrlb_reg_t data)
|
|
{
|
|
OSCCTRL_CRITICAL_SECTION_ENTER();
|
|
((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = data;
|
|
1c24: 4b0b ldr r3, [pc, #44] ; (1c54 <_oscctrl_init_referenced_generators+0x40>)
|
|
1c26: f44f 6202 mov.w r2, #2080 ; 0x820
|
|
1c2a: 639a str r2, [r3, #56] ; 0x38
|
|
((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = data;
|
|
1c2c: 2202 movs r2, #2
|
|
1c2e: f883 2030 strb.w r2, [r3, #48] ; 0x30
|
|
while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) {
|
|
1c32: 461a mov r2, r3
|
|
1c34: 6bd3 ldr r3, [r2, #60] ; 0x3c
|
|
1c36: f013 0f02 tst.w r3, #2
|
|
1c3a: d1fb bne.n 1c34 <_oscctrl_init_referenced_generators+0x20>
|
|
return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK)
|
|
1c3c: 4b05 ldr r3, [pc, #20] ; (1c54 <_oscctrl_init_referenced_generators+0x40>)
|
|
1c3e: 6c1a ldr r2, [r3, #64] ; 0x40
|
|
#endif
|
|
#endif
|
|
|
|
#if CONF_FDPLL0_CONFIG == 1
|
|
#if CONF_FDPLL0_ENABLE == 1
|
|
while (!(hri_oscctrl_get_DPLLSTATUS_LOCK_bit(hw, 0) || hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(hw, 0)))
|
|
1c40: f012 0f01 tst.w r2, #1
|
|
1c44: d103 bne.n 1c4e <_oscctrl_init_referenced_generators+0x3a>
|
|
return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY)
|
|
1c46: 6c1a ldr r2, [r3, #64] ; 0x40
|
|
1c48: f012 0f02 tst.w r2, #2
|
|
1c4c: d0f7 beq.n 1c3e <_oscctrl_init_referenced_generators+0x2a>
|
|
1c4e: 4770 bx lr
|
|
1c50: 00010e4d .word 0x00010e4d
|
|
1c54: 40001000 .word 0x40001000
|
|
|
|
00001c58 <RAMECC_Handler>:
|
|
|
|
/**
|
|
* \internal RAMECC interrupt handler
|
|
*/
|
|
void RAMECC_Handler(void)
|
|
{
|
|
1c58: b500 push {lr}
|
|
1c5a: b083 sub sp, #12
|
|
return tmp;
|
|
}
|
|
|
|
static inline hri_ramecc_intflag_reg_t hri_ramecc_read_INTFLAG_reg(const void *const hw)
|
|
{
|
|
return ((Ramecc *)hw)->INTFLAG.reg;
|
|
1c5c: 4b0d ldr r3, [pc, #52] ; (1c94 <RAMECC_Handler+0x3c>)
|
|
1c5e: 789b ldrb r3, [r3, #2]
|
|
1c60: b2db uxtb r3, r3
|
|
struct _ramecc_device *dev = (struct _ramecc_device *)&device;
|
|
volatile uint32_t int_mask = hri_ramecc_read_INTFLAG_reg(RAMECC);
|
|
1c62: 9301 str r3, [sp, #4]
|
|
|
|
if (int_mask & RAMECC_INTFLAG_DUALE && dev->ramecc_cb.dual_bit_err) {
|
|
1c64: 9b01 ldr r3, [sp, #4]
|
|
1c66: f013 0f02 tst.w r3, #2
|
|
1c6a: d006 beq.n 1c7a <RAMECC_Handler+0x22>
|
|
1c6c: 4b0a ldr r3, [pc, #40] ; (1c98 <RAMECC_Handler+0x40>)
|
|
1c6e: 681b ldr r3, [r3, #0]
|
|
1c70: b11b cbz r3, 1c7a <RAMECC_Handler+0x22>
|
|
return tmp;
|
|
}
|
|
|
|
static inline hri_ramecc_erraddr_reg_t hri_ramecc_read_ERRADDR_reg(const void *const hw)
|
|
{
|
|
return ((Ramecc *)hw)->ERRADDR.reg;
|
|
1c72: 4a08 ldr r2, [pc, #32] ; (1c94 <RAMECC_Handler+0x3c>)
|
|
1c74: 6850 ldr r0, [r2, #4]
|
|
dev->ramecc_cb.dual_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC));
|
|
1c76: 4798 blx r3
|
|
1c78: e009 b.n 1c8e <RAMECC_Handler+0x36>
|
|
} else if (int_mask & RAMECC_INTFLAG_SINGLEE && dev->ramecc_cb.single_bit_err) {
|
|
1c7a: 9b01 ldr r3, [sp, #4]
|
|
1c7c: f013 0f01 tst.w r3, #1
|
|
1c80: d005 beq.n 1c8e <RAMECC_Handler+0x36>
|
|
1c82: 4b05 ldr r3, [pc, #20] ; (1c98 <RAMECC_Handler+0x40>)
|
|
1c84: 685b ldr r3, [r3, #4]
|
|
1c86: b113 cbz r3, 1c8e <RAMECC_Handler+0x36>
|
|
1c88: 4a02 ldr r2, [pc, #8] ; (1c94 <RAMECC_Handler+0x3c>)
|
|
1c8a: 6850 ldr r0, [r2, #4]
|
|
dev->ramecc_cb.single_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC));
|
|
1c8c: 4798 blx r3
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
1c8e: b003 add sp, #12
|
|
1c90: f85d fb04 ldr.w pc, [sp], #4
|
|
1c94: 41020000 .word 0x41020000
|
|
1c98: 20006c70 .word 0x20006c70
|
|
|
|
00001c9c <_sercom_get_hardware_index>:
|
|
|
|
/**
|
|
* \brief Retrieve ordinal number of the given sercom hardware instance
|
|
*/
|
|
static uint8_t _sercom_get_hardware_index(const void *const hw)
|
|
{
|
|
1c9c: b470 push {r4, r5, r6}
|
|
1c9e: b089 sub sp, #36 ; 0x24
|
|
1ca0: 4606 mov r6, r0
|
|
Sercom *const sercom_modules[] = SERCOM_INSTS;
|
|
1ca2: 466c mov r4, sp
|
|
1ca4: 4d0d ldr r5, [pc, #52] ; (1cdc <_sercom_get_hardware_index+0x40>)
|
|
1ca6: cd0f ldmia r5!, {r0, r1, r2, r3}
|
|
1ca8: c40f stmia r4!, {r0, r1, r2, r3}
|
|
1caa: e895 000f ldmia.w r5, {r0, r1, r2, r3}
|
|
1cae: e884 000f stmia.w r4, {r0, r1, r2, r3}
|
|
/* Find index for SERCOM instance. */
|
|
for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) {
|
|
if ((uint32_t)hw == (uint32_t)sercom_modules[i]) {
|
|
1cb2: 9b00 ldr r3, [sp, #0]
|
|
1cb4: 42b3 cmp r3, r6
|
|
1cb6: d00d beq.n 1cd4 <_sercom_get_hardware_index+0x38>
|
|
1cb8: 4631 mov r1, r6
|
|
1cba: ab01 add r3, sp, #4
|
|
for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) {
|
|
1cbc: 2001 movs r0, #1
|
|
if ((uint32_t)hw == (uint32_t)sercom_modules[i]) {
|
|
1cbe: f853 2b04 ldr.w r2, [r3], #4
|
|
1cc2: 428a cmp r2, r1
|
|
1cc4: d007 beq.n 1cd6 <_sercom_get_hardware_index+0x3a>
|
|
for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) {
|
|
1cc6: 3001 adds r0, #1
|
|
1cc8: 2808 cmp r0, #8
|
|
1cca: d1f8 bne.n 1cbe <_sercom_get_hardware_index+0x22>
|
|
return i;
|
|
}
|
|
}
|
|
return 0;
|
|
1ccc: 2000 movs r0, #0
|
|
}
|
|
1cce: b009 add sp, #36 ; 0x24
|
|
1cd0: bc70 pop {r4, r5, r6}
|
|
1cd2: 4770 bx lr
|
|
for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) {
|
|
1cd4: 2000 movs r0, #0
|
|
return i;
|
|
1cd6: b2c0 uxtb r0, r0
|
|
1cd8: e7f9 b.n 1cce <_sercom_get_hardware_index+0x32>
|
|
1cda: bf00 nop
|
|
1cdc: 0001b5c4 .word 0x0001b5c4
|
|
|
|
00001ce0 <_sercom_usart_interrupt_handler>:
|
|
* \internal Sercom interrupt handler
|
|
*
|
|
* \param[in] p The pointer to interrupt parameter
|
|
*/
|
|
static void _sercom_usart_interrupt_handler(struct _usart_async_device *device)
|
|
{
|
|
1ce0: b510 push {r4, lr}
|
|
void *hw = device->hw;
|
|
1ce2: 6984 ldr r4, [r0, #24]
|
|
((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR;
|
|
}
|
|
|
|
static inline bool hri_sercomusart_get_interrupt_DRE_bit(const void *const hw)
|
|
{
|
|
return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos;
|
|
1ce4: 7e23 ldrb r3, [r4, #24]
|
|
|
|
if (hri_sercomusart_get_interrupt_DRE_bit(hw) && hri_sercomusart_get_INTEN_DRE_bit(hw)) {
|
|
1ce6: f013 0f01 tst.w r3, #1
|
|
1cea: d003 beq.n 1cf4 <_sercom_usart_interrupt_handler+0x14>
|
|
((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE;
|
|
}
|
|
|
|
static inline bool hri_sercomusart_get_INTEN_DRE_bit(const void *const hw)
|
|
{
|
|
return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_DRE) >> SERCOM_USART_INTENSET_DRE_Pos;
|
|
1cec: 7da3 ldrb r3, [r4, #22]
|
|
1cee: f013 0f01 tst.w r3, #1
|
|
1cf2: d112 bne.n 1d1a <_sercom_usart_interrupt_handler+0x3a>
|
|
return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos;
|
|
1cf4: 7e23 ldrb r3, [r4, #24]
|
|
hri_sercomusart_clear_INTEN_DRE_bit(hw);
|
|
device->usart_cb.tx_byte_sent(device);
|
|
} else if (hri_sercomusart_get_interrupt_TXC_bit(hw) && hri_sercomusart_get_INTEN_TXC_bit(hw)) {
|
|
1cf6: f013 0f02 tst.w r3, #2
|
|
1cfa: d003 beq.n 1d04 <_sercom_usart_interrupt_handler+0x24>
|
|
((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC;
|
|
}
|
|
|
|
static inline bool hri_sercomusart_get_INTEN_TXC_bit(const void *const hw)
|
|
{
|
|
return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_TXC) >> SERCOM_USART_INTENSET_TXC_Pos;
|
|
1cfc: 7da3 ldrb r3, [r4, #22]
|
|
1cfe: f013 0f02 tst.w r3, #2
|
|
1d02: d10f bne.n 1d24 <_sercom_usart_interrupt_handler+0x44>
|
|
return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos;
|
|
1d04: 7e23 ldrb r3, [r4, #24]
|
|
hri_sercomusart_clear_INTEN_TXC_bit(hw);
|
|
device->usart_cb.tx_done_cb(device);
|
|
} else if (hri_sercomusart_get_interrupt_RXC_bit(hw)) {
|
|
1d06: f013 0f04 tst.w r3, #4
|
|
1d0a: d015 beq.n 1d38 <_sercom_usart_interrupt_handler+0x58>
|
|
SERCOM_CRITICAL_SECTION_LEAVE();
|
|
}
|
|
|
|
static inline hri_sercomusart_status_reg_t hri_sercomusart_read_STATUS_reg(const void *const hw)
|
|
{
|
|
return ((Sercom *)hw)->USART.STATUS.reg;
|
|
1d0c: 8b63 ldrh r3, [r4, #26]
|
|
if (hri_sercomusart_read_STATUS_reg(hw)
|
|
1d0e: f003 0337 and.w r3, r3, #55 ; 0x37
|
|
1d12: b163 cbz r3, 1d2e <_sercom_usart_interrupt_handler+0x4e>
|
|
((Sercom *)hw)->USART.STATUS.reg = mask;
|
|
1d14: 23ff movs r3, #255 ; 0xff
|
|
1d16: 8363 strh r3, [r4, #26]
|
|
1d18: bd10 pop {r4, pc}
|
|
((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_DRE;
|
|
1d1a: 2301 movs r3, #1
|
|
1d1c: 7523 strb r3, [r4, #20]
|
|
device->usart_cb.tx_byte_sent(device);
|
|
1d1e: 6803 ldr r3, [r0, #0]
|
|
1d20: 4798 blx r3
|
|
1d22: bd10 pop {r4, pc}
|
|
((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_TXC;
|
|
1d24: 2302 movs r3, #2
|
|
1d26: 7523 strb r3, [r4, #20]
|
|
device->usart_cb.tx_done_cb(device);
|
|
1d28: 6883 ldr r3, [r0, #8]
|
|
1d2a: 4798 blx r3
|
|
1d2c: bd10 pop {r4, pc}
|
|
return ((Sercom *)hw)->USART.DATA.reg;
|
|
1d2e: 6aa1 ldr r1, [r4, #40] ; 0x28
|
|
| SERCOM_USART_STATUS_ISF | SERCOM_USART_STATUS_COLL)) {
|
|
hri_sercomusart_clear_STATUS_reg(hw, SERCOM_USART_STATUS_MASK);
|
|
return;
|
|
}
|
|
|
|
device->usart_cb.rx_done_cb(device, hri_sercomusart_read_DATA_reg(hw));
|
|
1d30: 6843 ldr r3, [r0, #4]
|
|
1d32: b2c9 uxtb r1, r1
|
|
1d34: 4798 blx r3
|
|
1d36: bd10 pop {r4, pc}
|
|
return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_ERROR) >> SERCOM_USART_INTFLAG_ERROR_Pos;
|
|
1d38: 7e23 ldrb r3, [r4, #24]
|
|
} else if (hri_sercomusart_get_interrupt_ERROR_bit(hw)) {
|
|
1d3a: 09db lsrs r3, r3, #7
|
|
1d3c: d100 bne.n 1d40 <_sercom_usart_interrupt_handler+0x60>
|
|
1d3e: bd10 pop {r4, pc}
|
|
((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR;
|
|
1d40: 2380 movs r3, #128 ; 0x80
|
|
1d42: 7623 strb r3, [r4, #24]
|
|
uint32_t status;
|
|
|
|
hri_sercomusart_clear_interrupt_ERROR_bit(hw);
|
|
device->usart_cb.error_cb(device);
|
|
1d44: 68c3 ldr r3, [r0, #12]
|
|
1d46: 4798 blx r3
|
|
return ((Sercom *)hw)->USART.STATUS.reg;
|
|
1d48: 8b63 ldrh r3, [r4, #26]
|
|
1d4a: b29b uxth r3, r3
|
|
((Sercom *)hw)->USART.STATUS.reg = mask;
|
|
1d4c: 8363 strh r3, [r4, #26]
|
|
1d4e: e7f6 b.n 1d3e <_sercom_usart_interrupt_handler+0x5e>
|
|
|
|
00001d50 <_sercom_get_irq_num>:
|
|
|
|
/**
|
|
* \brief Retrieve IRQ number for the given hardware instance
|
|
*/
|
|
static uint8_t _sercom_get_irq_num(const void *const hw)
|
|
{
|
|
1d50: b508 push {r3, lr}
|
|
return SERCOM0_0_IRQn + (_sercom_get_hardware_index(hw) << 2);
|
|
1d52: 4b03 ldr r3, [pc, #12] ; (1d60 <_sercom_get_irq_num+0x10>)
|
|
1d54: 4798 blx r3
|
|
1d56: 0080 lsls r0, r0, #2
|
|
1d58: 302e adds r0, #46 ; 0x2e
|
|
}
|
|
1d5a: f000 00fe and.w r0, r0, #254 ; 0xfe
|
|
1d5e: bd08 pop {r3, pc}
|
|
1d60: 00001c9d .word 0x00001c9d
|
|
|
|
00001d64 <_usart_init>:
|
|
{
|
|
1d64: b510 push {r4, lr}
|
|
1d66: 4604 mov r4, r0
|
|
uint8_t sercom_offset = _sercom_get_hardware_index(hw);
|
|
1d68: 4b21 ldr r3, [pc, #132] ; (1df0 <_usart_init+0x8c>)
|
|
1d6a: 4798 blx r3
|
|
if (_usarts[i].number == sercom_offset) {
|
|
1d6c: 2802 cmp r0, #2
|
|
1d6e: d005 beq.n 1d7c <_usart_init+0x18>
|
|
ASSERT(false);
|
|
1d70: f240 226b movw r2, #619 ; 0x26b
|
|
1d74: 491f ldr r1, [pc, #124] ; (1df4 <_usart_init+0x90>)
|
|
1d76: 2000 movs r0, #0
|
|
1d78: 4b1f ldr r3, [pc, #124] ; (1df8 <_usart_init+0x94>)
|
|
1d7a: 4798 blx r3
|
|
return ((Sercom *)hw)->USART.SYNCBUSY.reg & reg;
|
|
1d7c: 69e3 ldr r3, [r4, #28]
|
|
if (!hri_sercomusart_is_syncing(hw, SERCOM_USART_SYNCBUSY_SWRST)) {
|
|
1d7e: f013 0f01 tst.w r3, #1
|
|
1d82: d119 bne.n 1db8 <_usart_init+0x54>
|
|
while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) {
|
|
1d84: 69e3 ldr r3, [r4, #28]
|
|
1d86: f013 0f03 tst.w r3, #3
|
|
1d8a: d1fb bne.n 1d84 <_usart_init+0x20>
|
|
tmp = ((Sercom *)hw)->USART.CTRLA.reg;
|
|
1d8c: 6823 ldr r3, [r4, #0]
|
|
if (hri_sercomusart_get_CTRLA_reg(hw, SERCOM_USART_CTRLA_ENABLE)) {
|
|
1d8e: f013 0f02 tst.w r3, #2
|
|
1d92: d00b beq.n 1dac <_usart_init+0x48>
|
|
((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_ENABLE;
|
|
1d94: 6823 ldr r3, [r4, #0]
|
|
1d96: f023 0302 bic.w r3, r3, #2
|
|
1d9a: 6023 str r3, [r4, #0]
|
|
while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) {
|
|
1d9c: 69e3 ldr r3, [r4, #28]
|
|
1d9e: f013 0f03 tst.w r3, #3
|
|
1da2: d1fb bne.n 1d9c <_usart_init+0x38>
|
|
1da4: 69e3 ldr r3, [r4, #28]
|
|
1da6: f013 0f02 tst.w r3, #2
|
|
1daa: d1fb bne.n 1da4 <_usart_init+0x40>
|
|
((Sercom *)hw)->USART.CTRLA.reg = data;
|
|
1dac: 2305 movs r3, #5
|
|
1dae: 6023 str r3, [r4, #0]
|
|
while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) {
|
|
1db0: 69e3 ldr r3, [r4, #28]
|
|
1db2: f013 0f03 tst.w r3, #3
|
|
1db6: d1fb bne.n 1db0 <_usart_init+0x4c>
|
|
1db8: 69e3 ldr r3, [r4, #28]
|
|
1dba: f013 0f01 tst.w r3, #1
|
|
1dbe: d1fb bne.n 1db8 <_usart_init+0x54>
|
|
((Sercom *)hw)->USART.CTRLA.reg = data;
|
|
1dc0: 4b0e ldr r3, [pc, #56] ; (1dfc <_usart_init+0x98>)
|
|
1dc2: 6023 str r3, [r4, #0]
|
|
while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) {
|
|
1dc4: 69e3 ldr r3, [r4, #28]
|
|
1dc6: f013 0f03 tst.w r3, #3
|
|
1dca: d1fb bne.n 1dc4 <_usart_init+0x60>
|
|
((Sercom *)hw)->USART.CTRLB.reg = data;
|
|
1dcc: f44f 3340 mov.w r3, #196608 ; 0x30000
|
|
1dd0: 6063 str r3, [r4, #4]
|
|
while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) {
|
|
1dd2: 69e3 ldr r3, [r4, #28]
|
|
1dd4: f013 0f1f tst.w r3, #31
|
|
1dd8: d1fb bne.n 1dd2 <_usart_init+0x6e>
|
|
((Sercom *)hw)->USART.CTRLC.reg = data;
|
|
1dda: 4b09 ldr r3, [pc, #36] ; (1e00 <_usart_init+0x9c>)
|
|
1ddc: 60a3 str r3, [r4, #8]
|
|
((Sercom *)hw)->USART.BAUD.reg = data;
|
|
1dde: f64f 4311 movw r3, #64529 ; 0xfc11
|
|
1de2: 81a3 strh r3, [r4, #12]
|
|
((Sercom *)hw)->USART.RXPL.reg = data;
|
|
1de4: 2000 movs r0, #0
|
|
1de6: 73a0 strb r0, [r4, #14]
|
|
((Sercom *)hw)->USART.DBGCTRL.reg = data;
|
|
1de8: f884 0030 strb.w r0, [r4, #48] ; 0x30
|
|
}
|
|
1dec: bd10 pop {r4, pc}
|
|
1dee: bf00 nop
|
|
1df0: 00001c9d .word 0x00001c9d
|
|
1df4: 0001b5fc .word 0x0001b5fc
|
|
1df8: 000019bd .word 0x000019bd
|
|
1dfc: 40100004 .word 0x40100004
|
|
1e00: 00700002 .word 0x00700002
|
|
|
|
00001e04 <_usart_async_init>:
|
|
{
|
|
1e04: b570 push {r4, r5, r6, lr}
|
|
1e06: 460d mov r5, r1
|
|
ASSERT(device);
|
|
1e08: 4606 mov r6, r0
|
|
1e0a: 22cb movs r2, #203 ; 0xcb
|
|
1e0c: 4918 ldr r1, [pc, #96] ; (1e70 <_usart_async_init+0x6c>)
|
|
1e0e: 3000 adds r0, #0
|
|
1e10: bf18 it ne
|
|
1e12: 2001 movne r0, #1
|
|
1e14: 4b17 ldr r3, [pc, #92] ; (1e74 <_usart_async_init+0x70>)
|
|
1e16: 4798 blx r3
|
|
init_status = _usart_init(hw);
|
|
1e18: 4628 mov r0, r5
|
|
1e1a: 4b17 ldr r3, [pc, #92] ; (1e78 <_usart_async_init+0x74>)
|
|
1e1c: 4798 blx r3
|
|
if (init_status) {
|
|
1e1e: 4604 mov r4, r0
|
|
1e20: b108 cbz r0, 1e26 <_usart_async_init+0x22>
|
|
}
|
|
1e22: 4620 mov r0, r4
|
|
1e24: bd70 pop {r4, r5, r6, pc}
|
|
device->hw = hw;
|
|
1e26: 61b5 str r5, [r6, #24]
|
|
if (hw == SERCOM2) {
|
|
1e28: 4b14 ldr r3, [pc, #80] ; (1e7c <_usart_async_init+0x78>)
|
|
1e2a: 429d cmp r5, r3
|
|
_sercom2_dev = (struct _usart_async_device *)dev;
|
|
1e2c: bf04 itt eq
|
|
1e2e: 4b14 ldreq r3, [pc, #80] ; (1e80 <_usart_async_init+0x7c>)
|
|
1e30: 601e streq r6, [r3, #0]
|
|
uint8_t irq = _sercom_get_irq_num(hw);
|
|
1e32: 4628 mov r0, r5
|
|
1e34: 4b13 ldr r3, [pc, #76] ; (1e84 <_usart_async_init+0x80>)
|
|
1e36: 4798 blx r3
|
|
1e38: 1d01 adds r1, r0, #4
|
|
1e3a: b2c9 uxtb r1, r1
|
|
NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
|
1e3c: 2501 movs r5, #1
|
|
1e3e: f000 021f and.w r2, r0, #31
|
|
1e42: fa05 f202 lsl.w r2, r5, r2
|
|
1e46: 0943 lsrs r3, r0, #5
|
|
1e48: 009b lsls r3, r3, #2
|
|
1e4a: f103 4360 add.w r3, r3, #3758096384 ; 0xe0000000
|
|
1e4e: f503 4361 add.w r3, r3, #57600 ; 0xe100
|
|
1e52: f8c3 2080 str.w r2, [r3, #128] ; 0x80
|
|
__ASM volatile ("dsb 0xF":::"memory");
|
|
1e56: f3bf 8f4f dsb sy
|
|
__ASM volatile ("isb 0xF":::"memory");
|
|
1e5a: f3bf 8f6f isb sy
|
|
*/
|
|
__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
|
|
{
|
|
if ((int32_t)(IRQn) >= 0)
|
|
{
|
|
NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
|
1e5e: f8c3 2180 str.w r2, [r3, #384] ; 0x180
|
|
NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
|
1e62: 601a str r2, [r3, #0]
|
|
irq++;
|
|
1e64: 3001 adds r0, #1
|
|
1e66: b2c0 uxtb r0, r0
|
|
for (uint32_t i = 0; i < 4; i++) {
|
|
1e68: 4281 cmp r1, r0
|
|
1e6a: d1e8 bne.n 1e3e <_usart_async_init+0x3a>
|
|
1e6c: e7d9 b.n 1e22 <_usart_async_init+0x1e>
|
|
1e6e: bf00 nop
|
|
1e70: 0001b5fc .word 0x0001b5fc
|
|
1e74: 000019bd .word 0x000019bd
|
|
1e78: 00001d65 .word 0x00001d65
|
|
1e7c: 41012000 .word 0x41012000
|
|
1e80: 200000c8 .word 0x200000c8
|
|
1e84: 00001d51 .word 0x00001d51
|
|
|
|
00001e88 <_usart_async_enable>:
|
|
hri_sercomusart_set_CTRLA_ENABLE_bit(device->hw);
|
|
1e88: 6982 ldr r2, [r0, #24]
|
|
((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_ENABLE;
|
|
1e8a: 6813 ldr r3, [r2, #0]
|
|
1e8c: f043 0302 orr.w r3, r3, #2
|
|
1e90: 6013 str r3, [r2, #0]
|
|
while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) {
|
|
1e92: 69d3 ldr r3, [r2, #28]
|
|
1e94: f013 0f03 tst.w r3, #3
|
|
1e98: d1fb bne.n 1e92 <_usart_async_enable+0xa>
|
|
}
|
|
1e9a: 4770 bx lr
|
|
|
|
00001e9c <_usart_async_write_byte>:
|
|
hri_sercomusart_write_DATA_reg(device->hw, data);
|
|
1e9c: 6983 ldr r3, [r0, #24]
|
|
((Sercom *)hw)->USART.DATA.reg = data;
|
|
1e9e: 6299 str r1, [r3, #40] ; 0x28
|
|
1ea0: 4770 bx lr
|
|
|
|
00001ea2 <_usart_async_enable_byte_sent_irq>:
|
|
hri_sercomusart_set_INTEN_DRE_bit(device->hw);
|
|
1ea2: 6983 ldr r3, [r0, #24]
|
|
((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE;
|
|
1ea4: 2201 movs r2, #1
|
|
1ea6: 759a strb r2, [r3, #22]
|
|
1ea8: 4770 bx lr
|
|
|
|
00001eaa <_usart_async_enable_tx_done_irq>:
|
|
hri_sercomusart_set_INTEN_TXC_bit(device->hw);
|
|
1eaa: 6983 ldr r3, [r0, #24]
|
|
((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC;
|
|
1eac: 2202 movs r2, #2
|
|
1eae: 759a strb r2, [r3, #22]
|
|
1eb0: 4770 bx lr
|
|
...
|
|
|
|
00001eb4 <SERCOM2_0_Handler>:
|
|
|
|
/**
|
|
* \internal Sercom interrupt handler
|
|
*/
|
|
void SERCOM2_0_Handler(void)
|
|
{
|
|
1eb4: b508 push {r3, lr}
|
|
_sercom_usart_interrupt_handler(_sercom2_dev);
|
|
1eb6: 4b02 ldr r3, [pc, #8] ; (1ec0 <SERCOM2_0_Handler+0xc>)
|
|
1eb8: 6818 ldr r0, [r3, #0]
|
|
1eba: 4b02 ldr r3, [pc, #8] ; (1ec4 <SERCOM2_0_Handler+0x10>)
|
|
1ebc: 4798 blx r3
|
|
1ebe: bd08 pop {r3, pc}
|
|
1ec0: 200000c8 .word 0x200000c8
|
|
1ec4: 00001ce1 .word 0x00001ce1
|
|
|
|
00001ec8 <SERCOM2_1_Handler>:
|
|
}
|
|
/**
|
|
* \internal Sercom interrupt handler
|
|
*/
|
|
void SERCOM2_1_Handler(void)
|
|
{
|
|
1ec8: b508 push {r3, lr}
|
|
_sercom_usart_interrupt_handler(_sercom2_dev);
|
|
1eca: 4b02 ldr r3, [pc, #8] ; (1ed4 <SERCOM2_1_Handler+0xc>)
|
|
1ecc: 6818 ldr r0, [r3, #0]
|
|
1ece: 4b02 ldr r3, [pc, #8] ; (1ed8 <SERCOM2_1_Handler+0x10>)
|
|
1ed0: 4798 blx r3
|
|
1ed2: bd08 pop {r3, pc}
|
|
1ed4: 200000c8 .word 0x200000c8
|
|
1ed8: 00001ce1 .word 0x00001ce1
|
|
|
|
00001edc <SERCOM2_2_Handler>:
|
|
}
|
|
/**
|
|
* \internal Sercom interrupt handler
|
|
*/
|
|
void SERCOM2_2_Handler(void)
|
|
{
|
|
1edc: b508 push {r3, lr}
|
|
_sercom_usart_interrupt_handler(_sercom2_dev);
|
|
1ede: 4b02 ldr r3, [pc, #8] ; (1ee8 <SERCOM2_2_Handler+0xc>)
|
|
1ee0: 6818 ldr r0, [r3, #0]
|
|
1ee2: 4b02 ldr r3, [pc, #8] ; (1eec <SERCOM2_2_Handler+0x10>)
|
|
1ee4: 4798 blx r3
|
|
1ee6: bd08 pop {r3, pc}
|
|
1ee8: 200000c8 .word 0x200000c8
|
|
1eec: 00001ce1 .word 0x00001ce1
|
|
|
|
00001ef0 <SERCOM2_3_Handler>:
|
|
}
|
|
/**
|
|
* \internal Sercom interrupt handler
|
|
*/
|
|
void SERCOM2_3_Handler(void)
|
|
{
|
|
1ef0: b508 push {r3, lr}
|
|
_sercom_usart_interrupt_handler(_sercom2_dev);
|
|
1ef2: 4b02 ldr r3, [pc, #8] ; (1efc <SERCOM2_3_Handler+0xc>)
|
|
1ef4: 6818 ldr r0, [r3, #0]
|
|
1ef6: 4b02 ldr r3, [pc, #8] ; (1f00 <SERCOM2_3_Handler+0x10>)
|
|
1ef8: 4798 blx r3
|
|
1efa: bd08 pop {r3, pc}
|
|
1efc: 200000c8 .word 0x200000c8
|
|
1f00: 00001ce1 .word 0x00001ce1
|
|
|
|
00001f04 <get_tc_index>:
|
|
* \param[in] hw The pointer to hardware instance
|
|
*
|
|
* \return The index of TC configuration
|
|
*/
|
|
static int8_t get_tc_index(const void *const hw)
|
|
{
|
|
1f04: b570 push {r4, r5, r6, lr}
|
|
1f06: b088 sub sp, #32
|
|
1f08: 4606 mov r6, r0
|
|
* \param[in] hw The pointer to hardware instance
|
|
*/
|
|
static inline uint8_t _get_hardware_offset(const void *const hw)
|
|
{
|
|
/* List of available TC modules. */
|
|
Tc *const tc_modules[TC_INST_NUM] = TC_INSTS;
|
|
1f0a: 466c mov r4, sp
|
|
1f0c: 4d12 ldr r5, [pc, #72] ; (1f58 <get_tc_index+0x54>)
|
|
1f0e: cd0f ldmia r5!, {r0, r1, r2, r3}
|
|
1f10: c40f stmia r4!, {r0, r1, r2, r3}
|
|
1f12: e895 000f ldmia.w r5, {r0, r1, r2, r3}
|
|
1f16: e884 000f stmia.w r4, {r0, r1, r2, r3}
|
|
|
|
/* Find index for TC instance. */
|
|
for (uint32_t i = 0; i < TC_INST_NUM; i++) {
|
|
if ((uint32_t)hw == (uint32_t)tc_modules[i]) {
|
|
1f1a: 9b00 ldr r3, [sp, #0]
|
|
1f1c: 42b3 cmp r3, r6
|
|
1f1e: d00b beq.n 1f38 <get_tc_index+0x34>
|
|
1f20: 4630 mov r0, r6
|
|
1f22: aa01 add r2, sp, #4
|
|
for (uint32_t i = 0; i < TC_INST_NUM; i++) {
|
|
1f24: 2301 movs r3, #1
|
|
if ((uint32_t)hw == (uint32_t)tc_modules[i]) {
|
|
1f26: f852 1b04 ldr.w r1, [r2], #4
|
|
1f2a: 4281 cmp r1, r0
|
|
1f2c: d005 beq.n 1f3a <get_tc_index+0x36>
|
|
for (uint32_t i = 0; i < TC_INST_NUM; i++) {
|
|
1f2e: 3301 adds r3, #1
|
|
1f30: 2b08 cmp r3, #8
|
|
1f32: d1f8 bne.n 1f26 <get_tc_index+0x22>
|
|
return i;
|
|
1f34: 2000 movs r0, #0
|
|
1f36: e00b b.n 1f50 <get_tc_index+0x4c>
|
|
for (uint32_t i = 0; i < TC_INST_NUM; i++) {
|
|
1f38: 2300 movs r3, #0
|
|
if (_tcs[i].number == index) {
|
|
1f3a: f013 0fff tst.w r3, #255 ; 0xff
|
|
1f3e: d009 beq.n 1f54 <get_tc_index+0x50>
|
|
ASSERT(false);
|
|
1f40: f44f 729e mov.w r2, #316 ; 0x13c
|
|
1f44: 4905 ldr r1, [pc, #20] ; (1f5c <get_tc_index+0x58>)
|
|
1f46: 2000 movs r0, #0
|
|
1f48: 4b05 ldr r3, [pc, #20] ; (1f60 <get_tc_index+0x5c>)
|
|
1f4a: 4798 blx r3
|
|
return -1;
|
|
1f4c: f04f 30ff mov.w r0, #4294967295
|
|
}
|
|
1f50: b008 add sp, #32
|
|
1f52: bd70 pop {r4, r5, r6, pc}
|
|
return i;
|
|
1f54: 2000 movs r0, #0
|
|
1f56: e7fb b.n 1f50 <get_tc_index+0x4c>
|
|
1f58: 0001b618 .word 0x0001b618
|
|
1f5c: 0001b64c .word 0x0001b64c
|
|
1f60: 000019bd .word 0x000019bd
|
|
|
|
00001f64 <_timer_init>:
|
|
{
|
|
1f64: b570 push {r4, r5, r6, lr}
|
|
1f66: 4606 mov r6, r0
|
|
1f68: 460c mov r4, r1
|
|
int8_t i = get_tc_index(hw);
|
|
1f6a: 4608 mov r0, r1
|
|
1f6c: 4b60 ldr r3, [pc, #384] ; (20f0 <_timer_init+0x18c>)
|
|
1f6e: 4798 blx r3
|
|
1f70: 4605 mov r5, r0
|
|
device->hw = hw;
|
|
1f72: 60f4 str r4, [r6, #12]
|
|
ASSERT(ARRAY_SIZE(_tcs));
|
|
1f74: 228d movs r2, #141 ; 0x8d
|
|
1f76: 495f ldr r1, [pc, #380] ; (20f4 <_timer_init+0x190>)
|
|
1f78: 2001 movs r0, #1
|
|
1f7a: 4b5f ldr r3, [pc, #380] ; (20f8 <_timer_init+0x194>)
|
|
1f7c: 4798 blx r3
|
|
};
|
|
}
|
|
|
|
static inline bool hri_tc_is_syncing(const void *const hw, hri_tc_syncbusy_reg_t reg)
|
|
{
|
|
return ((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg;
|
|
1f7e: 6923 ldr r3, [r4, #16]
|
|
if (!hri_tc_is_syncing(hw, TC_SYNCBUSY_SWRST)) {
|
|
1f80: f013 0f01 tst.w r3, #1
|
|
1f84: d119 bne.n 1fba <_timer_init+0x56>
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
1f86: 6923 ldr r3, [r4, #16]
|
|
1f88: f013 0f03 tst.w r3, #3
|
|
1f8c: d1fb bne.n 1f86 <_timer_init+0x22>
|
|
|
|
static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask)
|
|
{
|
|
uint32_t tmp;
|
|
hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE);
|
|
tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
|
|
1f8e: 6823 ldr r3, [r4, #0]
|
|
if (hri_tc_get_CTRLA_reg(hw, TC_CTRLA_ENABLE)) {
|
|
1f90: f013 0f02 tst.w r3, #2
|
|
1f94: d00b beq.n 1fae <_timer_init+0x4a>
|
|
((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ENABLE;
|
|
1f96: 6823 ldr r3, [r4, #0]
|
|
1f98: f023 0302 bic.w r3, r3, #2
|
|
1f9c: 6023 str r3, [r4, #0]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
1f9e: 6923 ldr r3, [r4, #16]
|
|
1fa0: f013 0f03 tst.w r3, #3
|
|
1fa4: d1fb bne.n 1f9e <_timer_init+0x3a>
|
|
1fa6: 6923 ldr r3, [r4, #16]
|
|
1fa8: f013 0f02 tst.w r3, #2
|
|
1fac: d1fb bne.n 1fa6 <_timer_init+0x42>
|
|
}
|
|
|
|
static inline void hri_tc_write_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t data)
|
|
{
|
|
TC_CRITICAL_SECTION_ENTER();
|
|
((Tc *)hw)->COUNT16.CTRLA.reg = data;
|
|
1fae: 2301 movs r3, #1
|
|
1fb0: 6023 str r3, [r4, #0]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
1fb2: 6923 ldr r3, [r4, #16]
|
|
1fb4: f013 0f03 tst.w r3, #3
|
|
1fb8: d1fb bne.n 1fb2 <_timer_init+0x4e>
|
|
1fba: 6923 ldr r3, [r4, #16]
|
|
1fbc: f013 0f01 tst.w r3, #1
|
|
1fc0: d1fb bne.n 1fba <_timer_init+0x56>
|
|
hri_tc_write_CTRLA_reg(hw, _tcs[i].ctrl_a);
|
|
1fc2: eb05 0385 add.w r3, r5, r5, lsl #2
|
|
1fc6: 4a4d ldr r2, [pc, #308] ; (20fc <_timer_init+0x198>)
|
|
1fc8: eb02 0383 add.w r3, r2, r3, lsl #2
|
|
1fcc: 6a5a ldr r2, [r3, #36] ; 0x24
|
|
((Tc *)hw)->COUNT16.CTRLA.reg = data;
|
|
1fce: 6022 str r2, [r4, #0]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
1fd0: 6923 ldr r3, [r4, #16]
|
|
1fd2: f013 0f03 tst.w r3, #3
|
|
1fd6: d1fb bne.n 1fd0 <_timer_init+0x6c>
|
|
hri_tc_write_DBGCTRL_reg(hw, _tcs[i].dbg_ctrl);
|
|
1fd8: eb05 0385 add.w r3, r5, r5, lsl #2
|
|
1fdc: 4947 ldr r1, [pc, #284] ; (20fc <_timer_init+0x198>)
|
|
1fde: eb01 0383 add.w r3, r1, r3, lsl #2
|
|
1fe2: f893 102a ldrb.w r1, [r3, #42] ; 0x2a
|
|
}
|
|
|
|
static inline void hri_tc_write_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t data)
|
|
{
|
|
TC_CRITICAL_SECTION_ENTER();
|
|
((Tc *)hw)->COUNT16.DBGCTRL.reg = data;
|
|
1fe6: 73e1 strb r1, [r4, #15]
|
|
hri_tc_write_EVCTRL_reg(hw, _tcs[i].event_ctrl);
|
|
1fe8: 8d1b ldrh r3, [r3, #40] ; 0x28
|
|
((Tc *)hw)->COUNT16.EVCTRL.reg = data;
|
|
1fea: 80e3 strh r3, [r4, #6]
|
|
((Tc *)hw)->COUNT16.WAVE.reg = data;
|
|
1fec: 2301 movs r3, #1
|
|
1fee: 7323 strb r3, [r4, #12]
|
|
if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT32) {
|
|
1ff0: f002 020c and.w r2, r2, #12
|
|
1ff4: 2a08 cmp r2, #8
|
|
1ff6: d048 beq.n 208a <_timer_init+0x126>
|
|
} else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT16) {
|
|
1ff8: 2a00 cmp r2, #0
|
|
1ffa: d158 bne.n 20ae <_timer_init+0x14a>
|
|
hri_tccount16_write_CC_reg(hw, 0, (uint16_t)_tcs[i].cc0);
|
|
1ffc: eb05 0385 add.w r3, r5, r5, lsl #2
|
|
2000: 4a3e ldr r2, [pc, #248] ; (20fc <_timer_init+0x198>)
|
|
2002: eb02 0383 add.w r3, r2, r3, lsl #2
|
|
2006: 8d9b ldrh r3, [r3, #44] ; 0x2c
|
|
}
|
|
|
|
static inline void hri_tccount16_write_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t data)
|
|
{
|
|
TC_CRITICAL_SECTION_ENTER();
|
|
((Tc *)hw)->COUNT16.CC[index].reg = data;
|
|
2008: 83a3 strh r3, [r4, #28]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
200a: 6923 ldr r3, [r4, #16]
|
|
200c: f013 0fc0 tst.w r3, #192 ; 0xc0
|
|
2010: d1fb bne.n 200a <_timer_init+0xa6>
|
|
((Tc *)hw)->COUNT16.CC[index].reg = data;
|
|
2012: 2300 movs r3, #0
|
|
2014: 83e3 strh r3, [r4, #30]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
2016: 6923 ldr r3, [r4, #16]
|
|
2018: f013 0fc0 tst.w r3, #192 ; 0xc0
|
|
201c: d1fb bne.n 2016 <_timer_init+0xb2>
|
|
((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_OVF;
|
|
201e: 2301 movs r3, #1
|
|
2020: 7263 strb r3, [r4, #9]
|
|
if (hw == TC0) {
|
|
2022: 4b37 ldr r3, [pc, #220] ; (2100 <_timer_init+0x19c>)
|
|
2024: 429c cmp r4, r3
|
|
_tc0_dev = (struct _timer_device *)dev;
|
|
2026: bf04 itt eq
|
|
2028: 4b36 ldreq r3, [pc, #216] ; (2104 <_timer_init+0x1a0>)
|
|
202a: 601e streq r6, [r3, #0]
|
|
NVIC_DisableIRQ(_tcs[i].irq);
|
|
202c: eb05 0385 add.w r3, r5, r5, lsl #2
|
|
2030: 4a32 ldr r2, [pc, #200] ; (20fc <_timer_init+0x198>)
|
|
2032: eb02 0383 add.w r3, r2, r3, lsl #2
|
|
2036: f9b3 3022 ldrsh.w r3, [r3, #34] ; 0x22
|
|
if ((int32_t)(IRQn) >= 0)
|
|
203a: 2b00 cmp r3, #0
|
|
203c: db23 blt.n 2086 <_timer_init+0x122>
|
|
NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
|
203e: 095a lsrs r2, r3, #5
|
|
2040: f003 031f and.w r3, r3, #31
|
|
2044: 2101 movs r1, #1
|
|
2046: fa01 f303 lsl.w r3, r1, r3
|
|
204a: 3220 adds r2, #32
|
|
204c: 492e ldr r1, [pc, #184] ; (2108 <_timer_init+0x1a4>)
|
|
204e: f841 3022 str.w r3, [r1, r2, lsl #2]
|
|
__ASM volatile ("dsb 0xF":::"memory");
|
|
2052: f3bf 8f4f dsb sy
|
|
__ASM volatile ("isb 0xF":::"memory");
|
|
2056: f3bf 8f6f isb sy
|
|
NVIC_ClearPendingIRQ(_tcs[i].irq);
|
|
205a: eb05 0585 add.w r5, r5, r5, lsl #2
|
|
205e: 4b27 ldr r3, [pc, #156] ; (20fc <_timer_init+0x198>)
|
|
2060: eb03 0585 add.w r5, r3, r5, lsl #2
|
|
2064: f9b5 3022 ldrsh.w r3, [r5, #34] ; 0x22
|
|
if ((int32_t)(IRQn) >= 0)
|
|
2068: 2b00 cmp r3, #0
|
|
206a: db0c blt.n 2086 <_timer_init+0x122>
|
|
NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
|
206c: 0959 lsrs r1, r3, #5
|
|
206e: f003 031f and.w r3, r3, #31
|
|
2072: 2201 movs r2, #1
|
|
2074: fa02 f303 lsl.w r3, r2, r3
|
|
2078: 4a23 ldr r2, [pc, #140] ; (2108 <_timer_init+0x1a4>)
|
|
207a: f101 0060 add.w r0, r1, #96 ; 0x60
|
|
207e: f842 3020 str.w r3, [r2, r0, lsl #2]
|
|
NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
|
2082: f842 3021 str.w r3, [r2, r1, lsl #2]
|
|
}
|
|
2086: 2000 movs r0, #0
|
|
2088: bd70 pop {r4, r5, r6, pc}
|
|
hri_tccount32_write_CC_reg(hw, 0, _tcs[i].cc0);
|
|
208a: eb05 0385 add.w r3, r5, r5, lsl #2
|
|
208e: 4a1b ldr r2, [pc, #108] ; (20fc <_timer_init+0x198>)
|
|
2090: eb02 0383 add.w r3, r2, r3, lsl #2
|
|
2094: 6adb ldr r3, [r3, #44] ; 0x2c
|
|
}
|
|
|
|
static inline void hri_tccount32_write_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t data)
|
|
{
|
|
TC_CRITICAL_SECTION_ENTER();
|
|
((Tc *)hw)->COUNT32.CC[index].reg = data;
|
|
2096: 61e3 str r3, [r4, #28]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
2098: 6923 ldr r3, [r4, #16]
|
|
209a: f013 0fc0 tst.w r3, #192 ; 0xc0
|
|
209e: d1fb bne.n 2098 <_timer_init+0x134>
|
|
((Tc *)hw)->COUNT32.CC[index].reg = data;
|
|
20a0: 2300 movs r3, #0
|
|
20a2: 6223 str r3, [r4, #32]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
20a4: 6923 ldr r3, [r4, #16]
|
|
20a6: f013 0fc0 tst.w r3, #192 ; 0xc0
|
|
20aa: d1fb bne.n 20a4 <_timer_init+0x140>
|
|
20ac: e7b7 b.n 201e <_timer_init+0xba>
|
|
} else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT8) {
|
|
20ae: 2a04 cmp r2, #4
|
|
20b0: d1b5 bne.n 201e <_timer_init+0xba>
|
|
hri_tccount8_write_CC_reg(hw, 0, (uint8_t)_tcs[i].cc0);
|
|
20b2: eb05 0385 add.w r3, r5, r5, lsl #2
|
|
20b6: 4a11 ldr r2, [pc, #68] ; (20fc <_timer_init+0x198>)
|
|
20b8: eb02 0383 add.w r3, r2, r3, lsl #2
|
|
20bc: f893 302c ldrb.w r3, [r3, #44] ; 0x2c
|
|
((Tc *)hw)->COUNT8.CC[index].reg = data;
|
|
20c0: 7723 strb r3, [r4, #28]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
20c2: 6923 ldr r3, [r4, #16]
|
|
20c4: f013 0fc0 tst.w r3, #192 ; 0xc0
|
|
20c8: d1fb bne.n 20c2 <_timer_init+0x15e>
|
|
((Tc *)hw)->COUNT8.CC[index].reg = data;
|
|
20ca: 2300 movs r3, #0
|
|
20cc: 7763 strb r3, [r4, #29]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
20ce: 6923 ldr r3, [r4, #16]
|
|
20d0: f013 0fc0 tst.w r3, #192 ; 0xc0
|
|
20d4: d1fb bne.n 20ce <_timer_init+0x16a>
|
|
hri_tccount8_write_PER_reg(hw, _tcs[i].per);
|
|
20d6: eb05 0385 add.w r3, r5, r5, lsl #2
|
|
20da: 4a08 ldr r2, [pc, #32] ; (20fc <_timer_init+0x198>)
|
|
20dc: eb02 0383 add.w r3, r2, r3, lsl #2
|
|
20e0: f893 302b ldrb.w r3, [r3, #43] ; 0x2b
|
|
((Tc *)hw)->COUNT8.PER.reg = data;
|
|
20e4: 76e3 strb r3, [r4, #27]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
20e6: 6923 ldr r3, [r4, #16]
|
|
20e8: f013 0f20 tst.w r3, #32
|
|
20ec: d1fb bne.n 20e6 <_timer_init+0x182>
|
|
20ee: e796 b.n 201e <_timer_init+0xba>
|
|
20f0: 00001f05 .word 0x00001f05
|
|
20f4: 0001b64c .word 0x0001b64c
|
|
20f8: 000019bd .word 0x000019bd
|
|
20fc: 0001b618 .word 0x0001b618
|
|
2100: 40003800 .word 0x40003800
|
|
2104: 200000cc .word 0x200000cc
|
|
2108: e000e100 .word 0xe000e100
|
|
|
|
0000210c <_timer_start>:
|
|
hri_tc_set_CTRLA_ENABLE_bit(device->hw);
|
|
210c: 68c2 ldr r2, [r0, #12]
|
|
((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ENABLE;
|
|
210e: 6813 ldr r3, [r2, #0]
|
|
2110: f043 0302 orr.w r3, r3, #2
|
|
2114: 6013 str r3, [r2, #0]
|
|
while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) {
|
|
2116: 6913 ldr r3, [r2, #16]
|
|
2118: f013 0f03 tst.w r3, #3
|
|
211c: d1fb bne.n 2116 <_timer_start+0xa>
|
|
}
|
|
211e: 4770 bx lr
|
|
|
|
00002120 <_timer_is_started>:
|
|
return hri_tc_get_CTRLA_ENABLE_bit(device->hw);
|
|
2120: 68c2 ldr r2, [r0, #12]
|
|
2122: 6913 ldr r3, [r2, #16]
|
|
2124: f013 0f03 tst.w r3, #3
|
|
2128: d1fb bne.n 2122 <_timer_is_started+0x2>
|
|
tmp = ((Tc *)hw)->COUNT16.CTRLA.reg;
|
|
212a: 6810 ldr r0, [r2, #0]
|
|
}
|
|
212c: f3c0 0040 ubfx r0, r0, #1, #1
|
|
2130: 4770 bx lr
|
|
|
|
00002132 <_tc_get_timer>:
|
|
}
|
|
2132: 2000 movs r0, #0
|
|
2134: 4770 bx lr
|
|
...
|
|
|
|
00002138 <_timer_set_irq>:
|
|
{
|
|
2138: b510 push {r4, lr}
|
|
int8_t i = get_tc_index(hw);
|
|
213a: 68c0 ldr r0, [r0, #12]
|
|
213c: 4b09 ldr r3, [pc, #36] ; (2164 <_timer_set_irq+0x2c>)
|
|
213e: 4798 blx r3
|
|
2140: 4604 mov r4, r0
|
|
ASSERT(ARRAY_SIZE(_tcs));
|
|
2142: f240 120f movw r2, #271 ; 0x10f
|
|
2146: 4908 ldr r1, [pc, #32] ; (2168 <_timer_set_irq+0x30>)
|
|
2148: 2001 movs r0, #1
|
|
214a: 4b08 ldr r3, [pc, #32] ; (216c <_timer_set_irq+0x34>)
|
|
214c: 4798 blx r3
|
|
_irq_set(_tcs[i].irq);
|
|
214e: eb04 0484 add.w r4, r4, r4, lsl #2
|
|
2152: 4b07 ldr r3, [pc, #28] ; (2170 <_timer_set_irq+0x38>)
|
|
2154: eb03 0484 add.w r4, r3, r4, lsl #2
|
|
2158: f894 0022 ldrb.w r0, [r4, #34] ; 0x22
|
|
215c: 4b05 ldr r3, [pc, #20] ; (2174 <_timer_set_irq+0x3c>)
|
|
215e: 4798 blx r3
|
|
2160: bd10 pop {r4, pc}
|
|
2162: bf00 nop
|
|
2164: 00001f05 .word 0x00001f05
|
|
2168: 0001b64c .word 0x0001b64c
|
|
216c: 000019bd .word 0x000019bd
|
|
2170: 0001b618 .word 0x0001b618
|
|
2174: 00001b1d .word 0x00001b1d
|
|
|
|
00002178 <TC0_Handler>:
|
|
{
|
|
2178: b508 push {r3, lr}
|
|
tc_interrupt_handler(_tc0_dev);
|
|
217a: 4b06 ldr r3, [pc, #24] ; (2194 <TC0_Handler+0x1c>)
|
|
217c: 6818 ldr r0, [r3, #0]
|
|
void *const hw = device->hw;
|
|
217e: 68c3 ldr r3, [r0, #12]
|
|
return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) >> TC_INTFLAG_OVF_Pos;
|
|
2180: 7a9a ldrb r2, [r3, #10]
|
|
if (hri_tc_get_interrupt_OVF_bit(hw)) {
|
|
2182: f012 0f01 tst.w r2, #1
|
|
2186: d100 bne.n 218a <TC0_Handler+0x12>
|
|
2188: bd08 pop {r3, pc}
|
|
((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_OVF;
|
|
218a: 2201 movs r2, #1
|
|
218c: 729a strb r2, [r3, #10]
|
|
device->timer_cb.period_expired(device);
|
|
218e: 6803 ldr r3, [r0, #0]
|
|
2190: 4798 blx r3
|
|
}
|
|
2192: e7f9 b.n 2188 <TC0_Handler+0x10>
|
|
2194: 200000cc .word 0x200000cc
|
|
|
|
00002198 <main>:
|
|
#include "oracle.h"
|
|
|
|
|
|
int main(void)
|
|
{
|
|
2198: b508 push {r3, lr}
|
|
oracle_init();
|
|
219a: 4b02 ldr r3, [pc, #8] ; (21a4 <main+0xc>)
|
|
219c: 4798 blx r3
|
|
|
|
for(;;)
|
|
{
|
|
oracle_service();
|
|
219e: 4c02 ldr r4, [pc, #8] ; (21a8 <main+0x10>)
|
|
21a0: 47a0 blx r4
|
|
21a2: e7fd b.n 21a0 <main+0x8>
|
|
21a4: 000021ad .word 0x000021ad
|
|
21a8: 00002281 .word 0x00002281
|
|
|
|
000021ac <oracle_init>:
|
|
|
|
static lv_disp_buf_t disp_buf;
|
|
static lv_color_t buf[LV_HOR_RES_MAX * 10]; /*Declare a buffer for 10 lines*/
|
|
|
|
void oracle_init(void)
|
|
{
|
|
21ac: b530 push {r4, r5, lr}
|
|
21ae: b08d sub sp, #52 ; 0x34
|
|
* Currently the following initialization functions are supported:
|
|
* - System clock initialization
|
|
*/
|
|
static inline void init_mcu(void)
|
|
{
|
|
_init_chip();
|
|
21b0: 4b1e ldr r3, [pc, #120] ; (222c <oracle_init+0x80>)
|
|
21b2: 4798 blx r3
|
|
// init mcu
|
|
init_mcu();
|
|
// uart init
|
|
p_usart_init();
|
|
21b4: 4b1e ldr r3, [pc, #120] ; (2230 <oracle_init+0x84>)
|
|
21b6: 4798 blx r3
|
|
// i2c init
|
|
p_i2c_init();
|
|
21b8: 4b1e ldr r3, [pc, #120] ; (2234 <oracle_init+0x88>)
|
|
21ba: 4798 blx r3
|
|
// gpio init
|
|
p_gpio_init();
|
|
21bc: 4b1e ldr r3, [pc, #120] ; (2238 <oracle_init+0x8c>)
|
|
21be: 4798 blx r3
|
|
// time init
|
|
p_tcc_init();
|
|
21c0: 4b1e ldr r3, [pc, #120] ; (223c <oracle_init+0x90>)
|
|
21c2: 4798 blx r3
|
|
|
|
|
|
|
|
|
|
// devices init
|
|
lv_init();
|
|
21c4: 4b1e ldr r3, [pc, #120] ; (2240 <oracle_init+0x94>)
|
|
21c6: 4798 blx r3
|
|
|
|
ssd1963_init();
|
|
21c8: 4b1e ldr r3, [pc, #120] ; (2244 <oracle_init+0x98>)
|
|
21ca: 4798 blx r3
|
|
|
|
|
|
lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * 10); /*Initialize the display buffer*/
|
|
21cc: 4c1e ldr r4, [pc, #120] ; (2248 <oracle_init+0x9c>)
|
|
21ce: f44f 5396 mov.w r3, #4800 ; 0x12c0
|
|
21d2: 2200 movs r2, #0
|
|
21d4: 491d ldr r1, [pc, #116] ; (224c <oracle_init+0xa0>)
|
|
21d6: 4620 mov r0, r4
|
|
21d8: 4d1d ldr r5, [pc, #116] ; (2250 <oracle_init+0xa4>)
|
|
21da: 47a8 blx r5
|
|
lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/
|
|
lv_disp_drv_init(&disp_drv); /*Basic initialization*/
|
|
21dc: a801 add r0, sp, #4
|
|
21de: 4b1d ldr r3, [pc, #116] ; (2254 <oracle_init+0xa8>)
|
|
21e0: 4798 blx r3
|
|
disp_drv.flush_cb = ssd1963_flush; /*Set your driver function*/
|
|
21e2: 4b1d ldr r3, [pc, #116] ; (2258 <oracle_init+0xac>)
|
|
21e4: 9304 str r3, [sp, #16]
|
|
disp_drv.buffer = &disp_buf; /*Assign the buffer to the display*/
|
|
21e6: 9402 str r4, [sp, #8]
|
|
lv_disp_drv_register(&disp_drv); /*Finally register the driver*/
|
|
21e8: a801 add r0, sp, #4
|
|
21ea: 4b1c ldr r3, [pc, #112] ; (225c <oracle_init+0xb0>)
|
|
21ec: 4798 blx r3
|
|
|
|
lv_obj_t* scr = lv_disp_get_scr_act(NULL);
|
|
21ee: 2000 movs r0, #0
|
|
21f0: 4b1b ldr r3, [pc, #108] ; (2260 <oracle_init+0xb4>)
|
|
21f2: 4798 blx r3
|
|
21f4: 4605 mov r5, r0
|
|
|
|
lv_obj_t* hornet_image = lv_img_create(scr, NULL);
|
|
21f6: 2100 movs r1, #0
|
|
21f8: 4b1a ldr r3, [pc, #104] ; (2264 <oracle_init+0xb8>)
|
|
21fa: 4798 blx r3
|
|
21fc: 4604 mov r4, r0
|
|
lv_img_set_src(hornet_image, &hornet);
|
|
21fe: 491a ldr r1, [pc, #104] ; (2268 <oracle_init+0xbc>)
|
|
2200: 4b1a ldr r3, [pc, #104] ; (226c <oracle_init+0xc0>)
|
|
2202: 4798 blx r3
|
|
lv_obj_set_pos(hornet_image, 0, 0);
|
|
2204: 2200 movs r2, #0
|
|
2206: 4611 mov r1, r2
|
|
2208: 4620 mov r0, r4
|
|
220a: 4c19 ldr r4, [pc, #100] ; (2270 <oracle_init+0xc4>)
|
|
220c: 47a0 blx r4
|
|
|
|
lv_obj_t* random_text = lv_label_create(scr, NULL);
|
|
220e: 2100 movs r1, #0
|
|
2210: 4628 mov r0, r5
|
|
2212: 4b18 ldr r3, [pc, #96] ; (2274 <oracle_init+0xc8>)
|
|
2214: 4798 blx r3
|
|
2216: 4605 mov r5, r0
|
|
lv_obj_set_pos(random_text, 90, 35);
|
|
2218: 2223 movs r2, #35 ; 0x23
|
|
221a: 215a movs r1, #90 ; 0x5a
|
|
221c: 47a0 blx r4
|
|
lv_label_set_text(random_text, "Hello World");
|
|
221e: 4916 ldr r1, [pc, #88] ; (2278 <oracle_init+0xcc>)
|
|
2220: 4628 mov r0, r5
|
|
2222: 4b16 ldr r3, [pc, #88] ; (227c <oracle_init+0xd0>)
|
|
2224: 4798 blx r3
|
|
}
|
|
2226: b00d add sp, #52 ; 0x34
|
|
2228: bd30 pop {r4, r5, pc}
|
|
222a: bf00 nop
|
|
222c: 00001b81 .word 0x00001b81
|
|
2230: 0000140d .word 0x0000140d
|
|
2234: 0000136d .word 0x0000136d
|
|
2238: 00001239 .word 0x00001239
|
|
223c: 00001395 .word 0x00001395
|
|
2240: 00002851 .word 0x00002851
|
|
2244: 000002d1 .word 0x000002d1
|
|
2248: 20002650 .word 0x20002650
|
|
224c: 200000d0 .word 0x200000d0
|
|
2250: 00010d59 .word 0x00010d59
|
|
2254: 00010cf9 .word 0x00010cf9
|
|
2258: 00000ca5 .word 0x00000ca5
|
|
225c: 00010d79 .word 0x00010d79
|
|
2260: 00002335 .word 0x00002335
|
|
2264: 00019855 .word 0x00019855
|
|
2268: 0001b660 .word 0x0001b660
|
|
226c: 000195f9 .word 0x000195f9
|
|
2270: 00003425 .word 0x00003425
|
|
2274: 0001aaed .word 0x0001aaed
|
|
2278: 00023bc8 .word 0x00023bc8
|
|
227c: 0001a7ed .word 0x0001a7ed
|
|
|
|
00002280 <oracle_service>:
|
|
|
|
void oracle_service(void)
|
|
{
|
|
2280: b508 push {r3, lr}
|
|
delay_ms(1);
|
|
2282: 2001 movs r0, #1
|
|
2284: 4b02 ldr r3, [pc, #8] ; (2290 <oracle_service+0x10>)
|
|
2286: 4798 blx r3
|
|
lv_task_handler();
|
|
2288: 4b02 ldr r3, [pc, #8] ; (2294 <oracle_service+0x14>)
|
|
228a: 4798 blx r3
|
|
228c: bd08 pop {r3, pc}
|
|
228e: bf00 nop
|
|
2290: 00001509 .word 0x00001509
|
|
2294: 000137b5 .word 0x000137b5
|
|
|
|
00002298 <lv_debug_check_null>:
|
|
bool lv_debug_check_null(const void * p)
|
|
{
|
|
if(p) return true;
|
|
|
|
return false;
|
|
}
|
|
2298: 3000 adds r0, #0
|
|
229a: bf18 it ne
|
|
229c: 2001 movne r0, #1
|
|
229e: 4770 bx lr
|
|
|
|
000022a0 <lv_debug_log_error>:
|
|
LV_LOG_WARN("lv_debug_check_str: string is longer than LV_DEBUG_STR_MAX_LENGTH");
|
|
return false;
|
|
}
|
|
|
|
void lv_debug_log_error(const char * msg, uint64_t value)
|
|
{
|
|
22a0: b5f0 push {r4, r5, r6, r7, lr}
|
|
22a2: b0c3 sub sp, #268 ; 0x10c
|
|
22a4: 4605 mov r5, r0
|
|
22a6: 4614 mov r4, r2
|
|
static const char hex[] = "0123456789ABCDEF";
|
|
|
|
size_t msg_len = strlen(msg);
|
|
22a8: 4b1c ldr r3, [pc, #112] ; (231c <lv_debug_log_error+0x7c>)
|
|
22aa: 4798 blx r3
|
|
uint32_t value_len = sizeof(unsigned long int);
|
|
|
|
if(msg_len < 230) {
|
|
22ac: 28e5 cmp r0, #229 ; 0xe5
|
|
22ae: d82c bhi.n 230a <lv_debug_log_error+0x6a>
|
|
22b0: 4606 mov r6, r0
|
|
char buf[255];
|
|
char * bufp = buf;
|
|
|
|
/*Add the function name*/
|
|
_lv_memcpy(bufp, msg, msg_len);
|
|
22b2: af02 add r7, sp, #8
|
|
22b4: 4602 mov r2, r0
|
|
22b6: 4629 mov r1, r5
|
|
22b8: 4638 mov r0, r7
|
|
22ba: 4b19 ldr r3, [pc, #100] ; (2320 <lv_debug_log_error+0x80>)
|
|
22bc: 4798 blx r3
|
|
bufp += msg_len;
|
|
22be: 19bd adds r5, r7, r6
|
|
|
|
/*Add value in hey*/
|
|
*bufp = ' ';
|
|
22c0: 2320 movs r3, #32
|
|
22c2: 55bb strb r3, [r7, r6]
|
|
bufp ++;
|
|
*bufp = '(';
|
|
22c4: 2328 movs r3, #40 ; 0x28
|
|
22c6: 706b strb r3, [r5, #1]
|
|
bufp ++;
|
|
*bufp = '0';
|
|
22c8: 2330 movs r3, #48 ; 0x30
|
|
22ca: 70ab strb r3, [r5, #2]
|
|
bufp ++;
|
|
*bufp = 'x';
|
|
22cc: 2378 movs r3, #120 ; 0x78
|
|
22ce: 70eb strb r3, [r5, #3]
|
|
bufp ++;
|
|
22d0: 1d29 adds r1, r5, #4
|
|
22d2: 221c movs r2, #28
|
|
|
|
int8_t i;
|
|
for(i = value_len * 2 - 1; i >= 0; i--) {
|
|
uint8_t x = (unsigned long int)((unsigned long int)value >> (i * 4)) & 0xF;
|
|
|
|
*bufp = hex[x];
|
|
22d4: 4813 ldr r0, [pc, #76] ; (2324 <lv_debug_log_error+0x84>)
|
|
uint8_t x = (unsigned long int)((unsigned long int)value >> (i * 4)) & 0xF;
|
|
22d6: fa24 f302 lsr.w r3, r4, r2
|
|
*bufp = hex[x];
|
|
22da: f003 030f and.w r3, r3, #15
|
|
22de: 4403 add r3, r0
|
|
22e0: 7d1b ldrb r3, [r3, #20]
|
|
22e2: f801 3b01 strb.w r3, [r1], #1
|
|
22e6: 3a04 subs r2, #4
|
|
for(i = value_len * 2 - 1; i >= 0; i--) {
|
|
22e8: f112 0f04 cmn.w r2, #4
|
|
22ec: d1f3 bne.n 22d6 <lv_debug_log_error+0x36>
|
|
bufp++;
|
|
}
|
|
|
|
*bufp = ')';
|
|
22ee: 2329 movs r3, #41 ; 0x29
|
|
22f0: 732b strb r3, [r5, #12]
|
|
bufp ++;
|
|
|
|
*bufp = '\0';
|
|
22f2: 2300 movs r3, #0
|
|
22f4: 736b strb r3, [r5, #13]
|
|
LV_LOG_ERROR(buf);
|
|
22f6: ab02 add r3, sp, #8
|
|
22f8: 9300 str r3, [sp, #0]
|
|
22fa: 4b0b ldr r3, [pc, #44] ; (2328 <lv_debug_log_error+0x88>)
|
|
22fc: 22bc movs r2, #188 ; 0xbc
|
|
22fe: 490b ldr r1, [pc, #44] ; (232c <lv_debug_log_error+0x8c>)
|
|
2300: 2003 movs r0, #3
|
|
2302: 4c0b ldr r4, [pc, #44] ; (2330 <lv_debug_log_error+0x90>)
|
|
2304: 47a0 blx r4
|
|
}
|
|
else {
|
|
LV_LOG_ERROR(msg);
|
|
}
|
|
}
|
|
2306: b043 add sp, #268 ; 0x10c
|
|
2308: bdf0 pop {r4, r5, r6, r7, pc}
|
|
LV_LOG_ERROR(msg);
|
|
230a: 9500 str r5, [sp, #0]
|
|
230c: 4b06 ldr r3, [pc, #24] ; (2328 <lv_debug_log_error+0x88>)
|
|
230e: 22bf movs r2, #191 ; 0xbf
|
|
2310: 4906 ldr r1, [pc, #24] ; (232c <lv_debug_log_error+0x8c>)
|
|
2312: 2003 movs r0, #3
|
|
2314: 4c06 ldr r4, [pc, #24] ; (2330 <lv_debug_log_error+0x90>)
|
|
2316: 47a0 blx r4
|
|
}
|
|
2318: e7f5 b.n 2306 <lv_debug_log_error+0x66>
|
|
231a: bf00 nop
|
|
231c: 0001b507 .word 0x0001b507
|
|
2320: 0001263d .word 0x0001263d
|
|
2324: 00023bd4 .word 0x00023bd4
|
|
2328: 00023bfc .word 0x00023bfc
|
|
232c: 00023c10 .word 0x00023c10
|
|
2330: 00012245 .word 0x00012245
|
|
|
|
00002334 <lv_disp_get_scr_act>:
|
|
* screen)
|
|
* @return pointer to the active screen object (loaded by 'lv_scr_load()')
|
|
*/
|
|
lv_obj_t * lv_disp_get_scr_act(lv_disp_t * disp)
|
|
{
|
|
if(!disp) disp = lv_disp_get_default();
|
|
2334: b108 cbz r0, 233a <lv_disp_get_scr_act+0x6>
|
|
if(!disp) {
|
|
LV_LOG_WARN("lv_scr_act: no display registered to get its act. screen");
|
|
return NULL;
|
|
}
|
|
|
|
return disp->act_scr;
|
|
2336: 6bc0 ldr r0, [r0, #60] ; 0x3c
|
|
2338: 4770 bx lr
|
|
{
|
|
233a: b510 push {r4, lr}
|
|
233c: b082 sub sp, #8
|
|
if(!disp) disp = lv_disp_get_default();
|
|
233e: 4b08 ldr r3, [pc, #32] ; (2360 <lv_disp_get_scr_act+0x2c>)
|
|
2340: 4798 blx r3
|
|
if(!disp) {
|
|
2342: b110 cbz r0, 234a <lv_disp_get_scr_act+0x16>
|
|
return disp->act_scr;
|
|
2344: 6bc0 ldr r0, [r0, #60] ; 0x3c
|
|
}
|
|
2346: b002 add sp, #8
|
|
2348: bd10 pop {r4, pc}
|
|
LV_LOG_WARN("lv_scr_act: no display registered to get its act. screen");
|
|
234a: 4b06 ldr r3, [pc, #24] ; (2364 <lv_disp_get_scr_act+0x30>)
|
|
234c: 9300 str r3, [sp, #0]
|
|
234e: 4b06 ldr r3, [pc, #24] ; (2368 <lv_disp_get_scr_act+0x34>)
|
|
2350: 222e movs r2, #46 ; 0x2e
|
|
2352: 4906 ldr r1, [pc, #24] ; (236c <lv_disp_get_scr_act+0x38>)
|
|
2354: 2002 movs r0, #2
|
|
2356: 4c06 ldr r4, [pc, #24] ; (2370 <lv_disp_get_scr_act+0x3c>)
|
|
2358: 47a0 blx r4
|
|
return NULL;
|
|
235a: 2000 movs r0, #0
|
|
235c: e7f3 b.n 2346 <lv_disp_get_scr_act+0x12>
|
|
235e: bf00 nop
|
|
2360: 00010ec9 .word 0x00010ec9
|
|
2364: 00023dec .word 0x00023dec
|
|
2368: 00023d18 .word 0x00023d18
|
|
236c: 00023dc0 .word 0x00023dc0
|
|
2370: 00012245 .word 0x00012245
|
|
|
|
00002374 <lv_disp_get_layer_top>:
|
|
* @param disp pointer to display which top layer should be get. (NULL to use the default screen)
|
|
* @return pointer to the top layer object (transparent screen sized lv_obj)
|
|
*/
|
|
lv_obj_t * lv_disp_get_layer_top(lv_disp_t * disp)
|
|
{
|
|
if(!disp) disp = lv_disp_get_default();
|
|
2374: b108 cbz r0, 237a <lv_disp_get_layer_top+0x6>
|
|
if(!disp) {
|
|
LV_LOG_WARN("lv_layer_top: no display registered to get its top layer");
|
|
return NULL;
|
|
}
|
|
|
|
return disp->top_layer;
|
|
2376: 6c00 ldr r0, [r0, #64] ; 0x40
|
|
2378: 4770 bx lr
|
|
{
|
|
237a: b510 push {r4, lr}
|
|
237c: b082 sub sp, #8
|
|
if(!disp) disp = lv_disp_get_default();
|
|
237e: 4b08 ldr r3, [pc, #32] ; (23a0 <lv_disp_get_layer_top+0x2c>)
|
|
2380: 4798 blx r3
|
|
if(!disp) {
|
|
2382: b110 cbz r0, 238a <lv_disp_get_layer_top+0x16>
|
|
return disp->top_layer;
|
|
2384: 6c00 ldr r0, [r0, #64] ; 0x40
|
|
}
|
|
2386: b002 add sp, #8
|
|
2388: bd10 pop {r4, pc}
|
|
LV_LOG_WARN("lv_layer_top: no display registered to get its top layer");
|
|
238a: 4b06 ldr r3, [pc, #24] ; (23a4 <lv_disp_get_layer_top+0x30>)
|
|
238c: 9300 str r3, [sp, #0]
|
|
238e: 4b06 ldr r3, [pc, #24] ; (23a8 <lv_disp_get_layer_top+0x34>)
|
|
2390: 224b movs r2, #75 ; 0x4b
|
|
2392: 4906 ldr r1, [pc, #24] ; (23ac <lv_disp_get_layer_top+0x38>)
|
|
2394: 2002 movs r0, #2
|
|
2396: 4c06 ldr r4, [pc, #24] ; (23b0 <lv_disp_get_layer_top+0x3c>)
|
|
2398: 47a0 blx r4
|
|
return NULL;
|
|
239a: 2000 movs r0, #0
|
|
239c: e7f3 b.n 2386 <lv_disp_get_layer_top+0x12>
|
|
239e: bf00 nop
|
|
23a0: 00010ec9 .word 0x00010ec9
|
|
23a4: 00023e28 .word 0x00023e28
|
|
23a8: 00023d2c .word 0x00023d2c
|
|
23ac: 00023dc0 .word 0x00023dc0
|
|
23b0: 00012245 .word 0x00012245
|
|
|
|
000023b4 <lv_disp_get_layer_sys>:
|
|
* @param disp pointer to display which sys. layer should be get. (NULL to use the default screen)
|
|
* @return pointer to the sys layer object (transparent screen sized lv_obj)
|
|
*/
|
|
lv_obj_t * lv_disp_get_layer_sys(lv_disp_t * disp)
|
|
{
|
|
if(!disp) disp = lv_disp_get_default();
|
|
23b4: b108 cbz r0, 23ba <lv_disp_get_layer_sys+0x6>
|
|
if(!disp) {
|
|
LV_LOG_WARN("lv_layer_sys: no display registered to get its sys. layer");
|
|
return NULL;
|
|
}
|
|
|
|
return disp->sys_layer;
|
|
23b6: 6c40 ldr r0, [r0, #68] ; 0x44
|
|
23b8: 4770 bx lr
|
|
{
|
|
23ba: b510 push {r4, lr}
|
|
23bc: b082 sub sp, #8
|
|
if(!disp) disp = lv_disp_get_default();
|
|
23be: 4b08 ldr r3, [pc, #32] ; (23e0 <lv_disp_get_layer_sys+0x2c>)
|
|
23c0: 4798 blx r3
|
|
if(!disp) {
|
|
23c2: b110 cbz r0, 23ca <lv_disp_get_layer_sys+0x16>
|
|
return disp->sys_layer;
|
|
23c4: 6c40 ldr r0, [r0, #68] ; 0x44
|
|
}
|
|
23c6: b002 add sp, #8
|
|
23c8: bd10 pop {r4, pc}
|
|
LV_LOG_WARN("lv_layer_sys: no display registered to get its sys. layer");
|
|
23ca: 4b06 ldr r3, [pc, #24] ; (23e4 <lv_disp_get_layer_sys+0x30>)
|
|
23cc: 9300 str r3, [sp, #0]
|
|
23ce: 4b06 ldr r3, [pc, #24] ; (23e8 <lv_disp_get_layer_sys+0x34>)
|
|
23d0: 225c movs r2, #92 ; 0x5c
|
|
23d2: 4906 ldr r1, [pc, #24] ; (23ec <lv_disp_get_layer_sys+0x38>)
|
|
23d4: 2002 movs r0, #2
|
|
23d6: 4c06 ldr r4, [pc, #24] ; (23f0 <lv_disp_get_layer_sys+0x3c>)
|
|
23d8: 47a0 blx r4
|
|
return NULL;
|
|
23da: 2000 movs r0, #0
|
|
23dc: e7f3 b.n 23c6 <lv_disp_get_layer_sys+0x12>
|
|
23de: bf00 nop
|
|
23e0: 00010ec9 .word 0x00010ec9
|
|
23e4: 00023e64 .word 0x00023e64
|
|
23e8: 00023d44 .word 0x00023d44
|
|
23ec: 00023dc0 .word 0x00023dc0
|
|
23f0: 00012245 .word 0x00012245
|
|
|
|
000023f4 <obj_to_foreground>:
|
|
static void obj_to_foreground(lv_obj_t * obj)
|
|
{
|
|
/*Search for 'top' attribute*/
|
|
lv_obj_t * i = obj;
|
|
lv_obj_t * last_top = NULL;
|
|
while(i != NULL) {
|
|
23f4: b1a0 cbz r0, 2420 <obj_to_foreground+0x2c>
|
|
{
|
|
23f6: b538 push {r3, r4, r5, lr}
|
|
23f8: 4603 mov r3, r0
|
|
while(i != NULL) {
|
|
23fa: 2400 movs r4, #0
|
|
if(i->top != 0) last_top = i;
|
|
i = lv_obj_get_parent(i);
|
|
23fc: 4d09 ldr r5, [pc, #36] ; (2424 <obj_to_foreground+0x30>)
|
|
if(i->top != 0) last_top = i;
|
|
23fe: f893 2034 ldrb.w r2, [r3, #52] ; 0x34
|
|
2402: f002 0220 and.w r2, r2, #32
|
|
2406: 2a00 cmp r2, #0
|
|
2408: bf18 it ne
|
|
240a: 461c movne r4, r3
|
|
i = lv_obj_get_parent(i);
|
|
240c: 4618 mov r0, r3
|
|
240e: 47a8 blx r5
|
|
while(i != NULL) {
|
|
2410: 4603 mov r3, r0
|
|
2412: 2800 cmp r0, #0
|
|
2414: d1f3 bne.n 23fe <obj_to_foreground+0xa>
|
|
}
|
|
|
|
if(last_top != NULL) {
|
|
2416: b114 cbz r4, 241e <obj_to_foreground+0x2a>
|
|
/*Move the last_top object to the foreground*/
|
|
lv_obj_move_foreground(last_top);
|
|
2418: 4620 mov r0, r4
|
|
241a: 4b03 ldr r3, [pc, #12] ; (2428 <obj_to_foreground+0x34>)
|
|
241c: 4798 blx r3
|
|
241e: bd38 pop {r3, r4, r5, pc}
|
|
2420: 4770 bx lr
|
|
2422: bf00 nop
|
|
2424: 00002c65 .word 0x00002c65
|
|
2428: 0000339d .word 0x0000339d
|
|
|
|
0000242c <focus_next_core>:
|
|
{
|
|
242c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
if(group->frozen) return;
|
|
2430: 7d03 ldrb r3, [r0, #20]
|
|
2432: f013 0f01 tst.w r3, #1
|
|
2436: d12a bne.n 248e <focus_next_core+0x62>
|
|
2438: 4617 mov r7, r2
|
|
243a: 468a mov sl, r1
|
|
243c: 4606 mov r6, r0
|
|
lv_obj_t ** obj_next = group->obj_focus;
|
|
243e: 68c4 ldr r4, [r0, #12]
|
|
bool can_begin = true;
|
|
2440: f04f 0901 mov.w r9, #1
|
|
lv_obj_t ** obj_sentinel = NULL;
|
|
2444: 2500 movs r5, #0
|
|
if(!lv_obj_get_hidden(*obj_next)) break;
|
|
2446: f8df 80c4 ldr.w r8, [pc, #196] ; 250c <focus_next_core+0xe0>
|
|
can_begin = false;
|
|
244a: 46ab mov fp, r5
|
|
244c: e04a b.n 24e4 <focus_next_core+0xb8>
|
|
if(group->wrap || obj_sentinel == NULL) {
|
|
244e: 7d33 ldrb r3, [r6, #20]
|
|
2450: f013 0f10 tst.w r3, #16
|
|
2454: d100 bne.n 2458 <focus_next_core+0x2c>
|
|
2456: b9d5 cbnz r5, 248e <focus_next_core+0x62>
|
|
if(!can_begin) return;
|
|
2458: f1b9 0f00 cmp.w r9, #0
|
|
245c: d017 beq.n 248e <focus_next_core+0x62>
|
|
obj_next = begin(&group->obj_ll);
|
|
245e: 4630 mov r0, r6
|
|
2460: 47d0 blx sl
|
|
2462: 4604 mov r4, r0
|
|
if(obj_sentinel == NULL) {
|
|
2464: 2d00 cmp r5, #0
|
|
2466: d035 beq.n 24d4 <focus_next_core+0xa8>
|
|
can_begin = false;
|
|
2468: 46d9 mov r9, fp
|
|
246a: e046 b.n 24fa <focus_next_core+0xce>
|
|
if(obj_next == group->obj_focus) return; /*There's only one visible object and it's already focused*/
|
|
246c: 68f3 ldr r3, [r6, #12]
|
|
246e: 42a3 cmp r3, r4
|
|
2470: d00d beq.n 248e <focus_next_core+0x62>
|
|
if(group->obj_focus) {
|
|
2472: b193 cbz r3, 249a <focus_next_core+0x6e>
|
|
(*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_DEFOCUS, NULL);
|
|
2474: 6818 ldr r0, [r3, #0]
|
|
2476: 69c3 ldr r3, [r0, #28]
|
|
2478: 2200 movs r2, #0
|
|
247a: 2117 movs r1, #23
|
|
247c: 4798 blx r3
|
|
lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_DEFOCUSED, NULL);
|
|
247e: 68f3 ldr r3, [r6, #12]
|
|
2480: 2200 movs r2, #0
|
|
2482: 210e movs r1, #14
|
|
2484: 6818 ldr r0, [r3, #0]
|
|
2486: 4b1e ldr r3, [pc, #120] ; (2500 <focus_next_core+0xd4>)
|
|
2488: 4798 blx r3
|
|
if(res != LV_RES_OK) return;
|
|
248a: 2801 cmp r0, #1
|
|
248c: d001 beq.n 2492 <focus_next_core+0x66>
|
|
248e: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
lv_obj_invalidate(*group->obj_focus);
|
|
2492: 68f3 ldr r3, [r6, #12]
|
|
2494: 6818 ldr r0, [r3, #0]
|
|
2496: 4b1b ldr r3, [pc, #108] ; (2504 <focus_next_core+0xd8>)
|
|
2498: 4798 blx r3
|
|
group->obj_focus = obj_next;
|
|
249a: 60f4 str r4, [r6, #12]
|
|
(*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_FOCUS, NULL);
|
|
249c: 6820 ldr r0, [r4, #0]
|
|
249e: 69c3 ldr r3, [r0, #28]
|
|
24a0: 2200 movs r2, #0
|
|
24a2: 2116 movs r1, #22
|
|
24a4: 4798 blx r3
|
|
lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_FOCUSED, NULL);
|
|
24a6: 68f3 ldr r3, [r6, #12]
|
|
24a8: 2200 movs r2, #0
|
|
24aa: 210d movs r1, #13
|
|
24ac: 6818 ldr r0, [r3, #0]
|
|
24ae: 4b14 ldr r3, [pc, #80] ; (2500 <focus_next_core+0xd4>)
|
|
24b0: 4798 blx r3
|
|
if(res != LV_RES_OK) return;
|
|
24b2: 2801 cmp r0, #1
|
|
24b4: d1eb bne.n 248e <focus_next_core+0x62>
|
|
obj_to_foreground(*group->obj_focus);
|
|
24b6: 68f3 ldr r3, [r6, #12]
|
|
24b8: 6818 ldr r0, [r3, #0]
|
|
24ba: 4b13 ldr r3, [pc, #76] ; (2508 <focus_next_core+0xdc>)
|
|
24bc: 4798 blx r3
|
|
lv_obj_invalidate(*group->obj_focus);
|
|
24be: 68f3 ldr r3, [r6, #12]
|
|
24c0: 6818 ldr r0, [r3, #0]
|
|
24c2: 4b10 ldr r3, [pc, #64] ; (2504 <focus_next_core+0xd8>)
|
|
24c4: 4798 blx r3
|
|
if(group->focus_cb) group->focus_cb(group);
|
|
24c6: 6933 ldr r3, [r6, #16]
|
|
24c8: 2b00 cmp r3, #0
|
|
24ca: d0e0 beq.n 248e <focus_next_core+0x62>
|
|
24cc: 4630 mov r0, r6
|
|
24ce: 4798 blx r3
|
|
24d0: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(obj_sentinel == NULL) return; /*Group is empty*/
|
|
24d4: 2800 cmp r0, #0
|
|
24d6: d0da beq.n 248e <focus_next_core+0x62>
|
|
obj_next = begin(&group->obj_ll);
|
|
24d8: 4605 mov r5, r0
|
|
can_begin = false;
|
|
24da: 46d9 mov r9, fp
|
|
if(!lv_obj_get_hidden(*obj_next)) break;
|
|
24dc: 6820 ldr r0, [r4, #0]
|
|
24de: 47c0 blx r8
|
|
24e0: 2800 cmp r0, #0
|
|
24e2: d0c3 beq.n 246c <focus_next_core+0x40>
|
|
if(obj_next == NULL) {
|
|
24e4: 2c00 cmp r4, #0
|
|
24e6: d0b2 beq.n 244e <focus_next_core+0x22>
|
|
24e8: 2d00 cmp r5, #0
|
|
24ea: bf08 it eq
|
|
24ec: 4625 moveq r5, r4
|
|
obj_next = move(&group->obj_ll, obj_next);
|
|
24ee: 4621 mov r1, r4
|
|
24f0: 4630 mov r0, r6
|
|
24f2: 47b8 blx r7
|
|
24f4: 4604 mov r4, r0
|
|
if(obj_next == obj_sentinel) return;
|
|
24f6: 42a8 cmp r0, r5
|
|
24f8: d0c9 beq.n 248e <focus_next_core+0x62>
|
|
if(obj_next == NULL) continue;
|
|
24fa: 2c00 cmp r4, #0
|
|
24fc: d1ee bne.n 24dc <focus_next_core+0xb0>
|
|
24fe: e7f1 b.n 24e4 <focus_next_core+0xb8>
|
|
2500: 00002ab5 .word 0x00002ab5
|
|
2504: 00003309 .word 0x00003309
|
|
2508: 000023f5 .word 0x000023f5
|
|
250c: 0000318d .word 0x0000318d
|
|
|
|
00002510 <_lv_group_init>:
|
|
{
|
|
2510: b508 push {r3, lr}
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_group_ll), sizeof(lv_group_t));
|
|
2512: 2118 movs r1, #24
|
|
2514: 4801 ldr r0, [pc, #4] ; (251c <_lv_group_init+0xc>)
|
|
2516: 4b02 ldr r3, [pc, #8] ; (2520 <_lv_group_init+0x10>)
|
|
2518: 4798 blx r3
|
|
251a: bd08 pop {r3, pc}
|
|
251c: 20006dec .word 0x20006dec
|
|
2520: 00011ee1 .word 0x00011ee1
|
|
|
|
00002524 <lv_group_focus_next>:
|
|
{
|
|
2524: b508 push {r3, lr}
|
|
focus_next_core(group, _lv_ll_get_head, _lv_ll_get_next);
|
|
2526: 4a02 ldr r2, [pc, #8] ; (2530 <lv_group_focus_next+0xc>)
|
|
2528: 4902 ldr r1, [pc, #8] ; (2534 <lv_group_focus_next+0x10>)
|
|
252a: 4b03 ldr r3, [pc, #12] ; (2538 <lv_group_focus_next+0x14>)
|
|
252c: 4798 blx r3
|
|
252e: bd08 pop {r3, pc}
|
|
2530: 00011fa5 .word 0x00011fa5
|
|
2534: 00011f91 .word 0x00011f91
|
|
2538: 0000242d .word 0x0000242d
|
|
|
|
0000253c <lv_group_focus_prev>:
|
|
{
|
|
253c: b508 push {r3, lr}
|
|
focus_next_core(group, _lv_ll_get_tail, _lv_ll_get_prev);
|
|
253e: 4a02 ldr r2, [pc, #8] ; (2548 <lv_group_focus_prev+0xc>)
|
|
2540: 4902 ldr r1, [pc, #8] ; (254c <lv_group_focus_prev+0x10>)
|
|
2542: 4b03 ldr r3, [pc, #12] ; (2550 <lv_group_focus_prev+0x14>)
|
|
2544: 4798 blx r3
|
|
2546: bd08 pop {r3, pc}
|
|
2548: 00011fd1 .word 0x00011fd1
|
|
254c: 00011f9b .word 0x00011f9b
|
|
2550: 0000242d .word 0x0000242d
|
|
|
|
00002554 <lv_group_refocus>:
|
|
{
|
|
2554: b538 push {r3, r4, r5, lr}
|
|
2556: 4604 mov r4, r0
|
|
uint8_t temp_wrap = g->wrap;
|
|
2558: 7d03 ldrb r3, [r0, #20]
|
|
255a: f3c3 1500 ubfx r5, r3, #4, #1
|
|
g->wrap = 1;
|
|
255e: f043 0310 orr.w r3, r3, #16
|
|
2562: 7503 strb r3, [r0, #20]
|
|
if(g->refocus_policy == LV_GROUP_REFOCUS_POLICY_NEXT)
|
|
2564: f013 0f08 tst.w r3, #8
|
|
lv_group_focus_next(g);
|
|
2568: bf0c ite eq
|
|
256a: 4b04 ldreq r3, [pc, #16] ; (257c <lv_group_refocus+0x28>)
|
|
lv_group_focus_prev(g);
|
|
256c: 4b04 ldrne r3, [pc, #16] ; (2580 <lv_group_refocus+0x2c>)
|
|
256e: 4798 blx r3
|
|
g->wrap = temp_wrap;
|
|
2570: 7d23 ldrb r3, [r4, #20]
|
|
2572: f365 1304 bfi r3, r5, #4, #1
|
|
2576: 7523 strb r3, [r4, #20]
|
|
2578: bd38 pop {r3, r4, r5, pc}
|
|
257a: bf00 nop
|
|
257c: 00002525 .word 0x00002525
|
|
2580: 0000253d .word 0x0000253d
|
|
|
|
00002584 <lv_group_add_obj>:
|
|
if(group == NULL) return;
|
|
2584: 2800 cmp r0, #0
|
|
2586: d04f beq.n 2628 <lv_group_add_obj+0xa4>
|
|
{
|
|
2588: b5f0 push {r4, r5, r6, r7, lr}
|
|
258a: b083 sub sp, #12
|
|
258c: 4605 mov r5, r0
|
|
258e: 460c mov r4, r1
|
|
_LV_LL_READ(group->obj_ll, obj_i) {
|
|
2590: 4607 mov r7, r0
|
|
2592: 4b26 ldr r3, [pc, #152] ; (262c <lv_group_add_obj+0xa8>)
|
|
2594: 4798 blx r3
|
|
2596: 4601 mov r1, r0
|
|
2598: b1a0 cbz r0, 25c4 <lv_group_add_obj+0x40>
|
|
if((*obj_i) == obj) {
|
|
259a: 6803 ldr r3, [r0, #0]
|
|
259c: 429c cmp r4, r3
|
|
259e: d007 beq.n 25b0 <lv_group_add_obj+0x2c>
|
|
_LV_LL_READ(group->obj_ll, obj_i) {
|
|
25a0: 4e23 ldr r6, [pc, #140] ; (2630 <lv_group_add_obj+0xac>)
|
|
25a2: 4638 mov r0, r7
|
|
25a4: 47b0 blx r6
|
|
25a6: 4601 mov r1, r0
|
|
25a8: b160 cbz r0, 25c4 <lv_group_add_obj+0x40>
|
|
if((*obj_i) == obj) {
|
|
25aa: 680b ldr r3, [r1, #0]
|
|
25ac: 42a3 cmp r3, r4
|
|
25ae: d1f8 bne.n 25a2 <lv_group_add_obj+0x1e>
|
|
LV_LOG_INFO("lv_group_add_obj: the object is already added to this group");
|
|
25b0: 4b20 ldr r3, [pc, #128] ; (2634 <lv_group_add_obj+0xb0>)
|
|
25b2: 9300 str r3, [sp, #0]
|
|
25b4: 4b20 ldr r3, [pc, #128] ; (2638 <lv_group_add_obj+0xb4>)
|
|
25b6: 2275 movs r2, #117 ; 0x75
|
|
25b8: 4920 ldr r1, [pc, #128] ; (263c <lv_group_add_obj+0xb8>)
|
|
25ba: 2001 movs r0, #1
|
|
25bc: 4c20 ldr r4, [pc, #128] ; (2640 <lv_group_add_obj+0xbc>)
|
|
25be: 47a0 blx r4
|
|
}
|
|
25c0: b003 add sp, #12
|
|
25c2: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(obj->group_p) {
|
|
25c4: 6ba3 ldr r3, [r4, #56] ; 0x38
|
|
25c6: b173 cbz r3, 25e6 <lv_group_add_obj+0x62>
|
|
if(lv_obj_is_focused(obj)) {
|
|
25c8: 4620 mov r0, r4
|
|
25ca: 4b1e ldr r3, [pc, #120] ; (2644 <lv_group_add_obj+0xc0>)
|
|
25cc: 4798 blx r3
|
|
25ce: b150 cbz r0, 25e6 <lv_group_add_obj+0x62>
|
|
lv_group_refocus(obj->group_p);
|
|
25d0: 6ba0 ldr r0, [r4, #56] ; 0x38
|
|
25d2: 4b1d ldr r3, [pc, #116] ; (2648 <lv_group_add_obj+0xc4>)
|
|
25d4: 4798 blx r3
|
|
LV_LOG_INFO("lv_group_add_obj: assign object to an other group");
|
|
25d6: 4b1d ldr r3, [pc, #116] ; (264c <lv_group_add_obj+0xc8>)
|
|
25d8: 9300 str r3, [sp, #0]
|
|
25da: 4b17 ldr r3, [pc, #92] ; (2638 <lv_group_add_obj+0xb4>)
|
|
25dc: 227f movs r2, #127 ; 0x7f
|
|
25de: 4917 ldr r1, [pc, #92] ; (263c <lv_group_add_obj+0xb8>)
|
|
25e0: 2001 movs r0, #1
|
|
25e2: 4e17 ldr r6, [pc, #92] ; (2640 <lv_group_add_obj+0xbc>)
|
|
25e4: 47b0 blx r6
|
|
obj->group_p = group;
|
|
25e6: 63a5 str r5, [r4, #56] ; 0x38
|
|
lv_obj_t ** next = _lv_ll_ins_tail(&group->obj_ll);
|
|
25e8: 4628 mov r0, r5
|
|
25ea: 4b19 ldr r3, [pc, #100] ; (2650 <lv_group_add_obj+0xcc>)
|
|
25ec: 4798 blx r3
|
|
25ee: 4606 mov r6, r0
|
|
LV_ASSERT_MEM(next);
|
|
25f0: 4b18 ldr r3, [pc, #96] ; (2654 <lv_group_add_obj+0xd0>)
|
|
25f2: 4798 blx r3
|
|
25f4: b158 cbz r0, 260e <lv_group_add_obj+0x8a>
|
|
if(next == NULL) return;
|
|
25f6: 2e00 cmp r6, #0
|
|
25f8: d0e2 beq.n 25c0 <lv_group_add_obj+0x3c>
|
|
*next = obj;
|
|
25fa: 6034 str r4, [r6, #0]
|
|
if(_lv_ll_get_head(&group->obj_ll) == next) {
|
|
25fc: 4628 mov r0, r5
|
|
25fe: 4b0b ldr r3, [pc, #44] ; (262c <lv_group_add_obj+0xa8>)
|
|
2600: 4798 blx r3
|
|
2602: 4286 cmp r6, r0
|
|
2604: d1dc bne.n 25c0 <lv_group_add_obj+0x3c>
|
|
lv_group_refocus(group);
|
|
2606: 4628 mov r0, r5
|
|
2608: 4b0f ldr r3, [pc, #60] ; (2648 <lv_group_add_obj+0xc4>)
|
|
260a: 4798 blx r3
|
|
260c: e7d8 b.n 25c0 <lv_group_add_obj+0x3c>
|
|
LV_ASSERT_MEM(next);
|
|
260e: 4b0a ldr r3, [pc, #40] ; (2638 <lv_group_add_obj+0xb4>)
|
|
2610: 9300 str r3, [sp, #0]
|
|
2612: 2285 movs r2, #133 ; 0x85
|
|
2614: 4909 ldr r1, [pc, #36] ; (263c <lv_group_add_obj+0xb8>)
|
|
2616: 2003 movs r0, #3
|
|
2618: 4c09 ldr r4, [pc, #36] ; (2640 <lv_group_add_obj+0xbc>)
|
|
261a: 47a0 blx r4
|
|
261c: 4632 mov r2, r6
|
|
261e: 2300 movs r3, #0
|
|
2620: 480d ldr r0, [pc, #52] ; (2658 <lv_group_add_obj+0xd4>)
|
|
2622: 490e ldr r1, [pc, #56] ; (265c <lv_group_add_obj+0xd8>)
|
|
2624: 4788 blx r1
|
|
2626: e7fe b.n 2626 <lv_group_add_obj+0xa2>
|
|
2628: 4770 bx lr
|
|
262a: bf00 nop
|
|
262c: 00011f91 .word 0x00011f91
|
|
2630: 00011fa5 .word 0x00011fa5
|
|
2634: 00023fd0 .word 0x00023fd0
|
|
2638: 00023f80 .word 0x00023f80
|
|
263c: 00023f94 .word 0x00023f94
|
|
2640: 00012245 .word 0x00012245
|
|
2644: 00004fe1 .word 0x00004fe1
|
|
2648: 00002555 .word 0x00002555
|
|
264c: 0002400c .word 0x0002400c
|
|
2650: 00011f45 .word 0x00011f45
|
|
2654: 00002299 .word 0x00002299
|
|
2658: 00023fc0 .word 0x00023fc0
|
|
265c: 000022a1 .word 0x000022a1
|
|
|
|
00002660 <lv_group_remove_obj>:
|
|
{
|
|
2660: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
lv_group_t * g = obj->group_p;
|
|
2664: f8d0 8038 ldr.w r8, [r0, #56] ; 0x38
|
|
if(g == NULL) return;
|
|
2668: f1b8 0f00 cmp.w r8, #0
|
|
266c: d051 beq.n 2712 <lv_group_remove_obj+0xb2>
|
|
if(g->obj_focus == NULL) return; /*Just to be sure (Not possible if there is at least one object in the group)*/
|
|
266e: f8d8 300c ldr.w r3, [r8, #12]
|
|
2672: 2b00 cmp r3, #0
|
|
2674: d04d beq.n 2712 <lv_group_remove_obj+0xb2>
|
|
2676: 4605 mov r5, r0
|
|
if(*g->obj_focus == obj) {
|
|
2678: 681b ldr r3, [r3, #0]
|
|
267a: 4298 cmp r0, r3
|
|
267c: d01e beq.n 26bc <lv_group_remove_obj+0x5c>
|
|
_LV_LL_READ(g->obj_ll, i) {
|
|
267e: 4646 mov r6, r8
|
|
2680: 4640 mov r0, r8
|
|
2682: 4b25 ldr r3, [pc, #148] ; (2718 <lv_group_remove_obj+0xb8>)
|
|
2684: 4798 blx r3
|
|
2686: 4604 mov r4, r0
|
|
2688: 2800 cmp r0, #0
|
|
268a: d042 beq.n 2712 <lv_group_remove_obj+0xb2>
|
|
if(*i == obj) {
|
|
268c: 6803 ldr r3, [r0, #0]
|
|
268e: 429d cmp r5, r3
|
|
2690: d009 beq.n 26a6 <lv_group_remove_obj+0x46>
|
|
_LV_LL_READ(g->obj_ll, i) {
|
|
2692: 4f22 ldr r7, [pc, #136] ; (271c <lv_group_remove_obj+0xbc>)
|
|
2694: 4621 mov r1, r4
|
|
2696: 4630 mov r0, r6
|
|
2698: 47b8 blx r7
|
|
269a: 4604 mov r4, r0
|
|
269c: 2800 cmp r0, #0
|
|
269e: d038 beq.n 2712 <lv_group_remove_obj+0xb2>
|
|
if(*i == obj) {
|
|
26a0: 6823 ldr r3, [r4, #0]
|
|
26a2: 429d cmp r5, r3
|
|
26a4: d1f6 bne.n 2694 <lv_group_remove_obj+0x34>
|
|
_lv_ll_remove(&g->obj_ll, i);
|
|
26a6: 4621 mov r1, r4
|
|
26a8: 4640 mov r0, r8
|
|
26aa: 4b1d ldr r3, [pc, #116] ; (2720 <lv_group_remove_obj+0xc0>)
|
|
26ac: 4798 blx r3
|
|
lv_mem_free(i);
|
|
26ae: 4620 mov r0, r4
|
|
26b0: 4b1c ldr r3, [pc, #112] ; (2724 <lv_group_remove_obj+0xc4>)
|
|
26b2: 4798 blx r3
|
|
obj->group_p = NULL;
|
|
26b4: 2300 movs r3, #0
|
|
26b6: 63ab str r3, [r5, #56] ; 0x38
|
|
break;
|
|
26b8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(g->frozen) g->frozen = 0;
|
|
26bc: f898 3014 ldrb.w r3, [r8, #20]
|
|
26c0: f013 0f01 tst.w r3, #1
|
|
26c4: d005 beq.n 26d2 <lv_group_remove_obj+0x72>
|
|
26c6: f898 3014 ldrb.w r3, [r8, #20]
|
|
26ca: f36f 0300 bfc r3, #0, #1
|
|
26ce: f888 3014 strb.w r3, [r8, #20]
|
|
if(_lv_ll_get_head(&g->obj_ll) == g->obj_focus && _lv_ll_get_tail(&g->obj_ll) == g->obj_focus) {
|
|
26d2: 4640 mov r0, r8
|
|
26d4: 4b10 ldr r3, [pc, #64] ; (2718 <lv_group_remove_obj+0xb8>)
|
|
26d6: 4798 blx r3
|
|
26d8: f8d8 300c ldr.w r3, [r8, #12]
|
|
26dc: 4283 cmp r3, r0
|
|
26de: d00b beq.n 26f8 <lv_group_remove_obj+0x98>
|
|
lv_group_refocus(g);
|
|
26e0: 4640 mov r0, r8
|
|
26e2: 4b11 ldr r3, [pc, #68] ; (2728 <lv_group_remove_obj+0xc8>)
|
|
26e4: 4798 blx r3
|
|
if(*g->obj_focus == obj) {
|
|
26e6: f8d8 300c ldr.w r3, [r8, #12]
|
|
26ea: 681b ldr r3, [r3, #0]
|
|
26ec: 429d cmp r5, r3
|
|
g->obj_focus = NULL;
|
|
26ee: bf04 itt eq
|
|
26f0: 2300 moveq r3, #0
|
|
26f2: f8c8 300c streq.w r3, [r8, #12]
|
|
26f6: e7c2 b.n 267e <lv_group_remove_obj+0x1e>
|
|
if(_lv_ll_get_head(&g->obj_ll) == g->obj_focus && _lv_ll_get_tail(&g->obj_ll) == g->obj_focus) {
|
|
26f8: 4640 mov r0, r8
|
|
26fa: 4b0c ldr r3, [pc, #48] ; (272c <lv_group_remove_obj+0xcc>)
|
|
26fc: 4798 blx r3
|
|
26fe: f8d8 300c ldr.w r3, [r8, #12]
|
|
2702: 4298 cmp r0, r3
|
|
2704: d1ec bne.n 26e0 <lv_group_remove_obj+0x80>
|
|
(*g->obj_focus)->signal_cb(*g->obj_focus, LV_SIGNAL_DEFOCUS, NULL);
|
|
2706: 6800 ldr r0, [r0, #0]
|
|
2708: 69c3 ldr r3, [r0, #28]
|
|
270a: 2200 movs r2, #0
|
|
270c: 2117 movs r1, #23
|
|
270e: 4798 blx r3
|
|
2710: e7e9 b.n 26e6 <lv_group_remove_obj+0x86>
|
|
2712: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
2716: bf00 nop
|
|
2718: 00011f91 .word 0x00011f91
|
|
271c: 00011fa5 .word 0x00011fa5
|
|
2720: 0001207d .word 0x0001207d
|
|
2724: 000124ad .word 0x000124ad
|
|
2728: 00002555 .word 0x00002555
|
|
272c: 00011f9b .word 0x00011f9b
|
|
|
|
00002730 <lv_group_get_focused>:
|
|
if(!group) return NULL;
|
|
2730: b118 cbz r0, 273a <lv_group_get_focused+0xa>
|
|
if(group->obj_focus == NULL) return NULL;
|
|
2732: 68c3 ldr r3, [r0, #12]
|
|
2734: b11b cbz r3, 273e <lv_group_get_focused+0xe>
|
|
return *group->obj_focus;
|
|
2736: 6818 ldr r0, [r3, #0]
|
|
2738: 4770 bx lr
|
|
if(!group) return NULL;
|
|
273a: 2000 movs r0, #0
|
|
273c: 4770 bx lr
|
|
if(group->obj_focus == NULL) return NULL;
|
|
273e: 2000 movs r0, #0
|
|
}
|
|
2740: 4770 bx lr
|
|
|
|
00002742 <lv_group_get_editing>:
|
|
if(!group) return false;
|
|
2742: b118 cbz r0, 274c <lv_group_get_editing+0xa>
|
|
return group->editing ? true : false;
|
|
2744: 7d00 ldrb r0, [r0, #20]
|
|
2746: f3c0 0040 ubfx r0, r0, #1, #1
|
|
274a: 4770 bx lr
|
|
if(!group) return false;
|
|
274c: 2000 movs r0, #0
|
|
}
|
|
274e: 4770 bx lr
|
|
|
|
00002750 <lv_indev_get_act>:
|
|
* right now
|
|
*/
|
|
lv_indev_t * lv_indev_get_act(void)
|
|
{
|
|
return indev_act;
|
|
}
|
|
2750: 4b01 ldr r3, [pc, #4] ; (2758 <lv_indev_get_act+0x8>)
|
|
2752: 6858 ldr r0, [r3, #4]
|
|
2754: 4770 bx lr
|
|
2756: bf00 nop
|
|
2758: 20002674 .word 0x20002674
|
|
|
|
0000275c <lv_indev_reset>:
|
|
* Reset one or all input devices
|
|
* @param indev pointer to an input device to reset or NULL to reset all of them
|
|
* @param obj pointer to an object which triggers the reset.
|
|
*/
|
|
void lv_indev_reset(lv_indev_t * indev, lv_obj_t * obj)
|
|
{
|
|
275c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
if(indev) {
|
|
275e: b1b0 cbz r0, 278e <lv_indev_reset+0x32>
|
|
2760: 4603 mov r3, r0
|
|
indev->proc.reset_query = 1;
|
|
2762: f890 2050 ldrb.w r2, [r0, #80] ; 0x50
|
|
2766: f042 0202 orr.w r2, r2, #2
|
|
276a: f880 2050 strb.w r2, [r0, #80] ; 0x50
|
|
if(indev_act == indev) indev_obj_act = NULL;
|
|
276e: 4a18 ldr r2, [pc, #96] ; (27d0 <lv_indev_reset+0x74>)
|
|
2770: 6852 ldr r2, [r2, #4]
|
|
2772: 4290 cmp r0, r2
|
|
2774: d004 beq.n 2780 <lv_indev_reset+0x24>
|
|
if(obj == NULL || indev->proc.types.pointer.last_pressed == obj) {
|
|
2776: b139 cbz r1, 2788 <lv_indev_reset+0x2c>
|
|
2778: 6bda ldr r2, [r3, #60] ; 0x3c
|
|
277a: 4291 cmp r1, r2
|
|
277c: d004 beq.n 2788 <lv_indev_reset+0x2c>
|
|
277e: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
if(indev_act == indev) indev_obj_act = NULL;
|
|
2780: 2000 movs r0, #0
|
|
2782: 4a13 ldr r2, [pc, #76] ; (27d0 <lv_indev_reset+0x74>)
|
|
2784: 6010 str r0, [r2, #0]
|
|
2786: e7f6 b.n 2776 <lv_indev_reset+0x1a>
|
|
indev->proc.types.pointer.last_pressed = NULL;
|
|
2788: 2200 movs r2, #0
|
|
278a: 63da str r2, [r3, #60] ; 0x3c
|
|
278c: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
278e: 460c mov r4, r1
|
|
}
|
|
}
|
|
else {
|
|
lv_indev_t * i = lv_indev_get_next(NULL);
|
|
2790: 2000 movs r0, #0
|
|
2792: 4b10 ldr r3, [pc, #64] ; (27d4 <lv_indev_reset+0x78>)
|
|
2794: 4798 blx r3
|
|
while(i) {
|
|
2796: 4603 mov r3, r0
|
|
2798: 2800 cmp r0, #0
|
|
279a: d0f0 beq.n 277e <lv_indev_reset+0x22>
|
|
i->proc.reset_query = 1;
|
|
if(indev_act == i) indev_obj_act = NULL;
|
|
279c: 4d0c ldr r5, [pc, #48] ; (27d0 <lv_indev_reset+0x74>)
|
|
279e: 2700 movs r7, #0
|
|
if(obj == NULL || i->proc.types.pointer.last_pressed == obj) {
|
|
i->proc.types.pointer.last_pressed = NULL;
|
|
}
|
|
i = lv_indev_get_next(i);
|
|
27a0: 4e0c ldr r6, [pc, #48] ; (27d4 <lv_indev_reset+0x78>)
|
|
27a2: e005 b.n 27b0 <lv_indev_reset+0x54>
|
|
i->proc.types.pointer.last_pressed = NULL;
|
|
27a4: 63df str r7, [r3, #60] ; 0x3c
|
|
i = lv_indev_get_next(i);
|
|
27a6: 4618 mov r0, r3
|
|
27a8: 47b0 blx r6
|
|
while(i) {
|
|
27aa: 4603 mov r3, r0
|
|
27ac: 2800 cmp r0, #0
|
|
27ae: d0e6 beq.n 277e <lv_indev_reset+0x22>
|
|
i->proc.reset_query = 1;
|
|
27b0: f893 2050 ldrb.w r2, [r3, #80] ; 0x50
|
|
27b4: f042 0202 orr.w r2, r2, #2
|
|
27b8: f883 2050 strb.w r2, [r3, #80] ; 0x50
|
|
if(indev_act == i) indev_obj_act = NULL;
|
|
27bc: 686a ldr r2, [r5, #4]
|
|
27be: 429a cmp r2, r3
|
|
27c0: bf08 it eq
|
|
27c2: 602f streq r7, [r5, #0]
|
|
if(obj == NULL || i->proc.types.pointer.last_pressed == obj) {
|
|
27c4: 2c00 cmp r4, #0
|
|
27c6: d0ed beq.n 27a4 <lv_indev_reset+0x48>
|
|
27c8: 6bda ldr r2, [r3, #60] ; 0x3c
|
|
27ca: 4294 cmp r4, r2
|
|
27cc: d1eb bne.n 27a6 <lv_indev_reset+0x4a>
|
|
27ce: e7e9 b.n 27a4 <lv_indev_reset+0x48>
|
|
27d0: 20002674 .word 0x20002674
|
|
27d4: 00011009 .word 0x00011009
|
|
|
|
000027d8 <_lv_indev_init>:
|
|
{
|
|
27d8: b508 push {r3, lr}
|
|
lv_indev_reset(NULL, NULL); /*Reset all input devices*/
|
|
27da: 2100 movs r1, #0
|
|
27dc: 4608 mov r0, r1
|
|
27de: 4b01 ldr r3, [pc, #4] ; (27e4 <_lv_indev_init+0xc>)
|
|
27e0: 4798 blx r3
|
|
27e2: bd08 pop {r3, pc}
|
|
27e4: 0000275d .word 0x0000275d
|
|
|
|
000027e8 <lv_indev_get_obj_act>:
|
|
* @return pointer to currently active object or NULL if no active object
|
|
*/
|
|
lv_obj_t * lv_indev_get_obj_act(void)
|
|
{
|
|
return indev_obj_act;
|
|
}
|
|
27e8: 4b01 ldr r3, [pc, #4] ; (27f0 <lv_indev_get_obj_act+0x8>)
|
|
27ea: 6818 ldr r0, [r3, #0]
|
|
27ec: 4770 bx lr
|
|
27ee: bf00 nop
|
|
27f0: 20002674 .word 0x20002674
|
|
|
|
000027f4 <refresh_children_position>:
|
|
* @param obj pointer to an object which children will be repositioned
|
|
* @param x_diff x coordinate shift
|
|
* @param y_diff y coordinate shift
|
|
*/
|
|
static void refresh_children_position(lv_obj_t * obj, lv_coord_t x_diff, lv_coord_t y_diff)
|
|
{
|
|
27f4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
27f8: 4689 mov r9, r1
|
|
27fa: 4690 mov r8, r2
|
|
lv_obj_t * i;
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
27fc: f100 0a04 add.w sl, r0, #4
|
|
2800: 4650 mov r0, sl
|
|
2802: 4b11 ldr r3, [pc, #68] ; (2848 <refresh_children_position+0x54>)
|
|
2804: 4798 blx r3
|
|
2806: b1e0 cbz r0, 2842 <refresh_children_position+0x4e>
|
|
2808: 4604 mov r4, r0
|
|
i->coords.x1 += x_diff;
|
|
280a: fa1f f689 uxth.w r6, r9
|
|
i->coords.y1 += y_diff;
|
|
280e: fa1f f588 uxth.w r5, r8
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
2812: 4f0e ldr r7, [pc, #56] ; (284c <refresh_children_position+0x58>)
|
|
i->coords.x1 += x_diff;
|
|
2814: 8a23 ldrh r3, [r4, #16]
|
|
2816: 4433 add r3, r6
|
|
2818: 8223 strh r3, [r4, #16]
|
|
i->coords.y1 += y_diff;
|
|
281a: 8a63 ldrh r3, [r4, #18]
|
|
281c: 442b add r3, r5
|
|
281e: 8263 strh r3, [r4, #18]
|
|
i->coords.x2 += x_diff;
|
|
2820: 8aa3 ldrh r3, [r4, #20]
|
|
2822: 4433 add r3, r6
|
|
2824: 82a3 strh r3, [r4, #20]
|
|
i->coords.y2 += y_diff;
|
|
2826: 8ae3 ldrh r3, [r4, #22]
|
|
2828: 442b add r3, r5
|
|
282a: 82e3 strh r3, [r4, #22]
|
|
|
|
refresh_children_position(i, x_diff, y_diff);
|
|
282c: 4642 mov r2, r8
|
|
282e: 4649 mov r1, r9
|
|
2830: 4620 mov r0, r4
|
|
2832: f7ff ffdf bl 27f4 <refresh_children_position>
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
2836: 4621 mov r1, r4
|
|
2838: 4650 mov r0, sl
|
|
283a: 47b8 blx r7
|
|
283c: 4604 mov r4, r0
|
|
283e: 2800 cmp r0, #0
|
|
2840: d1e8 bne.n 2814 <refresh_children_position+0x20>
|
|
2842: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
2846: bf00 nop
|
|
2848: 00011f91 .word 0x00011f91
|
|
284c: 00011fa5 .word 0x00011fa5
|
|
|
|
00002850 <lv_init>:
|
|
{
|
|
2850: b530 push {r4, r5, lr}
|
|
2852: b085 sub sp, #20
|
|
if(lv_initialized) {
|
|
2854: 4b21 ldr r3, [pc, #132] ; (28dc <lv_init+0x8c>)
|
|
2856: 781b ldrb r3, [r3, #0]
|
|
2858: 2b00 cmp r3, #0
|
|
285a: d136 bne.n 28ca <lv_init+0x7a>
|
|
_lv_mem_init();
|
|
285c: 4b20 ldr r3, [pc, #128] ; (28e0 <lv_init+0x90>)
|
|
285e: 4798 blx r3
|
|
_lv_task_core_init();
|
|
2860: 4b20 ldr r3, [pc, #128] ; (28e4 <lv_init+0x94>)
|
|
2862: 4798 blx r3
|
|
_lv_fs_init();
|
|
2864: 4b20 ldr r3, [pc, #128] ; (28e8 <lv_init+0x98>)
|
|
2866: 4798 blx r3
|
|
_lv_anim_core_init();
|
|
2868: 4b20 ldr r3, [pc, #128] ; (28ec <lv_init+0x9c>)
|
|
286a: 4798 blx r3
|
|
_lv_group_init();
|
|
286c: 4b20 ldr r3, [pc, #128] ; (28f0 <lv_init+0xa0>)
|
|
286e: 4798 blx r3
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_obj_style_trans_ll), sizeof(lv_style_trans_t));
|
|
2870: 2110 movs r1, #16
|
|
2872: 4820 ldr r0, [pc, #128] ; (28f4 <lv_init+0xa4>)
|
|
2874: 4c20 ldr r4, [pc, #128] ; (28f8 <lv_init+0xa8>)
|
|
2876: 47a0 blx r4
|
|
lv_theme_t * th = LV_THEME_DEFAULT_INIT(LV_THEME_DEFAULT_COLOR_PRIMARY, LV_THEME_DEFAULT_COLOR_SECONDARY,
|
|
2878: 4b20 ldr r3, [pc, #128] ; (28fc <lv_init+0xac>)
|
|
287a: 9302 str r3, [sp, #8]
|
|
287c: 9301 str r3, [sp, #4]
|
|
287e: 9300 str r3, [sp, #0]
|
|
2880: 2202 movs r2, #2
|
|
2882: f04f 011f mov.w r1, #31
|
|
2886: f64f 0000 movw r0, #63488 ; 0xf800
|
|
288a: 4d1d ldr r5, [pc, #116] ; (2900 <lv_init+0xb0>)
|
|
288c: 47a8 blx r5
|
|
lv_theme_set_act(th);
|
|
288e: 4b1d ldr r3, [pc, #116] ; (2904 <lv_init+0xb4>)
|
|
2890: 4798 blx r3
|
|
_lv_refr_init();
|
|
2892: 4b1d ldr r3, [pc, #116] ; (2908 <lv_init+0xb8>)
|
|
2894: 4798 blx r3
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_disp_ll), sizeof(lv_disp_t));
|
|
2896: f44f 71b8 mov.w r1, #368 ; 0x170
|
|
289a: 481c ldr r0, [pc, #112] ; (290c <lv_init+0xbc>)
|
|
289c: 47a0 blx r4
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_indev_ll), sizeof(lv_indev_t));
|
|
289e: 2160 movs r1, #96 ; 0x60
|
|
28a0: 481b ldr r0, [pc, #108] ; (2910 <lv_init+0xc0>)
|
|
28a2: 47a0 blx r4
|
|
_lv_indev_init();
|
|
28a4: 4b1b ldr r3, [pc, #108] ; (2914 <lv_init+0xc4>)
|
|
28a6: 4798 blx r3
|
|
_lv_img_decoder_init();
|
|
28a8: 4b1b ldr r3, [pc, #108] ; (2918 <lv_init+0xc8>)
|
|
28aa: 4798 blx r3
|
|
lv_img_cache_set_size(LV_IMG_CACHE_DEF_SIZE);
|
|
28ac: 2001 movs r0, #1
|
|
28ae: 4b1b ldr r3, [pc, #108] ; (291c <lv_init+0xcc>)
|
|
28b0: 4798 blx r3
|
|
lv_initialized = true;
|
|
28b2: 2001 movs r0, #1
|
|
28b4: 4b09 ldr r3, [pc, #36] ; (28dc <lv_init+0x8c>)
|
|
28b6: 7018 strb r0, [r3, #0]
|
|
LV_LOG_INFO("lv_init ready");
|
|
28b8: 4b19 ldr r3, [pc, #100] ; (2920 <lv_init+0xd0>)
|
|
28ba: 9300 str r3, [sp, #0]
|
|
28bc: 4b19 ldr r3, [pc, #100] ; (2924 <lv_init+0xd4>)
|
|
28be: 22a2 movs r2, #162 ; 0xa2
|
|
28c0: 4919 ldr r1, [pc, #100] ; (2928 <lv_init+0xd8>)
|
|
28c2: 4c1a ldr r4, [pc, #104] ; (292c <lv_init+0xdc>)
|
|
28c4: 47a0 blx r4
|
|
}
|
|
28c6: b005 add sp, #20
|
|
28c8: bd30 pop {r4, r5, pc}
|
|
LV_LOG_WARN("lv_init: already inited");
|
|
28ca: 4b19 ldr r3, [pc, #100] ; (2930 <lv_init+0xe0>)
|
|
28cc: 9300 str r3, [sp, #0]
|
|
28ce: 4b15 ldr r3, [pc, #84] ; (2924 <lv_init+0xd4>)
|
|
28d0: 2278 movs r2, #120 ; 0x78
|
|
28d2: 4915 ldr r1, [pc, #84] ; (2928 <lv_init+0xd8>)
|
|
28d4: 2002 movs r0, #2
|
|
28d6: 4c15 ldr r4, [pc, #84] ; (292c <lv_init+0xdc>)
|
|
28d8: 47a0 blx r4
|
|
return;
|
|
28da: e7f4 b.n 28c6 <lv_init+0x76>
|
|
28dc: 2000267c .word 0x2000267c
|
|
28e0: 000123a5 .word 0x000123a5
|
|
28e4: 000135d5 .word 0x000135d5
|
|
28e8: 00011c61 .word 0x00011c61
|
|
28ec: 00011285 .word 0x00011285
|
|
28f0: 00002511 .word 0x00002511
|
|
28f4: 20006d3c .word 0x20006d3c
|
|
28f8: 00011ee1 .word 0x00011ee1
|
|
28fc: 20000010 .word 0x20000010
|
|
2900: 00016b31 .word 0x00016b31
|
|
2904: 000141b9 .word 0x000141b9
|
|
2908: 00005e3d .word 0x00005e3d
|
|
290c: 20006c98 .word 0x20006c98
|
|
2910: 20006c8c .word 0x20006c8c
|
|
2914: 000027d9 .word 0x000027d9
|
|
2918: 0000ffa9 .word 0x0000ffa9
|
|
291c: 0000f415 .word 0x0000f415
|
|
2920: 00024804 .word 0x00024804
|
|
2924: 00024040 .word 0x00024040
|
|
2928: 000247c4 .word 0x000247c4
|
|
292c: 00012245 .word 0x00012245
|
|
2930: 000247ec .word 0x000247ec
|
|
|
|
00002934 <lv_obj_set_adv_hittest>:
|
|
{
|
|
2934: b530 push {r4, r5, lr}
|
|
2936: b083 sub sp, #12
|
|
2938: 4604 mov r4, r0
|
|
293a: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
293c: 4b0c ldr r3, [pc, #48] ; (2970 <lv_obj_set_adv_hittest+0x3c>)
|
|
293e: 4798 blx r3
|
|
2940: b138 cbz r0, 2952 <lv_obj_set_adv_hittest+0x1e>
|
|
obj->adv_hittest = en == false ? 0 : 1;
|
|
2942: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
2946: f365 13c7 bfi r3, r5, #7, #1
|
|
294a: f884 3034 strb.w r3, [r4, #52] ; 0x34
|
|
}
|
|
294e: b003 add sp, #12
|
|
2950: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2952: 4b08 ldr r3, [pc, #32] ; (2974 <lv_obj_set_adv_hittest+0x40>)
|
|
2954: 9300 str r3, [sp, #0]
|
|
2956: f240 5294 movw r2, #1428 ; 0x594
|
|
295a: 4907 ldr r1, [pc, #28] ; (2978 <lv_obj_set_adv_hittest+0x44>)
|
|
295c: 2003 movs r0, #3
|
|
295e: 4d07 ldr r5, [pc, #28] ; (297c <lv_obj_set_adv_hittest+0x48>)
|
|
2960: 47a8 blx r5
|
|
2962: 4622 mov r2, r4
|
|
2964: 2300 movs r3, #0
|
|
2966: 4806 ldr r0, [pc, #24] ; (2980 <lv_obj_set_adv_hittest+0x4c>)
|
|
2968: 4906 ldr r1, [pc, #24] ; (2984 <lv_obj_set_adv_hittest+0x50>)
|
|
296a: 4788 blx r1
|
|
296c: e7fe b.n 296c <lv_obj_set_adv_hittest+0x38>
|
|
296e: bf00 nop
|
|
2970: 00002299 .word 0x00002299
|
|
2974: 0002409c .word 0x0002409c
|
|
2978: 000247c4 .word 0x000247c4
|
|
297c: 00012245 .word 0x00012245
|
|
2980: 00024824 .word 0x00024824
|
|
2984: 000022a1 .word 0x000022a1
|
|
|
|
00002988 <lv_obj_set_click>:
|
|
{
|
|
2988: b530 push {r4, r5, lr}
|
|
298a: b083 sub sp, #12
|
|
298c: 4604 mov r4, r0
|
|
298e: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2990: 4b0c ldr r3, [pc, #48] ; (29c4 <lv_obj_set_click+0x3c>)
|
|
2992: 4798 blx r3
|
|
2994: b138 cbz r0, 29a6 <lv_obj_set_click+0x1e>
|
|
obj->click = (en == true ? 1 : 0);
|
|
2996: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
299a: f365 0300 bfi r3, r5, #0, #1
|
|
299e: f884 3034 strb.w r3, [r4, #52] ; 0x34
|
|
}
|
|
29a2: b003 add sp, #12
|
|
29a4: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
29a6: 4b08 ldr r3, [pc, #32] ; (29c8 <lv_obj_set_click+0x40>)
|
|
29a8: 9300 str r3, [sp, #0]
|
|
29aa: f44f 62b4 mov.w r2, #1440 ; 0x5a0
|
|
29ae: 4907 ldr r1, [pc, #28] ; (29cc <lv_obj_set_click+0x44>)
|
|
29b0: 2003 movs r0, #3
|
|
29b2: 4d07 ldr r5, [pc, #28] ; (29d0 <lv_obj_set_click+0x48>)
|
|
29b4: 47a8 blx r5
|
|
29b6: 4622 mov r2, r4
|
|
29b8: 2300 movs r3, #0
|
|
29ba: 4806 ldr r0, [pc, #24] ; (29d4 <lv_obj_set_click+0x4c>)
|
|
29bc: 4906 ldr r1, [pc, #24] ; (29d8 <lv_obj_set_click+0x50>)
|
|
29be: 4788 blx r1
|
|
29c0: e7fe b.n 29c0 <lv_obj_set_click+0x38>
|
|
29c2: bf00 nop
|
|
29c4: 00002299 .word 0x00002299
|
|
29c8: 000240b4 .word 0x000240b4
|
|
29cc: 000247c4 .word 0x000247c4
|
|
29d0: 00012245 .word 0x00012245
|
|
29d4: 00024824 .word 0x00024824
|
|
29d8: 000022a1 .word 0x000022a1
|
|
|
|
000029dc <lv_event_send_func>:
|
|
{
|
|
29dc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
29e0: b086 sub sp, #24
|
|
29e2: 4607 mov r7, r0
|
|
29e4: 4615 mov r5, r2
|
|
29e6: 461e mov r6, r3
|
|
if(obj != NULL) {
|
|
29e8: 460c mov r4, r1
|
|
29ea: b121 cbz r1, 29f6 <lv_event_send_func+0x1a>
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
29ec: 4608 mov r0, r1
|
|
29ee: 4b28 ldr r3, [pc, #160] ; (2a90 <lv_event_send_func+0xb4>)
|
|
29f0: 4798 blx r3
|
|
29f2: 2800 cmp r0, #0
|
|
29f4: d033 beq.n 2a5e <lv_event_send_func+0x82>
|
|
event_temp_data.obj = obj;
|
|
29f6: 9403 str r4, [sp, #12]
|
|
event_temp_data.deleted = false;
|
|
29f8: 2300 movs r3, #0
|
|
29fa: f88d 3010 strb.w r3, [sp, #16]
|
|
event_temp_data.prev = NULL;
|
|
29fe: 9305 str r3, [sp, #20]
|
|
if(event_temp_data_head) {
|
|
2a00: 4b24 ldr r3, [pc, #144] ; (2a94 <lv_event_send_func+0xb8>)
|
|
2a02: 685b ldr r3, [r3, #4]
|
|
2a04: b103 cbz r3, 2a08 <lv_event_send_func+0x2c>
|
|
event_temp_data.prev = event_temp_data_head;
|
|
2a06: 9305 str r3, [sp, #20]
|
|
event_temp_data_head = &event_temp_data;
|
|
2a08: 4b22 ldr r3, [pc, #136] ; (2a94 <lv_event_send_func+0xb8>)
|
|
2a0a: aa03 add r2, sp, #12
|
|
2a0c: 605a str r2, [r3, #4]
|
|
const void * event_act_data_save = event_act_data;
|
|
2a0e: f8d3 8008 ldr.w r8, [r3, #8]
|
|
event_act_data = data;
|
|
2a12: 609e str r6, [r3, #8]
|
|
lv_indev_t * indev_act = lv_indev_get_act();
|
|
2a14: 4b20 ldr r3, [pc, #128] ; (2a98 <lv_event_send_func+0xbc>)
|
|
2a16: 4798 blx r3
|
|
if(indev_act) {
|
|
2a18: b118 cbz r0, 2a22 <lv_event_send_func+0x46>
|
|
if(indev_act->driver.feedback_cb) indev_act->driver.feedback_cb(&indev_act->driver, event);
|
|
2a1a: 6883 ldr r3, [r0, #8]
|
|
2a1c: b10b cbz r3, 2a22 <lv_event_send_func+0x46>
|
|
2a1e: 4629 mov r1, r5
|
|
2a20: 4798 blx r3
|
|
if(event_xcb) event_xcb(obj, event);
|
|
2a22: b117 cbz r7, 2a2a <lv_event_send_func+0x4e>
|
|
2a24: 4629 mov r1, r5
|
|
2a26: 4620 mov r0, r4
|
|
2a28: 47b8 blx r7
|
|
event_act_data = event_act_data_save;
|
|
2a2a: 4b1a ldr r3, [pc, #104] ; (2a94 <lv_event_send_func+0xb8>)
|
|
2a2c: f8c3 8008 str.w r8, [r3, #8]
|
|
event_temp_data_head = event_temp_data_head->prev;
|
|
2a30: 685a ldr r2, [r3, #4]
|
|
2a32: 6892 ldr r2, [r2, #8]
|
|
2a34: 605a str r2, [r3, #4]
|
|
if(event_temp_data.deleted) {
|
|
2a36: f89d 3010 ldrb.w r3, [sp, #16]
|
|
2a3a: b9f3 cbnz r3, 2a7a <lv_event_send_func+0x9e>
|
|
if(obj) {
|
|
2a3c: b30c cbz r4, 2a82 <lv_event_send_func+0xa6>
|
|
if(obj->parent_event && obj->parent) {
|
|
2a3e: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
2a42: f013 0f40 tst.w r3, #64 ; 0x40
|
|
2a46: d01e beq.n 2a86 <lv_event_send_func+0xaa>
|
|
2a48: 6820 ldr r0, [r4, #0]
|
|
2a4a: b1f0 cbz r0, 2a8a <lv_event_send_func+0xae>
|
|
lv_res_t res = lv_event_send(obj->parent, event, data);
|
|
2a4c: 4632 mov r2, r6
|
|
2a4e: 4629 mov r1, r5
|
|
2a50: 4b12 ldr r3, [pc, #72] ; (2a9c <lv_event_send_func+0xc0>)
|
|
2a52: 4798 blx r3
|
|
return LV_RES_INV;
|
|
2a54: 2801 cmp r0, #1
|
|
2a56: bf14 ite ne
|
|
2a58: 2000 movne r0, #0
|
|
2a5a: 2001 moveq r0, #1
|
|
2a5c: e00e b.n 2a7c <lv_event_send_func+0xa0>
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2a5e: 4b10 ldr r3, [pc, #64] ; (2aa0 <lv_event_send_func+0xc4>)
|
|
2a60: 9300 str r3, [sp, #0]
|
|
2a62: f44f 62db mov.w r2, #1752 ; 0x6d8
|
|
2a66: 490f ldr r1, [pc, #60] ; (2aa4 <lv_event_send_func+0xc8>)
|
|
2a68: 2003 movs r0, #3
|
|
2a6a: 4d0f ldr r5, [pc, #60] ; (2aa8 <lv_event_send_func+0xcc>)
|
|
2a6c: 47a8 blx r5
|
|
2a6e: 4622 mov r2, r4
|
|
2a70: 2300 movs r3, #0
|
|
2a72: 480e ldr r0, [pc, #56] ; (2aac <lv_event_send_func+0xd0>)
|
|
2a74: 490e ldr r1, [pc, #56] ; (2ab0 <lv_event_send_func+0xd4>)
|
|
2a76: 4788 blx r1
|
|
2a78: e7fe b.n 2a78 <lv_event_send_func+0x9c>
|
|
return LV_RES_INV;
|
|
2a7a: 2000 movs r0, #0
|
|
}
|
|
2a7c: b006 add sp, #24
|
|
2a7e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_RES_OK;
|
|
2a82: 2001 movs r0, #1
|
|
2a84: e7fa b.n 2a7c <lv_event_send_func+0xa0>
|
|
2a86: 2001 movs r0, #1
|
|
2a88: e7f8 b.n 2a7c <lv_event_send_func+0xa0>
|
|
2a8a: 2001 movs r0, #1
|
|
2a8c: e7f6 b.n 2a7c <lv_event_send_func+0xa0>
|
|
2a8e: bf00 nop
|
|
2a90: 00002299 .word 0x00002299
|
|
2a94: 2000267c .word 0x2000267c
|
|
2a98: 00002751 .word 0x00002751
|
|
2a9c: 00002ab5 .word 0x00002ab5
|
|
2aa0: 00024184 .word 0x00024184
|
|
2aa4: 000247c4 .word 0x000247c4
|
|
2aa8: 00012245 .word 0x00012245
|
|
2aac: 00024824 .word 0x00024824
|
|
2ab0: 000022a1 .word 0x000022a1
|
|
|
|
00002ab4 <lv_event_send>:
|
|
if(obj == NULL) return LV_RES_OK;
|
|
2ab4: b1e8 cbz r0, 2af2 <lv_event_send+0x3e>
|
|
{
|
|
2ab6: b570 push {r4, r5, r6, lr}
|
|
2ab8: b082 sub sp, #8
|
|
2aba: 4604 mov r4, r0
|
|
2abc: 4616 mov r6, r2
|
|
2abe: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2ac0: 4b0d ldr r3, [pc, #52] ; (2af8 <lv_event_send+0x44>)
|
|
2ac2: 4798 blx r3
|
|
2ac4: b968 cbnz r0, 2ae2 <lv_event_send+0x2e>
|
|
2ac6: 4b0d ldr r3, [pc, #52] ; (2afc <lv_event_send+0x48>)
|
|
2ac8: 9300 str r3, [sp, #0]
|
|
2aca: f240 62c4 movw r2, #1732 ; 0x6c4
|
|
2ace: 490c ldr r1, [pc, #48] ; (2b00 <lv_event_send+0x4c>)
|
|
2ad0: 2003 movs r0, #3
|
|
2ad2: 4d0c ldr r5, [pc, #48] ; (2b04 <lv_event_send+0x50>)
|
|
2ad4: 47a8 blx r5
|
|
2ad6: 4622 mov r2, r4
|
|
2ad8: 2300 movs r3, #0
|
|
2ada: 480b ldr r0, [pc, #44] ; (2b08 <lv_event_send+0x54>)
|
|
2adc: 490b ldr r1, [pc, #44] ; (2b0c <lv_event_send+0x58>)
|
|
2ade: 4788 blx r1
|
|
2ae0: e7fe b.n 2ae0 <lv_event_send+0x2c>
|
|
res = lv_event_send_func(obj->event_cb, obj, event, data);
|
|
2ae2: 4633 mov r3, r6
|
|
2ae4: 462a mov r2, r5
|
|
2ae6: 4621 mov r1, r4
|
|
2ae8: 69a0 ldr r0, [r4, #24]
|
|
2aea: 4c09 ldr r4, [pc, #36] ; (2b10 <lv_event_send+0x5c>)
|
|
2aec: 47a0 blx r4
|
|
}
|
|
2aee: b002 add sp, #8
|
|
2af0: bd70 pop {r4, r5, r6, pc}
|
|
if(obj == NULL) return LV_RES_OK;
|
|
2af2: 2001 movs r0, #1
|
|
2af4: 4770 bx lr
|
|
2af6: bf00 nop
|
|
2af8: 00002299 .word 0x00002299
|
|
2afc: 00024198 .word 0x00024198
|
|
2b00: 000247c4 .word 0x000247c4
|
|
2b04: 00012245 .word 0x00012245
|
|
2b08: 00024824 .word 0x00024824
|
|
2b0c: 000022a1 .word 0x000022a1
|
|
2b10: 000029dd .word 0x000029dd
|
|
|
|
00002b14 <lv_obj_set_signal_cb>:
|
|
{
|
|
2b14: b530 push {r4, r5, lr}
|
|
2b16: b083 sub sp, #12
|
|
2b18: 4604 mov r4, r0
|
|
2b1a: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2b1c: 4b09 ldr r3, [pc, #36] ; (2b44 <lv_obj_set_signal_cb+0x30>)
|
|
2b1e: 4798 blx r3
|
|
2b20: b110 cbz r0, 2b28 <lv_obj_set_signal_cb+0x14>
|
|
obj->signal_cb = signal_cb;
|
|
2b22: 61e5 str r5, [r4, #28]
|
|
}
|
|
2b24: b003 add sp, #12
|
|
2b26: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2b28: 4b07 ldr r3, [pc, #28] ; (2b48 <lv_obj_set_signal_cb+0x34>)
|
|
2b2a: 9300 str r3, [sp, #0]
|
|
2b2c: f240 721b movw r2, #1819 ; 0x71b
|
|
2b30: 4906 ldr r1, [pc, #24] ; (2b4c <lv_obj_set_signal_cb+0x38>)
|
|
2b32: 2003 movs r0, #3
|
|
2b34: 4d06 ldr r5, [pc, #24] ; (2b50 <lv_obj_set_signal_cb+0x3c>)
|
|
2b36: 47a8 blx r5
|
|
2b38: 4622 mov r2, r4
|
|
2b3a: 2300 movs r3, #0
|
|
2b3c: 4805 ldr r0, [pc, #20] ; (2b54 <lv_obj_set_signal_cb+0x40>)
|
|
2b3e: 4906 ldr r1, [pc, #24] ; (2b58 <lv_obj_set_signal_cb+0x44>)
|
|
2b40: 4788 blx r1
|
|
2b42: e7fe b.n 2b42 <lv_obj_set_signal_cb+0x2e>
|
|
2b44: 00002299 .word 0x00002299
|
|
2b48: 000241a8 .word 0x000241a8
|
|
2b4c: 000247c4 .word 0x000247c4
|
|
2b50: 00012245 .word 0x00012245
|
|
2b54: 00024824 .word 0x00024824
|
|
2b58: 000022a1 .word 0x000022a1
|
|
|
|
00002b5c <lv_signal_send>:
|
|
if(obj == NULL) return LV_RES_OK;
|
|
2b5c: b120 cbz r0, 2b68 <lv_signal_send+0xc>
|
|
{
|
|
2b5e: b510 push {r4, lr}
|
|
if(obj->signal_cb) res = obj->signal_cb(obj, signal, param);
|
|
2b60: 69c4 ldr r4, [r0, #28]
|
|
2b62: b11c cbz r4, 2b6c <lv_signal_send+0x10>
|
|
2b64: 47a0 blx r4
|
|
2b66: bd10 pop {r4, pc}
|
|
if(obj == NULL) return LV_RES_OK;
|
|
2b68: 2001 movs r0, #1
|
|
2b6a: 4770 bx lr
|
|
lv_res_t res = LV_RES_OK;
|
|
2b6c: 2001 movs r0, #1
|
|
}
|
|
2b6e: bd10 pop {r4, pc}
|
|
|
|
00002b70 <lv_obj_set_design_cb>:
|
|
{
|
|
2b70: b530 push {r4, r5, lr}
|
|
2b72: b083 sub sp, #12
|
|
2b74: 4604 mov r4, r0
|
|
2b76: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2b78: 4b09 ldr r3, [pc, #36] ; (2ba0 <lv_obj_set_design_cb+0x30>)
|
|
2b7a: 4798 blx r3
|
|
2b7c: b110 cbz r0, 2b84 <lv_obj_set_design_cb+0x14>
|
|
obj->design_cb = design_cb;
|
|
2b7e: 6225 str r5, [r4, #32]
|
|
}
|
|
2b80: b003 add sp, #12
|
|
2b82: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2b84: 4b07 ldr r3, [pc, #28] ; (2ba4 <lv_obj_set_design_cb+0x34>)
|
|
2b86: 9300 str r3, [sp, #0]
|
|
2b88: f240 7237 movw r2, #1847 ; 0x737
|
|
2b8c: 4906 ldr r1, [pc, #24] ; (2ba8 <lv_obj_set_design_cb+0x38>)
|
|
2b8e: 2003 movs r0, #3
|
|
2b90: 4d06 ldr r5, [pc, #24] ; (2bac <lv_obj_set_design_cb+0x3c>)
|
|
2b92: 47a8 blx r5
|
|
2b94: 4622 mov r2, r4
|
|
2b96: 2300 movs r3, #0
|
|
2b98: 4805 ldr r0, [pc, #20] ; (2bb0 <lv_obj_set_design_cb+0x40>)
|
|
2b9a: 4906 ldr r1, [pc, #24] ; (2bb4 <lv_obj_set_design_cb+0x44>)
|
|
2b9c: 4788 blx r1
|
|
2b9e: e7fe b.n 2b9e <lv_obj_set_design_cb+0x2e>
|
|
2ba0: 00002299 .word 0x00002299
|
|
2ba4: 000241c0 .word 0x000241c0
|
|
2ba8: 000247c4 .word 0x000247c4
|
|
2bac: 00012245 .word 0x00012245
|
|
2bb0: 00024824 .word 0x00024824
|
|
2bb4: 000022a1 .word 0x000022a1
|
|
|
|
00002bb8 <lv_obj_allocate_ext_attr>:
|
|
{
|
|
2bb8: b530 push {r4, r5, lr}
|
|
2bba: b083 sub sp, #12
|
|
2bbc: 4604 mov r4, r0
|
|
2bbe: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2bc0: 4b0d ldr r3, [pc, #52] ; (2bf8 <lv_obj_allocate_ext_attr+0x40>)
|
|
2bc2: 4798 blx r3
|
|
2bc4: b968 cbnz r0, 2be2 <lv_obj_allocate_ext_attr+0x2a>
|
|
2bc6: 4b0d ldr r3, [pc, #52] ; (2bfc <lv_obj_allocate_ext_attr+0x44>)
|
|
2bc8: 9300 str r3, [sp, #0]
|
|
2bca: f240 7249 movw r2, #1865 ; 0x749
|
|
2bce: 490c ldr r1, [pc, #48] ; (2c00 <lv_obj_allocate_ext_attr+0x48>)
|
|
2bd0: 2003 movs r0, #3
|
|
2bd2: 4d0c ldr r5, [pc, #48] ; (2c04 <lv_obj_allocate_ext_attr+0x4c>)
|
|
2bd4: 47a8 blx r5
|
|
2bd6: 4622 mov r2, r4
|
|
2bd8: 2300 movs r3, #0
|
|
2bda: 480b ldr r0, [pc, #44] ; (2c08 <lv_obj_allocate_ext_attr+0x50>)
|
|
2bdc: 490b ldr r1, [pc, #44] ; (2c0c <lv_obj_allocate_ext_attr+0x54>)
|
|
2bde: 4788 blx r1
|
|
2be0: e7fe b.n 2be0 <lv_obj_allocate_ext_attr+0x28>
|
|
void * new_ext = lv_mem_realloc(obj->ext_attr, ext_size);
|
|
2be2: 4629 mov r1, r5
|
|
2be4: 6a60 ldr r0, [r4, #36] ; 0x24
|
|
2be6: 4b0a ldr r3, [pc, #40] ; (2c10 <lv_obj_allocate_ext_attr+0x58>)
|
|
2be8: 4798 blx r3
|
|
if(new_ext == NULL) return NULL;
|
|
2bea: 4603 mov r3, r0
|
|
2bec: b100 cbz r0, 2bf0 <lv_obj_allocate_ext_attr+0x38>
|
|
obj->ext_attr = new_ext;
|
|
2bee: 6260 str r0, [r4, #36] ; 0x24
|
|
}
|
|
2bf0: 4618 mov r0, r3
|
|
2bf2: b003 add sp, #12
|
|
2bf4: bd30 pop {r4, r5, pc}
|
|
2bf6: bf00 nop
|
|
2bf8: 00002299 .word 0x00002299
|
|
2bfc: 000241d8 .word 0x000241d8
|
|
2c00: 000247c4 .word 0x000247c4
|
|
2c04: 00012245 .word 0x00012245
|
|
2c08: 00024824 .word 0x00024824
|
|
2c0c: 000022a1 .word 0x000022a1
|
|
2c10: 00012881 .word 0x00012881
|
|
|
|
00002c14 <lv_obj_refresh_ext_draw_pad>:
|
|
{
|
|
2c14: b530 push {r4, r5, lr}
|
|
2c16: b083 sub sp, #12
|
|
2c18: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2c1a: 4b0c ldr r3, [pc, #48] ; (2c4c <lv_obj_refresh_ext_draw_pad+0x38>)
|
|
2c1c: 4798 blx r3
|
|
2c1e: b968 cbnz r0, 2c3c <lv_obj_refresh_ext_draw_pad+0x28>
|
|
2c20: 4b0b ldr r3, [pc, #44] ; (2c50 <lv_obj_refresh_ext_draw_pad+0x3c>)
|
|
2c22: 9300 str r3, [sp, #0]
|
|
2c24: f240 7259 movw r2, #1881 ; 0x759
|
|
2c28: 490a ldr r1, [pc, #40] ; (2c54 <lv_obj_refresh_ext_draw_pad+0x40>)
|
|
2c2a: 2003 movs r0, #3
|
|
2c2c: 4d0a ldr r5, [pc, #40] ; (2c58 <lv_obj_refresh_ext_draw_pad+0x44>)
|
|
2c2e: 47a8 blx r5
|
|
2c30: 4622 mov r2, r4
|
|
2c32: 2300 movs r3, #0
|
|
2c34: 4809 ldr r0, [pc, #36] ; (2c5c <lv_obj_refresh_ext_draw_pad+0x48>)
|
|
2c36: 490a ldr r1, [pc, #40] ; (2c60 <lv_obj_refresh_ext_draw_pad+0x4c>)
|
|
2c38: 4788 blx r1
|
|
2c3a: e7fe b.n 2c3a <lv_obj_refresh_ext_draw_pad+0x26>
|
|
obj->ext_draw_pad = 0;
|
|
2c3c: 2200 movs r2, #0
|
|
2c3e: 8662 strh r2, [r4, #50] ; 0x32
|
|
obj->signal_cb(obj, LV_SIGNAL_REFR_EXT_DRAW_PAD, NULL);
|
|
2c40: 69e3 ldr r3, [r4, #28]
|
|
2c42: 2106 movs r1, #6
|
|
2c44: 4620 mov r0, r4
|
|
2c46: 4798 blx r3
|
|
}
|
|
2c48: b003 add sp, #12
|
|
2c4a: bd30 pop {r4, r5, pc}
|
|
2c4c: 00002299 .word 0x00002299
|
|
2c50: 000241f4 .word 0x000241f4
|
|
2c54: 000247c4 .word 0x000247c4
|
|
2c58: 00012245 .word 0x00012245
|
|
2c5c: 00024824 .word 0x00024824
|
|
2c60: 000022a1 .word 0x000022a1
|
|
|
|
00002c64 <lv_obj_get_parent>:
|
|
{
|
|
2c64: b530 push {r4, r5, lr}
|
|
2c66: b083 sub sp, #12
|
|
2c68: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2c6a: 4b0a ldr r3, [pc, #40] ; (2c94 <lv_obj_get_parent+0x30>)
|
|
2c6c: 4798 blx r3
|
|
2c6e: b110 cbz r0, 2c76 <lv_obj_get_parent+0x12>
|
|
}
|
|
2c70: 6820 ldr r0, [r4, #0]
|
|
2c72: b003 add sp, #12
|
|
2c74: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2c76: 4b08 ldr r3, [pc, #32] ; (2c98 <lv_obj_get_parent+0x34>)
|
|
2c78: 9300 str r3, [sp, #0]
|
|
2c7a: f240 729f movw r2, #1951 ; 0x79f
|
|
2c7e: 4907 ldr r1, [pc, #28] ; (2c9c <lv_obj_get_parent+0x38>)
|
|
2c80: 2003 movs r0, #3
|
|
2c82: 4d07 ldr r5, [pc, #28] ; (2ca0 <lv_obj_get_parent+0x3c>)
|
|
2c84: 47a8 blx r5
|
|
2c86: 4622 mov r2, r4
|
|
2c88: 2300 movs r3, #0
|
|
2c8a: 4806 ldr r0, [pc, #24] ; (2ca4 <lv_obj_get_parent+0x40>)
|
|
2c8c: 4906 ldr r1, [pc, #24] ; (2ca8 <lv_obj_get_parent+0x44>)
|
|
2c8e: 4788 blx r1
|
|
2c90: e7fe b.n 2c90 <lv_obj_get_parent+0x2c>
|
|
2c92: bf00 nop
|
|
2c94: 00002299 .word 0x00002299
|
|
2c98: 00024210 .word 0x00024210
|
|
2c9c: 000247c4 .word 0x000247c4
|
|
2ca0: 00012245 .word 0x00012245
|
|
2ca4: 00024824 .word 0x00024824
|
|
2ca8: 000022a1 .word 0x000022a1
|
|
|
|
00002cac <lv_obj_get_screen>:
|
|
{
|
|
2cac: b530 push {r4, r5, lr}
|
|
2cae: b083 sub sp, #12
|
|
2cb0: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2cb2: 4b0e ldr r3, [pc, #56] ; (2cec <lv_obj_get_screen+0x40>)
|
|
2cb4: 4798 blx r3
|
|
2cb6: b108 cbz r0, 2cbc <lv_obj_get_screen+0x10>
|
|
par = lv_obj_get_parent(act_p);
|
|
2cb8: 4d0d ldr r5, [pc, #52] ; (2cf0 <lv_obj_get_screen+0x44>)
|
|
2cba: e00e b.n 2cda <lv_obj_get_screen+0x2e>
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2cbc: 4b0d ldr r3, [pc, #52] ; (2cf4 <lv_obj_get_screen+0x48>)
|
|
2cbe: 9300 str r3, [sp, #0]
|
|
2cc0: f240 726b movw r2, #1899 ; 0x76b
|
|
2cc4: 490c ldr r1, [pc, #48] ; (2cf8 <lv_obj_get_screen+0x4c>)
|
|
2cc6: 2003 movs r0, #3
|
|
2cc8: 4d0c ldr r5, [pc, #48] ; (2cfc <lv_obj_get_screen+0x50>)
|
|
2cca: 47a8 blx r5
|
|
2ccc: 4622 mov r2, r4
|
|
2cce: 2300 movs r3, #0
|
|
2cd0: 480b ldr r0, [pc, #44] ; (2d00 <lv_obj_get_screen+0x54>)
|
|
2cd2: 490c ldr r1, [pc, #48] ; (2d04 <lv_obj_get_screen+0x58>)
|
|
2cd4: 4788 blx r1
|
|
2cd6: e7fe b.n 2cd6 <lv_obj_get_screen+0x2a>
|
|
par = lv_obj_get_parent(act_p);
|
|
2cd8: 461c mov r4, r3
|
|
2cda: 4620 mov r0, r4
|
|
2cdc: 47a8 blx r5
|
|
} while(par != NULL);
|
|
2cde: 4603 mov r3, r0
|
|
2ce0: 2800 cmp r0, #0
|
|
2ce2: d1f9 bne.n 2cd8 <lv_obj_get_screen+0x2c>
|
|
}
|
|
2ce4: 4620 mov r0, r4
|
|
2ce6: b003 add sp, #12
|
|
2ce8: bd30 pop {r4, r5, pc}
|
|
2cea: bf00 nop
|
|
2cec: 00002299 .word 0x00002299
|
|
2cf0: 00002c65 .word 0x00002c65
|
|
2cf4: 00024224 .word 0x00024224
|
|
2cf8: 000247c4 .word 0x000247c4
|
|
2cfc: 00012245 .word 0x00012245
|
|
2d00: 00024824 .word 0x00024824
|
|
2d04: 000022a1 .word 0x000022a1
|
|
|
|
00002d08 <lv_obj_get_disp>:
|
|
{
|
|
2d08: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
2d0c: b083 sub sp, #12
|
|
2d0e: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2d10: 4b22 ldr r3, [pc, #136] ; (2d9c <lv_obj_get_disp+0x94>)
|
|
2d12: 4798 blx r3
|
|
2d14: b180 cbz r0, 2d38 <lv_obj_get_disp+0x30>
|
|
if(obj->parent == NULL)
|
|
2d16: 6823 ldr r3, [r4, #0]
|
|
2d18: b11b cbz r3, 2d22 <lv_obj_get_disp+0x1a>
|
|
scr = lv_obj_get_screen(obj); /*get the screen of `obj`*/
|
|
2d1a: 4620 mov r0, r4
|
|
2d1c: 4b20 ldr r3, [pc, #128] ; (2da0 <lv_obj_get_disp+0x98>)
|
|
2d1e: 4798 blx r3
|
|
2d20: 4604 mov r4, r0
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) {
|
|
2d22: 4820 ldr r0, [pc, #128] ; (2da4 <lv_obj_get_disp+0x9c>)
|
|
2d24: 4b20 ldr r3, [pc, #128] ; (2da8 <lv_obj_get_disp+0xa0>)
|
|
2d26: 4798 blx r3
|
|
2d28: 4605 mov r5, r0
|
|
2d2a: b360 cbz r0, 2d86 <lv_obj_get_disp+0x7e>
|
|
_LV_LL_READ(d->scr_ll, s) {
|
|
2d2c: f8df 9078 ldr.w r9, [pc, #120] ; 2da8 <lv_obj_get_disp+0xa0>
|
|
2d30: 4e1e ldr r6, [pc, #120] ; (2dac <lv_obj_get_disp+0xa4>)
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) {
|
|
2d32: f8df 8070 ldr.w r8, [pc, #112] ; 2da4 <lv_obj_get_disp+0x9c>
|
|
2d36: e012 b.n 2d5e <lv_obj_get_disp+0x56>
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2d38: 4b1d ldr r3, [pc, #116] ; (2db0 <lv_obj_get_disp+0xa8>)
|
|
2d3a: 9300 str r3, [sp, #0]
|
|
2d3c: f240 727f movw r2, #1919 ; 0x77f
|
|
2d40: 491c ldr r1, [pc, #112] ; (2db4 <lv_obj_get_disp+0xac>)
|
|
2d42: 2003 movs r0, #3
|
|
2d44: 4d1c ldr r5, [pc, #112] ; (2db8 <lv_obj_get_disp+0xb0>)
|
|
2d46: 47a8 blx r5
|
|
2d48: 4622 mov r2, r4
|
|
2d4a: 2300 movs r3, #0
|
|
2d4c: 481b ldr r0, [pc, #108] ; (2dbc <lv_obj_get_disp+0xb4>)
|
|
2d4e: 491c ldr r1, [pc, #112] ; (2dc0 <lv_obj_get_disp+0xb8>)
|
|
2d50: 4788 blx r1
|
|
2d52: e7fe b.n 2d52 <lv_obj_get_disp+0x4a>
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) {
|
|
2d54: 4629 mov r1, r5
|
|
2d56: 4640 mov r0, r8
|
|
2d58: 47b0 blx r6
|
|
2d5a: 4605 mov r5, r0
|
|
2d5c: b198 cbz r0, 2d86 <lv_obj_get_disp+0x7e>
|
|
_LV_LL_READ(d->scr_ll, s) {
|
|
2d5e: f105 0730 add.w r7, r5, #48 ; 0x30
|
|
2d62: 4638 mov r0, r7
|
|
2d64: 47c8 blx r9
|
|
2d66: 4601 mov r1, r0
|
|
2d68: 2800 cmp r0, #0
|
|
2d6a: d0f3 beq.n 2d54 <lv_obj_get_disp+0x4c>
|
|
if(s == scr) return d;
|
|
2d6c: 4284 cmp r4, r0
|
|
2d6e: d006 beq.n 2d7e <lv_obj_get_disp+0x76>
|
|
_LV_LL_READ(d->scr_ll, s) {
|
|
2d70: 4638 mov r0, r7
|
|
2d72: 47b0 blx r6
|
|
2d74: 4601 mov r1, r0
|
|
2d76: 2800 cmp r0, #0
|
|
2d78: d0ec beq.n 2d54 <lv_obj_get_disp+0x4c>
|
|
if(s == scr) return d;
|
|
2d7a: 428c cmp r4, r1
|
|
2d7c: d1f8 bne.n 2d70 <lv_obj_get_disp+0x68>
|
|
}
|
|
2d7e: 4628 mov r0, r5
|
|
2d80: b003 add sp, #12
|
|
2d82: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
LV_LOG_WARN("lv_scr_get_disp: screen not found")
|
|
2d86: 4b0f ldr r3, [pc, #60] ; (2dc4 <lv_obj_get_disp+0xbc>)
|
|
2d88: 9300 str r3, [sp, #0]
|
|
2d8a: 4b09 ldr r3, [pc, #36] ; (2db0 <lv_obj_get_disp+0xa8>)
|
|
2d8c: f44f 62f2 mov.w r2, #1936 ; 0x790
|
|
2d90: 4908 ldr r1, [pc, #32] ; (2db4 <lv_obj_get_disp+0xac>)
|
|
2d92: 2002 movs r0, #2
|
|
2d94: 4c08 ldr r4, [pc, #32] ; (2db8 <lv_obj_get_disp+0xb0>)
|
|
2d96: 47a0 blx r4
|
|
return NULL;
|
|
2d98: 2500 movs r5, #0
|
|
2d9a: e7f0 b.n 2d7e <lv_obj_get_disp+0x76>
|
|
2d9c: 00002299 .word 0x00002299
|
|
2da0: 00002cad .word 0x00002cad
|
|
2da4: 20006c98 .word 0x20006c98
|
|
2da8: 00011f91 .word 0x00011f91
|
|
2dac: 00011fa5 .word 0x00011fa5
|
|
2db0: 00024238 .word 0x00024238
|
|
2db4: 000247c4 .word 0x000247c4
|
|
2db8: 00012245 .word 0x00012245
|
|
2dbc: 00024824 .word 0x00024824
|
|
2dc0: 000022a1 .word 0x000022a1
|
|
2dc4: 00024834 .word 0x00024834
|
|
|
|
00002dc8 <lv_obj_get_child>:
|
|
{
|
|
2dc8: b530 push {r4, r5, lr}
|
|
2dca: b083 sub sp, #12
|
|
2dcc: 4604 mov r4, r0
|
|
2dce: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2dd0: 4b0d ldr r3, [pc, #52] ; (2e08 <lv_obj_get_child+0x40>)
|
|
2dd2: 4798 blx r3
|
|
2dd4: b130 cbz r0, 2de4 <lv_obj_get_child+0x1c>
|
|
if(child == NULL) {
|
|
2dd6: b19d cbz r5, 2e00 <lv_obj_get_child+0x38>
|
|
result = _lv_ll_get_next(&obj->child_ll, child);
|
|
2dd8: 4629 mov r1, r5
|
|
2dda: 1d20 adds r0, r4, #4
|
|
2ddc: 4b0b ldr r3, [pc, #44] ; (2e0c <lv_obj_get_child+0x44>)
|
|
2dde: 4798 blx r3
|
|
}
|
|
2de0: b003 add sp, #12
|
|
2de2: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2de4: 4b0a ldr r3, [pc, #40] ; (2e10 <lv_obj_get_child+0x48>)
|
|
2de6: 9300 str r3, [sp, #0]
|
|
2de8: f240 72ad movw r2, #1965 ; 0x7ad
|
|
2dec: 4909 ldr r1, [pc, #36] ; (2e14 <lv_obj_get_child+0x4c>)
|
|
2dee: 2003 movs r0, #3
|
|
2df0: 4d09 ldr r5, [pc, #36] ; (2e18 <lv_obj_get_child+0x50>)
|
|
2df2: 47a8 blx r5
|
|
2df4: 4622 mov r2, r4
|
|
2df6: 2300 movs r3, #0
|
|
2df8: 4808 ldr r0, [pc, #32] ; (2e1c <lv_obj_get_child+0x54>)
|
|
2dfa: 4909 ldr r1, [pc, #36] ; (2e20 <lv_obj_get_child+0x58>)
|
|
2dfc: 4788 blx r1
|
|
2dfe: e7fe b.n 2dfe <lv_obj_get_child+0x36>
|
|
result = _lv_ll_get_head(&obj->child_ll);
|
|
2e00: 1d20 adds r0, r4, #4
|
|
2e02: 4b08 ldr r3, [pc, #32] ; (2e24 <lv_obj_get_child+0x5c>)
|
|
2e04: 4798 blx r3
|
|
2e06: e7eb b.n 2de0 <lv_obj_get_child+0x18>
|
|
2e08: 00002299 .word 0x00002299
|
|
2e0c: 00011fa5 .word 0x00011fa5
|
|
2e10: 00024248 .word 0x00024248
|
|
2e14: 000247c4 .word 0x000247c4
|
|
2e18: 00012245 .word 0x00012245
|
|
2e1c: 00024824 .word 0x00024824
|
|
2e20: 000022a1 .word 0x000022a1
|
|
2e24: 00011f91 .word 0x00011f91
|
|
|
|
00002e28 <lv_obj_get_coords>:
|
|
{
|
|
2e28: b530 push {r4, r5, lr}
|
|
2e2a: b083 sub sp, #12
|
|
2e2c: 4605 mov r5, r0
|
|
2e2e: 460c mov r4, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2e30: 4b0e ldr r3, [pc, #56] ; (2e6c <lv_obj_get_coords+0x44>)
|
|
2e32: 4798 blx r3
|
|
2e34: b160 cbz r0, 2e50 <lv_obj_get_coords+0x28>
|
|
2e36: f105 020f add.w r2, r5, #15
|
|
2e3a: f104 0008 add.w r0, r4, #8
|
|
* @param src pointer to the source buffer
|
|
* @param len number of byte to copy
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len)
|
|
{
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
2e3e: 4623 mov r3, r4
|
|
const uint8_t * s8 = (const uint8_t *)src;
|
|
|
|
while(len) {
|
|
*d8 = *s8;
|
|
2e40: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
2e44: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
2e48: 4283 cmp r3, r0
|
|
2e4a: d1f9 bne.n 2e40 <lv_obj_get_coords+0x18>
|
|
}
|
|
2e4c: b003 add sp, #12
|
|
2e4e: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2e50: 4b07 ldr r3, [pc, #28] ; (2e70 <lv_obj_get_coords+0x48>)
|
|
2e52: 9300 str r3, [sp, #0]
|
|
2e54: f640 0201 movw r2, #2049 ; 0x801
|
|
2e58: 4906 ldr r1, [pc, #24] ; (2e74 <lv_obj_get_coords+0x4c>)
|
|
2e5a: 2003 movs r0, #3
|
|
2e5c: 4c06 ldr r4, [pc, #24] ; (2e78 <lv_obj_get_coords+0x50>)
|
|
2e5e: 47a0 blx r4
|
|
2e60: 462a mov r2, r5
|
|
2e62: 2300 movs r3, #0
|
|
2e64: 4805 ldr r0, [pc, #20] ; (2e7c <lv_obj_get_coords+0x54>)
|
|
2e66: 4906 ldr r1, [pc, #24] ; (2e80 <lv_obj_get_coords+0x58>)
|
|
2e68: 4788 blx r1
|
|
2e6a: e7fe b.n 2e6a <lv_obj_get_coords+0x42>
|
|
2e6c: 00002299 .word 0x00002299
|
|
2e70: 000242c0 .word 0x000242c0
|
|
2e74: 000247c4 .word 0x000247c4
|
|
2e78: 00012245 .word 0x00012245
|
|
2e7c: 00024824 .word 0x00024824
|
|
2e80: 000022a1 .word 0x000022a1
|
|
|
|
00002e84 <lv_obj_get_x>:
|
|
{
|
|
2e84: b530 push {r4, r5, lr}
|
|
2e86: b083 sub sp, #12
|
|
2e88: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2e8a: 4b0f ldr r3, [pc, #60] ; (2ec8 <lv_obj_get_x+0x44>)
|
|
2e8c: 4798 blx r3
|
|
2e8e: b968 cbnz r0, 2eac <lv_obj_get_x+0x28>
|
|
2e90: 4b0e ldr r3, [pc, #56] ; (2ecc <lv_obj_get_x+0x48>)
|
|
2e92: 9300 str r3, [sp, #0]
|
|
2e94: f640 0222 movw r2, #2082 ; 0x822
|
|
2e98: 490d ldr r1, [pc, #52] ; (2ed0 <lv_obj_get_x+0x4c>)
|
|
2e9a: 2003 movs r0, #3
|
|
2e9c: 4d0d ldr r5, [pc, #52] ; (2ed4 <lv_obj_get_x+0x50>)
|
|
2e9e: 47a8 blx r5
|
|
2ea0: 4622 mov r2, r4
|
|
2ea2: 2300 movs r3, #0
|
|
2ea4: 480c ldr r0, [pc, #48] ; (2ed8 <lv_obj_get_x+0x54>)
|
|
2ea6: 490d ldr r1, [pc, #52] ; (2edc <lv_obj_get_x+0x58>)
|
|
2ea8: 4788 blx r1
|
|
2eaa: e7fe b.n 2eaa <lv_obj_get_x+0x26>
|
|
lv_obj_t * parent = lv_obj_get_parent(obj);
|
|
2eac: 4620 mov r0, r4
|
|
2eae: 4b0c ldr r3, [pc, #48] ; (2ee0 <lv_obj_get_x+0x5c>)
|
|
2eb0: 4798 blx r3
|
|
if(parent) {
|
|
2eb2: 4603 mov r3, r0
|
|
2eb4: b128 cbz r0, 2ec2 <lv_obj_get_x+0x3e>
|
|
rel_x = obj->coords.x1 - parent->coords.x1;
|
|
2eb6: 8a20 ldrh r0, [r4, #16]
|
|
2eb8: 8a1b ldrh r3, [r3, #16]
|
|
2eba: 1ac0 subs r0, r0, r3
|
|
2ebc: b200 sxth r0, r0
|
|
}
|
|
2ebe: b003 add sp, #12
|
|
2ec0: bd30 pop {r4, r5, pc}
|
|
rel_x = obj->coords.x1;
|
|
2ec2: f9b4 0010 ldrsh.w r0, [r4, #16]
|
|
2ec6: e7fa b.n 2ebe <lv_obj_get_x+0x3a>
|
|
2ec8: 00002299 .word 0x00002299
|
|
2ecc: 000242d4 .word 0x000242d4
|
|
2ed0: 000247c4 .word 0x000247c4
|
|
2ed4: 00012245 .word 0x00012245
|
|
2ed8: 00024824 .word 0x00024824
|
|
2edc: 000022a1 .word 0x000022a1
|
|
2ee0: 00002c65 .word 0x00002c65
|
|
|
|
00002ee4 <lv_obj_get_y>:
|
|
{
|
|
2ee4: b530 push {r4, r5, lr}
|
|
2ee6: b083 sub sp, #12
|
|
2ee8: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2eea: 4b0f ldr r3, [pc, #60] ; (2f28 <lv_obj_get_y+0x44>)
|
|
2eec: 4798 blx r3
|
|
2eee: b968 cbnz r0, 2f0c <lv_obj_get_y+0x28>
|
|
2ef0: 4b0e ldr r3, [pc, #56] ; (2f2c <lv_obj_get_y+0x48>)
|
|
2ef2: 9300 str r3, [sp, #0]
|
|
2ef4: f640 0236 movw r2, #2102 ; 0x836
|
|
2ef8: 490d ldr r1, [pc, #52] ; (2f30 <lv_obj_get_y+0x4c>)
|
|
2efa: 2003 movs r0, #3
|
|
2efc: 4d0d ldr r5, [pc, #52] ; (2f34 <lv_obj_get_y+0x50>)
|
|
2efe: 47a8 blx r5
|
|
2f00: 4622 mov r2, r4
|
|
2f02: 2300 movs r3, #0
|
|
2f04: 480c ldr r0, [pc, #48] ; (2f38 <lv_obj_get_y+0x54>)
|
|
2f06: 490d ldr r1, [pc, #52] ; (2f3c <lv_obj_get_y+0x58>)
|
|
2f08: 4788 blx r1
|
|
2f0a: e7fe b.n 2f0a <lv_obj_get_y+0x26>
|
|
lv_obj_t * parent = lv_obj_get_parent(obj);
|
|
2f0c: 4620 mov r0, r4
|
|
2f0e: 4b0c ldr r3, [pc, #48] ; (2f40 <lv_obj_get_y+0x5c>)
|
|
2f10: 4798 blx r3
|
|
if(parent) {
|
|
2f12: 4603 mov r3, r0
|
|
2f14: b128 cbz r0, 2f22 <lv_obj_get_y+0x3e>
|
|
rel_y = obj->coords.y1 - parent->coords.y1;
|
|
2f16: 8a60 ldrh r0, [r4, #18]
|
|
2f18: 8a5b ldrh r3, [r3, #18]
|
|
2f1a: 1ac0 subs r0, r0, r3
|
|
2f1c: b200 sxth r0, r0
|
|
}
|
|
2f1e: b003 add sp, #12
|
|
2f20: bd30 pop {r4, r5, pc}
|
|
rel_y = obj->coords.y1;
|
|
2f22: f9b4 0012 ldrsh.w r0, [r4, #18]
|
|
2f26: e7fa b.n 2f1e <lv_obj_get_y+0x3a>
|
|
2f28: 00002299 .word 0x00002299
|
|
2f2c: 000242e4 .word 0x000242e4
|
|
2f30: 000247c4 .word 0x000247c4
|
|
2f34: 00012245 .word 0x00012245
|
|
2f38: 00024824 .word 0x00024824
|
|
2f3c: 000022a1 .word 0x000022a1
|
|
2f40: 00002c65 .word 0x00002c65
|
|
|
|
00002f44 <lv_obj_get_width>:
|
|
{
|
|
2f44: b530 push {r4, r5, lr}
|
|
2f46: b083 sub sp, #12
|
|
2f48: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2f4a: 4b0c ldr r3, [pc, #48] ; (2f7c <lv_obj_get_width+0x38>)
|
|
2f4c: 4798 blx r3
|
|
2f4e: b130 cbz r0, 2f5e <lv_obj_get_width+0x1a>
|
|
* @param area_p pointer to an area
|
|
* @return the width of the area (if x1 == x2 -> width = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
2f50: 8aa0 ldrh r0, [r4, #20]
|
|
2f52: 3001 adds r0, #1
|
|
2f54: 8a23 ldrh r3, [r4, #16]
|
|
2f56: 1ac0 subs r0, r0, r3
|
|
}
|
|
2f58: b200 sxth r0, r0
|
|
2f5a: b003 add sp, #12
|
|
2f5c: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2f5e: 4b08 ldr r3, [pc, #32] ; (2f80 <lv_obj_get_width+0x3c>)
|
|
2f60: 9300 str r3, [sp, #0]
|
|
2f62: f640 024a movw r2, #2122 ; 0x84a
|
|
2f66: 4907 ldr r1, [pc, #28] ; (2f84 <lv_obj_get_width+0x40>)
|
|
2f68: 2003 movs r0, #3
|
|
2f6a: 4d07 ldr r5, [pc, #28] ; (2f88 <lv_obj_get_width+0x44>)
|
|
2f6c: 47a8 blx r5
|
|
2f6e: 4622 mov r2, r4
|
|
2f70: 2300 movs r3, #0
|
|
2f72: 4806 ldr r0, [pc, #24] ; (2f8c <lv_obj_get_width+0x48>)
|
|
2f74: 4906 ldr r1, [pc, #24] ; (2f90 <lv_obj_get_width+0x4c>)
|
|
2f76: 4788 blx r1
|
|
2f78: e7fe b.n 2f78 <lv_obj_get_width+0x34>
|
|
2f7a: bf00 nop
|
|
2f7c: 00002299 .word 0x00002299
|
|
2f80: 000242f4 .word 0x000242f4
|
|
2f84: 000247c4 .word 0x000247c4
|
|
2f88: 00012245 .word 0x00012245
|
|
2f8c: 00024824 .word 0x00024824
|
|
2f90: 000022a1 .word 0x000022a1
|
|
|
|
00002f94 <lv_obj_get_height>:
|
|
{
|
|
2f94: b530 push {r4, r5, lr}
|
|
2f96: b083 sub sp, #12
|
|
2f98: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2f9a: 4b0c ldr r3, [pc, #48] ; (2fcc <lv_obj_get_height+0x38>)
|
|
2f9c: 4798 blx r3
|
|
2f9e: b130 cbz r0, 2fae <lv_obj_get_height+0x1a>
|
|
* @param area_p pointer to an area
|
|
* @return the height of the area (if y1 == y2 -> height = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
2fa0: 8ae0 ldrh r0, [r4, #22]
|
|
2fa2: 3001 adds r0, #1
|
|
2fa4: 8a63 ldrh r3, [r4, #18]
|
|
2fa6: 1ac0 subs r0, r0, r3
|
|
}
|
|
2fa8: b200 sxth r0, r0
|
|
2faa: b003 add sp, #12
|
|
2fac: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
2fae: 4b08 ldr r3, [pc, #32] ; (2fd0 <lv_obj_get_height+0x3c>)
|
|
2fb0: 9300 str r3, [sp, #0]
|
|
2fb2: f640 0256 movw r2, #2134 ; 0x856
|
|
2fb6: 4907 ldr r1, [pc, #28] ; (2fd4 <lv_obj_get_height+0x40>)
|
|
2fb8: 2003 movs r0, #3
|
|
2fba: 4d07 ldr r5, [pc, #28] ; (2fd8 <lv_obj_get_height+0x44>)
|
|
2fbc: 47a8 blx r5
|
|
2fbe: 4622 mov r2, r4
|
|
2fc0: 2300 movs r3, #0
|
|
2fc2: 4806 ldr r0, [pc, #24] ; (2fdc <lv_obj_get_height+0x48>)
|
|
2fc4: 4906 ldr r1, [pc, #24] ; (2fe0 <lv_obj_get_height+0x4c>)
|
|
2fc6: 4788 blx r1
|
|
2fc8: e7fe b.n 2fc8 <lv_obj_get_height+0x34>
|
|
2fca: bf00 nop
|
|
2fcc: 00002299 .word 0x00002299
|
|
2fd0: 00024308 .word 0x00024308
|
|
2fd4: 000247c4 .word 0x000247c4
|
|
2fd8: 00012245 .word 0x00012245
|
|
2fdc: 00024824 .word 0x00024824
|
|
2fe0: 000022a1 .word 0x000022a1
|
|
|
|
00002fe4 <lv_obj_get_style_list>:
|
|
if(part == LV_OBJ_PART_MAIN) return &((lv_obj_t *)obj)->style_list;
|
|
2fe4: b909 cbnz r1, 2fea <lv_obj_get_style_list+0x6>
|
|
2fe6: 3028 adds r0, #40 ; 0x28
|
|
2fe8: 4770 bx lr
|
|
{
|
|
2fea: b500 push {lr}
|
|
2fec: b083 sub sp, #12
|
|
info.part = part;
|
|
2fee: f88d 1000 strb.w r1, [sp]
|
|
info.result = NULL;
|
|
2ff2: 2300 movs r3, #0
|
|
2ff4: 9301 str r3, [sp, #4]
|
|
res = lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STYLE, &info);
|
|
2ff6: 466a mov r2, sp
|
|
2ff8: 2108 movs r1, #8
|
|
2ffa: 4b04 ldr r3, [pc, #16] ; (300c <lv_obj_get_style_list+0x28>)
|
|
2ffc: 4798 blx r3
|
|
if(res != LV_RES_OK) return NULL;
|
|
2ffe: 2801 cmp r0, #1
|
|
return info.result;
|
|
3000: bf0c ite eq
|
|
3002: 9801 ldreq r0, [sp, #4]
|
|
if(res != LV_RES_OK) return NULL;
|
|
3004: 2000 movne r0, #0
|
|
}
|
|
3006: b003 add sp, #12
|
|
3008: f85d fb04 ldr.w pc, [sp], #4
|
|
300c: 00002b5d .word 0x00002b5d
|
|
|
|
00003010 <trans_del>:
|
|
* @param part a part of object or 0xFF to remove from all parts
|
|
* @param prop a property or 0xFF to remove all porpeties
|
|
* @param tr_limit delete transitions only "older" then this. `NULL` is not used
|
|
*/
|
|
static void trans_del(lv_obj_t * obj, uint8_t part, lv_style_property_t prop, lv_style_trans_t * tr_limit)
|
|
{
|
|
3010: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
3014: 4680 mov r8, r0
|
|
3016: 468a mov sl, r1
|
|
3018: 4693 mov fp, r2
|
|
301a: 461e mov r6, r3
|
|
lv_style_trans_t * tr;
|
|
lv_style_trans_t * tr_prev;
|
|
tr = _lv_ll_get_tail(&LV_GC_ROOT(_lv_obj_style_trans_ll));
|
|
301c: 481c ldr r0, [pc, #112] ; (3090 <trans_del+0x80>)
|
|
301e: 4b1d ldr r3, [pc, #116] ; (3094 <trans_del+0x84>)
|
|
3020: 4798 blx r3
|
|
while(tr != NULL) {
|
|
3022: 2800 cmp r0, #0
|
|
3024: d031 beq.n 308a <trans_del+0x7a>
|
|
3026: 4605 mov r5, r0
|
|
if(tr == tr_limit) break;
|
|
3028: 42b0 cmp r0, r6
|
|
302a: d02e beq.n 308a <trans_del+0x7a>
|
|
|
|
/*'tr' might be deleted, so get the next object while 'tr' is valid*/
|
|
tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
|
302c: f8df 9060 ldr.w r9, [pc, #96] ; 3090 <trans_del+0x80>
|
|
3030: 4f19 ldr r7, [pc, #100] ; (3098 <trans_del+0x88>)
|
|
3032: e009 b.n 3048 <trans_del+0x38>
|
|
|
|
if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) {
|
|
3034: 88ab ldrh r3, [r5, #4]
|
|
3036: 455b cmp r3, fp
|
|
3038: d014 beq.n 3064 <trans_del+0x54>
|
|
303a: f1bb 0fff cmp.w fp, #255 ; 0xff
|
|
303e: d011 beq.n 3064 <trans_del+0x54>
|
|
while(tr != NULL) {
|
|
3040: b31c cbz r4, 308a <trans_del+0x7a>
|
|
3042: 4625 mov r5, r4
|
|
if(tr == tr_limit) break;
|
|
3044: 42a6 cmp r6, r4
|
|
3046: d020 beq.n 308a <trans_del+0x7a>
|
|
tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
|
3048: 4629 mov r1, r5
|
|
304a: 4648 mov r0, r9
|
|
304c: 47b8 blx r7
|
|
304e: 4604 mov r4, r0
|
|
if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) {
|
|
3050: 6828 ldr r0, [r5, #0]
|
|
3052: 4540 cmp r0, r8
|
|
3054: d1f4 bne.n 3040 <trans_del+0x30>
|
|
3056: 79a9 ldrb r1, [r5, #6]
|
|
3058: 4551 cmp r1, sl
|
|
305a: d0eb beq.n 3034 <trans_del+0x24>
|
|
305c: f1ba 0fff cmp.w sl, #255 ; 0xff
|
|
3060: d1ee bne.n 3040 <trans_del+0x30>
|
|
3062: e7e7 b.n 3034 <trans_del+0x24>
|
|
/* Remove the transitioned property from trans. style
|
|
* to allow changing it by normal styles*/
|
|
lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part);
|
|
3064: 4b0d ldr r3, [pc, #52] ; (309c <trans_del+0x8c>)
|
|
3066: 4798 blx r3
|
|
lv_style_t * style_trans = _lv_style_list_get_transition_style(list);
|
|
3068: 4b0d ldr r3, [pc, #52] ; (30a0 <trans_del+0x90>)
|
|
306a: 4798 blx r3
|
|
lv_style_remove_prop(style_trans, tr->prop);
|
|
306c: 88a9 ldrh r1, [r5, #4]
|
|
306e: 4b0d ldr r3, [pc, #52] ; (30a4 <trans_del+0x94>)
|
|
3070: 4798 blx r3
|
|
|
|
lv_anim_del(tr, NULL);
|
|
3072: 2100 movs r1, #0
|
|
3074: 4628 mov r0, r5
|
|
3076: 4b0c ldr r3, [pc, #48] ; (30a8 <trans_del+0x98>)
|
|
3078: 4798 blx r3
|
|
_lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
|
307a: 4629 mov r1, r5
|
|
307c: 4648 mov r0, r9
|
|
307e: 4b0b ldr r3, [pc, #44] ; (30ac <trans_del+0x9c>)
|
|
3080: 4798 blx r3
|
|
lv_mem_free(tr);
|
|
3082: 4628 mov r0, r5
|
|
3084: 4b0a ldr r3, [pc, #40] ; (30b0 <trans_del+0xa0>)
|
|
3086: 4798 blx r3
|
|
3088: e7da b.n 3040 <trans_del+0x30>
|
|
308a: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
308e: bf00 nop
|
|
3090: 20006d3c .word 0x20006d3c
|
|
3094: 00011f9b .word 0x00011f9b
|
|
3098: 00011fd1 .word 0x00011fd1
|
|
309c: 00002fe5 .word 0x00002fe5
|
|
30a0: 000070cf .word 0x000070cf
|
|
30a4: 000067d5 .word 0x000067d5
|
|
30a8: 00011311 .word 0x00011311
|
|
30ac: 0001207d .word 0x0001207d
|
|
30b0: 000124ad .word 0x000124ad
|
|
|
|
000030b4 <lv_obj_clean_style_list>:
|
|
{
|
|
30b4: b530 push {r4, r5, lr}
|
|
30b6: b083 sub sp, #12
|
|
30b8: 4604 mov r4, r0
|
|
30ba: 460d mov r5, r1
|
|
lv_style_list_t * style_dsc = lv_obj_get_style_list(obj, part);
|
|
30bc: 4b0b ldr r3, [pc, #44] ; (30ec <lv_obj_clean_style_list+0x38>)
|
|
30be: 4798 blx r3
|
|
if(style_dsc == NULL) {
|
|
30c0: b148 cbz r0, 30d6 <lv_obj_clean_style_list+0x22>
|
|
_lv_style_list_reset(style_dsc);
|
|
30c2: 4b0b ldr r3, [pc, #44] ; (30f0 <lv_obj_clean_style_list+0x3c>)
|
|
30c4: 4798 blx r3
|
|
trans_del(obj, part, 0xFF, NULL);
|
|
30c6: 2300 movs r3, #0
|
|
30c8: 22ff movs r2, #255 ; 0xff
|
|
30ca: 4629 mov r1, r5
|
|
30cc: 4620 mov r0, r4
|
|
30ce: 4c09 ldr r4, [pc, #36] ; (30f4 <lv_obj_clean_style_list+0x40>)
|
|
30d0: 47a0 blx r4
|
|
}
|
|
30d2: b003 add sp, #12
|
|
30d4: bd30 pop {r4, r5, pc}
|
|
LV_LOG_WARN("lv_obj_clean_style_list: can't find style with `part`");
|
|
30d6: 4b08 ldr r3, [pc, #32] ; (30f8 <lv_obj_clean_style_list+0x44>)
|
|
30d8: 9300 str r3, [sp, #0]
|
|
30da: 4b08 ldr r3, [pc, #32] ; (30fc <lv_obj_clean_style_list+0x48>)
|
|
30dc: f240 4292 movw r2, #1170 ; 0x492
|
|
30e0: 4907 ldr r1, [pc, #28] ; (3100 <lv_obj_clean_style_list+0x4c>)
|
|
30e2: 2002 movs r0, #2
|
|
30e4: 4c07 ldr r4, [pc, #28] ; (3104 <lv_obj_clean_style_list+0x50>)
|
|
30e6: 47a0 blx r4
|
|
return;
|
|
30e8: e7f3 b.n 30d2 <lv_obj_clean_style_list+0x1e>
|
|
30ea: bf00 nop
|
|
30ec: 00002fe5 .word 0x00002fe5
|
|
30f0: 000070e1 .word 0x000070e1
|
|
30f4: 00003011 .word 0x00003011
|
|
30f8: 00024880 .word 0x00024880
|
|
30fc: 000243cc .word 0x000243cc
|
|
3100: 000247c4 .word 0x000247c4
|
|
3104: 00012245 .word 0x00012245
|
|
|
|
00003108 <trans_anim_ready_cb>:
|
|
tr->prop = prop_tmp;
|
|
|
|
}
|
|
|
|
static void trans_anim_ready_cb(lv_anim_t * a)
|
|
{
|
|
3108: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
lv_style_trans_t * tr = a->var;
|
|
310a: 6804 ldr r4, [r0, #0]
|
|
* if there no more transitions for this property
|
|
* It allows changing it by normal styles*/
|
|
|
|
bool running = false;
|
|
lv_style_trans_t * tr_i;
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_obj_style_trans_ll), tr_i) {
|
|
310c: 4817 ldr r0, [pc, #92] ; (316c <trans_anim_ready_cb+0x64>)
|
|
310e: 4b18 ldr r3, [pc, #96] ; (3170 <trans_anim_ready_cb+0x68>)
|
|
3110: 4798 blx r3
|
|
3112: b308 cbz r0, 3158 <trans_anim_ready_cb+0x50>
|
|
3114: 4601 mov r1, r0
|
|
3116: 2700 movs r7, #0
|
|
3118: 4e14 ldr r6, [pc, #80] ; (316c <trans_anim_ready_cb+0x64>)
|
|
311a: 4d16 ldr r5, [pc, #88] ; (3174 <trans_anim_ready_cb+0x6c>)
|
|
311c: e003 b.n 3126 <trans_anim_ready_cb+0x1e>
|
|
311e: 4630 mov r0, r6
|
|
3120: 47a8 blx r5
|
|
3122: 4601 mov r1, r0
|
|
3124: b178 cbz r0, 3146 <trans_anim_ready_cb+0x3e>
|
|
if(tr_i != tr && tr_i->obj == tr->obj && tr_i->part == tr->part && tr_i->prop == tr->prop) {
|
|
3126: 428c cmp r4, r1
|
|
3128: d0f9 beq.n 311e <trans_anim_ready_cb+0x16>
|
|
312a: 680a ldr r2, [r1, #0]
|
|
312c: 6823 ldr r3, [r4, #0]
|
|
312e: 429a cmp r2, r3
|
|
3130: d1f5 bne.n 311e <trans_anim_ready_cb+0x16>
|
|
3132: 684b ldr r3, [r1, #4]
|
|
3134: f023 427f bic.w r2, r3, #4278190080 ; 0xff000000
|
|
3138: 6863 ldr r3, [r4, #4]
|
|
313a: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000
|
|
running = true;
|
|
313e: 429a cmp r2, r3
|
|
3140: bf08 it eq
|
|
3142: 2701 moveq r7, #1
|
|
3144: e7eb b.n 311e <trans_anim_ready_cb+0x16>
|
|
}
|
|
}
|
|
|
|
if(!running) {
|
|
3146: b13f cbz r7, 3158 <trans_anim_ready_cb+0x50>
|
|
lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part);
|
|
lv_style_t * style_trans = _lv_style_list_get_transition_style(list);
|
|
lv_style_remove_prop(style_trans, tr->prop);
|
|
}
|
|
|
|
_lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
|
3148: 4621 mov r1, r4
|
|
314a: 4808 ldr r0, [pc, #32] ; (316c <trans_anim_ready_cb+0x64>)
|
|
314c: 4b0a ldr r3, [pc, #40] ; (3178 <trans_anim_ready_cb+0x70>)
|
|
314e: 4798 blx r3
|
|
lv_mem_free(tr);
|
|
3150: 4620 mov r0, r4
|
|
3152: 4b0a ldr r3, [pc, #40] ; (317c <trans_anim_ready_cb+0x74>)
|
|
3154: 4798 blx r3
|
|
3156: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part);
|
|
3158: 79a1 ldrb r1, [r4, #6]
|
|
315a: 6820 ldr r0, [r4, #0]
|
|
315c: 4b08 ldr r3, [pc, #32] ; (3180 <trans_anim_ready_cb+0x78>)
|
|
315e: 4798 blx r3
|
|
lv_style_t * style_trans = _lv_style_list_get_transition_style(list);
|
|
3160: 4b08 ldr r3, [pc, #32] ; (3184 <trans_anim_ready_cb+0x7c>)
|
|
3162: 4798 blx r3
|
|
lv_style_remove_prop(style_trans, tr->prop);
|
|
3164: 88a1 ldrh r1, [r4, #4]
|
|
3166: 4b08 ldr r3, [pc, #32] ; (3188 <trans_anim_ready_cb+0x80>)
|
|
3168: 4798 blx r3
|
|
316a: e7ed b.n 3148 <trans_anim_ready_cb+0x40>
|
|
316c: 20006d3c .word 0x20006d3c
|
|
3170: 00011f91 .word 0x00011f91
|
|
3174: 00011fa5 .word 0x00011fa5
|
|
3178: 0001207d .word 0x0001207d
|
|
317c: 000124ad .word 0x000124ad
|
|
3180: 00002fe5 .word 0x00002fe5
|
|
3184: 000070cf .word 0x000070cf
|
|
3188: 000067d5 .word 0x000067d5
|
|
|
|
0000318c <lv_obj_get_hidden>:
|
|
{
|
|
318c: b530 push {r4, r5, lr}
|
|
318e: b083 sub sp, #12
|
|
3190: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3192: 4b0b ldr r3, [pc, #44] ; (31c0 <lv_obj_get_hidden+0x34>)
|
|
3194: 4798 blx r3
|
|
3196: b128 cbz r0, 31a4 <lv_obj_get_hidden+0x18>
|
|
return obj->hidden == 0 ? false : true;
|
|
3198: f894 0034 ldrb.w r0, [r4, #52] ; 0x34
|
|
}
|
|
319c: f3c0 1000 ubfx r0, r0, #4, #1
|
|
31a0: b003 add sp, #12
|
|
31a2: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
31a4: 4b07 ldr r3, [pc, #28] ; (31c4 <lv_obj_get_hidden+0x38>)
|
|
31a6: 9300 str r3, [sp, #0]
|
|
31a8: f640 2241 movw r2, #2625 ; 0xa41
|
|
31ac: 4906 ldr r1, [pc, #24] ; (31c8 <lv_obj_get_hidden+0x3c>)
|
|
31ae: 2003 movs r0, #3
|
|
31b0: 4d06 ldr r5, [pc, #24] ; (31cc <lv_obj_get_hidden+0x40>)
|
|
31b2: 47a8 blx r5
|
|
31b4: 4622 mov r2, r4
|
|
31b6: 2300 movs r3, #0
|
|
31b8: 4805 ldr r0, [pc, #20] ; (31d0 <lv_obj_get_hidden+0x44>)
|
|
31ba: 4906 ldr r1, [pc, #24] ; (31d4 <lv_obj_get_hidden+0x48>)
|
|
31bc: 4788 blx r1
|
|
31be: e7fe b.n 31be <lv_obj_get_hidden+0x32>
|
|
31c0: 00002299 .word 0x00002299
|
|
31c4: 0002441c .word 0x0002441c
|
|
31c8: 000247c4 .word 0x000247c4
|
|
31cc: 00012245 .word 0x00012245
|
|
31d0: 00024824 .word 0x00024824
|
|
31d4: 000022a1 .word 0x000022a1
|
|
|
|
000031d8 <lv_obj_invalidate_area>:
|
|
{
|
|
31d8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
31dc: b086 sub sp, #24
|
|
31de: 4604 mov r4, r0
|
|
31e0: 460e mov r6, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
31e2: 4b3a ldr r3, [pc, #232] ; (32cc <lv_obj_invalidate_area+0xf4>)
|
|
31e4: 4798 blx r3
|
|
31e6: b968 cbnz r0, 3204 <lv_obj_invalidate_area+0x2c>
|
|
31e8: 4b39 ldr r3, [pc, #228] ; (32d0 <lv_obj_invalidate_area+0xf8>)
|
|
31ea: 9300 str r3, [sp, #0]
|
|
31ec: f44f 72f0 mov.w r2, #480 ; 0x1e0
|
|
31f0: 4938 ldr r1, [pc, #224] ; (32d4 <lv_obj_invalidate_area+0xfc>)
|
|
31f2: 2003 movs r0, #3
|
|
31f4: 4d38 ldr r5, [pc, #224] ; (32d8 <lv_obj_invalidate_area+0x100>)
|
|
31f6: 47a8 blx r5
|
|
31f8: 4622 mov r2, r4
|
|
31fa: 2300 movs r3, #0
|
|
31fc: 4837 ldr r0, [pc, #220] ; (32dc <lv_obj_invalidate_area+0x104>)
|
|
31fe: 4938 ldr r1, [pc, #224] ; (32e0 <lv_obj_invalidate_area+0x108>)
|
|
3200: 4788 blx r1
|
|
3202: e7fe b.n 3202 <lv_obj_invalidate_area+0x2a>
|
|
if(lv_obj_get_hidden(obj)) return;
|
|
3204: 4620 mov r0, r4
|
|
3206: 4b37 ldr r3, [pc, #220] ; (32e4 <lv_obj_invalidate_area+0x10c>)
|
|
3208: 4798 blx r3
|
|
320a: b110 cbz r0, 3212 <lv_obj_invalidate_area+0x3a>
|
|
}
|
|
320c: b006 add sp, #24
|
|
320e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
lv_obj_t * obj_scr = lv_obj_get_screen(obj);
|
|
3212: 4620 mov r0, r4
|
|
3214: 4b34 ldr r3, [pc, #208] ; (32e8 <lv_obj_invalidate_area+0x110>)
|
|
3216: 4798 blx r3
|
|
3218: 4607 mov r7, r0
|
|
lv_disp_t * disp = lv_obj_get_disp(obj_scr);
|
|
321a: 4b34 ldr r3, [pc, #208] ; (32ec <lv_obj_invalidate_area+0x114>)
|
|
321c: 4798 blx r3
|
|
321e: 4605 mov r5, r0
|
|
if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) ||
|
|
3220: 4b33 ldr r3, [pc, #204] ; (32f0 <lv_obj_invalidate_area+0x118>)
|
|
3222: 4798 blx r3
|
|
3224: 4287 cmp r7, r0
|
|
3226: d009 beq.n 323c <lv_obj_invalidate_area+0x64>
|
|
3228: 4628 mov r0, r5
|
|
322a: 4b32 ldr r3, [pc, #200] ; (32f4 <lv_obj_invalidate_area+0x11c>)
|
|
322c: 4798 blx r3
|
|
322e: 4287 cmp r7, r0
|
|
3230: d004 beq.n 323c <lv_obj_invalidate_area+0x64>
|
|
obj_scr == lv_disp_get_layer_sys(disp)) {
|
|
3232: 4628 mov r0, r5
|
|
3234: 4b30 ldr r3, [pc, #192] ; (32f8 <lv_obj_invalidate_area+0x120>)
|
|
3236: 4798 blx r3
|
|
if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) ||
|
|
3238: 4287 cmp r7, r0
|
|
323a: d1e7 bne.n 320c <lv_obj_invalidate_area+0x34>
|
|
lv_coord_t ext_size = obj->ext_draw_pad;
|
|
323c: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32
|
|
3240: f104 020f add.w r2, r4, #15
|
|
3244: f104 0017 add.w r0, r4, #23
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
3248: a902 add r1, sp, #8
|
|
*d8 = *s8;
|
|
324a: f812 7f01 ldrb.w r7, [r2, #1]!
|
|
324e: f801 7b01 strb.w r7, [r1], #1
|
|
while(len) {
|
|
3252: 4282 cmp r2, r0
|
|
3254: d1f9 bne.n 324a <lv_obj_invalidate_area+0x72>
|
|
obj_coords.x1 -= ext_size;
|
|
3256: b29b uxth r3, r3
|
|
3258: f8bd 2008 ldrh.w r2, [sp, #8]
|
|
325c: 1ad2 subs r2, r2, r3
|
|
325e: f8ad 2008 strh.w r2, [sp, #8]
|
|
obj_coords.y1 -= ext_size;
|
|
3262: f8bd 200a ldrh.w r2, [sp, #10]
|
|
3266: 1ad2 subs r2, r2, r3
|
|
3268: f8ad 200a strh.w r2, [sp, #10]
|
|
obj_coords.x2 += ext_size;
|
|
326c: f8bd 200c ldrh.w r2, [sp, #12]
|
|
3270: 441a add r2, r3
|
|
3272: f8ad 200c strh.w r2, [sp, #12]
|
|
obj_coords.y2 += ext_size;
|
|
3276: f8bd 200e ldrh.w r2, [sp, #14]
|
|
327a: 4413 add r3, r2
|
|
327c: f8ad 300e strh.w r3, [sp, #14]
|
|
is_common = _lv_area_intersect(&area_trunc, area, &obj_coords);
|
|
3280: aa02 add r2, sp, #8
|
|
3282: 4631 mov r1, r6
|
|
3284: a804 add r0, sp, #16
|
|
3286: 4b1d ldr r3, [pc, #116] ; (32fc <lv_obj_invalidate_area+0x124>)
|
|
3288: 4798 blx r3
|
|
if(is_common == false) return; /*The area is not on the object*/
|
|
328a: 2800 cmp r0, #0
|
|
328c: d0be beq.n 320c <lv_obj_invalidate_area+0x34>
|
|
lv_obj_t * par = lv_obj_get_parent(obj);
|
|
328e: 4620 mov r0, r4
|
|
3290: 4b1b ldr r3, [pc, #108] ; (3300 <lv_obj_invalidate_area+0x128>)
|
|
3292: 4798 blx r3
|
|
while(par != NULL) {
|
|
3294: 4604 mov r4, r0
|
|
3296: b198 cbz r0, 32c0 <lv_obj_invalidate_area+0xe8>
|
|
is_common = _lv_area_intersect(&area_trunc, &area_trunc, &par->coords);
|
|
3298: f8df 8060 ldr.w r8, [pc, #96] ; 32fc <lv_obj_invalidate_area+0x124>
|
|
if(lv_obj_get_hidden(par)) return; /*If the parent is hidden then the child is hidden and won't be drawn*/
|
|
329c: 4f11 ldr r7, [pc, #68] ; (32e4 <lv_obj_invalidate_area+0x10c>)
|
|
par = lv_obj_get_parent(par);
|
|
329e: 4e18 ldr r6, [pc, #96] ; (3300 <lv_obj_invalidate_area+0x128>)
|
|
is_common = _lv_area_intersect(&area_trunc, &area_trunc, &par->coords);
|
|
32a0: f104 0210 add.w r2, r4, #16
|
|
32a4: a904 add r1, sp, #16
|
|
32a6: 4608 mov r0, r1
|
|
32a8: 47c0 blx r8
|
|
if(is_common == false) break; /*If no common parts with parent break;*/
|
|
32aa: 2800 cmp r0, #0
|
|
32ac: d0ae beq.n 320c <lv_obj_invalidate_area+0x34>
|
|
if(lv_obj_get_hidden(par)) return; /*If the parent is hidden then the child is hidden and won't be drawn*/
|
|
32ae: 4620 mov r0, r4
|
|
32b0: 47b8 blx r7
|
|
32b2: 2800 cmp r0, #0
|
|
32b4: d1aa bne.n 320c <lv_obj_invalidate_area+0x34>
|
|
par = lv_obj_get_parent(par);
|
|
32b6: 4620 mov r0, r4
|
|
32b8: 47b0 blx r6
|
|
while(par != NULL) {
|
|
32ba: 4604 mov r4, r0
|
|
32bc: 2800 cmp r0, #0
|
|
32be: d1ef bne.n 32a0 <lv_obj_invalidate_area+0xc8>
|
|
if(is_common) _lv_inv_area(disp, &area_trunc);
|
|
32c0: a904 add r1, sp, #16
|
|
32c2: 4628 mov r0, r5
|
|
32c4: 4b0f ldr r3, [pc, #60] ; (3304 <lv_obj_invalidate_area+0x12c>)
|
|
32c6: 4798 blx r3
|
|
32c8: e7a0 b.n 320c <lv_obj_invalidate_area+0x34>
|
|
32ca: bf00 nop
|
|
32cc: 00002299 .word 0x00002299
|
|
32d0: 00024430 .word 0x00024430
|
|
32d4: 000247c4 .word 0x000247c4
|
|
32d8: 00012245 .word 0x00012245
|
|
32dc: 00024824 .word 0x00024824
|
|
32e0: 000022a1 .word 0x000022a1
|
|
32e4: 0000318d .word 0x0000318d
|
|
32e8: 00002cad .word 0x00002cad
|
|
32ec: 00002d09 .word 0x00002d09
|
|
32f0: 00002335 .word 0x00002335
|
|
32f4: 00002375 .word 0x00002375
|
|
32f8: 000023b5 .word 0x000023b5
|
|
32fc: 00011501 .word 0x00011501
|
|
3300: 00002c65 .word 0x00002c65
|
|
3304: 00005e41 .word 0x00005e41
|
|
|
|
00003308 <lv_obj_invalidate>:
|
|
{
|
|
3308: b530 push {r4, r5, lr}
|
|
330a: b085 sub sp, #20
|
|
330c: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
330e: 4b1c ldr r3, [pc, #112] ; (3380 <lv_obj_invalidate+0x78>)
|
|
3310: 4798 blx r3
|
|
3312: b338 cbz r0, 3364 <lv_obj_invalidate+0x5c>
|
|
lv_coord_t ext_size = obj->ext_draw_pad;
|
|
3314: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32
|
|
3318: f104 020f add.w r2, r4, #15
|
|
331c: f104 0517 add.w r5, r4, #23
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
3320: a902 add r1, sp, #8
|
|
*d8 = *s8;
|
|
3322: f812 0f01 ldrb.w r0, [r2, #1]!
|
|
3326: f801 0b01 strb.w r0, [r1], #1
|
|
while(len) {
|
|
332a: 42aa cmp r2, r5
|
|
332c: d1f9 bne.n 3322 <lv_obj_invalidate+0x1a>
|
|
obj_coords.x1 -= ext_size;
|
|
332e: b29b uxth r3, r3
|
|
3330: f8bd 2008 ldrh.w r2, [sp, #8]
|
|
3334: 1ad2 subs r2, r2, r3
|
|
3336: f8ad 2008 strh.w r2, [sp, #8]
|
|
obj_coords.y1 -= ext_size;
|
|
333a: f8bd 200a ldrh.w r2, [sp, #10]
|
|
333e: 1ad2 subs r2, r2, r3
|
|
3340: f8ad 200a strh.w r2, [sp, #10]
|
|
obj_coords.x2 += ext_size;
|
|
3344: f8bd 200c ldrh.w r2, [sp, #12]
|
|
3348: 441a add r2, r3
|
|
334a: f8ad 200c strh.w r2, [sp, #12]
|
|
obj_coords.y2 += ext_size;
|
|
334e: f8bd 200e ldrh.w r2, [sp, #14]
|
|
3352: 4413 add r3, r2
|
|
3354: f8ad 300e strh.w r3, [sp, #14]
|
|
lv_obj_invalidate_area(obj, &obj_coords);
|
|
3358: a902 add r1, sp, #8
|
|
335a: 4620 mov r0, r4
|
|
335c: 4b09 ldr r3, [pc, #36] ; (3384 <lv_obj_invalidate+0x7c>)
|
|
335e: 4798 blx r3
|
|
}
|
|
3360: b005 add sp, #20
|
|
3362: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3364: 4b08 ldr r3, [pc, #32] ; (3388 <lv_obj_invalidate+0x80>)
|
|
3366: 9300 str r3, [sp, #0]
|
|
3368: f240 220d movw r2, #525 ; 0x20d
|
|
336c: 4907 ldr r1, [pc, #28] ; (338c <lv_obj_invalidate+0x84>)
|
|
336e: 2003 movs r0, #3
|
|
3370: 4d07 ldr r5, [pc, #28] ; (3390 <lv_obj_invalidate+0x88>)
|
|
3372: 47a8 blx r5
|
|
3374: 4622 mov r2, r4
|
|
3376: 2300 movs r3, #0
|
|
3378: 4806 ldr r0, [pc, #24] ; (3394 <lv_obj_invalidate+0x8c>)
|
|
337a: 4907 ldr r1, [pc, #28] ; (3398 <lv_obj_invalidate+0x90>)
|
|
337c: 4788 blx r1
|
|
337e: e7fe b.n 337e <lv_obj_invalidate+0x76>
|
|
3380: 00002299 .word 0x00002299
|
|
3384: 000031d9 .word 0x000031d9
|
|
3388: 00024448 .word 0x00024448
|
|
338c: 000247c4 .word 0x000247c4
|
|
3390: 00012245 .word 0x00012245
|
|
3394: 00024824 .word 0x00024824
|
|
3398: 000022a1 .word 0x000022a1
|
|
|
|
0000339c <lv_obj_move_foreground>:
|
|
{
|
|
339c: b5f0 push {r4, r5, r6, r7, lr}
|
|
339e: b083 sub sp, #12
|
|
33a0: 4605 mov r5, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
33a2: 4b16 ldr r3, [pc, #88] ; (33fc <lv_obj_move_foreground+0x60>)
|
|
33a4: 4798 blx r3
|
|
33a6: b968 cbnz r0, 33c4 <lv_obj_move_foreground+0x28>
|
|
33a8: 4b15 ldr r3, [pc, #84] ; (3400 <lv_obj_move_foreground+0x64>)
|
|
33aa: 9300 str r3, [sp, #0]
|
|
33ac: f240 2262 movw r2, #610 ; 0x262
|
|
33b0: 4914 ldr r1, [pc, #80] ; (3404 <lv_obj_move_foreground+0x68>)
|
|
33b2: 2003 movs r0, #3
|
|
33b4: 4c14 ldr r4, [pc, #80] ; (3408 <lv_obj_move_foreground+0x6c>)
|
|
33b6: 47a0 blx r4
|
|
33b8: 462a mov r2, r5
|
|
33ba: 2300 movs r3, #0
|
|
33bc: 4813 ldr r0, [pc, #76] ; (340c <lv_obj_move_foreground+0x70>)
|
|
33be: 4914 ldr r1, [pc, #80] ; (3410 <lv_obj_move_foreground+0x74>)
|
|
33c0: 4788 blx r1
|
|
33c2: e7fe b.n 33c2 <lv_obj_move_foreground+0x26>
|
|
lv_obj_t * parent = lv_obj_get_parent(obj);
|
|
33c4: 4628 mov r0, r5
|
|
33c6: 4b13 ldr r3, [pc, #76] ; (3414 <lv_obj_move_foreground+0x78>)
|
|
33c8: 4798 blx r3
|
|
33ca: 4604 mov r4, r0
|
|
if(_lv_ll_get_head(&parent->child_ll) == obj) return;
|
|
33cc: 1d06 adds r6, r0, #4
|
|
33ce: 4630 mov r0, r6
|
|
33d0: 4b11 ldr r3, [pc, #68] ; (3418 <lv_obj_move_foreground+0x7c>)
|
|
33d2: 4798 blx r3
|
|
33d4: 4285 cmp r5, r0
|
|
33d6: d00f beq.n 33f8 <lv_obj_move_foreground+0x5c>
|
|
lv_obj_invalidate(parent);
|
|
33d8: 4620 mov r0, r4
|
|
33da: 4f10 ldr r7, [pc, #64] ; (341c <lv_obj_move_foreground+0x80>)
|
|
33dc: 47b8 blx r7
|
|
_lv_ll_chg_list(&parent->child_ll, &parent->child_ll, obj, true);
|
|
33de: 2301 movs r3, #1
|
|
33e0: 462a mov r2, r5
|
|
33e2: 4631 mov r1, r6
|
|
33e4: 4630 mov r0, r6
|
|
33e6: 4e0e ldr r6, [pc, #56] ; (3420 <lv_obj_move_foreground+0x84>)
|
|
33e8: 47b0 blx r6
|
|
parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, obj);
|
|
33ea: 69e3 ldr r3, [r4, #28]
|
|
33ec: 462a mov r2, r5
|
|
33ee: 2101 movs r1, #1
|
|
33f0: 4620 mov r0, r4
|
|
33f2: 4798 blx r3
|
|
lv_obj_invalidate(parent);
|
|
33f4: 4620 mov r0, r4
|
|
33f6: 47b8 blx r7
|
|
}
|
|
33f8: b003 add sp, #12
|
|
33fa: bdf0 pop {r4, r5, r6, r7, pc}
|
|
33fc: 00002299 .word 0x00002299
|
|
3400: 0002445c .word 0x0002445c
|
|
3404: 000247c4 .word 0x000247c4
|
|
3408: 00012245 .word 0x00012245
|
|
340c: 00024824 .word 0x00024824
|
|
3410: 000022a1 .word 0x000022a1
|
|
3414: 00002c65 .word 0x00002c65
|
|
3418: 00011f91 .word 0x00011f91
|
|
341c: 00003309 .word 0x00003309
|
|
3420: 00012109 .word 0x00012109
|
|
|
|
00003424 <lv_obj_set_pos>:
|
|
{
|
|
3424: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
3428: b084 sub sp, #16
|
|
342a: 4604 mov r4, r0
|
|
342c: 468a mov sl, r1
|
|
342e: 4617 mov r7, r2
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3430: 4b2d ldr r3, [pc, #180] ; (34e8 <lv_obj_set_pos+0xc4>)
|
|
3432: 4798 blx r3
|
|
3434: 2800 cmp r0, #0
|
|
3436: d03e beq.n 34b6 <lv_obj_set_pos+0x92>
|
|
lv_obj_t * par = obj->parent;
|
|
3438: 6826 ldr r6, [r4, #0]
|
|
if(par == NULL) {
|
|
343a: 2e00 cmp r6, #0
|
|
343c: d049 beq.n 34d2 <lv_obj_set_pos+0xae>
|
|
diff.x = x - obj->coords.x1;
|
|
343e: 8a33 ldrh r3, [r6, #16]
|
|
3440: 8a22 ldrh r2, [r4, #16]
|
|
3442: 1a9b subs r3, r3, r2
|
|
3444: 4453 add r3, sl
|
|
3446: fa1f fa83 uxth.w sl, r3
|
|
344a: fa0f f88a sxth.w r8, sl
|
|
diff.y = y - obj->coords.y1;
|
|
344e: 8a75 ldrh r5, [r6, #18]
|
|
3450: 8a63 ldrh r3, [r4, #18]
|
|
3452: 1aed subs r5, r5, r3
|
|
3454: 443d add r5, r7
|
|
3456: b2ad uxth r5, r5
|
|
3458: fa0f f985 sxth.w r9, r5
|
|
if(diff.x == 0 && diff.y == 0) return;
|
|
345c: f1b8 0f00 cmp.w r8, #0
|
|
3460: d102 bne.n 3468 <lv_obj_set_pos+0x44>
|
|
3462: f1b9 0f00 cmp.w r9, #0
|
|
3466: d023 beq.n 34b0 <lv_obj_set_pos+0x8c>
|
|
lv_obj_invalidate(obj);
|
|
3468: 4620 mov r0, r4
|
|
346a: 4f20 ldr r7, [pc, #128] ; (34ec <lv_obj_set_pos+0xc8>)
|
|
346c: 47b8 blx r7
|
|
lv_obj_get_coords(obj, &ori);
|
|
346e: a902 add r1, sp, #8
|
|
3470: 4620 mov r0, r4
|
|
3472: 4b1f ldr r3, [pc, #124] ; (34f0 <lv_obj_set_pos+0xcc>)
|
|
3474: 4798 blx r3
|
|
obj->coords.x1 += diff.x;
|
|
3476: 8a23 ldrh r3, [r4, #16]
|
|
3478: 4453 add r3, sl
|
|
347a: 8223 strh r3, [r4, #16]
|
|
obj->coords.y1 += diff.y;
|
|
347c: 8a63 ldrh r3, [r4, #18]
|
|
347e: 442b add r3, r5
|
|
3480: 8263 strh r3, [r4, #18]
|
|
obj->coords.x2 += diff.x;
|
|
3482: 8aa3 ldrh r3, [r4, #20]
|
|
3484: 4453 add r3, sl
|
|
3486: 82a3 strh r3, [r4, #20]
|
|
obj->coords.y2 += diff.y;
|
|
3488: 8ae3 ldrh r3, [r4, #22]
|
|
348a: 441d add r5, r3
|
|
348c: 82e5 strh r5, [r4, #22]
|
|
refresh_children_position(obj, diff.x, diff.y);
|
|
348e: 464a mov r2, r9
|
|
3490: 4641 mov r1, r8
|
|
3492: 4620 mov r0, r4
|
|
3494: 4b17 ldr r3, [pc, #92] ; (34f4 <lv_obj_set_pos+0xd0>)
|
|
3496: 4798 blx r3
|
|
obj->signal_cb(obj, LV_SIGNAL_COORD_CHG, &ori);
|
|
3498: 69e3 ldr r3, [r4, #28]
|
|
349a: aa02 add r2, sp, #8
|
|
349c: 2102 movs r1, #2
|
|
349e: 4620 mov r0, r4
|
|
34a0: 4798 blx r3
|
|
par->signal_cb(par, LV_SIGNAL_CHILD_CHG, obj);
|
|
34a2: 69f3 ldr r3, [r6, #28]
|
|
34a4: 4622 mov r2, r4
|
|
34a6: 2101 movs r1, #1
|
|
34a8: 4630 mov r0, r6
|
|
34aa: 4798 blx r3
|
|
lv_obj_invalidate(obj);
|
|
34ac: 4620 mov r0, r4
|
|
34ae: 47b8 blx r7
|
|
}
|
|
34b0: b004 add sp, #16
|
|
34b2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
34b6: 4b10 ldr r3, [pc, #64] ; (34f8 <lv_obj_set_pos+0xd4>)
|
|
34b8: 9300 str r3, [sp, #0]
|
|
34ba: f240 2296 movw r2, #662 ; 0x296
|
|
34be: 490f ldr r1, [pc, #60] ; (34fc <lv_obj_set_pos+0xd8>)
|
|
34c0: 2003 movs r0, #3
|
|
34c2: 4d0f ldr r5, [pc, #60] ; (3500 <lv_obj_set_pos+0xdc>)
|
|
34c4: 47a8 blx r5
|
|
34c6: 4622 mov r2, r4
|
|
34c8: 2300 movs r3, #0
|
|
34ca: 480e ldr r0, [pc, #56] ; (3504 <lv_obj_set_pos+0xe0>)
|
|
34cc: 490e ldr r1, [pc, #56] ; (3508 <lv_obj_set_pos+0xe4>)
|
|
34ce: 4788 blx r1
|
|
34d0: e7fe b.n 34d0 <lv_obj_set_pos+0xac>
|
|
LV_LOG_WARN("lv_obj_set_pos: not changing position of screen object");
|
|
34d2: 4b0e ldr r3, [pc, #56] ; (350c <lv_obj_set_pos+0xe8>)
|
|
34d4: 9300 str r3, [sp, #0]
|
|
34d6: 4b08 ldr r3, [pc, #32] ; (34f8 <lv_obj_set_pos+0xd4>)
|
|
34d8: f44f 7227 mov.w r2, #668 ; 0x29c
|
|
34dc: 4907 ldr r1, [pc, #28] ; (34fc <lv_obj_set_pos+0xd8>)
|
|
34de: 2002 movs r0, #2
|
|
34e0: 4c07 ldr r4, [pc, #28] ; (3500 <lv_obj_set_pos+0xdc>)
|
|
34e2: 47a0 blx r4
|
|
return;
|
|
34e4: e7e4 b.n 34b0 <lv_obj_set_pos+0x8c>
|
|
34e6: bf00 nop
|
|
34e8: 00002299 .word 0x00002299
|
|
34ec: 00003309 .word 0x00003309
|
|
34f0: 00002e29 .word 0x00002e29
|
|
34f4: 000027f5 .word 0x000027f5
|
|
34f8: 0002448c .word 0x0002448c
|
|
34fc: 000247c4 .word 0x000247c4
|
|
3500: 00012245 .word 0x00012245
|
|
3504: 00024824 .word 0x00024824
|
|
3508: 000022a1 .word 0x000022a1
|
|
350c: 000248b8 .word 0x000248b8
|
|
|
|
00003510 <lv_obj_set_x>:
|
|
{
|
|
3510: b530 push {r4, r5, lr}
|
|
3512: b083 sub sp, #12
|
|
3514: 4604 mov r4, r0
|
|
3516: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3518: 4b0d ldr r3, [pc, #52] ; (3550 <lv_obj_set_x+0x40>)
|
|
351a: 4798 blx r3
|
|
351c: b968 cbnz r0, 353a <lv_obj_set_x+0x2a>
|
|
351e: 4b0d ldr r3, [pc, #52] ; (3554 <lv_obj_set_x+0x44>)
|
|
3520: 9300 str r3, [sp, #0]
|
|
3522: f44f 7233 mov.w r2, #716 ; 0x2cc
|
|
3526: 490c ldr r1, [pc, #48] ; (3558 <lv_obj_set_x+0x48>)
|
|
3528: 2003 movs r0, #3
|
|
352a: 4d0c ldr r5, [pc, #48] ; (355c <lv_obj_set_x+0x4c>)
|
|
352c: 47a8 blx r5
|
|
352e: 4622 mov r2, r4
|
|
3530: 2300 movs r3, #0
|
|
3532: 480b ldr r0, [pc, #44] ; (3560 <lv_obj_set_x+0x50>)
|
|
3534: 490b ldr r1, [pc, #44] ; (3564 <lv_obj_set_x+0x54>)
|
|
3536: 4788 blx r1
|
|
3538: e7fe b.n 3538 <lv_obj_set_x+0x28>
|
|
lv_obj_set_pos(obj, x, lv_obj_get_y(obj));
|
|
353a: 4620 mov r0, r4
|
|
353c: 4b0a ldr r3, [pc, #40] ; (3568 <lv_obj_set_x+0x58>)
|
|
353e: 4798 blx r3
|
|
3540: 4602 mov r2, r0
|
|
3542: 4629 mov r1, r5
|
|
3544: 4620 mov r0, r4
|
|
3546: 4b09 ldr r3, [pc, #36] ; (356c <lv_obj_set_x+0x5c>)
|
|
3548: 4798 blx r3
|
|
}
|
|
354a: b003 add sp, #12
|
|
354c: bd30 pop {r4, r5, pc}
|
|
354e: bf00 nop
|
|
3550: 00002299 .word 0x00002299
|
|
3554: 0002449c .word 0x0002449c
|
|
3558: 000247c4 .word 0x000247c4
|
|
355c: 00012245 .word 0x00012245
|
|
3560: 00024824 .word 0x00024824
|
|
3564: 000022a1 .word 0x000022a1
|
|
3568: 00002ee5 .word 0x00002ee5
|
|
356c: 00003425 .word 0x00003425
|
|
|
|
00003570 <lv_obj_set_y>:
|
|
{
|
|
3570: b530 push {r4, r5, lr}
|
|
3572: b083 sub sp, #12
|
|
3574: 4604 mov r4, r0
|
|
3576: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3578: 4b0d ldr r3, [pc, #52] ; (35b0 <lv_obj_set_y+0x40>)
|
|
357a: 4798 blx r3
|
|
357c: b968 cbnz r0, 359a <lv_obj_set_y+0x2a>
|
|
357e: 4b0d ldr r3, [pc, #52] ; (35b4 <lv_obj_set_y+0x44>)
|
|
3580: 9300 str r3, [sp, #0]
|
|
3582: f44f 7236 mov.w r2, #728 ; 0x2d8
|
|
3586: 490c ldr r1, [pc, #48] ; (35b8 <lv_obj_set_y+0x48>)
|
|
3588: 2003 movs r0, #3
|
|
358a: 4d0c ldr r5, [pc, #48] ; (35bc <lv_obj_set_y+0x4c>)
|
|
358c: 47a8 blx r5
|
|
358e: 4622 mov r2, r4
|
|
3590: 2300 movs r3, #0
|
|
3592: 480b ldr r0, [pc, #44] ; (35c0 <lv_obj_set_y+0x50>)
|
|
3594: 490b ldr r1, [pc, #44] ; (35c4 <lv_obj_set_y+0x54>)
|
|
3596: 4788 blx r1
|
|
3598: e7fe b.n 3598 <lv_obj_set_y+0x28>
|
|
lv_obj_set_pos(obj, lv_obj_get_x(obj), y);
|
|
359a: 4620 mov r0, r4
|
|
359c: 4b0a ldr r3, [pc, #40] ; (35c8 <lv_obj_set_y+0x58>)
|
|
359e: 4798 blx r3
|
|
35a0: 462a mov r2, r5
|
|
35a2: 4601 mov r1, r0
|
|
35a4: 4620 mov r0, r4
|
|
35a6: 4b09 ldr r3, [pc, #36] ; (35cc <lv_obj_set_y+0x5c>)
|
|
35a8: 4798 blx r3
|
|
}
|
|
35aa: b003 add sp, #12
|
|
35ac: bd30 pop {r4, r5, pc}
|
|
35ae: bf00 nop
|
|
35b0: 00002299 .word 0x00002299
|
|
35b4: 000244ac .word 0x000244ac
|
|
35b8: 000247c4 .word 0x000247c4
|
|
35bc: 00012245 .word 0x00012245
|
|
35c0: 00024824 .word 0x00024824
|
|
35c4: 000022a1 .word 0x000022a1
|
|
35c8: 00002e85 .word 0x00002e85
|
|
35cc: 00003425 .word 0x00003425
|
|
|
|
000035d0 <lv_obj_align>:
|
|
{
|
|
35d0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
35d4: b085 sub sp, #20
|
|
35d6: 4604 mov r4, r0
|
|
35d8: 460d mov r5, r1
|
|
35da: 4690 mov r8, r2
|
|
35dc: 461f mov r7, r3
|
|
35de: f9bd 6030 ldrsh.w r6, [sp, #48] ; 0x30
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
35e2: 4b2c ldr r3, [pc, #176] ; (3694 <lv_obj_align+0xc4>)
|
|
35e4: 4798 blx r3
|
|
35e6: b968 cbnz r0, 3604 <lv_obj_align+0x34>
|
|
35e8: 4b2b ldr r3, [pc, #172] ; (3698 <lv_obj_align+0xc8>)
|
|
35ea: 9300 str r3, [sp, #0]
|
|
35ec: f240 326d movw r2, #877 ; 0x36d
|
|
35f0: 492a ldr r1, [pc, #168] ; (369c <lv_obj_align+0xcc>)
|
|
35f2: 2003 movs r0, #3
|
|
35f4: 4d2a ldr r5, [pc, #168] ; (36a0 <lv_obj_align+0xd0>)
|
|
35f6: 47a8 blx r5
|
|
35f8: 4622 mov r2, r4
|
|
35fa: 2300 movs r3, #0
|
|
35fc: 4829 ldr r0, [pc, #164] ; (36a4 <lv_obj_align+0xd4>)
|
|
35fe: 492a ldr r1, [pc, #168] ; (36a8 <lv_obj_align+0xd8>)
|
|
3600: 4788 blx r1
|
|
3602: e7fe b.n 3602 <lv_obj_align+0x32>
|
|
if(base == NULL) base = lv_obj_get_parent(obj);
|
|
3604: b18d cbz r5, 362a <lv_obj_align+0x5a>
|
|
LV_ASSERT_OBJ(base, LV_OBJX_NAME);
|
|
3606: 4628 mov r0, r5
|
|
3608: 4b22 ldr r3, [pc, #136] ; (3694 <lv_obj_align+0xc4>)
|
|
360a: 4798 blx r3
|
|
360c: b990 cbnz r0, 3634 <lv_obj_align+0x64>
|
|
360e: 4b22 ldr r3, [pc, #136] ; (3698 <lv_obj_align+0xc8>)
|
|
3610: 9300 str r3, [sp, #0]
|
|
3612: f240 3271 movw r2, #881 ; 0x371
|
|
3616: 4921 ldr r1, [pc, #132] ; (369c <lv_obj_align+0xcc>)
|
|
3618: 2003 movs r0, #3
|
|
361a: 4c21 ldr r4, [pc, #132] ; (36a0 <lv_obj_align+0xd0>)
|
|
361c: 47a0 blx r4
|
|
361e: 462a mov r2, r5
|
|
3620: 2300 movs r3, #0
|
|
3622: 4820 ldr r0, [pc, #128] ; (36a4 <lv_obj_align+0xd4>)
|
|
3624: 4920 ldr r1, [pc, #128] ; (36a8 <lv_obj_align+0xd8>)
|
|
3626: 4788 blx r1
|
|
3628: e7fe b.n 3628 <lv_obj_align+0x58>
|
|
if(base == NULL) base = lv_obj_get_parent(obj);
|
|
362a: 4620 mov r0, r4
|
|
362c: 4b1f ldr r3, [pc, #124] ; (36ac <lv_obj_align+0xdc>)
|
|
362e: 4798 blx r3
|
|
3630: 4605 mov r5, r0
|
|
3632: e7e8 b.n 3606 <lv_obj_align+0x36>
|
|
_lv_area_align(&base->coords, &obj->coords, align, &new_pos);
|
|
3634: ab03 add r3, sp, #12
|
|
3636: 4642 mov r2, r8
|
|
3638: f104 0110 add.w r1, r4, #16
|
|
363c: f105 0010 add.w r0, r5, #16
|
|
3640: f8df 9070 ldr.w r9, [pc, #112] ; 36b4 <lv_obj_align+0xe4>
|
|
3644: 47c8 blx r9
|
|
lv_obj_t * par = lv_obj_get_parent(obj);
|
|
3646: 4620 mov r0, r4
|
|
3648: 4b18 ldr r3, [pc, #96] ; (36ac <lv_obj_align+0xdc>)
|
|
364a: 4798 blx r3
|
|
lv_coord_t par_abs_y = par->coords.y1;
|
|
364c: f9b0 3012 ldrsh.w r3, [r0, #18]
|
|
new_pos.y += y_ofs;
|
|
3650: f8bd 200e ldrh.w r2, [sp, #14]
|
|
3654: 4432 add r2, r6
|
|
new_pos.x += x_ofs;
|
|
3656: f8bd 100c ldrh.w r1, [sp, #12]
|
|
365a: 4439 add r1, r7
|
|
new_pos.x -= par_abs_x;
|
|
365c: 8a00 ldrh r0, [r0, #16]
|
|
365e: 1a09 subs r1, r1, r0
|
|
3660: b209 sxth r1, r1
|
|
3662: f8ad 100c strh.w r1, [sp, #12]
|
|
new_pos.y -= par_abs_y;
|
|
3666: 1ad2 subs r2, r2, r3
|
|
3668: b212 sxth r2, r2
|
|
366a: f8ad 200e strh.w r2, [sp, #14]
|
|
lv_obj_set_pos(obj, new_pos.x, new_pos.y);
|
|
366e: 4620 mov r0, r4
|
|
3670: 4b0f ldr r3, [pc, #60] ; (36b0 <lv_obj_align+0xe0>)
|
|
3672: 4798 blx r3
|
|
obj->realign.align = align;
|
|
3674: f884 8048 strb.w r8, [r4, #72] ; 0x48
|
|
obj->realign.xofs = x_ofs;
|
|
3678: f8a4 7044 strh.w r7, [r4, #68] ; 0x44
|
|
obj->realign.yofs = y_ofs;
|
|
367c: f8a4 6046 strh.w r6, [r4, #70] ; 0x46
|
|
obj->realign.base = base;
|
|
3680: 6425 str r5, [r4, #64] ; 0x40
|
|
obj->realign.origo_align = 0;
|
|
3682: f894 3049 ldrb.w r3, [r4, #73] ; 0x49
|
|
3686: f36f 0341 bfc r3, #1, #1
|
|
368a: f884 3049 strb.w r3, [r4, #73] ; 0x49
|
|
}
|
|
368e: b005 add sp, #20
|
|
3690: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
3694: 00002299 .word 0x00002299
|
|
3698: 000244bc .word 0x000244bc
|
|
369c: 000247c4 .word 0x000247c4
|
|
36a0: 00012245 .word 0x00012245
|
|
36a4: 00024824 .word 0x00024824
|
|
36a8: 000022a1 .word 0x000022a1
|
|
36ac: 00002c65 .word 0x00002c65
|
|
36b0: 00003425 .word 0x00003425
|
|
36b4: 0001180d .word 0x0001180d
|
|
|
|
000036b8 <lv_obj_align_origo>:
|
|
{
|
|
36b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
36bc: b085 sub sp, #20
|
|
36be: 4681 mov r9, r0
|
|
36c0: 460e mov r6, r1
|
|
36c2: 4692 mov sl, r2
|
|
36c4: 9303 str r3, [sp, #12]
|
|
36c6: f9bd b038 ldrsh.w fp, [sp, #56] ; 0x38
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
36ca: 4ba3 ldr r3, [pc, #652] ; (3958 <lv_obj_align_origo+0x2a0>)
|
|
36cc: 4798 blx r3
|
|
36ce: b968 cbnz r0, 36ec <lv_obj_align_origo+0x34>
|
|
36d0: 4ba2 ldr r3, [pc, #648] ; (395c <lv_obj_align_origo+0x2a4>)
|
|
36d2: 9300 str r3, [sp, #0]
|
|
36d4: f240 3295 movw r2, #917 ; 0x395
|
|
36d8: 49a1 ldr r1, [pc, #644] ; (3960 <lv_obj_align_origo+0x2a8>)
|
|
36da: 2003 movs r0, #3
|
|
36dc: 4ca1 ldr r4, [pc, #644] ; (3964 <lv_obj_align_origo+0x2ac>)
|
|
36de: 47a0 blx r4
|
|
36e0: 464a mov r2, r9
|
|
36e2: 2300 movs r3, #0
|
|
36e4: 48a0 ldr r0, [pc, #640] ; (3968 <lv_obj_align_origo+0x2b0>)
|
|
36e6: 49a1 ldr r1, [pc, #644] ; (396c <lv_obj_align_origo+0x2b4>)
|
|
36e8: 4788 blx r1
|
|
36ea: e7fe b.n 36ea <lv_obj_align_origo+0x32>
|
|
lv_coord_t new_x = lv_obj_get_x(obj);
|
|
36ec: 4648 mov r0, r9
|
|
36ee: 4ba0 ldr r3, [pc, #640] ; (3970 <lv_obj_align_origo+0x2b8>)
|
|
36f0: 4798 blx r3
|
|
36f2: 4605 mov r5, r0
|
|
lv_coord_t new_y = lv_obj_get_y(obj);
|
|
36f4: 4648 mov r0, r9
|
|
36f6: 4b9f ldr r3, [pc, #636] ; (3974 <lv_obj_align_origo+0x2bc>)
|
|
36f8: 4798 blx r3
|
|
36fa: 4604 mov r4, r0
|
|
lv_coord_t obj_w_half = lv_obj_get_width(obj) / 2;
|
|
36fc: 4648 mov r0, r9
|
|
36fe: 4b9e ldr r3, [pc, #632] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
3700: 4798 blx r3
|
|
3702: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
3706: f340 084f sbfx r8, r0, #1, #16
|
|
lv_coord_t obj_h_half = lv_obj_get_height(obj) / 2;
|
|
370a: 4648 mov r0, r9
|
|
370c: 4b9b ldr r3, [pc, #620] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
370e: 4798 blx r3
|
|
3710: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
3714: f340 074f sbfx r7, r0, #1, #16
|
|
if(base == NULL) {
|
|
3718: b1ee cbz r6, 3756 <lv_obj_align_origo+0x9e>
|
|
LV_ASSERT_OBJ(base, LV_OBJX_NAME);
|
|
371a: 4630 mov r0, r6
|
|
371c: 4b8e ldr r3, [pc, #568] ; (3958 <lv_obj_align_origo+0x2a0>)
|
|
371e: 4798 blx r3
|
|
3720: b1f0 cbz r0, 3760 <lv_obj_align_origo+0xa8>
|
|
switch(align) {
|
|
3722: f1ba 0f14 cmp.w sl, #20
|
|
3726: d839 bhi.n 379c <lv_obj_align_origo+0xe4>
|
|
3728: e8df f01a tbh [pc, sl, lsl #1]
|
|
372c: 005c0028 .word 0x005c0028
|
|
3730: 006d0062 .word 0x006d0062
|
|
3734: 007f0076 .word 0x007f0076
|
|
3738: 0099008d .word 0x0099008d
|
|
373c: 00b400a5 .word 0x00b400a5
|
|
3740: 00c500ba .word 0x00c500ba
|
|
3744: 00d700ce .word 0x00d700ce
|
|
3748: 00f100e5 .word 0x00f100e5
|
|
374c: 010300f7 .word 0x010300f7
|
|
3750: 012e010c .word 0x012e010c
|
|
3754: 013d .short 0x013d
|
|
base = lv_obj_get_parent(obj);
|
|
3756: 4648 mov r0, r9
|
|
3758: 4b89 ldr r3, [pc, #548] ; (3980 <lv_obj_align_origo+0x2c8>)
|
|
375a: 4798 blx r3
|
|
375c: 4606 mov r6, r0
|
|
375e: e7dc b.n 371a <lv_obj_align_origo+0x62>
|
|
LV_ASSERT_OBJ(base, LV_OBJX_NAME);
|
|
3760: 4b7e ldr r3, [pc, #504] ; (395c <lv_obj_align_origo+0x2a4>)
|
|
3762: 9300 str r3, [sp, #0]
|
|
3764: f240 32a1 movw r2, #929 ; 0x3a1
|
|
3768: 497d ldr r1, [pc, #500] ; (3960 <lv_obj_align_origo+0x2a8>)
|
|
376a: 2003 movs r0, #3
|
|
376c: 4c7d ldr r4, [pc, #500] ; (3964 <lv_obj_align_origo+0x2ac>)
|
|
376e: 47a0 blx r4
|
|
3770: 4632 mov r2, r6
|
|
3772: 2300 movs r3, #0
|
|
3774: 487c ldr r0, [pc, #496] ; (3968 <lv_obj_align_origo+0x2b0>)
|
|
3776: 497d ldr r1, [pc, #500] ; (396c <lv_obj_align_origo+0x2b4>)
|
|
3778: 4788 blx r1
|
|
377a: e7fe b.n 377a <lv_obj_align_origo+0xc2>
|
|
new_x = lv_obj_get_width(base) / 2 - obj_w_half;
|
|
377c: 4630 mov r0, r6
|
|
377e: 4b7e ldr r3, [pc, #504] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
3780: 4798 blx r3
|
|
3782: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
3786: ebc8 0560 rsb r5, r8, r0, asr #1
|
|
378a: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) / 2 - obj_h_half;
|
|
378c: 4630 mov r0, r6
|
|
378e: 4b7b ldr r3, [pc, #492] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
3790: 4798 blx r3
|
|
3792: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
3796: ebc7 0460 rsb r4, r7, r0, asr #1
|
|
379a: b224 sxth r4, r4
|
|
lv_obj_t * par = lv_obj_get_parent(obj);
|
|
379c: 4648 mov r0, r9
|
|
379e: 4b78 ldr r3, [pc, #480] ; (3980 <lv_obj_align_origo+0x2c8>)
|
|
37a0: 4798 blx r3
|
|
new_x += x_ofs + base_abs_x;
|
|
37a2: 8a31 ldrh r1, [r6, #16]
|
|
37a4: 9f03 ldr r7, [sp, #12]
|
|
37a6: 4439 add r1, r7
|
|
37a8: 4429 add r1, r5
|
|
new_x -= par_abs_x;
|
|
37aa: 8a03 ldrh r3, [r0, #16]
|
|
37ac: 1ac9 subs r1, r1, r3
|
|
new_y += y_ofs + base_abs_y;
|
|
37ae: 8a72 ldrh r2, [r6, #18]
|
|
37b0: 445a add r2, fp
|
|
37b2: 4422 add r2, r4
|
|
new_y -= par_abs_y;
|
|
37b4: 8a43 ldrh r3, [r0, #18]
|
|
37b6: 1ad2 subs r2, r2, r3
|
|
lv_obj_set_pos(obj, new_x, new_y);
|
|
37b8: b212 sxth r2, r2
|
|
37ba: b209 sxth r1, r1
|
|
37bc: 4648 mov r0, r9
|
|
37be: 4b71 ldr r3, [pc, #452] ; (3984 <lv_obj_align_origo+0x2cc>)
|
|
37c0: 4798 blx r3
|
|
obj->realign.align = align;
|
|
37c2: f889 a048 strb.w sl, [r9, #72] ; 0x48
|
|
obj->realign.xofs = x_ofs;
|
|
37c6: f8a9 7044 strh.w r7, [r9, #68] ; 0x44
|
|
obj->realign.yofs = y_ofs;
|
|
37ca: f8a9 b046 strh.w fp, [r9, #70] ; 0x46
|
|
obj->realign.base = base;
|
|
37ce: f8c9 6040 str.w r6, [r9, #64] ; 0x40
|
|
obj->realign.origo_align = 1;
|
|
37d2: f899 3049 ldrb.w r3, [r9, #73] ; 0x49
|
|
37d6: f043 0302 orr.w r3, r3, #2
|
|
37da: f889 3049 strb.w r3, [r9, #73] ; 0x49
|
|
}
|
|
37de: b005 add sp, #20
|
|
37e0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
new_x = -obj_w_half;
|
|
37e4: f1c8 0500 rsb r5, r8, #0
|
|
37e8: b22d sxth r5, r5
|
|
new_y = -obj_h_half;
|
|
37ea: 427c negs r4, r7
|
|
37ec: b224 sxth r4, r4
|
|
break;
|
|
37ee: e7d5 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) / 2 - obj_w_half;
|
|
37f0: 4630 mov r0, r6
|
|
37f2: 4b61 ldr r3, [pc, #388] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
37f4: 4798 blx r3
|
|
37f6: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
37fa: ebc8 0560 rsb r5, r8, r0, asr #1
|
|
37fe: b22d sxth r5, r5
|
|
new_y = -obj_h_half;
|
|
3800: 427c negs r4, r7
|
|
3802: b224 sxth r4, r4
|
|
break;
|
|
3804: e7ca b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
3806: 4630 mov r0, r6
|
|
3808: 4b5b ldr r3, [pc, #364] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
380a: 4798 blx r3
|
|
380c: eba0 0008 sub.w r0, r0, r8
|
|
3810: b205 sxth r5, r0
|
|
new_y = -obj_h_half;
|
|
3812: 427c negs r4, r7
|
|
3814: b224 sxth r4, r4
|
|
break;
|
|
3816: e7c1 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = -obj_w_half;
|
|
3818: f1c8 0500 rsb r5, r8, #0
|
|
381c: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
381e: 4630 mov r0, r6
|
|
3820: 4b56 ldr r3, [pc, #344] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
3822: 4798 blx r3
|
|
3824: 1bc0 subs r0, r0, r7
|
|
3826: b204 sxth r4, r0
|
|
break;
|
|
3828: e7b8 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) / 2 - obj_w_half;
|
|
382a: 4630 mov r0, r6
|
|
382c: 4b52 ldr r3, [pc, #328] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
382e: 4798 blx r3
|
|
3830: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
3834: ebc8 0560 rsb r5, r8, r0, asr #1
|
|
3838: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
383a: 4630 mov r0, r6
|
|
383c: 4b4f ldr r3, [pc, #316] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
383e: 4798 blx r3
|
|
3840: 1bc0 subs r0, r0, r7
|
|
3842: b204 sxth r4, r0
|
|
break;
|
|
3844: e7aa b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
3846: 4630 mov r0, r6
|
|
3848: 4b4b ldr r3, [pc, #300] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
384a: 4798 blx r3
|
|
384c: eba0 0008 sub.w r0, r0, r8
|
|
3850: b205 sxth r5, r0
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
3852: 4630 mov r0, r6
|
|
3854: 4b49 ldr r3, [pc, #292] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
3856: 4798 blx r3
|
|
3858: 1bc0 subs r0, r0, r7
|
|
385a: b204 sxth r4, r0
|
|
break;
|
|
385c: e79e b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = -obj_w_half;
|
|
385e: f1c8 0500 rsb r5, r8, #0
|
|
3862: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) / 2 - obj_h_half;
|
|
3864: 4630 mov r0, r6
|
|
3866: 4b45 ldr r3, [pc, #276] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
3868: 4798 blx r3
|
|
386a: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
386e: ebc7 0460 rsb r4, r7, r0, asr #1
|
|
3872: b224 sxth r4, r4
|
|
break;
|
|
3874: e792 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
3876: 4630 mov r0, r6
|
|
3878: 4b3f ldr r3, [pc, #252] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
387a: 4798 blx r3
|
|
387c: eba0 0008 sub.w r0, r0, r8
|
|
3880: b205 sxth r5, r0
|
|
new_y = lv_obj_get_height(base) / 2 - obj_h_half;
|
|
3882: 4630 mov r0, r6
|
|
3884: 4b3d ldr r3, [pc, #244] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
3886: 4798 blx r3
|
|
3888: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
388c: ebc7 0460 rsb r4, r7, r0, asr #1
|
|
3890: b224 sxth r4, r4
|
|
break;
|
|
3892: e783 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = -obj_w_half;
|
|
3894: f1c8 0500 rsb r5, r8, #0
|
|
3898: b22d sxth r5, r5
|
|
new_y = -obj_h_half;
|
|
389a: 427c negs r4, r7
|
|
389c: b224 sxth r4, r4
|
|
break;
|
|
389e: e77d b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) / 2 - obj_w_half;
|
|
38a0: 4630 mov r0, r6
|
|
38a2: 4b35 ldr r3, [pc, #212] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
38a4: 4798 blx r3
|
|
38a6: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
38aa: ebc8 0560 rsb r5, r8, r0, asr #1
|
|
38ae: b22d sxth r5, r5
|
|
new_y = -obj_h_half;
|
|
38b0: 427c negs r4, r7
|
|
38b2: b224 sxth r4, r4
|
|
break;
|
|
38b4: e772 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
38b6: 4630 mov r0, r6
|
|
38b8: 4b2f ldr r3, [pc, #188] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
38ba: 4798 blx r3
|
|
38bc: eba0 0008 sub.w r0, r0, r8
|
|
38c0: b205 sxth r5, r0
|
|
new_y = -obj_h_half;
|
|
38c2: 427c negs r4, r7
|
|
38c4: b224 sxth r4, r4
|
|
break;
|
|
38c6: e769 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = -obj_w_half;
|
|
38c8: f1c8 0500 rsb r5, r8, #0
|
|
38cc: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
38ce: 4630 mov r0, r6
|
|
38d0: 4b2a ldr r3, [pc, #168] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
38d2: 4798 blx r3
|
|
38d4: 1bc0 subs r0, r0, r7
|
|
38d6: b204 sxth r4, r0
|
|
break;
|
|
38d8: e760 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) / 2 - obj_w_half;
|
|
38da: 4630 mov r0, r6
|
|
38dc: 4b26 ldr r3, [pc, #152] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
38de: 4798 blx r3
|
|
38e0: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
38e4: ebc8 0560 rsb r5, r8, r0, asr #1
|
|
38e8: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
38ea: 4630 mov r0, r6
|
|
38ec: 4b23 ldr r3, [pc, #140] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
38ee: 4798 blx r3
|
|
38f0: 1bc0 subs r0, r0, r7
|
|
38f2: b204 sxth r4, r0
|
|
break;
|
|
38f4: e752 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
38f6: 4630 mov r0, r6
|
|
38f8: 4b1f ldr r3, [pc, #124] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
38fa: 4798 blx r3
|
|
38fc: eba0 0008 sub.w r0, r0, r8
|
|
3900: b205 sxth r5, r0
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
3902: 4630 mov r0, r6
|
|
3904: 4b1d ldr r3, [pc, #116] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
3906: 4798 blx r3
|
|
3908: 1bc0 subs r0, r0, r7
|
|
390a: b204 sxth r4, r0
|
|
break;
|
|
390c: e746 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = -obj_w_half;
|
|
390e: f1c8 0500 rsb r5, r8, #0
|
|
3912: b22d sxth r5, r5
|
|
new_y = -obj_h_half;
|
|
3914: 427c negs r4, r7
|
|
3916: b224 sxth r4, r4
|
|
break;
|
|
3918: e740 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = -obj_w_half;
|
|
391a: f1c8 0500 rsb r5, r8, #0
|
|
391e: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) / 2 - obj_h_half;
|
|
3920: 4630 mov r0, r6
|
|
3922: 4b16 ldr r3, [pc, #88] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
3924: 4798 blx r3
|
|
3926: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
392a: ebc7 0460 rsb r4, r7, r0, asr #1
|
|
392e: b224 sxth r4, r4
|
|
break;
|
|
3930: e734 b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = -obj_w_half;
|
|
3932: f1c8 0500 rsb r5, r8, #0
|
|
3936: b22d sxth r5, r5
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
3938: 4630 mov r0, r6
|
|
393a: 4b10 ldr r3, [pc, #64] ; (397c <lv_obj_align_origo+0x2c4>)
|
|
393c: 4798 blx r3
|
|
393e: 1bc0 subs r0, r0, r7
|
|
3940: b204 sxth r4, r0
|
|
break;
|
|
3942: e72b b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
3944: 4630 mov r0, r6
|
|
3946: 4b0c ldr r3, [pc, #48] ; (3978 <lv_obj_align_origo+0x2c0>)
|
|
3948: 4798 blx r3
|
|
394a: eba0 0008 sub.w r0, r0, r8
|
|
394e: b205 sxth r5, r0
|
|
new_y = -obj_h_half;
|
|
3950: 427c negs r4, r7
|
|
3952: b224 sxth r4, r4
|
|
break;
|
|
3954: e722 b.n 379c <lv_obj_align_origo+0xe4>
|
|
3956: bf00 nop
|
|
3958: 00002299 .word 0x00002299
|
|
395c: 000244cc .word 0x000244cc
|
|
3960: 000247c4 .word 0x000247c4
|
|
3964: 00012245 .word 0x00012245
|
|
3968: 00024824 .word 0x00024824
|
|
396c: 000022a1 .word 0x000022a1
|
|
3970: 00002e85 .word 0x00002e85
|
|
3974: 00002ee5 .word 0x00002ee5
|
|
3978: 00002f45 .word 0x00002f45
|
|
397c: 00002f95 .word 0x00002f95
|
|
3980: 00002c65 .word 0x00002c65
|
|
3984: 00003425 .word 0x00003425
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
3988: 4630 mov r0, r6
|
|
398a: 4b0d ldr r3, [pc, #52] ; (39c0 <lv_obj_align_origo+0x308>)
|
|
398c: 4798 blx r3
|
|
398e: eba0 0008 sub.w r0, r0, r8
|
|
3992: b205 sxth r5, r0
|
|
new_y = lv_obj_get_height(base) / 2 - obj_h_half;
|
|
3994: 4630 mov r0, r6
|
|
3996: 4b0b ldr r3, [pc, #44] ; (39c4 <lv_obj_align_origo+0x30c>)
|
|
3998: 4798 blx r3
|
|
399a: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
399e: ebc7 0460 rsb r4, r7, r0, asr #1
|
|
39a2: b224 sxth r4, r4
|
|
break;
|
|
39a4: e6fa b.n 379c <lv_obj_align_origo+0xe4>
|
|
new_x = lv_obj_get_width(base) - obj_w_half;
|
|
39a6: 4630 mov r0, r6
|
|
39a8: 4b05 ldr r3, [pc, #20] ; (39c0 <lv_obj_align_origo+0x308>)
|
|
39aa: 4798 blx r3
|
|
39ac: eba0 0008 sub.w r0, r0, r8
|
|
39b0: b205 sxth r5, r0
|
|
new_y = lv_obj_get_height(base) - obj_h_half;
|
|
39b2: 4630 mov r0, r6
|
|
39b4: 4b03 ldr r3, [pc, #12] ; (39c4 <lv_obj_align_origo+0x30c>)
|
|
39b6: 4798 blx r3
|
|
39b8: 1bc0 subs r0, r0, r7
|
|
39ba: b204 sxth r4, r0
|
|
break;
|
|
39bc: e6ee b.n 379c <lv_obj_align_origo+0xe4>
|
|
39be: bf00 nop
|
|
39c0: 00002f45 .word 0x00002f45
|
|
39c4: 00002f95 .word 0x00002f95
|
|
|
|
000039c8 <lv_obj_realign>:
|
|
{
|
|
39c8: b530 push {r4, r5, lr}
|
|
39ca: b083 sub sp, #12
|
|
39cc: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
39ce: 4b12 ldr r3, [pc, #72] ; (3a18 <lv_obj_realign+0x50>)
|
|
39d0: 4798 blx r3
|
|
39d2: b190 cbz r0, 39fa <lv_obj_realign+0x32>
|
|
if(obj->realign.origo_align)
|
|
39d4: f894 3049 ldrb.w r3, [r4, #73] ; 0x49
|
|
39d8: f013 0f02 tst.w r3, #2
|
|
lv_obj_align_origo(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs);
|
|
39dc: f9b4 3044 ldrsh.w r3, [r4, #68] ; 0x44
|
|
39e0: f894 2048 ldrb.w r2, [r4, #72] ; 0x48
|
|
39e4: f9b4 1046 ldrsh.w r1, [r4, #70] ; 0x46
|
|
39e8: 9100 str r1, [sp, #0]
|
|
39ea: 6c21 ldr r1, [r4, #64] ; 0x40
|
|
39ec: 4620 mov r0, r4
|
|
39ee: bf14 ite ne
|
|
39f0: 4c0a ldrne r4, [pc, #40] ; (3a1c <lv_obj_realign+0x54>)
|
|
lv_obj_align(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs);
|
|
39f2: 4c0b ldreq r4, [pc, #44] ; (3a20 <lv_obj_realign+0x58>)
|
|
39f4: 47a0 blx r4
|
|
}
|
|
39f6: b003 add sp, #12
|
|
39f8: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
39fa: 4b0a ldr r3, [pc, #40] ; (3a24 <lv_obj_realign+0x5c>)
|
|
39fc: 9300 str r3, [sp, #0]
|
|
39fe: f240 422a movw r2, #1066 ; 0x42a
|
|
3a02: 4909 ldr r1, [pc, #36] ; (3a28 <lv_obj_realign+0x60>)
|
|
3a04: 2003 movs r0, #3
|
|
3a06: 4d09 ldr r5, [pc, #36] ; (3a2c <lv_obj_realign+0x64>)
|
|
3a08: 47a8 blx r5
|
|
3a0a: 4622 mov r2, r4
|
|
3a0c: 2300 movs r3, #0
|
|
3a0e: 4808 ldr r0, [pc, #32] ; (3a30 <lv_obj_realign+0x68>)
|
|
3a10: 4908 ldr r1, [pc, #32] ; (3a34 <lv_obj_realign+0x6c>)
|
|
3a12: 4788 blx r1
|
|
3a14: e7fe b.n 3a14 <lv_obj_realign+0x4c>
|
|
3a16: bf00 nop
|
|
3a18: 00002299 .word 0x00002299
|
|
3a1c: 000036b9 .word 0x000036b9
|
|
3a20: 000035d1 .word 0x000035d1
|
|
3a24: 000244e0 .word 0x000244e0
|
|
3a28: 000247c4 .word 0x000247c4
|
|
3a2c: 00012245 .word 0x00012245
|
|
3a30: 00024824 .word 0x00024824
|
|
3a34: 000022a1 .word 0x000022a1
|
|
|
|
00003a38 <refresh_children_style>:
|
|
{
|
|
3a38: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
3a3c: 4606 mov r6, r0
|
|
lv_obj_t * child = lv_obj_get_child(obj, NULL);
|
|
3a3e: 2100 movs r1, #0
|
|
3a40: 4b0d ldr r3, [pc, #52] ; (3a78 <refresh_children_style+0x40>)
|
|
3a42: 4798 blx r3
|
|
while(child != NULL) {
|
|
3a44: b1b0 cbz r0, 3a74 <refresh_children_style+0x3c>
|
|
3a46: 4604 mov r4, r0
|
|
lv_obj_invalidate(child);
|
|
3a48: 4d0c ldr r5, [pc, #48] ; (3a7c <refresh_children_style+0x44>)
|
|
child->signal_cb(child, LV_SIGNAL_STYLE_CHG, NULL);
|
|
3a4a: f04f 0800 mov.w r8, #0
|
|
child = lv_obj_get_child(obj, child);
|
|
3a4e: 4f0a ldr r7, [pc, #40] ; (3a78 <refresh_children_style+0x40>)
|
|
lv_obj_invalidate(child);
|
|
3a50: 4620 mov r0, r4
|
|
3a52: 47a8 blx r5
|
|
child->signal_cb(child, LV_SIGNAL_STYLE_CHG, NULL);
|
|
3a54: 69e3 ldr r3, [r4, #28]
|
|
3a56: 4642 mov r2, r8
|
|
3a58: 2104 movs r1, #4
|
|
3a5a: 4620 mov r0, r4
|
|
3a5c: 4798 blx r3
|
|
lv_obj_invalidate(child);
|
|
3a5e: 4620 mov r0, r4
|
|
3a60: 47a8 blx r5
|
|
refresh_children_style(child); /*Check children too*/
|
|
3a62: 4620 mov r0, r4
|
|
3a64: f7ff ffe8 bl 3a38 <refresh_children_style>
|
|
child = lv_obj_get_child(obj, child);
|
|
3a68: 4621 mov r1, r4
|
|
3a6a: 4630 mov r0, r6
|
|
3a6c: 47b8 blx r7
|
|
while(child != NULL) {
|
|
3a6e: 4604 mov r4, r0
|
|
3a70: 2800 cmp r0, #0
|
|
3a72: d1ed bne.n 3a50 <refresh_children_style+0x18>
|
|
3a74: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
3a78: 00002dc9 .word 0x00002dc9
|
|
3a7c: 00003309 .word 0x00003309
|
|
|
|
00003a80 <lv_obj_refresh_style>:
|
|
{
|
|
3a80: b530 push {r4, r5, lr}
|
|
3a82: b083 sub sp, #12
|
|
3a84: 4605 mov r5, r0
|
|
3a86: 460c mov r4, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3a88: 4b36 ldr r3, [pc, #216] ; (3b64 <lv_obj_refresh_style+0xe4>)
|
|
3a8a: 4798 blx r3
|
|
3a8c: b198 cbz r0, 3ab6 <lv_obj_refresh_style+0x36>
|
|
switch(prop) {
|
|
3a8e: 2c71 cmp r4, #113 ; 0x71
|
|
3a90: d846 bhi.n 3b20 <lv_obj_refresh_style+0xa0>
|
|
3a92: 2c70 cmp r4, #112 ; 0x70
|
|
3a94: d223 bcs.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3a96: 2c41 cmp r4, #65 ; 0x41
|
|
3a98: d81b bhi.n 3ad2 <lv_obj_refresh_style+0x52>
|
|
3a9a: 2c40 cmp r4, #64 ; 0x40
|
|
3a9c: d21f bcs.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3a9e: 2c02 cmp r4, #2
|
|
3aa0: d305 bcc.n 3aae <lv_obj_refresh_style+0x2e>
|
|
3aa2: 2c07 cmp r4, #7
|
|
3aa4: d91b bls.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3aa6: f1a4 0310 sub.w r3, r4, #16
|
|
3aaa: 2b08 cmp r3, #8
|
|
3aac: d917 bls.n 3ade <lv_obj_refresh_style+0x5e>
|
|
lv_obj_invalidate(obj);
|
|
3aae: 4628 mov r0, r5
|
|
3ab0: 4b2d ldr r3, [pc, #180] ; (3b68 <lv_obj_refresh_style+0xe8>)
|
|
3ab2: 4798 blx r3
|
|
}
|
|
3ab4: e02f b.n 3b16 <lv_obj_refresh_style+0x96>
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3ab6: 4b2d ldr r3, [pc, #180] ; (3b6c <lv_obj_refresh_style+0xec>)
|
|
3ab8: 9300 str r3, [sp, #0]
|
|
3aba: f240 521d movw r2, #1309 ; 0x51d
|
|
3abe: 492c ldr r1, [pc, #176] ; (3b70 <lv_obj_refresh_style+0xf0>)
|
|
3ac0: 2003 movs r0, #3
|
|
3ac2: 4c2c ldr r4, [pc, #176] ; (3b74 <lv_obj_refresh_style+0xf4>)
|
|
3ac4: 47a0 blx r4
|
|
3ac6: 462a mov r2, r5
|
|
3ac8: 2300 movs r3, #0
|
|
3aca: 482b ldr r0, [pc, #172] ; (3b78 <lv_obj_refresh_style+0xf8>)
|
|
3acc: 492b ldr r1, [pc, #172] ; (3b7c <lv_obj_refresh_style+0xfc>)
|
|
3ace: 4788 blx r1
|
|
3ad0: e7fe b.n 3ad0 <lv_obj_refresh_style+0x50>
|
|
switch(prop) {
|
|
3ad2: 2c53 cmp r4, #83 ; 0x53
|
|
3ad4: d821 bhi.n 3b1a <lv_obj_refresh_style+0x9a>
|
|
3ad6: 2c50 cmp r4, #80 ; 0x50
|
|
3ad8: d201 bcs.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3ada: 2c4c cmp r4, #76 ; 0x4c
|
|
3adc: d1e7 bne.n 3aae <lv_obj_refresh_style+0x2e>
|
|
lv_obj_invalidate(obj);
|
|
3ade: 4628 mov r0, r5
|
|
3ae0: 4b21 ldr r3, [pc, #132] ; (3b68 <lv_obj_refresh_style+0xe8>)
|
|
3ae2: 4798 blx r3
|
|
obj->signal_cb(obj, LV_SIGNAL_STYLE_CHG, NULL);
|
|
3ae4: 69eb ldr r3, [r5, #28]
|
|
3ae6: 2200 movs r2, #0
|
|
3ae8: 2104 movs r1, #4
|
|
3aea: 4628 mov r0, r5
|
|
3aec: 4798 blx r3
|
|
switch(prop) {
|
|
3aee: 2c15 cmp r4, #21
|
|
3af0: d309 bcc.n 3b06 <lv_obj_refresh_style+0x86>
|
|
3af2: 2c18 cmp r4, #24
|
|
3af4: d901 bls.n 3afa <lv_obj_refresh_style+0x7a>
|
|
3af6: 2cff cmp r4, #255 ; 0xff
|
|
3af8: d105 bne.n 3b06 <lv_obj_refresh_style+0x86>
|
|
if(obj->parent) obj->parent->signal_cb(obj->parent, LV_SIGNAL_CHILD_CHG, NULL);
|
|
3afa: 6828 ldr r0, [r5, #0]
|
|
3afc: b118 cbz r0, 3b06 <lv_obj_refresh_style+0x86>
|
|
3afe: 69c3 ldr r3, [r0, #28]
|
|
3b00: 2200 movs r2, #0
|
|
3b02: 2101 movs r1, #1
|
|
3b04: 4798 blx r3
|
|
lv_obj_invalidate(obj);
|
|
3b06: 4628 mov r0, r5
|
|
3b08: 4b17 ldr r3, [pc, #92] ; (3b68 <lv_obj_refresh_style+0xe8>)
|
|
3b0a: 4798 blx r3
|
|
if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj);
|
|
3b0c: 2cff cmp r4, #255 ; 0xff
|
|
3b0e: d024 beq.n 3b5a <lv_obj_refresh_style+0xda>
|
|
3b10: f414 4f00 tst.w r4, #32768 ; 0x8000
|
|
3b14: d121 bne.n 3b5a <lv_obj_refresh_style+0xda>
|
|
}
|
|
3b16: b003 add sp, #12
|
|
3b18: bd30 pop {r4, r5, pc}
|
|
switch(prop) {
|
|
3b1a: 2c5c cmp r4, #92 ; 0x5c
|
|
3b1c: d1c7 bne.n 3aae <lv_obj_refresh_style+0x2e>
|
|
3b1e: e7de b.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3b20: 2c7f cmp r4, #127 ; 0x7f
|
|
3b22: d90c bls.n 3b3e <lv_obj_refresh_style+0xbe>
|
|
3b24: f248 0381 movw r3, #32897 ; 0x8081
|
|
3b28: 429c cmp r4, r3
|
|
3b2a: d811 bhi.n 3b50 <lv_obj_refresh_style+0xd0>
|
|
3b2c: f248 0380 movw r3, #32896 ; 0x8080
|
|
3b30: 429c cmp r4, r3
|
|
3b32: d2d4 bcs.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3b34: 2c90 cmp r4, #144 ; 0x90
|
|
3b36: d0d2 beq.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3b38: 2cff cmp r4, #255 ; 0xff
|
|
3b3a: d1b8 bne.n 3aae <lv_obj_refresh_style+0x2e>
|
|
3b3c: e7cf b.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3b3e: 2c7e cmp r4, #126 ; 0x7e
|
|
3b40: d2cd bcs.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3b42: 2c73 cmp r4, #115 ; 0x73
|
|
3b44: d3b3 bcc.n 3aae <lv_obj_refresh_style+0x2e>
|
|
3b46: 2c75 cmp r4, #117 ; 0x75
|
|
3b48: d9c9 bls.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3b4a: 2c7c cmp r4, #124 ; 0x7c
|
|
3b4c: d1af bne.n 3aae <lv_obj_refresh_style+0x2e>
|
|
3b4e: e7c6 b.n 3ade <lv_obj_refresh_style+0x5e>
|
|
3b50: f248 038e movw r3, #32910 ; 0x808e
|
|
3b54: 429c cmp r4, r3
|
|
3b56: d1aa bne.n 3aae <lv_obj_refresh_style+0x2e>
|
|
3b58: e7c1 b.n 3ade <lv_obj_refresh_style+0x5e>
|
|
if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj);
|
|
3b5a: 4628 mov r0, r5
|
|
3b5c: 4b08 ldr r3, [pc, #32] ; (3b80 <lv_obj_refresh_style+0x100>)
|
|
3b5e: 4798 blx r3
|
|
3b60: e7d9 b.n 3b16 <lv_obj_refresh_style+0x96>
|
|
3b62: bf00 nop
|
|
3b64: 00002299 .word 0x00002299
|
|
3b68: 00003309 .word 0x00003309
|
|
3b6c: 000244f0 .word 0x000244f0
|
|
3b70: 000247c4 .word 0x000247c4
|
|
3b74: 00012245 .word 0x00012245
|
|
3b78: 00024824 .word 0x00024824
|
|
3b7c: 000022a1 .word 0x000022a1
|
|
3b80: 00003a39 .word 0x00003a39
|
|
|
|
00003b84 <lv_obj_reset_style_list>:
|
|
{
|
|
3b84: b510 push {r4, lr}
|
|
3b86: 4604 mov r4, r0
|
|
lv_obj_clean_style_list(obj, part);
|
|
3b88: 4b03 ldr r3, [pc, #12] ; (3b98 <lv_obj_reset_style_list+0x14>)
|
|
3b8a: 4798 blx r3
|
|
lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL);
|
|
3b8c: 21ff movs r1, #255 ; 0xff
|
|
3b8e: 4620 mov r0, r4
|
|
3b90: 4b02 ldr r3, [pc, #8] ; (3b9c <lv_obj_reset_style_list+0x18>)
|
|
3b92: 4798 blx r3
|
|
3b94: bd10 pop {r4, pc}
|
|
3b96: bf00 nop
|
|
3b98: 000030b5 .word 0x000030b5
|
|
3b9c: 00003a81 .word 0x00003a81
|
|
|
|
00003ba0 <report_style_mod_core>:
|
|
{
|
|
3ba0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
3ba4: 4604 mov r4, r0
|
|
3ba6: 460f mov r7, r1
|
|
3ba8: 2600 movs r6, #0
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub);
|
|
3baa: f8df 8088 ldr.w r8, [pc, #136] ; 3c34 <report_style_mod_core+0x94>
|
|
void _lv_style_list_reset(lv_style_list_t * style_list);
|
|
|
|
static inline lv_style_t * lv_style_list_get_style(lv_style_list_t * list, uint8_t id)
|
|
{
|
|
if(list->has_trans && list->skip_trans) id++;
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
3bae: 4635 mov r5, r6
|
|
lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL);
|
|
3bb0: f8df 9084 ldr.w r9, [pc, #132] ; 3c38 <report_style_mod_core+0x98>
|
|
3bb4: e005 b.n 3bc2 <report_style_mod_core+0x22>
|
|
3bb6: 21ff movs r1, #255 ; 0xff
|
|
3bb8: 4638 mov r0, r7
|
|
3bba: 47c8 blx r9
|
|
3bbc: 3601 adds r6, #1
|
|
for(part_sub = 0; part_sub != _LV_OBJ_PART_REAL_LAST; part_sub++) {
|
|
3bbe: 2e40 cmp r6, #64 ; 0x40
|
|
3bc0: d022 beq.n 3c08 <report_style_mod_core+0x68>
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub);
|
|
3bc2: b2f1 uxtb r1, r6
|
|
3bc4: 4638 mov r0, r7
|
|
3bc6: 47c0 blx r8
|
|
if(dsc == NULL) break;
|
|
3bc8: 4686 mov lr, r0
|
|
3bca: b1e8 cbz r0, 3c08 <report_style_mod_core+0x68>
|
|
for(ci = 0; ci < dsc->style_cnt; ci++) {
|
|
3bcc: 7901 ldrb r1, [r0, #4]
|
|
3bce: 2900 cmp r1, #0
|
|
3bd0: d0f4 beq.n 3bbc <report_style_mod_core+0x1c>
|
|
if(list->has_trans && list->skip_trans) id++;
|
|
3bd2: f890 c005 ldrb.w ip, [r0, #5]
|
|
3bd6: f00c 0c06 and.w ip, ip, #6
|
|
3bda: 2300 movs r3, #0
|
|
3bdc: b2da uxtb r2, r3
|
|
3bde: f1bc 0f06 cmp.w ip, #6
|
|
3be2: bf04 itt eq
|
|
3be4: 3201 addeq r2, #1
|
|
3be6: b2d2 uxtbeq r2, r2
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
3be8: 428a cmp r2, r1
|
|
return list->style_list[id];
|
|
3bea: bf3a itte cc
|
|
3bec: f8de 0000 ldrcc.w r0, [lr]
|
|
3bf0: f850 2022 ldrcc.w r2, [r0, r2, lsl #2]
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
3bf4: 462a movcs r2, r5
|
|
if(class == style || style == NULL) {
|
|
3bf6: 4294 cmp r4, r2
|
|
3bf8: d0dd beq.n 3bb6 <report_style_mod_core+0x16>
|
|
3bfa: 2c00 cmp r4, #0
|
|
3bfc: d0db beq.n 3bb6 <report_style_mod_core+0x16>
|
|
3bfe: 3301 adds r3, #1
|
|
for(ci = 0; ci < dsc->style_cnt; ci++) {
|
|
3c00: b2da uxtb r2, r3
|
|
3c02: 428a cmp r2, r1
|
|
3c04: d3ea bcc.n 3bdc <report_style_mod_core+0x3c>
|
|
3c06: e7d9 b.n 3bbc <report_style_mod_core+0x1c>
|
|
lv_obj_t * child = lv_obj_get_child(obj, NULL);
|
|
3c08: 2100 movs r1, #0
|
|
3c0a: 4638 mov r0, r7
|
|
3c0c: 4b08 ldr r3, [pc, #32] ; (3c30 <report_style_mod_core+0x90>)
|
|
3c0e: 4798 blx r3
|
|
while(child) {
|
|
3c10: 4605 mov r5, r0
|
|
3c12: b150 cbz r0, 3c2a <report_style_mod_core+0x8a>
|
|
child = lv_obj_get_child(obj, child);
|
|
3c14: 4e06 ldr r6, [pc, #24] ; (3c30 <report_style_mod_core+0x90>)
|
|
report_style_mod_core(style, child);
|
|
3c16: 4629 mov r1, r5
|
|
3c18: 4620 mov r0, r4
|
|
3c1a: f7ff ffc1 bl 3ba0 <report_style_mod_core>
|
|
child = lv_obj_get_child(obj, child);
|
|
3c1e: 4629 mov r1, r5
|
|
3c20: 4638 mov r0, r7
|
|
3c22: 47b0 blx r6
|
|
while(child) {
|
|
3c24: 4605 mov r5, r0
|
|
3c26: 2800 cmp r0, #0
|
|
3c28: d1f5 bne.n 3c16 <report_style_mod_core+0x76>
|
|
3c2a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
3c2e: bf00 nop
|
|
3c30: 00002dc9 .word 0x00002dc9
|
|
3c34: 00002fe5 .word 0x00002fe5
|
|
3c38: 00003a81 .word 0x00003a81
|
|
|
|
00003c3c <lv_obj_report_style_mod>:
|
|
{
|
|
3c3c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
3c40: 4680 mov r8, r0
|
|
lv_disp_t * d = lv_disp_get_next(NULL);
|
|
3c42: 2000 movs r0, #0
|
|
3c44: 4b0f ldr r3, [pc, #60] ; (3c84 <lv_obj_report_style_mod+0x48>)
|
|
3c46: 4798 blx r3
|
|
while(d) {
|
|
3c48: b1c8 cbz r0, 3c7e <lv_obj_report_style_mod+0x42>
|
|
3c4a: 4681 mov r9, r0
|
|
_LV_LL_READ(d->scr_ll, i) {
|
|
3c4c: f8df a040 ldr.w sl, [pc, #64] ; 3c90 <lv_obj_report_style_mod+0x54>
|
|
report_style_mod_core(style, i);
|
|
3c50: 4f0d ldr r7, [pc, #52] ; (3c88 <lv_obj_report_style_mod+0x4c>)
|
|
_LV_LL_READ(d->scr_ll, i) {
|
|
3c52: 4e0e ldr r6, [pc, #56] ; (3c8c <lv_obj_report_style_mod+0x50>)
|
|
3c54: f109 0530 add.w r5, r9, #48 ; 0x30
|
|
3c58: 4628 mov r0, r5
|
|
3c5a: 47d0 blx sl
|
|
3c5c: 4604 mov r4, r0
|
|
3c5e: b140 cbz r0, 3c72 <lv_obj_report_style_mod+0x36>
|
|
report_style_mod_core(style, i);
|
|
3c60: 4621 mov r1, r4
|
|
3c62: 4640 mov r0, r8
|
|
3c64: 47b8 blx r7
|
|
_LV_LL_READ(d->scr_ll, i) {
|
|
3c66: 4621 mov r1, r4
|
|
3c68: 4628 mov r0, r5
|
|
3c6a: 47b0 blx r6
|
|
3c6c: 4604 mov r4, r0
|
|
3c6e: 2800 cmp r0, #0
|
|
3c70: d1f6 bne.n 3c60 <lv_obj_report_style_mod+0x24>
|
|
d = lv_disp_get_next(d);
|
|
3c72: 4648 mov r0, r9
|
|
3c74: 4b03 ldr r3, [pc, #12] ; (3c84 <lv_obj_report_style_mod+0x48>)
|
|
3c76: 4798 blx r3
|
|
while(d) {
|
|
3c78: 4681 mov r9, r0
|
|
3c7a: 2800 cmp r0, #0
|
|
3c7c: d1ea bne.n 3c54 <lv_obj_report_style_mod+0x18>
|
|
3c7e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
3c82: bf00 nop
|
|
3c84: 00010fa1 .word 0x00010fa1
|
|
3c88: 00003ba1 .word 0x00003ba1
|
|
3c8c: 00011fa5 .word 0x00011fa5
|
|
3c90: 00011f91 .word 0x00011f91
|
|
|
|
00003c94 <trans_anim_cb>:
|
|
{
|
|
3c94: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
3c96: 4604 mov r4, r0
|
|
3c98: 460d mov r5, r1
|
|
lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part);
|
|
3c9a: 7981 ldrb r1, [r0, #6]
|
|
3c9c: 6800 ldr r0, [r0, #0]
|
|
3c9e: 4b42 ldr r3, [pc, #264] ; (3da8 <trans_anim_cb+0x114>)
|
|
3ca0: 4798 blx r3
|
|
lv_style_t * style = _lv_style_list_get_transition_style(list);
|
|
3ca2: 4b42 ldr r3, [pc, #264] ; (3dac <trans_anim_cb+0x118>)
|
|
3ca4: 4798 blx r3
|
|
if((tr->prop & 0xF) < LV_STYLE_ID_COLOR) { /*Value*/
|
|
3ca6: 88a1 ldrh r1, [r4, #4]
|
|
3ca8: f001 030f and.w r3, r1, #15
|
|
3cac: 2b08 cmp r3, #8
|
|
3cae: dc19 bgt.n 3ce4 <trans_anim_cb+0x50>
|
|
if(v == 0) x = tr->start_value._int;
|
|
3cb0: b945 cbnz r5, 3cc4 <trans_anim_cb+0x30>
|
|
3cb2: f9b4 2008 ldrsh.w r2, [r4, #8]
|
|
_lv_style_set_int(style, tr->prop, x);
|
|
3cb6: 4b3e ldr r3, [pc, #248] ; (3db0 <trans_anim_cb+0x11c>)
|
|
3cb8: 4798 blx r3
|
|
lv_obj_refresh_style(tr->obj, tr->prop);
|
|
3cba: 88a1 ldrh r1, [r4, #4]
|
|
3cbc: 6820 ldr r0, [r4, #0]
|
|
3cbe: 4b3d ldr r3, [pc, #244] ; (3db4 <trans_anim_cb+0x120>)
|
|
3cc0: 4798 blx r3
|
|
3cc2: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
else if(v == 255) x = tr->end_value._int;
|
|
3cc4: 2dff cmp r5, #255 ; 0xff
|
|
3cc6: d00a beq.n 3cde <trans_anim_cb+0x4a>
|
|
else x = tr->start_value._int + ((int32_t)((int32_t)(tr->end_value._int - tr->start_value._int) * v) >> 8);
|
|
3cc8: f9b4 2008 ldrsh.w r2, [r4, #8]
|
|
3ccc: f9b4 300c ldrsh.w r3, [r4, #12]
|
|
3cd0: 1a9b subs r3, r3, r2
|
|
3cd2: fb05 f503 mul.w r5, r5, r3
|
|
3cd6: eb02 2225 add.w r2, r2, r5, asr #8
|
|
3cda: b212 sxth r2, r2
|
|
3cdc: e7eb b.n 3cb6 <trans_anim_cb+0x22>
|
|
else if(v == 255) x = tr->end_value._int;
|
|
3cde: f9b4 200c ldrsh.w r2, [r4, #12]
|
|
3ce2: e7e8 b.n 3cb6 <trans_anim_cb+0x22>
|
|
else if((tr->prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/
|
|
3ce4: 2b0b cmp r3, #11
|
|
3ce6: dc43 bgt.n 3d70 <trans_anim_cb+0xdc>
|
|
if(v <= 0) x = tr->start_value._color;
|
|
3ce8: 2d00 cmp r5, #0
|
|
3cea: dd05 ble.n 3cf8 <trans_anim_cb+0x64>
|
|
else if(v >= 255) x = tr->end_value._color;
|
|
3cec: 2dfe cmp r5, #254 ; 0xfe
|
|
3cee: dd05 ble.n 3cfc <trans_anim_cb+0x68>
|
|
3cf0: 89a2 ldrh r2, [r4, #12]
|
|
_lv_style_set_color(style, tr->prop, x);
|
|
3cf2: 4b31 ldr r3, [pc, #196] ; (3db8 <trans_anim_cb+0x124>)
|
|
3cf4: 4798 blx r3
|
|
3cf6: e7e0 b.n 3cba <trans_anim_cb+0x26>
|
|
if(v <= 0) x = tr->start_value._color;
|
|
3cf8: 8922 ldrh r2, [r4, #8]
|
|
3cfa: e7fa b.n 3cf2 <trans_anim_cb+0x5e>
|
|
LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix)
|
|
{
|
|
lv_color_t ret;
|
|
#if LV_COLOR_DEPTH != 1
|
|
/*LV_COLOR_DEPTH == 8, 16 or 32*/
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
3cfc: b2ed uxtb r5, r5
|
|
3cfe: f1c5 02ff rsb r2, r5, #255 ; 0xff
|
|
3d02: 7b63 ldrb r3, [r4, #13]
|
|
3d04: 08db lsrs r3, r3, #3
|
|
3d06: 7a66 ldrb r6, [r4, #9]
|
|
3d08: 08f6 lsrs r6, r6, #3
|
|
3d0a: fb02 f606 mul.w r6, r2, r6
|
|
3d0e: fb05 6303 mla r3, r5, r3, r6
|
|
3d12: eb03 2703 add.w r7, r3, r3, lsl #8
|
|
3d16: eb03 13c7 add.w r3, r3, r7, lsl #7
|
|
3d1a: f3c3 57c4 ubfx r7, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
3d1e: 89a3 ldrh r3, [r4, #12]
|
|
3d20: f3c3 1345 ubfx r3, r3, #5, #6
|
|
3d24: 8926 ldrh r6, [r4, #8]
|
|
3d26: f3c6 1645 ubfx r6, r6, #5, #6
|
|
3d2a: fb02 f606 mul.w r6, r2, r6
|
|
3d2e: fb05 6303 mla r3, r5, r3, r6
|
|
3d32: eb03 2603 add.w r6, r3, r3, lsl #8
|
|
3d36: eb03 13c6 add.w r3, r3, r6, lsl #7
|
|
3d3a: f3c3 56c5 ubfx r6, r3, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
3d3e: 7b23 ldrb r3, [r4, #12]
|
|
3d40: f003 031f and.w r3, r3, #31
|
|
3d44: f894 e008 ldrb.w lr, [r4, #8]
|
|
3d48: f00e 0e1f and.w lr, lr, #31
|
|
3d4c: fb02 f20e mul.w r2, r2, lr
|
|
3d50: fb05 2503 mla r5, r5, r3, r2
|
|
3d54: eb05 2305 add.w r3, r5, r5, lsl #8
|
|
3d58: eb05 15c3 add.w r5, r5, r3, lsl #7
|
|
3d5c: 0ded lsrs r5, r5, #23
|
|
3d5e: f04f 0200 mov.w r2, #0
|
|
3d62: f365 0204 bfi r2, r5, #0, #5
|
|
3d66: f366 124a bfi r2, r6, #5, #6
|
|
3d6a: f367 22cf bfi r2, r7, #11, #5
|
|
3d6e: e7c0 b.n 3cf2 <trans_anim_cb+0x5e>
|
|
else if((tr->prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/
|
|
3d70: 2b0d cmp r3, #13
|
|
3d72: dc12 bgt.n 3d9a <trans_anim_cb+0x106>
|
|
if(v <= 0) x = tr->start_value._opa;
|
|
3d74: 2d00 cmp r5, #0
|
|
3d76: dd05 ble.n 3d84 <trans_anim_cb+0xf0>
|
|
else if(v >= 255) x = tr->end_value._opa;
|
|
3d78: 2dfe cmp r5, #254 ; 0xfe
|
|
3d7a: dd05 ble.n 3d88 <trans_anim_cb+0xf4>
|
|
3d7c: 7b22 ldrb r2, [r4, #12]
|
|
_lv_style_set_opa(style, tr->prop, x);
|
|
3d7e: 4b0f ldr r3, [pc, #60] ; (3dbc <trans_anim_cb+0x128>)
|
|
3d80: 4798 blx r3
|
|
3d82: e79a b.n 3cba <trans_anim_cb+0x26>
|
|
if(v <= 0) x = tr->start_value._opa;
|
|
3d84: 7a22 ldrb r2, [r4, #8]
|
|
3d86: e7fa b.n 3d7e <trans_anim_cb+0xea>
|
|
else x = tr->start_value._opa + (((tr->end_value._opa - tr->start_value._opa) * v) >> 8);
|
|
3d88: 7a22 ldrb r2, [r4, #8]
|
|
3d8a: 7b23 ldrb r3, [r4, #12]
|
|
3d8c: 1a9b subs r3, r3, r2
|
|
3d8e: fb05 f503 mul.w r5, r5, r3
|
|
3d92: eb02 2225 add.w r2, r2, r5, asr #8
|
|
3d96: b2d2 uxtb r2, r2
|
|
3d98: e7f1 b.n 3d7e <trans_anim_cb+0xea>
|
|
if(v < 128) x = tr->start_value._ptr;
|
|
3d9a: 2d7f cmp r5, #127 ; 0x7f
|
|
3d9c: bfd4 ite le
|
|
3d9e: 68a2 ldrle r2, [r4, #8]
|
|
else x = tr->end_value._ptr;
|
|
3da0: 68e2 ldrgt r2, [r4, #12]
|
|
_lv_style_set_ptr(style, tr->prop, x);
|
|
3da2: 4b07 ldr r3, [pc, #28] ; (3dc0 <trans_anim_cb+0x12c>)
|
|
3da4: 4798 blx r3
|
|
3da6: e788 b.n 3cba <trans_anim_cb+0x26>
|
|
3da8: 00002fe5 .word 0x00002fe5
|
|
3dac: 000070cf .word 0x000070cf
|
|
3db0: 000068c9 .word 0x000068c9
|
|
3db4: 00003a81 .word 0x00003a81
|
|
3db8: 00006a0d .word 0x00006a0d
|
|
3dbc: 00006b51 .word 0x00006b51
|
|
3dc0: 00006c81 .word 0x00006c81
|
|
|
|
00003dc4 <lv_obj_get_base_dir>:
|
|
{
|
|
3dc4: b530 push {r4, r5, lr}
|
|
3dc6: b083 sub sp, #12
|
|
3dc8: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3dca: 4b0a ldr r3, [pc, #40] ; (3df4 <lv_obj_get_base_dir+0x30>)
|
|
3dcc: 4798 blx r3
|
|
3dce: b110 cbz r0, 3dd6 <lv_obj_get_base_dir+0x12>
|
|
}
|
|
3dd0: 2000 movs r0, #0
|
|
3dd2: b003 add sp, #12
|
|
3dd4: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
3dd6: 4b08 ldr r3, [pc, #32] ; (3df8 <lv_obj_get_base_dir+0x34>)
|
|
3dd8: 9300 str r3, [sp, #0]
|
|
3dda: f640 22b1 movw r2, #2737 ; 0xab1
|
|
3dde: 4907 ldr r1, [pc, #28] ; (3dfc <lv_obj_get_base_dir+0x38>)
|
|
3de0: 2003 movs r0, #3
|
|
3de2: 4d07 ldr r5, [pc, #28] ; (3e00 <lv_obj_get_base_dir+0x3c>)
|
|
3de4: 47a8 blx r5
|
|
3de6: 4622 mov r2, r4
|
|
3de8: 2300 movs r3, #0
|
|
3dea: 4806 ldr r0, [pc, #24] ; (3e04 <lv_obj_get_base_dir+0x40>)
|
|
3dec: 4906 ldr r1, [pc, #24] ; (3e08 <lv_obj_get_base_dir+0x44>)
|
|
3dee: 4788 blx r1
|
|
3df0: e7fe b.n 3df0 <lv_obj_get_base_dir+0x2c>
|
|
3df2: bf00 nop
|
|
3df4: 00002299 .word 0x00002299
|
|
3df8: 000245c0 .word 0x000245c0
|
|
3dfc: 000247c4 .word 0x000247c4
|
|
3e00: 00012245 .word 0x00012245
|
|
3e04: 00024824 .word 0x00024824
|
|
3e08: 000022a1 .word 0x000022a1
|
|
|
|
00003e0c <lv_obj_create>:
|
|
{
|
|
3e0c: b5f0 push {r4, r5, r6, r7, lr}
|
|
3e0e: b083 sub sp, #12
|
|
3e10: 460d mov r5, r1
|
|
if(parent == NULL) {
|
|
3e12: 4606 mov r6, r0
|
|
3e14: b188 cbz r0, 3e3a <lv_obj_create+0x2e>
|
|
LV_ASSERT_OBJ(parent, LV_OBJX_NAME);
|
|
3e16: 4b9d ldr r3, [pc, #628] ; (408c <lv_obj_create+0x280>)
|
|
3e18: 4798 blx r3
|
|
3e1a: 2800 cmp r0, #0
|
|
3e1c: f040 8164 bne.w 40e8 <lv_obj_create+0x2dc>
|
|
3e20: 4b9b ldr r3, [pc, #620] ; (4090 <lv_obj_create+0x284>)
|
|
3e22: 9300 str r3, [sp, #0]
|
|
3e24: 22ed movs r2, #237 ; 0xed
|
|
3e26: 499b ldr r1, [pc, #620] ; (4094 <lv_obj_create+0x288>)
|
|
3e28: 2003 movs r0, #3
|
|
3e2a: 4c9b ldr r4, [pc, #620] ; (4098 <lv_obj_create+0x28c>)
|
|
3e2c: 47a0 blx r4
|
|
3e2e: 4632 mov r2, r6
|
|
3e30: 2300 movs r3, #0
|
|
3e32: 489a ldr r0, [pc, #616] ; (409c <lv_obj_create+0x290>)
|
|
3e34: 499a ldr r1, [pc, #616] ; (40a0 <lv_obj_create+0x294>)
|
|
3e36: 4788 blx r1
|
|
3e38: e7fe b.n 3e38 <lv_obj_create+0x2c>
|
|
lv_disp_t * disp = lv_disp_get_default();
|
|
3e3a: 4b9a ldr r3, [pc, #616] ; (40a4 <lv_obj_create+0x298>)
|
|
3e3c: 4798 blx r3
|
|
if(!disp) {
|
|
3e3e: b948 cbnz r0, 3e54 <lv_obj_create+0x48>
|
|
LV_LOG_WARN("lv_obj_create: not display created to so far. No place to assign the new screen");
|
|
3e40: 4b99 ldr r3, [pc, #612] ; (40a8 <lv_obj_create+0x29c>)
|
|
3e42: 9300 str r3, [sp, #0]
|
|
3e44: 4b92 ldr r3, [pc, #584] ; (4090 <lv_obj_create+0x284>)
|
|
3e46: 22cf movs r2, #207 ; 0xcf
|
|
3e48: 4992 ldr r1, [pc, #584] ; (4094 <lv_obj_create+0x288>)
|
|
3e4a: 2002 movs r0, #2
|
|
3e4c: 4c92 ldr r4, [pc, #584] ; (4098 <lv_obj_create+0x28c>)
|
|
3e4e: 47a0 blx r4
|
|
return NULL;
|
|
3e50: 4634 mov r4, r6
|
|
3e52: e1f5 b.n 4240 <lv_obj_create+0x434>
|
|
new_obj = _lv_ll_ins_head(&disp->scr_ll);
|
|
3e54: 3030 adds r0, #48 ; 0x30
|
|
3e56: 4b95 ldr r3, [pc, #596] ; (40ac <lv_obj_create+0x2a0>)
|
|
3e58: 4798 blx r3
|
|
3e5a: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(new_obj);
|
|
3e5c: 4b8b ldr r3, [pc, #556] ; (408c <lv_obj_create+0x280>)
|
|
3e5e: 4798 blx r3
|
|
3e60: b960 cbnz r0, 3e7c <lv_obj_create+0x70>
|
|
3e62: 4b8b ldr r3, [pc, #556] ; (4090 <lv_obj_create+0x284>)
|
|
3e64: 9300 str r3, [sp, #0]
|
|
3e66: 22d4 movs r2, #212 ; 0xd4
|
|
3e68: 498a ldr r1, [pc, #552] ; (4094 <lv_obj_create+0x288>)
|
|
3e6a: 2003 movs r0, #3
|
|
3e6c: 4d8a ldr r5, [pc, #552] ; (4098 <lv_obj_create+0x28c>)
|
|
3e6e: 47a8 blx r5
|
|
3e70: 4622 mov r2, r4
|
|
3e72: 2300 movs r3, #0
|
|
3e74: 488e ldr r0, [pc, #568] ; (40b0 <lv_obj_create+0x2a4>)
|
|
3e76: 498a ldr r1, [pc, #552] ; (40a0 <lv_obj_create+0x294>)
|
|
3e78: 4788 blx r1
|
|
3e7a: e7fe b.n 3e7a <lv_obj_create+0x6e>
|
|
if(new_obj == NULL) return NULL;
|
|
3e7c: 2c00 cmp r4, #0
|
|
3e7e: f000 81df beq.w 4240 <lv_obj_create+0x434>
|
|
_lv_memset_00(new_obj, sizeof(lv_obj_t));
|
|
3e82: 214c movs r1, #76 ; 0x4c
|
|
3e84: 4620 mov r0, r4
|
|
3e86: 4b8b ldr r3, [pc, #556] ; (40b4 <lv_obj_create+0x2a8>)
|
|
3e88: 4798 blx r3
|
|
new_obj->base_dir = LV_BIDI_DIR_LTR;
|
|
3e8a: f894 3035 ldrb.w r3, [r4, #53] ; 0x35
|
|
3e8e: f36f 1305 bfc r3, #4, #2
|
|
3e92: f884 3035 strb.w r3, [r4, #53] ; 0x35
|
|
new_obj->signal_cb = lv_obj_signal;
|
|
3e96: 4b88 ldr r3, [pc, #544] ; (40b8 <lv_obj_create+0x2ac>)
|
|
3e98: 61e3 str r3, [r4, #28]
|
|
new_obj->design_cb = lv_obj_design;
|
|
3e9a: 4b88 ldr r3, [pc, #544] ; (40bc <lv_obj_create+0x2b0>)
|
|
3e9c: 6223 str r3, [r4, #32]
|
|
new_obj->event_cb = NULL;
|
|
3e9e: 2700 movs r7, #0
|
|
3ea0: 61a7 str r7, [r4, #24]
|
|
new_obj->coords.x1 = 0;
|
|
3ea2: 8227 strh r7, [r4, #16]
|
|
new_obj->coords.y1 = 0;
|
|
3ea4: 8267 strh r7, [r4, #18]
|
|
new_obj->coords.x2 = lv_disp_get_hor_res(NULL) - 1;
|
|
3ea6: 4638 mov r0, r7
|
|
3ea8: 4b85 ldr r3, [pc, #532] ; (40c0 <lv_obj_create+0x2b4>)
|
|
3eaa: 4798 blx r3
|
|
3eac: 3801 subs r0, #1
|
|
3eae: 82a0 strh r0, [r4, #20]
|
|
new_obj->coords.y2 = lv_disp_get_ver_res(NULL) - 1;
|
|
3eb0: 4638 mov r0, r7
|
|
3eb2: 4b84 ldr r3, [pc, #528] ; (40c4 <lv_obj_create+0x2b8>)
|
|
3eb4: 4798 blx r3
|
|
3eb6: 3801 subs r0, #1
|
|
3eb8: 82e0 strh r0, [r4, #22]
|
|
_lv_ll_init(&(new_obj->child_ll), sizeof(lv_obj_t));
|
|
3eba: 214c movs r1, #76 ; 0x4c
|
|
3ebc: 1d20 adds r0, r4, #4
|
|
3ebe: 4b82 ldr r3, [pc, #520] ; (40c8 <lv_obj_create+0x2bc>)
|
|
3ec0: 4798 blx r3
|
|
new_obj->ext_draw_pad = 0;
|
|
3ec2: 2300 movs r3, #0
|
|
3ec4: 8663 strh r3, [r4, #50] ; 0x32
|
|
new_obj->ext_click_pad_hor = 0;
|
|
3ec6: f884 3030 strb.w r3, [r4, #48] ; 0x30
|
|
new_obj->ext_click_pad_ver = 0;
|
|
3eca: f884 3031 strb.w r3, [r4, #49] ; 0x31
|
|
new_obj->realign.align = LV_ALIGN_CENTER;
|
|
3ece: f884 3048 strb.w r3, [r4, #72] ; 0x48
|
|
new_obj->realign.xofs = 0;
|
|
3ed2: f8a4 3044 strh.w r3, [r4, #68] ; 0x44
|
|
new_obj->realign.yofs = 0;
|
|
3ed6: f8a4 3046 strh.w r3, [r4, #70] ; 0x46
|
|
new_obj->realign.base = NULL;
|
|
3eda: 6423 str r3, [r4, #64] ; 0x40
|
|
new_obj->realign.auto_realign = 0;
|
|
3edc: f894 2049 ldrb.w r2, [r4, #73] ; 0x49
|
|
3ee0: f363 0200 bfi r2, r3, #0, #1
|
|
3ee4: f884 2049 strb.w r2, [r4, #73] ; 0x49
|
|
new_obj->group_p = NULL;
|
|
3ee8: 63a3 str r3, [r4, #56] ; 0x38
|
|
new_obj->adv_hittest = 0;
|
|
3eea: f894 2034 ldrb.w r2, [r4, #52] ; 0x34
|
|
new_obj->click = 1;
|
|
3eee: f002 027f and.w r2, r2, #127 ; 0x7f
|
|
new_obj->drag = 0;
|
|
3ef2: f042 0201 orr.w r2, r2, #1
|
|
new_obj->drag_dir = LV_DRAG_DIR_BOTH;
|
|
3ef6: f894 1035 ldrb.w r1, [r4, #53] ; 0x35
|
|
3efa: 2003 movs r0, #3
|
|
3efc: f360 0143 bfi r1, r0, #1, #3
|
|
new_obj->protect = LV_PROTECT_NONE;
|
|
3f00: f884 303c strb.w r3, [r4, #60] ; 0x3c
|
|
new_obj->parent_event = 0;
|
|
3f04: f002 02c1 and.w r2, r2, #193 ; 0xc1
|
|
3f08: f363 1286 bfi r2, r3, #6, #1
|
|
3f0c: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->gesture_parent = 1;
|
|
3f10: f041 0101 orr.w r1, r1, #1
|
|
3f14: f884 1035 strb.w r1, [r4, #53] ; 0x35
|
|
new_obj->state = LV_STATE_DEFAULT;
|
|
3f18: f884 303d strb.w r3, [r4, #61] ; 0x3d
|
|
new_obj->ext_attr = NULL;
|
|
3f1c: 6263 str r3, [r4, #36] ; 0x24
|
|
lv_style_list_init(&new_obj->style_list);
|
|
3f1e: f104 0728 add.w r7, r4, #40 ; 0x28
|
|
3f22: 4638 mov r0, r7
|
|
3f24: 4b69 ldr r3, [pc, #420] ; (40cc <lv_obj_create+0x2c0>)
|
|
3f26: 4798 blx r3
|
|
if(copy == NULL) {
|
|
3f28: 2d00 cmp r5, #0
|
|
3f2a: f000 816c beq.w 4206 <lv_obj_create+0x3fa>
|
|
lv_style_list_copy(&new_obj->style_list, ©->style_list);
|
|
3f2e: f105 0128 add.w r1, r5, #40 ; 0x28
|
|
3f32: 4638 mov r0, r7
|
|
3f34: 4b66 ldr r3, [pc, #408] ; (40d0 <lv_obj_create+0x2c4>)
|
|
3f36: 4798 blx r3
|
|
3f38: f105 020f add.w r2, r5, #15
|
|
3f3c: f104 0118 add.w r1, r4, #24
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
3f40: f104 0310 add.w r3, r4, #16
|
|
*d8 = *s8;
|
|
3f44: f812 0f01 ldrb.w r0, [r2, #1]!
|
|
3f48: f803 0b01 strb.w r0, [r3], #1
|
|
while(len) {
|
|
3f4c: 428b cmp r3, r1
|
|
3f4e: d1f9 bne.n 3f44 <lv_obj_create+0x138>
|
|
new_obj->ext_draw_pad = copy->ext_draw_pad;
|
|
3f50: f9b5 3032 ldrsh.w r3, [r5, #50] ; 0x32
|
|
3f54: 8663 strh r3, [r4, #50] ; 0x32
|
|
new_obj->ext_click_pad_hor = copy->ext_click_pad_hor;
|
|
3f56: f895 3030 ldrb.w r3, [r5, #48] ; 0x30
|
|
3f5a: f884 3030 strb.w r3, [r4, #48] ; 0x30
|
|
new_obj->ext_click_pad_ver = copy->ext_click_pad_ver;
|
|
3f5e: f895 3031 ldrb.w r3, [r5, #49] ; 0x31
|
|
3f62: f884 3031 strb.w r3, [r4, #49] ; 0x31
|
|
new_obj->realign.align = copy->realign.align;
|
|
3f66: f895 3048 ldrb.w r3, [r5, #72] ; 0x48
|
|
3f6a: f884 3048 strb.w r3, [r4, #72] ; 0x48
|
|
new_obj->realign.xofs = copy->realign.xofs;
|
|
3f6e: f9b5 3044 ldrsh.w r3, [r5, #68] ; 0x44
|
|
3f72: f8a4 3044 strh.w r3, [r4, #68] ; 0x44
|
|
new_obj->realign.yofs = copy->realign.yofs;
|
|
3f76: f9b5 3046 ldrsh.w r3, [r5, #70] ; 0x46
|
|
3f7a: f8a4 3046 strh.w r3, [r4, #70] ; 0x46
|
|
new_obj->realign.base = copy->realign.base;
|
|
3f7e: 6c2b ldr r3, [r5, #64] ; 0x40
|
|
3f80: 6423 str r3, [r4, #64] ; 0x40
|
|
new_obj->realign.auto_realign = copy->realign.auto_realign;
|
|
3f82: f895 2049 ldrb.w r2, [r5, #73] ; 0x49
|
|
3f86: f894 3049 ldrb.w r3, [r4, #73] ; 0x49
|
|
3f8a: f362 0300 bfi r3, r2, #0, #1
|
|
3f8e: f884 3049 strb.w r3, [r4, #73] ; 0x49
|
|
new_obj->event_cb = copy->event_cb;
|
|
3f92: 69ab ldr r3, [r5, #24]
|
|
3f94: 61a3 str r3, [r4, #24]
|
|
new_obj->adv_hittest = copy->adv_hittest;
|
|
3f96: f895 3034 ldrb.w r3, [r5, #52] ; 0x34
|
|
3f9a: 09db lsrs r3, r3, #7
|
|
3f9c: f894 2034 ldrb.w r2, [r4, #52] ; 0x34
|
|
3fa0: f363 12c7 bfi r2, r3, #7, #1
|
|
3fa4: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->click = copy->click;
|
|
3fa8: f895 2034 ldrb.w r2, [r5, #52] ; 0x34
|
|
3fac: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
3fb0: f362 0300 bfi r3, r2, #0, #1
|
|
3fb4: f884 3034 strb.w r3, [r4, #52] ; 0x34
|
|
new_obj->drag = copy->drag;
|
|
3fb8: f895 3034 ldrb.w r3, [r5, #52] ; 0x34
|
|
3fbc: f3c3 0340 ubfx r3, r3, #1, #1
|
|
3fc0: f894 2034 ldrb.w r2, [r4, #52] ; 0x34
|
|
3fc4: f363 0241 bfi r2, r3, #1, #1
|
|
3fc8: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->drag_dir = copy->drag_dir;
|
|
3fcc: f895 3035 ldrb.w r3, [r5, #53] ; 0x35
|
|
3fd0: f3c3 0342 ubfx r3, r3, #1, #3
|
|
3fd4: f894 2035 ldrb.w r2, [r4, #53] ; 0x35
|
|
3fd8: f363 0243 bfi r2, r3, #1, #3
|
|
3fdc: f884 2035 strb.w r2, [r4, #53] ; 0x35
|
|
new_obj->drag_throw = copy->drag_throw;
|
|
3fe0: f895 3034 ldrb.w r3, [r5, #52] ; 0x34
|
|
3fe4: f3c3 0380 ubfx r3, r3, #2, #1
|
|
3fe8: f894 2034 ldrb.w r2, [r4, #52] ; 0x34
|
|
3fec: f363 0282 bfi r2, r3, #2, #1
|
|
3ff0: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->drag_parent = copy->drag_parent;
|
|
3ff4: f895 3034 ldrb.w r3, [r5, #52] ; 0x34
|
|
3ff8: f3c3 03c0 ubfx r3, r3, #3, #1
|
|
3ffc: b2d2 uxtb r2, r2
|
|
3ffe: f363 02c3 bfi r2, r3, #3, #1
|
|
4002: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->hidden = copy->hidden;
|
|
4006: f895 3034 ldrb.w r3, [r5, #52] ; 0x34
|
|
400a: f3c3 1300 ubfx r3, r3, #4, #1
|
|
400e: b2d2 uxtb r2, r2
|
|
4010: f363 1204 bfi r2, r3, #4, #1
|
|
4014: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->top = copy->top;
|
|
4018: f895 3034 ldrb.w r3, [r5, #52] ; 0x34
|
|
401c: f3c3 1340 ubfx r3, r3, #5, #1
|
|
4020: b2d2 uxtb r2, r2
|
|
4022: f363 1245 bfi r2, r3, #5, #1
|
|
4026: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->parent_event = copy->parent_event;
|
|
402a: f895 3034 ldrb.w r3, [r5, #52] ; 0x34
|
|
402e: f3c3 1380 ubfx r3, r3, #6, #1
|
|
4032: b2d2 uxtb r2, r2
|
|
4034: f363 1286 bfi r2, r3, #6, #1
|
|
4038: f884 2034 strb.w r2, [r4, #52] ; 0x34
|
|
new_obj->protect = copy->protect;
|
|
403c: f895 303c ldrb.w r3, [r5, #60] ; 0x3c
|
|
4040: f884 303c strb.w r3, [r4, #60] ; 0x3c
|
|
new_obj->gesture_parent = copy->gesture_parent;
|
|
4044: f895 2035 ldrb.w r2, [r5, #53] ; 0x35
|
|
4048: f894 3035 ldrb.w r3, [r4, #53] ; 0x35
|
|
404c: f362 0300 bfi r3, r2, #0, #1
|
|
4050: f884 3035 strb.w r3, [r4, #53] ; 0x35
|
|
if(copy->group_p != NULL) {
|
|
4054: 6ba8 ldr r0, [r5, #56] ; 0x38
|
|
4056: b110 cbz r0, 405e <lv_obj_create+0x252>
|
|
lv_group_add_obj(copy->group_p, new_obj);
|
|
4058: 4621 mov r1, r4
|
|
405a: 4b1e ldr r3, [pc, #120] ; (40d4 <lv_obj_create+0x2c8>)
|
|
405c: 4798 blx r3
|
|
if(lv_obj_get_parent(copy) != NULL && parent != NULL) {
|
|
405e: 4628 mov r0, r5
|
|
4060: 4b1d ldr r3, [pc, #116] ; (40d8 <lv_obj_create+0x2cc>)
|
|
4062: 4798 blx r3
|
|
4064: 2800 cmp r0, #0
|
|
4066: f000 80d9 beq.w 421c <lv_obj_create+0x410>
|
|
406a: 2e00 cmp r6, #0
|
|
406c: f000 80df beq.w 422e <lv_obj_create+0x422>
|
|
lv_obj_set_pos(new_obj, lv_obj_get_x(copy), lv_obj_get_y(copy));
|
|
4070: 4628 mov r0, r5
|
|
4072: 4b1a ldr r3, [pc, #104] ; (40dc <lv_obj_create+0x2d0>)
|
|
4074: 4798 blx r3
|
|
4076: 4607 mov r7, r0
|
|
4078: 4628 mov r0, r5
|
|
407a: 4b19 ldr r3, [pc, #100] ; (40e0 <lv_obj_create+0x2d4>)
|
|
407c: 4798 blx r3
|
|
407e: 4602 mov r2, r0
|
|
4080: 4639 mov r1, r7
|
|
4082: 4620 mov r0, r4
|
|
4084: 4b17 ldr r3, [pc, #92] ; (40e4 <lv_obj_create+0x2d8>)
|
|
4086: 4798 blx r3
|
|
4088: e0c9 b.n 421e <lv_obj_create+0x412>
|
|
408a: bf00 nop
|
|
408c: 00002299 .word 0x00002299
|
|
4090: 000245d4 .word 0x000245d4
|
|
4094: 000247c4 .word 0x000247c4
|
|
4098: 00012245 .word 0x00012245
|
|
409c: 00024824 .word 0x00024824
|
|
40a0: 000022a1 .word 0x000022a1
|
|
40a4: 00010ec9 .word 0x00010ec9
|
|
40a8: 00024920 .word 0x00024920
|
|
40ac: 00011ef9 .word 0x00011ef9
|
|
40b0: 00023fc0 .word 0x00023fc0
|
|
40b4: 00012b1f .word 0x00012b1f
|
|
40b8: 000059ed .word 0x000059ed
|
|
40bc: 00005411 .word 0x00005411
|
|
40c0: 00010ed5 .word 0x00010ed5
|
|
40c4: 00010efd .word 0x00010efd
|
|
40c8: 00011ee1 .word 0x00011ee1
|
|
40cc: 000064d1 .word 0x000064d1
|
|
40d0: 00007151 .word 0x00007151
|
|
40d4: 00002585 .word 0x00002585
|
|
40d8: 00002c65 .word 0x00002c65
|
|
40dc: 00002e85 .word 0x00002e85
|
|
40e0: 00002ee5 .word 0x00002ee5
|
|
40e4: 00003425 .word 0x00003425
|
|
new_obj = _lv_ll_ins_head(&parent->child_ll);
|
|
40e8: 1d30 adds r0, r6, #4
|
|
40ea: 4b57 ldr r3, [pc, #348] ; (4248 <lv_obj_create+0x43c>)
|
|
40ec: 4798 blx r3
|
|
40ee: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(new_obj);
|
|
40f0: 4b56 ldr r3, [pc, #344] ; (424c <lv_obj_create+0x440>)
|
|
40f2: 4798 blx r3
|
|
40f4: 2800 cmp r0, #0
|
|
40f6: d047 beq.n 4188 <lv_obj_create+0x37c>
|
|
if(new_obj == NULL) return NULL;
|
|
40f8: 2c00 cmp r4, #0
|
|
40fa: f000 80a1 beq.w 4240 <lv_obj_create+0x434>
|
|
_lv_memset_00(new_obj, sizeof(lv_obj_t));
|
|
40fe: 214c movs r1, #76 ; 0x4c
|
|
4100: 4620 mov r0, r4
|
|
4102: 4b53 ldr r3, [pc, #332] ; (4250 <lv_obj_create+0x444>)
|
|
4104: 4798 blx r3
|
|
new_obj->parent = parent;
|
|
4106: 6026 str r6, [r4, #0]
|
|
new_obj->base_dir = LV_BIDI_DIR_LTR;
|
|
4108: f894 3035 ldrb.w r3, [r4, #53] ; 0x35
|
|
410c: f36f 1305 bfc r3, #4, #2
|
|
4110: f884 3035 strb.w r3, [r4, #53] ; 0x35
|
|
new_obj->signal_cb = lv_obj_signal;
|
|
4114: 4b4f ldr r3, [pc, #316] ; (4254 <lv_obj_create+0x448>)
|
|
4116: 61e3 str r3, [r4, #28]
|
|
new_obj->design_cb = lv_obj_design;
|
|
4118: 4b4f ldr r3, [pc, #316] ; (4258 <lv_obj_create+0x44c>)
|
|
411a: 6223 str r3, [r4, #32]
|
|
new_obj->event_cb = NULL;
|
|
411c: 2000 movs r0, #0
|
|
411e: 61a0 str r0, [r4, #24]
|
|
new_obj->coords.y1 = parent->coords.y1;
|
|
4120: f9b6 3012 ldrsh.w r3, [r6, #18]
|
|
4124: 8263 strh r3, [r4, #18]
|
|
new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT;
|
|
4126: 8a77 ldrh r7, [r6, #18]
|
|
4128: 4b4c ldr r3, [pc, #304] ; (425c <lv_obj_create+0x450>)
|
|
412a: 4798 blx r3
|
|
412c: 2332 movs r3, #50 ; 0x32
|
|
412e: fb03 f300 mul.w r3, r3, r0
|
|
4132: 3350 adds r3, #80 ; 0x50
|
|
4134: f5b3 7fa0 cmp.w r3, #320 ; 0x140
|
|
4138: da33 bge.n 41a2 <lv_obj_create+0x396>
|
|
413a: 2301 movs r3, #1
|
|
413c: 443b add r3, r7
|
|
413e: 82e3 strh r3, [r4, #22]
|
|
if(lv_obj_get_base_dir(new_obj) == LV_BIDI_DIR_RTL) {
|
|
4140: 4620 mov r0, r4
|
|
4142: 4b47 ldr r3, [pc, #284] ; (4260 <lv_obj_create+0x454>)
|
|
4144: 4798 blx r3
|
|
4146: 2801 cmp r0, #1
|
|
4148: d03a beq.n 41c0 <lv_obj_create+0x3b4>
|
|
new_obj->coords.x1 = parent->coords.x1;
|
|
414a: f9b6 3010 ldrsh.w r3, [r6, #16]
|
|
414e: 8223 strh r3, [r4, #16]
|
|
new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH;
|
|
4150: 8a37 ldrh r7, [r6, #16]
|
|
4152: 2000 movs r0, #0
|
|
4154: 4b41 ldr r3, [pc, #260] ; (425c <lv_obj_create+0x450>)
|
|
4156: 4798 blx r3
|
|
4158: 2364 movs r3, #100 ; 0x64
|
|
415a: fb03 f300 mul.w r3, r3, r0
|
|
415e: 3350 adds r3, #80 ; 0x50
|
|
4160: f5b3 7fa0 cmp.w r3, #320 ; 0x140
|
|
4164: db4d blt.n 4202 <lv_obj_create+0x3f6>
|
|
4166: 2000 movs r0, #0
|
|
4168: 4b3c ldr r3, [pc, #240] ; (425c <lv_obj_create+0x450>)
|
|
416a: 4798 blx r3
|
|
416c: 2364 movs r3, #100 ; 0x64
|
|
416e: fb03 f300 mul.w r3, r3, r0
|
|
4172: 3350 adds r3, #80 ; 0x50
|
|
4174: 4a3b ldr r2, [pc, #236] ; (4264 <lv_obj_create+0x458>)
|
|
4176: fb82 1203 smull r1, r2, r2, r3
|
|
417a: 17db asrs r3, r3, #31
|
|
417c: ebc3 13a2 rsb r3, r3, r2, asr #6
|
|
4180: b29b uxth r3, r3
|
|
4182: 443b add r3, r7
|
|
4184: 82a3 strh r3, [r4, #20]
|
|
4186: e698 b.n 3eba <lv_obj_create+0xae>
|
|
LV_ASSERT_MEM(new_obj);
|
|
4188: 4b37 ldr r3, [pc, #220] ; (4268 <lv_obj_create+0x45c>)
|
|
418a: 9300 str r3, [sp, #0]
|
|
418c: 22f0 movs r2, #240 ; 0xf0
|
|
418e: 4937 ldr r1, [pc, #220] ; (426c <lv_obj_create+0x460>)
|
|
4190: 2003 movs r0, #3
|
|
4192: 4d37 ldr r5, [pc, #220] ; (4270 <lv_obj_create+0x464>)
|
|
4194: 47a8 blx r5
|
|
4196: 4622 mov r2, r4
|
|
4198: 2300 movs r3, #0
|
|
419a: 4836 ldr r0, [pc, #216] ; (4274 <lv_obj_create+0x468>)
|
|
419c: 4936 ldr r1, [pc, #216] ; (4278 <lv_obj_create+0x46c>)
|
|
419e: 4788 blx r1
|
|
41a0: e7fe b.n 41a0 <lv_obj_create+0x394>
|
|
new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT;
|
|
41a2: 2000 movs r0, #0
|
|
41a4: 4b2d ldr r3, [pc, #180] ; (425c <lv_obj_create+0x450>)
|
|
41a6: 4798 blx r3
|
|
41a8: 2332 movs r3, #50 ; 0x32
|
|
41aa: fb03 f300 mul.w r3, r3, r0
|
|
41ae: 3350 adds r3, #80 ; 0x50
|
|
41b0: 4a2c ldr r2, [pc, #176] ; (4264 <lv_obj_create+0x458>)
|
|
41b2: fb82 1203 smull r1, r2, r2, r3
|
|
41b6: 17db asrs r3, r3, #31
|
|
41b8: ebc3 13a2 rsb r3, r3, r2, asr #6
|
|
41bc: b29b uxth r3, r3
|
|
41be: e7bd b.n 413c <lv_obj_create+0x330>
|
|
new_obj->coords.x2 = parent->coords.x2;
|
|
41c0: f9b6 3014 ldrsh.w r3, [r6, #20]
|
|
41c4: 82a3 strh r3, [r4, #20]
|
|
new_obj->coords.x1 = parent->coords.x2 - LV_OBJ_DEF_WIDTH;
|
|
41c6: 8ab7 ldrh r7, [r6, #20]
|
|
41c8: 2000 movs r0, #0
|
|
41ca: 4b24 ldr r3, [pc, #144] ; (425c <lv_obj_create+0x450>)
|
|
41cc: 4798 blx r3
|
|
41ce: 2364 movs r3, #100 ; 0x64
|
|
41d0: fb03 f300 mul.w r3, r3, r0
|
|
41d4: 3350 adds r3, #80 ; 0x50
|
|
41d6: f5b3 7fa0 cmp.w r3, #320 ; 0x140
|
|
41da: db10 blt.n 41fe <lv_obj_create+0x3f2>
|
|
41dc: 2000 movs r0, #0
|
|
41de: 4b1f ldr r3, [pc, #124] ; (425c <lv_obj_create+0x450>)
|
|
41e0: 4798 blx r3
|
|
41e2: 2364 movs r3, #100 ; 0x64
|
|
41e4: fb03 f300 mul.w r3, r3, r0
|
|
41e8: 3350 adds r3, #80 ; 0x50
|
|
41ea: 4a1e ldr r2, [pc, #120] ; (4264 <lv_obj_create+0x458>)
|
|
41ec: fb82 1203 smull r1, r2, r2, r3
|
|
41f0: 17db asrs r3, r3, #31
|
|
41f2: ebc3 13a2 rsb r3, r3, r2, asr #6
|
|
41f6: b29b uxth r3, r3
|
|
41f8: 1afb subs r3, r7, r3
|
|
41fa: 8223 strh r3, [r4, #16]
|
|
41fc: e65d b.n 3eba <lv_obj_create+0xae>
|
|
41fe: 2301 movs r3, #1
|
|
4200: e7fa b.n 41f8 <lv_obj_create+0x3ec>
|
|
new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH;
|
|
4202: 2301 movs r3, #1
|
|
4204: e7bd b.n 4182 <lv_obj_create+0x376>
|
|
if(parent != NULL) lv_theme_apply(new_obj, LV_THEME_OBJ);
|
|
4206: b126 cbz r6, 4212 <lv_obj_create+0x406>
|
|
4208: 2102 movs r1, #2
|
|
420a: 4620 mov r0, r4
|
|
420c: 4b1b ldr r3, [pc, #108] ; (427c <lv_obj_create+0x470>)
|
|
420e: 4798 blx r3
|
|
4210: e005 b.n 421e <lv_obj_create+0x412>
|
|
else lv_theme_apply(new_obj, LV_THEME_SCR);
|
|
4212: 2101 movs r1, #1
|
|
4214: 4620 mov r0, r4
|
|
4216: 4b19 ldr r3, [pc, #100] ; (427c <lv_obj_create+0x470>)
|
|
4218: 4798 blx r3
|
|
421a: e008 b.n 422e <lv_obj_create+0x422>
|
|
if(parent != NULL) {
|
|
421c: b13e cbz r6, 422e <lv_obj_create+0x422>
|
|
parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, new_obj);
|
|
421e: 69f3 ldr r3, [r6, #28]
|
|
4220: 4622 mov r2, r4
|
|
4222: 2101 movs r1, #1
|
|
4224: 4630 mov r0, r6
|
|
4226: 4798 blx r3
|
|
lv_obj_invalidate(new_obj);
|
|
4228: 4620 mov r0, r4
|
|
422a: 4b15 ldr r3, [pc, #84] ; (4280 <lv_obj_create+0x474>)
|
|
422c: 4798 blx r3
|
|
LV_LOG_INFO("Object create ready");
|
|
422e: 4b15 ldr r3, [pc, #84] ; (4284 <lv_obj_create+0x478>)
|
|
4230: 9300 str r3, [sp, #0]
|
|
4232: 4b0d ldr r3, [pc, #52] ; (4268 <lv_obj_create+0x45c>)
|
|
4234: f240 1287 movw r2, #391 ; 0x187
|
|
4238: 490c ldr r1, [pc, #48] ; (426c <lv_obj_create+0x460>)
|
|
423a: 2001 movs r0, #1
|
|
423c: 4d0c ldr r5, [pc, #48] ; (4270 <lv_obj_create+0x464>)
|
|
423e: 47a8 blx r5
|
|
}
|
|
4240: 4620 mov r0, r4
|
|
4242: b003 add sp, #12
|
|
4244: bdf0 pop {r4, r5, r6, r7, pc}
|
|
4246: bf00 nop
|
|
4248: 00011ef9 .word 0x00011ef9
|
|
424c: 00002299 .word 0x00002299
|
|
4250: 00012b1f .word 0x00012b1f
|
|
4254: 000059ed .word 0x000059ed
|
|
4258: 00005411 .word 0x00005411
|
|
425c: 00010f25 .word 0x00010f25
|
|
4260: 00003dc5 .word 0x00003dc5
|
|
4264: 66666667 .word 0x66666667
|
|
4268: 000245d4 .word 0x000245d4
|
|
426c: 000247c4 .word 0x000247c4
|
|
4270: 00012245 .word 0x00012245
|
|
4274: 00023fc0 .word 0x00023fc0
|
|
4278: 000022a1 .word 0x000022a1
|
|
427c: 000141d1 .word 0x000141d1
|
|
4280: 00003309 .word 0x00003309
|
|
4284: 00024970 .word 0x00024970
|
|
|
|
00004288 <lv_obj_set_size>:
|
|
{
|
|
4288: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
428c: b084 sub sp, #16
|
|
428e: 4604 mov r4, r0
|
|
4290: 460d mov r5, r1
|
|
4292: 4616 mov r6, r2
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4294: 4b32 ldr r3, [pc, #200] ; (4360 <lv_obj_set_size+0xd8>)
|
|
4296: 4798 blx r3
|
|
4298: b968 cbnz r0, 42b6 <lv_obj_set_size+0x2e>
|
|
429a: 4b32 ldr r3, [pc, #200] ; (4364 <lv_obj_set_size+0xdc>)
|
|
429c: 9300 str r3, [sp, #0]
|
|
429e: f240 22e5 movw r2, #741 ; 0x2e5
|
|
42a2: 4931 ldr r1, [pc, #196] ; (4368 <lv_obj_set_size+0xe0>)
|
|
42a4: 2003 movs r0, #3
|
|
42a6: 4d31 ldr r5, [pc, #196] ; (436c <lv_obj_set_size+0xe4>)
|
|
42a8: 47a8 blx r5
|
|
42aa: 4622 mov r2, r4
|
|
42ac: 2300 movs r3, #0
|
|
42ae: 4830 ldr r0, [pc, #192] ; (4370 <lv_obj_set_size+0xe8>)
|
|
42b0: 4930 ldr r1, [pc, #192] ; (4374 <lv_obj_set_size+0xec>)
|
|
42b2: 4788 blx r1
|
|
42b4: e7fe b.n 42b4 <lv_obj_set_size+0x2c>
|
|
if(lv_obj_get_width(obj) == w && lv_obj_get_height(obj) == h) {
|
|
42b6: 4620 mov r0, r4
|
|
42b8: 4b2f ldr r3, [pc, #188] ; (4378 <lv_obj_set_size+0xf0>)
|
|
42ba: 4798 blx r3
|
|
42bc: 42a8 cmp r0, r5
|
|
42be: d03f beq.n 4340 <lv_obj_set_size+0xb8>
|
|
lv_obj_invalidate(obj);
|
|
42c0: 4620 mov r0, r4
|
|
42c2: 4b2e ldr r3, [pc, #184] ; (437c <lv_obj_set_size+0xf4>)
|
|
42c4: 4798 blx r3
|
|
lv_obj_get_coords(obj, &ori);
|
|
42c6: a902 add r1, sp, #8
|
|
42c8: 4620 mov r0, r4
|
|
42ca: 4b2d ldr r3, [pc, #180] ; (4380 <lv_obj_set_size+0xf8>)
|
|
42cc: 4798 blx r3
|
|
obj->coords.y2 = obj->coords.y1 + h - 1;
|
|
42ce: 1e73 subs r3, r6, #1
|
|
42d0: 8a62 ldrh r2, [r4, #18]
|
|
42d2: 4413 add r3, r2
|
|
42d4: 82e3 strh r3, [r4, #22]
|
|
if(lv_obj_get_base_dir(obj) == LV_BIDI_DIR_RTL) {
|
|
42d6: 4620 mov r0, r4
|
|
42d8: 4b2a ldr r3, [pc, #168] ; (4384 <lv_obj_set_size+0xfc>)
|
|
42da: 4798 blx r3
|
|
42dc: 2801 cmp r0, #1
|
|
42de: d035 beq.n 434c <lv_obj_set_size+0xc4>
|
|
obj->coords.x2 = obj->coords.x1 + w - 1;
|
|
42e0: 1e6b subs r3, r5, #1
|
|
42e2: 8a22 ldrh r2, [r4, #16]
|
|
42e4: 4413 add r3, r2
|
|
42e6: 82a3 strh r3, [r4, #20]
|
|
obj->signal_cb(obj, LV_SIGNAL_COORD_CHG, &ori);
|
|
42e8: 69e3 ldr r3, [r4, #28]
|
|
42ea: aa02 add r2, sp, #8
|
|
42ec: 2102 movs r1, #2
|
|
42ee: 4620 mov r0, r4
|
|
42f0: 4798 blx r3
|
|
lv_obj_t * par = lv_obj_get_parent(obj);
|
|
42f2: 4620 mov r0, r4
|
|
42f4: 4b24 ldr r3, [pc, #144] ; (4388 <lv_obj_set_size+0x100>)
|
|
42f6: 4798 blx r3
|
|
if(par != NULL) par->signal_cb(par, LV_SIGNAL_CHILD_CHG, obj);
|
|
42f8: b118 cbz r0, 4302 <lv_obj_set_size+0x7a>
|
|
42fa: 69c5 ldr r5, [r0, #28]
|
|
42fc: 4622 mov r2, r4
|
|
42fe: 2101 movs r1, #1
|
|
4300: 47a8 blx r5
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
4302: 1d26 adds r6, r4, #4
|
|
4304: 4630 mov r0, r6
|
|
4306: 4b21 ldr r3, [pc, #132] ; (438c <lv_obj_set_size+0x104>)
|
|
4308: 4798 blx r3
|
|
430a: 4605 mov r5, r0
|
|
430c: b168 cbz r0, 432a <lv_obj_set_size+0xa2>
|
|
i->signal_cb(i, LV_SIGNAL_PARENT_SIZE_CHG, &ori);
|
|
430e: f04f 0803 mov.w r8, #3
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
4312: 4f1f ldr r7, [pc, #124] ; (4390 <lv_obj_set_size+0x108>)
|
|
i->signal_cb(i, LV_SIGNAL_PARENT_SIZE_CHG, &ori);
|
|
4314: 69eb ldr r3, [r5, #28]
|
|
4316: aa02 add r2, sp, #8
|
|
4318: 4641 mov r1, r8
|
|
431a: 4628 mov r0, r5
|
|
431c: 4798 blx r3
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
431e: 4629 mov r1, r5
|
|
4320: 4630 mov r0, r6
|
|
4322: 47b8 blx r7
|
|
4324: 4605 mov r5, r0
|
|
4326: 2800 cmp r0, #0
|
|
4328: d1f4 bne.n 4314 <lv_obj_set_size+0x8c>
|
|
lv_obj_invalidate(obj);
|
|
432a: 4620 mov r0, r4
|
|
432c: 4b13 ldr r3, [pc, #76] ; (437c <lv_obj_set_size+0xf4>)
|
|
432e: 4798 blx r3
|
|
if(obj->realign.auto_realign) lv_obj_realign(obj);
|
|
4330: f894 3049 ldrb.w r3, [r4, #73] ; 0x49
|
|
4334: f013 0f01 tst.w r3, #1
|
|
4338: d10e bne.n 4358 <lv_obj_set_size+0xd0>
|
|
}
|
|
433a: b004 add sp, #16
|
|
433c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(lv_obj_get_width(obj) == w && lv_obj_get_height(obj) == h) {
|
|
4340: 4620 mov r0, r4
|
|
4342: 4b14 ldr r3, [pc, #80] ; (4394 <lv_obj_set_size+0x10c>)
|
|
4344: 4798 blx r3
|
|
4346: 42b0 cmp r0, r6
|
|
4348: d1ba bne.n 42c0 <lv_obj_set_size+0x38>
|
|
434a: e7f6 b.n 433a <lv_obj_set_size+0xb2>
|
|
obj->coords.x1 = obj->coords.x2 - w + 1;
|
|
434c: f1c5 0301 rsb r3, r5, #1
|
|
4350: 8aa2 ldrh r2, [r4, #20]
|
|
4352: 4413 add r3, r2
|
|
4354: 8223 strh r3, [r4, #16]
|
|
4356: e7c7 b.n 42e8 <lv_obj_set_size+0x60>
|
|
if(obj->realign.auto_realign) lv_obj_realign(obj);
|
|
4358: 4620 mov r0, r4
|
|
435a: 4b0f ldr r3, [pc, #60] ; (4398 <lv_obj_set_size+0x110>)
|
|
435c: 4798 blx r3
|
|
435e: e7ec b.n 433a <lv_obj_set_size+0xb2>
|
|
4360: 00002299 .word 0x00002299
|
|
4364: 000245f8 .word 0x000245f8
|
|
4368: 000247c4 .word 0x000247c4
|
|
436c: 00012245 .word 0x00012245
|
|
4370: 00024824 .word 0x00024824
|
|
4374: 000022a1 .word 0x000022a1
|
|
4378: 00002f45 .word 0x00002f45
|
|
437c: 00003309 .word 0x00003309
|
|
4380: 00002e29 .word 0x00002e29
|
|
4384: 00003dc5 .word 0x00003dc5
|
|
4388: 00002c65 .word 0x00002c65
|
|
438c: 00011f91 .word 0x00011f91
|
|
4390: 00011fa5 .word 0x00011fa5
|
|
4394: 00002f95 .word 0x00002f95
|
|
4398: 000039c9 .word 0x000039c9
|
|
|
|
0000439c <lv_obj_set_height>:
|
|
{
|
|
439c: b530 push {r4, r5, lr}
|
|
439e: b083 sub sp, #12
|
|
43a0: 4604 mov r4, r0
|
|
43a2: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
43a4: 4b0d ldr r3, [pc, #52] ; (43dc <lv_obj_set_height+0x40>)
|
|
43a6: 4798 blx r3
|
|
43a8: b968 cbnz r0, 43c6 <lv_obj_set_height+0x2a>
|
|
43aa: 4b0d ldr r3, [pc, #52] ; (43e0 <lv_obj_set_height+0x44>)
|
|
43ac: 9300 str r3, [sp, #0]
|
|
43ae: f240 3227 movw r2, #807 ; 0x327
|
|
43b2: 490c ldr r1, [pc, #48] ; (43e4 <lv_obj_set_height+0x48>)
|
|
43b4: 2003 movs r0, #3
|
|
43b6: 4d0c ldr r5, [pc, #48] ; (43e8 <lv_obj_set_height+0x4c>)
|
|
43b8: 47a8 blx r5
|
|
43ba: 4622 mov r2, r4
|
|
43bc: 2300 movs r3, #0
|
|
43be: 480b ldr r0, [pc, #44] ; (43ec <lv_obj_set_height+0x50>)
|
|
43c0: 490b ldr r1, [pc, #44] ; (43f0 <lv_obj_set_height+0x54>)
|
|
43c2: 4788 blx r1
|
|
43c4: e7fe b.n 43c4 <lv_obj_set_height+0x28>
|
|
lv_obj_set_size(obj, lv_obj_get_width(obj), h);
|
|
43c6: 4620 mov r0, r4
|
|
43c8: 4b0a ldr r3, [pc, #40] ; (43f4 <lv_obj_set_height+0x58>)
|
|
43ca: 4798 blx r3
|
|
43cc: 462a mov r2, r5
|
|
43ce: 4601 mov r1, r0
|
|
43d0: 4620 mov r0, r4
|
|
43d2: 4b09 ldr r3, [pc, #36] ; (43f8 <lv_obj_set_height+0x5c>)
|
|
43d4: 4798 blx r3
|
|
}
|
|
43d6: b003 add sp, #12
|
|
43d8: bd30 pop {r4, r5, pc}
|
|
43da: bf00 nop
|
|
43dc: 00002299 .word 0x00002299
|
|
43e0: 0002461c .word 0x0002461c
|
|
43e4: 000247c4 .word 0x000247c4
|
|
43e8: 00012245 .word 0x00012245
|
|
43ec: 00024824 .word 0x00024824
|
|
43f0: 000022a1 .word 0x000022a1
|
|
43f4: 00002f45 .word 0x00002f45
|
|
43f8: 00004289 .word 0x00004289
|
|
|
|
000043fc <lv_obj_is_protected>:
|
|
{
|
|
43fc: b530 push {r4, r5, lr}
|
|
43fe: b083 sub sp, #12
|
|
4400: 4604 mov r4, r0
|
|
4402: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4404: 4b0c ldr r3, [pc, #48] ; (4438 <lv_obj_is_protected+0x3c>)
|
|
4406: 4798 blx r3
|
|
4408: b138 cbz r0, 441a <lv_obj_is_protected+0x1e>
|
|
return (obj->protect & prot) == 0 ? false : true;
|
|
440a: f894 303c ldrb.w r3, [r4, #60] ; 0x3c
|
|
440e: 421d tst r5, r3
|
|
}
|
|
4410: bf14 ite ne
|
|
4412: 2001 movne r0, #1
|
|
4414: 2000 moveq r0, #0
|
|
4416: b003 add sp, #12
|
|
4418: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
441a: 4b08 ldr r3, [pc, #32] ; (443c <lv_obj_is_protected+0x40>)
|
|
441c: 9300 str r3, [sp, #0]
|
|
441e: f640 22d7 movw r2, #2775 ; 0xad7
|
|
4422: 4907 ldr r1, [pc, #28] ; (4440 <lv_obj_is_protected+0x44>)
|
|
4424: 2003 movs r0, #3
|
|
4426: 4d07 ldr r5, [pc, #28] ; (4444 <lv_obj_is_protected+0x48>)
|
|
4428: 47a8 blx r5
|
|
442a: 4622 mov r2, r4
|
|
442c: 2300 movs r3, #0
|
|
442e: 4806 ldr r0, [pc, #24] ; (4448 <lv_obj_is_protected+0x4c>)
|
|
4430: 4906 ldr r1, [pc, #24] ; (444c <lv_obj_is_protected+0x50>)
|
|
4432: 4788 blx r1
|
|
4434: e7fe b.n 4434 <lv_obj_is_protected+0x38>
|
|
4436: bf00 nop
|
|
4438: 00002299 .word 0x00002299
|
|
443c: 00024644 .word 0x00024644
|
|
4440: 000247c4 .word 0x000247c4
|
|
4444: 00012245 .word 0x00012245
|
|
4448: 00024824 .word 0x00024824
|
|
444c: 000022a1 .word 0x000022a1
|
|
|
|
00004450 <lv_obj_get_state>:
|
|
{
|
|
4450: b530 push {r4, r5, lr}
|
|
4452: b085 sub sp, #20
|
|
4454: 4604 mov r4, r0
|
|
4456: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4458: 4b11 ldr r3, [pc, #68] ; (44a0 <lv_obj_get_state+0x50>)
|
|
445a: 4798 blx r3
|
|
445c: b128 cbz r0, 446a <lv_obj_get_state+0x1a>
|
|
if(part < _LV_OBJ_PART_REAL_LAST) return ((lv_obj_t *)obj)->state;
|
|
445e: 2d3f cmp r5, #63 ; 0x3f
|
|
4460: d811 bhi.n 4486 <lv_obj_get_state+0x36>
|
|
4462: f894 003d ldrb.w r0, [r4, #61] ; 0x3d
|
|
}
|
|
4466: b005 add sp, #20
|
|
4468: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
446a: 4b0e ldr r3, [pc, #56] ; (44a4 <lv_obj_get_state+0x54>)
|
|
446c: 9300 str r3, [sp, #0]
|
|
446e: f640 22de movw r2, #2782 ; 0xade
|
|
4472: 490d ldr r1, [pc, #52] ; (44a8 <lv_obj_get_state+0x58>)
|
|
4474: 2003 movs r0, #3
|
|
4476: 4d0d ldr r5, [pc, #52] ; (44ac <lv_obj_get_state+0x5c>)
|
|
4478: 47a8 blx r5
|
|
447a: 4622 mov r2, r4
|
|
447c: 2300 movs r3, #0
|
|
447e: 480c ldr r0, [pc, #48] ; (44b0 <lv_obj_get_state+0x60>)
|
|
4480: 490c ldr r1, [pc, #48] ; (44b4 <lv_obj_get_state+0x64>)
|
|
4482: 4788 blx r1
|
|
4484: e7fe b.n 4484 <lv_obj_get_state+0x34>
|
|
info.part = part;
|
|
4486: f88d 500c strb.w r5, [sp, #12]
|
|
info.result = LV_STATE_DEFAULT;
|
|
448a: 2300 movs r3, #0
|
|
448c: f88d 300d strb.w r3, [sp, #13]
|
|
lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STATE_DSC, &info);
|
|
4490: aa03 add r2, sp, #12
|
|
4492: 2109 movs r1, #9
|
|
4494: 4620 mov r0, r4
|
|
4496: 4b08 ldr r3, [pc, #32] ; (44b8 <lv_obj_get_state+0x68>)
|
|
4498: 4798 blx r3
|
|
return info.result;
|
|
449a: f89d 000d ldrb.w r0, [sp, #13]
|
|
449e: e7e2 b.n 4466 <lv_obj_get_state+0x16>
|
|
44a0: 00002299 .word 0x00002299
|
|
44a4: 00024658 .word 0x00024658
|
|
44a8: 000247c4 .word 0x000247c4
|
|
44ac: 00012245 .word 0x00012245
|
|
44b0: 00024824 .word 0x00024824
|
|
44b4: 000022a1 .word 0x000022a1
|
|
44b8: 00002b5d .word 0x00002b5d
|
|
|
|
000044bc <_lv_obj_get_style_int>:
|
|
{
|
|
44bc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
44c0: b085 sub sp, #20
|
|
44c2: 4617 mov r7, r2
|
|
while(parent) {
|
|
44c4: b360 cbz r0, 4520 <_lv_obj_get_style_int+0x64>
|
|
44c6: 460d mov r5, r1
|
|
44c8: ea4f 2b12 mov.w fp, r2, lsr #8
|
|
44cc: 4606 mov r6, r0
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
44ce: f8df a08c ldr.w sl, [pc, #140] ; 455c <_lv_obj_get_style_int+0xa0>
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
44d2: f8df 908c ldr.w r9, [pc, #140] ; 4560 <_lv_obj_get_style_int+0xa4>
|
|
res = _lv_style_list_get_int(dsc, prop, &value_act);
|
|
44d6: f8df 808c ldr.w r8, [pc, #140] ; 4564 <_lv_obj_get_style_int+0xa8>
|
|
44da: e006 b.n 44ea <_lv_obj_get_style_int+0x2e>
|
|
if(res == LV_RES_OK) return value_act;
|
|
44dc: f9bd 000e ldrsh.w r0, [sp, #14]
|
|
}
|
|
44e0: b005 add sp, #20
|
|
44e2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
44e6: 2500 movs r5, #0
|
|
while(parent) {
|
|
44e8: b1de cbz r6, 4522 <_lv_obj_get_style_int+0x66>
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
44ea: 4629 mov r1, r5
|
|
44ec: 4630 mov r0, r6
|
|
44ee: 47d0 blx sl
|
|
44f0: 9001 str r0, [sp, #4]
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
44f2: 4629 mov r1, r5
|
|
44f4: 4630 mov r0, r6
|
|
44f6: 47c8 blx r9
|
|
prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS);
|
|
44f8: eb07 2000 add.w r0, r7, r0, lsl #8
|
|
44fc: b284 uxth r4, r0
|
|
res = _lv_style_list_get_int(dsc, prop, &value_act);
|
|
44fe: f10d 020e add.w r2, sp, #14
|
|
4502: 4621 mov r1, r4
|
|
4504: 9801 ldr r0, [sp, #4]
|
|
4506: 47c0 blx r8
|
|
if(res == LV_RES_OK) return value_act;
|
|
4508: 2801 cmp r0, #1
|
|
450a: d0e7 beq.n 44dc <_lv_obj_get_style_int+0x20>
|
|
if(attr.bits.inherit == 0) break;
|
|
450c: f01b 0f80 tst.w fp, #128 ; 0x80
|
|
4510: d007 beq.n 4522 <_lv_obj_get_style_int+0x66>
|
|
if(part != LV_OBJ_PART_MAIN) {
|
|
4512: 2d00 cmp r5, #0
|
|
4514: d1e7 bne.n 44e6 <_lv_obj_get_style_int+0x2a>
|
|
parent = lv_obj_get_parent(parent);
|
|
4516: 4630 mov r0, r6
|
|
4518: 4b0f ldr r3, [pc, #60] ; (4558 <_lv_obj_get_style_int+0x9c>)
|
|
451a: 4798 blx r3
|
|
451c: 4606 mov r6, r0
|
|
451e: e7e2 b.n 44e6 <_lv_obj_get_style_int+0x2a>
|
|
while(parent) {
|
|
4520: 4614 mov r4, r2
|
|
prop = prop & (~LV_STYLE_STATE_MASK);
|
|
4522: f424 44fe bic.w r4, r4, #32512 ; 0x7f00
|
|
switch(prop) {
|
|
4526: b2a4 uxth r4, r4
|
|
4528: 2c22 cmp r4, #34 ; 0x22
|
|
452a: d00f beq.n 454c <_lv_obj_get_style_int+0x90>
|
|
452c: d806 bhi.n 453c <_lv_obj_get_style_int+0x80>
|
|
452e: 2c03 cmp r4, #3
|
|
4530: d00a beq.n 4548 <_lv_obj_get_style_int+0x8c>
|
|
4532: 2c07 cmp r4, #7
|
|
4534: d10c bne.n 4550 <_lv_obj_get_style_int+0x94>
|
|
return LV_IMG_ZOOM_NONE;
|
|
4536: f44f 7080 mov.w r0, #256 ; 0x100
|
|
453a: e7d1 b.n 44e0 <_lv_obj_get_style_int+0x24>
|
|
switch(prop) {
|
|
453c: 2c31 cmp r4, #49 ; 0x31
|
|
453e: d009 beq.n 4554 <_lv_obj_get_style_int+0x98>
|
|
4540: 2cc0 cmp r4, #192 ; 0xc0
|
|
4542: d105 bne.n 4550 <_lv_obj_get_style_int+0x94>
|
|
return LV_DPI / 8;
|
|
4544: 2010 movs r0, #16
|
|
4546: e7cb b.n 44e0 <_lv_obj_get_style_int+0x24>
|
|
return LV_DPI / 20;
|
|
4548: 2006 movs r0, #6
|
|
454a: e7c9 b.n 44e0 <_lv_obj_get_style_int+0x24>
|
|
return 255;
|
|
454c: 20ff movs r0, #255 ; 0xff
|
|
454e: e7c7 b.n 44e0 <_lv_obj_get_style_int+0x24>
|
|
return 0;
|
|
4550: 2000 movs r0, #0
|
|
4552: e7c5 b.n 44e0 <_lv_obj_get_style_int+0x24>
|
|
return LV_BORDER_SIDE_FULL;
|
|
4554: 200f movs r0, #15
|
|
4556: e7c3 b.n 44e0 <_lv_obj_get_style_int+0x24>
|
|
4558: 00002c65 .word 0x00002c65
|
|
455c: 00002fe5 .word 0x00002fe5
|
|
4560: 00004451 .word 0x00004451
|
|
4564: 000072cd .word 0x000072cd
|
|
|
|
00004568 <_lv_obj_get_style_color>:
|
|
{
|
|
4568: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
456c: b085 sub sp, #20
|
|
456e: 4617 mov r7, r2
|
|
while(parent) {
|
|
4570: b348 cbz r0, 45c6 <_lv_obj_get_style_color+0x5e>
|
|
4572: 460d mov r5, r1
|
|
4574: ea4f 2b12 mov.w fp, r2, lsr #8
|
|
4578: 4606 mov r6, r0
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
457a: f8df a06c ldr.w sl, [pc, #108] ; 45e8 <_lv_obj_get_style_color+0x80>
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
457e: f8df 906c ldr.w r9, [pc, #108] ; 45ec <_lv_obj_get_style_color+0x84>
|
|
res = _lv_style_list_get_color(dsc, prop, &value_act);
|
|
4582: f8df 806c ldr.w r8, [pc, #108] ; 45f0 <_lv_obj_get_style_color+0x88>
|
|
4586: e004 b.n 4592 <_lv_obj_get_style_color+0x2a>
|
|
if(res == LV_RES_OK) return value_act;
|
|
4588: f8bd 000c ldrh.w r0, [sp, #12]
|
|
458c: e025 b.n 45da <_lv_obj_get_style_color+0x72>
|
|
458e: 2500 movs r5, #0
|
|
while(parent) {
|
|
4590: b1d6 cbz r6, 45c8 <_lv_obj_get_style_color+0x60>
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
4592: 4629 mov r1, r5
|
|
4594: 4630 mov r0, r6
|
|
4596: 47d0 blx sl
|
|
4598: 9001 str r0, [sp, #4]
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
459a: 4629 mov r1, r5
|
|
459c: 4630 mov r0, r6
|
|
459e: 47c8 blx r9
|
|
prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS);
|
|
45a0: eb07 2000 add.w r0, r7, r0, lsl #8
|
|
45a4: b284 uxth r4, r0
|
|
res = _lv_style_list_get_color(dsc, prop, &value_act);
|
|
45a6: aa03 add r2, sp, #12
|
|
45a8: 4621 mov r1, r4
|
|
45aa: 9801 ldr r0, [sp, #4]
|
|
45ac: 47c0 blx r8
|
|
if(res == LV_RES_OK) return value_act;
|
|
45ae: 2801 cmp r0, #1
|
|
45b0: d0ea beq.n 4588 <_lv_obj_get_style_color+0x20>
|
|
if(attr.bits.inherit == 0) break;
|
|
45b2: f01b 0f80 tst.w fp, #128 ; 0x80
|
|
45b6: d007 beq.n 45c8 <_lv_obj_get_style_color+0x60>
|
|
if(part != LV_OBJ_PART_MAIN) {
|
|
45b8: 2d00 cmp r5, #0
|
|
45ba: d1e8 bne.n 458e <_lv_obj_get_style_color+0x26>
|
|
parent = lv_obj_get_parent(parent);
|
|
45bc: 4630 mov r0, r6
|
|
45be: 4b08 ldr r3, [pc, #32] ; (45e0 <_lv_obj_get_style_color+0x78>)
|
|
45c0: 4798 blx r3
|
|
45c2: 4606 mov r6, r0
|
|
45c4: e7e3 b.n 458e <_lv_obj_get_style_color+0x26>
|
|
while(parent) {
|
|
45c6: 4614 mov r4, r2
|
|
prop = prop & (~LV_STYLE_STATE_MASK);
|
|
45c8: f424 44fe bic.w r4, r4, #32512 ; 0x7f00
|
|
switch(prop) {
|
|
45cc: 3c29 subs r4, #41 ; 0x29
|
|
45ce: 2c01 cmp r4, #1
|
|
return LV_COLOR_WHITE;
|
|
45d0: bf9a itte ls
|
|
45d2: 4b04 ldrls r3, [pc, #16] ; (45e4 <_lv_obj_get_style_color+0x7c>)
|
|
45d4: f8b3 0674 ldrhls.w r0, [r3, #1652] ; 0x674
|
|
return LV_COLOR_BLACK;
|
|
45d8: 2000 movhi r0, #0
|
|
}
|
|
45da: b005 add sp, #20
|
|
45dc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
45e0: 00002c65 .word 0x00002c65
|
|
45e4: 00024040 .word 0x00024040
|
|
45e8: 00002fe5 .word 0x00002fe5
|
|
45ec: 00004451 .word 0x00004451
|
|
45f0: 00007391 .word 0x00007391
|
|
|
|
000045f4 <_lv_obj_get_style_opa>:
|
|
{
|
|
45f4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
45f8: b085 sub sp, #20
|
|
45fa: 4617 mov r7, r2
|
|
while(parent) {
|
|
45fc: b350 cbz r0, 4654 <_lv_obj_get_style_opa+0x60>
|
|
45fe: 460d mov r5, r1
|
|
4600: ea4f 2b12 mov.w fp, r2, lsr #8
|
|
4604: 4606 mov r6, r0
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
4606: f8df a074 ldr.w sl, [pc, #116] ; 467c <_lv_obj_get_style_opa+0x88>
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
460a: f8df 9074 ldr.w r9, [pc, #116] ; 4680 <_lv_obj_get_style_opa+0x8c>
|
|
res = _lv_style_list_get_opa(dsc, prop, &value_act);
|
|
460e: f8df 8074 ldr.w r8, [pc, #116] ; 4684 <_lv_obj_get_style_opa+0x90>
|
|
4612: e004 b.n 461e <_lv_obj_get_style_opa+0x2a>
|
|
if(res == LV_RES_OK) return value_act;
|
|
4614: f89d 000f ldrb.w r0, [sp, #15]
|
|
4618: e029 b.n 466e <_lv_obj_get_style_opa+0x7a>
|
|
461a: 2500 movs r5, #0
|
|
while(parent) {
|
|
461c: b1de cbz r6, 4656 <_lv_obj_get_style_opa+0x62>
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
461e: 4629 mov r1, r5
|
|
4620: 4630 mov r0, r6
|
|
4622: 47d0 blx sl
|
|
4624: 9001 str r0, [sp, #4]
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
4626: 4629 mov r1, r5
|
|
4628: 4630 mov r0, r6
|
|
462a: 47c8 blx r9
|
|
prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS);
|
|
462c: eb07 2000 add.w r0, r7, r0, lsl #8
|
|
4630: b284 uxth r4, r0
|
|
res = _lv_style_list_get_opa(dsc, prop, &value_act);
|
|
4632: f10d 020f add.w r2, sp, #15
|
|
4636: 4621 mov r1, r4
|
|
4638: 9801 ldr r0, [sp, #4]
|
|
463a: 47c0 blx r8
|
|
if(res == LV_RES_OK) return value_act;
|
|
463c: 2801 cmp r0, #1
|
|
463e: d0e9 beq.n 4614 <_lv_obj_get_style_opa+0x20>
|
|
if(attr.bits.inherit == 0) break;
|
|
4640: f01b 0f80 tst.w fp, #128 ; 0x80
|
|
4644: d007 beq.n 4656 <_lv_obj_get_style_opa+0x62>
|
|
if(part != LV_OBJ_PART_MAIN) {
|
|
4646: 2d00 cmp r5, #0
|
|
4648: d1e7 bne.n 461a <_lv_obj_get_style_opa+0x26>
|
|
parent = lv_obj_get_parent(parent);
|
|
464a: 4630 mov r0, r6
|
|
464c: 4b0a ldr r3, [pc, #40] ; (4678 <_lv_obj_get_style_opa+0x84>)
|
|
464e: 4798 blx r3
|
|
4650: 4606 mov r6, r0
|
|
4652: e7e2 b.n 461a <_lv_obj_get_style_opa+0x26>
|
|
while(parent) {
|
|
4654: 4614 mov r4, r2
|
|
prop = prop & (~LV_STYLE_STATE_MASK);
|
|
4656: f424 44fe bic.w r4, r4, #32512 ; 0x7f00
|
|
switch(prop) {
|
|
465a: b2a4 uxth r4, r4
|
|
465c: 2c6d cmp r4, #109 ; 0x6d
|
|
465e: d009 beq.n 4674 <_lv_obj_get_style_opa+0x80>
|
|
4660: f248 03ad movw r3, #32941 ; 0x80ad
|
|
4664: 429c cmp r4, r3
|
|
4666: d005 beq.n 4674 <_lv_obj_get_style_opa+0x80>
|
|
4668: 2c2c cmp r4, #44 ; 0x2c
|
|
466a: d003 beq.n 4674 <_lv_obj_get_style_opa+0x80>
|
|
return LV_OPA_COVER;
|
|
466c: 20ff movs r0, #255 ; 0xff
|
|
}
|
|
466e: b005 add sp, #20
|
|
4670: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
return LV_OPA_TRANSP;
|
|
4674: 2000 movs r0, #0
|
|
4676: e7fa b.n 466e <_lv_obj_get_style_opa+0x7a>
|
|
4678: 00002c65 .word 0x00002c65
|
|
467c: 00002fe5 .word 0x00002fe5
|
|
4680: 00004451 .word 0x00004451
|
|
4684: 00007455 .word 0x00007455
|
|
|
|
00004688 <_lv_obj_get_style_ptr>:
|
|
{
|
|
4688: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
468c: b085 sub sp, #20
|
|
468e: 4617 mov r7, r2
|
|
while(parent) {
|
|
4690: b350 cbz r0, 46e8 <_lv_obj_get_style_ptr+0x60>
|
|
4692: 460d mov r5, r1
|
|
4694: ea4f 2b12 mov.w fp, r2, lsr #8
|
|
4698: 4606 mov r6, r0
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
469a: f8df a080 ldr.w sl, [pc, #128] ; 471c <_lv_obj_get_style_ptr+0x94>
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
469e: f8df 9080 ldr.w r9, [pc, #128] ; 4720 <_lv_obj_get_style_ptr+0x98>
|
|
res = _lv_style_list_get_ptr(dsc, prop, &value_act);
|
|
46a2: f8df 8080 ldr.w r8, [pc, #128] ; 4724 <_lv_obj_get_style_ptr+0x9c>
|
|
46a6: e005 b.n 46b4 <_lv_obj_get_style_ptr+0x2c>
|
|
if(res == LV_RES_OK) return value_act;
|
|
46a8: 9803 ldr r0, [sp, #12]
|
|
}
|
|
46aa: b005 add sp, #20
|
|
46ac: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
46b0: 2500 movs r5, #0
|
|
while(parent) {
|
|
46b2: b1d6 cbz r6, 46ea <_lv_obj_get_style_ptr+0x62>
|
|
lv_style_list_t * dsc = lv_obj_get_style_list(parent, part);
|
|
46b4: 4629 mov r1, r5
|
|
46b6: 4630 mov r0, r6
|
|
46b8: 47d0 blx sl
|
|
46ba: 9001 str r0, [sp, #4]
|
|
lv_state_t state = lv_obj_get_state(parent, part);
|
|
46bc: 4629 mov r1, r5
|
|
46be: 4630 mov r0, r6
|
|
46c0: 47c8 blx r9
|
|
prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS);
|
|
46c2: eb07 2000 add.w r0, r7, r0, lsl #8
|
|
46c6: b284 uxth r4, r0
|
|
res = _lv_style_list_get_ptr(dsc, prop, &value_act);
|
|
46c8: aa03 add r2, sp, #12
|
|
46ca: 4621 mov r1, r4
|
|
46cc: 9801 ldr r0, [sp, #4]
|
|
46ce: 47c0 blx r8
|
|
if(res == LV_RES_OK) return value_act;
|
|
46d0: 2801 cmp r0, #1
|
|
46d2: d0e9 beq.n 46a8 <_lv_obj_get_style_ptr+0x20>
|
|
if(attr.bits.inherit == 0) break;
|
|
46d4: f01b 0f80 tst.w fp, #128 ; 0x80
|
|
46d8: d007 beq.n 46ea <_lv_obj_get_style_ptr+0x62>
|
|
if(part != LV_OBJ_PART_MAIN) {
|
|
46da: 2d00 cmp r5, #0
|
|
46dc: d1e8 bne.n 46b0 <_lv_obj_get_style_ptr+0x28>
|
|
parent = lv_obj_get_parent(parent);
|
|
46de: 4630 mov r0, r6
|
|
46e0: 4b0b ldr r3, [pc, #44] ; (4710 <_lv_obj_get_style_ptr+0x88>)
|
|
46e2: 4798 blx r3
|
|
46e4: 4606 mov r6, r0
|
|
46e6: e7e3 b.n 46b0 <_lv_obj_get_style_ptr+0x28>
|
|
while(parent) {
|
|
46e8: 4614 mov r4, r2
|
|
prop = prop & (~LV_STYLE_STATE_MASK);
|
|
46ea: f424 44fe bic.w r4, r4, #32512 ; 0x7f00
|
|
switch(prop) {
|
|
46ee: b2a4 uxth r4, r4
|
|
46f0: 2cbe cmp r4, #190 ; 0xbe
|
|
46f2: d00a beq.n 470a <_lv_obj_get_style_ptr+0x82>
|
|
46f4: f248 038e movw r3, #32910 ; 0x808e
|
|
46f8: 429c cmp r4, r3
|
|
46fa: d003 beq.n 4704 <_lv_obj_get_style_ptr+0x7c>
|
|
46fc: 2c7e cmp r4, #126 ; 0x7e
|
|
46fe: d001 beq.n 4704 <_lv_obj_get_style_ptr+0x7c>
|
|
return NULL;
|
|
4700: 2000 movs r0, #0
|
|
4702: e7d2 b.n 46aa <_lv_obj_get_style_ptr+0x22>
|
|
return lv_theme_get_font_normal();
|
|
4704: 4b03 ldr r3, [pc, #12] ; (4714 <_lv_obj_get_style_ptr+0x8c>)
|
|
4706: 4798 blx r3
|
|
4708: e7cf b.n 46aa <_lv_obj_get_style_ptr+0x22>
|
|
return &lv_anim_path_def;
|
|
470a: 4803 ldr r0, [pc, #12] ; (4718 <_lv_obj_get_style_ptr+0x90>)
|
|
470c: e7cd b.n 46aa <_lv_obj_get_style_ptr+0x22>
|
|
470e: bf00 nop
|
|
4710: 00002c65 .word 0x00002c65
|
|
4714: 000141c5 .word 0x000141c5
|
|
4718: 000291e8 .word 0x000291e8
|
|
471c: 00002fe5 .word 0x00002fe5
|
|
4720: 00004451 .word 0x00004451
|
|
4724: 00007519 .word 0x00007519
|
|
|
|
00004728 <trans_anim_start_cb>:
|
|
{
|
|
4728: b570 push {r4, r5, r6, lr}
|
|
lv_style_trans_t * tr = a->var;
|
|
472a: 6804 ldr r4, [r0, #0]
|
|
lv_style_property_t prop_tmp = tr->prop;
|
|
472c: 88a5 ldrh r5, [r4, #4]
|
|
if((prop_tmp & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/
|
|
472e: f005 030f and.w r3, r5, #15
|
|
4732: 2b08 cmp r3, #8
|
|
4734: dd13 ble.n 475e <trans_anim_start_cb+0x36>
|
|
else if((prop_tmp & 0xF) < LV_STYLE_ID_OPA) { /*Color*/
|
|
4736: 2b0b cmp r3, #11
|
|
4738: dd18 ble.n 476c <trans_anim_start_cb+0x44>
|
|
else if((prop_tmp & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/
|
|
473a: 2b0d cmp r3, #13
|
|
473c: dd1d ble.n 477a <trans_anim_start_cb+0x52>
|
|
tr->start_value._ptr = _lv_obj_get_style_ptr(tr->obj, tr->part, prop_tmp);
|
|
473e: 462a mov r2, r5
|
|
4740: 79a1 ldrb r1, [r4, #6]
|
|
4742: 6820 ldr r0, [r4, #0]
|
|
4744: 4b10 ldr r3, [pc, #64] ; (4788 <trans_anim_start_cb+0x60>)
|
|
4746: 4798 blx r3
|
|
4748: 60a0 str r0, [r4, #8]
|
|
tr->prop = 0;
|
|
474a: 2300 movs r3, #0
|
|
474c: 80a3 strh r3, [r4, #4]
|
|
trans_del(tr->obj, tr->part, prop_tmp, tr);
|
|
474e: 4623 mov r3, r4
|
|
4750: 462a mov r2, r5
|
|
4752: 79a1 ldrb r1, [r4, #6]
|
|
4754: 6820 ldr r0, [r4, #0]
|
|
4756: 4e0d ldr r6, [pc, #52] ; (478c <trans_anim_start_cb+0x64>)
|
|
4758: 47b0 blx r6
|
|
tr->prop = prop_tmp;
|
|
475a: 80a5 strh r5, [r4, #4]
|
|
475c: bd70 pop {r4, r5, r6, pc}
|
|
tr->start_value._int = _lv_obj_get_style_int(tr->obj, tr->part, prop_tmp);
|
|
475e: 462a mov r2, r5
|
|
4760: 79a1 ldrb r1, [r4, #6]
|
|
4762: 6820 ldr r0, [r4, #0]
|
|
4764: 4b0a ldr r3, [pc, #40] ; (4790 <trans_anim_start_cb+0x68>)
|
|
4766: 4798 blx r3
|
|
4768: 8120 strh r0, [r4, #8]
|
|
476a: e7ee b.n 474a <trans_anim_start_cb+0x22>
|
|
tr->start_value._color = _lv_obj_get_style_color(tr->obj, tr->part, prop_tmp);
|
|
476c: 462a mov r2, r5
|
|
476e: 79a1 ldrb r1, [r4, #6]
|
|
4770: 6820 ldr r0, [r4, #0]
|
|
4772: 4b08 ldr r3, [pc, #32] ; (4794 <trans_anim_start_cb+0x6c>)
|
|
4774: 4798 blx r3
|
|
4776: 8120 strh r0, [r4, #8]
|
|
4778: e7e7 b.n 474a <trans_anim_start_cb+0x22>
|
|
tr->start_value._opa = _lv_obj_get_style_opa(tr->obj, tr->part, prop_tmp);
|
|
477a: 462a mov r2, r5
|
|
477c: 79a1 ldrb r1, [r4, #6]
|
|
477e: 6820 ldr r0, [r4, #0]
|
|
4780: 4b05 ldr r3, [pc, #20] ; (4798 <trans_anim_start_cb+0x70>)
|
|
4782: 4798 blx r3
|
|
4784: 7220 strb r0, [r4, #8]
|
|
4786: e7e0 b.n 474a <trans_anim_start_cb+0x22>
|
|
4788: 00004689 .word 0x00004689
|
|
478c: 00003011 .word 0x00003011
|
|
4790: 000044bd .word 0x000044bd
|
|
4794: 00004569 .word 0x00004569
|
|
4798: 000045f5 .word 0x000045f5
|
|
|
|
0000479c <lv_obj_set_state>:
|
|
if(obj->state == new_state) return;
|
|
479c: f890 303d ldrb.w r3, [r0, #61] ; 0x3d
|
|
47a0: 428b cmp r3, r1
|
|
47a2: f000 8252 beq.w 4c4a <lv_obj_set_state+0x4ae>
|
|
{
|
|
47a6: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
47aa: b0a1 sub sp, #132 ; 0x84
|
|
47ac: 4689 mov r9, r1
|
|
47ae: 4682 mov sl, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
47b0: 4bab ldr r3, [pc, #684] ; (4a60 <lv_obj_set_state+0x2c4>)
|
|
47b2: 4798 blx r3
|
|
47b4: b140 cbz r0, 47c8 <lv_obj_set_state+0x2c>
|
|
lv_state_t prev_state = obj->state;
|
|
47b6: f89a b03d ldrb.w fp, [sl, #61] ; 0x3d
|
|
obj->state = new_state;
|
|
47ba: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
47be: 2300 movs r3, #0
|
|
47c0: 9306 str r3, [sp, #24]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar)
|
|
47c2: 4da8 ldr r5, [pc, #672] ; (4a64 <lv_obj_set_state+0x2c8>)
|
|
lv_style_t * style_trans = _lv_style_list_get_transition_style(style_list);
|
|
47c4: 46d8 mov r8, fp
|
|
47c6: e1d2 b.n 4b6e <lv_obj_set_state+0x3d2>
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
47c8: 4ba7 ldr r3, [pc, #668] ; (4a68 <lv_obj_set_state+0x2cc>)
|
|
47ca: 9300 str r3, [sp, #0]
|
|
47cc: f240 6237 movw r2, #1591 ; 0x637
|
|
47d0: 49a6 ldr r1, [pc, #664] ; (4a6c <lv_obj_set_state+0x2d0>)
|
|
47d2: 2003 movs r0, #3
|
|
47d4: 4ca6 ldr r4, [pc, #664] ; (4a70 <lv_obj_set_state+0x2d4>)
|
|
47d6: 47a0 blx r4
|
|
47d8: 4652 mov r2, sl
|
|
47da: 2300 movs r3, #0
|
|
47dc: 48a5 ldr r0, [pc, #660] ; (4a74 <lv_obj_set_state+0x2d8>)
|
|
47de: 49a6 ldr r1, [pc, #664] ; (4a78 <lv_obj_set_state+0x2dc>)
|
|
47e0: 4788 blx r1
|
|
47e2: e7fe b.n 47e2 <lv_obj_set_state+0x46>
|
|
style_list->skip_trans = 1;
|
|
47e4: 7973 ldrb r3, [r6, #5]
|
|
47e6: f043 0304 orr.w r3, r3, #4
|
|
47ea: 7173 strb r3, [r6, #5]
|
|
obj->state = prev_state;
|
|
47ec: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
lv_style_int_t int1 = _lv_obj_get_style_int(obj, part, prop);
|
|
47f0: 4622 mov r2, r4
|
|
47f2: f8dd b00c ldr.w fp, [sp, #12]
|
|
47f6: 4659 mov r1, fp
|
|
47f8: 4650 mov r0, sl
|
|
47fa: 47a8 blx r5
|
|
47fc: 4607 mov r7, r0
|
|
obj->state = new_state;
|
|
47fe: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
lv_style_int_t int2 = _lv_obj_get_style_int(obj, part, prop);
|
|
4802: 4622 mov r2, r4
|
|
4804: f8cd b00c str.w fp, [sp, #12]
|
|
4808: 4659 mov r1, fp
|
|
480a: 4650 mov r0, sl
|
|
480c: 47a8 blx r5
|
|
480e: 4683 mov fp, r0
|
|
style_list->skip_trans = 0;
|
|
4810: 7973 ldrb r3, [r6, #5]
|
|
4812: f36f 0382 bfc r3, #2, #1
|
|
4816: 7173 strb r3, [r6, #5]
|
|
if(int1 == int2) return NULL;
|
|
4818: 4287 cmp r7, r0
|
|
481a: d04a beq.n 48b2 <lv_obj_set_state+0x116>
|
|
obj->state = prev_state;
|
|
481c: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
int1 = _lv_obj_get_style_int(obj, part, prop);
|
|
4820: 4622 mov r2, r4
|
|
4822: 9903 ldr r1, [sp, #12]
|
|
4824: 4650 mov r0, sl
|
|
4826: 47a8 blx r5
|
|
4828: 4606 mov r6, r0
|
|
obj->state = new_state;
|
|
482a: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
_lv_style_set_int(style_trans, prop, int1); /*Be sure `trans_style` has a valid value */
|
|
482e: 4602 mov r2, r0
|
|
4830: 4621 mov r1, r4
|
|
4832: 9804 ldr r0, [sp, #16]
|
|
4834: 4b91 ldr r3, [pc, #580] ; (4a7c <lv_obj_set_state+0x2e0>)
|
|
4836: 4798 blx r3
|
|
if(prop == LV_STYLE_RADIUS) {
|
|
4838: 2c01 cmp r4, #1
|
|
483a: f000 8094 beq.w 4966 <lv_obj_set_state+0x1ca>
|
|
tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll));
|
|
483e: 4890 ldr r0, [pc, #576] ; (4a80 <lv_obj_set_state+0x2e4>)
|
|
4840: 4b90 ldr r3, [pc, #576] ; (4a84 <lv_obj_set_state+0x2e8>)
|
|
4842: 4798 blx r3
|
|
4844: 4607 mov r7, r0
|
|
LV_ASSERT_MEM(tr);
|
|
4846: 4b86 ldr r3, [pc, #536] ; (4a60 <lv_obj_set_state+0x2c4>)
|
|
4848: 4798 blx r3
|
|
484a: 2800 cmp r0, #0
|
|
484c: f000 80a2 beq.w 4994 <lv_obj_set_state+0x1f8>
|
|
if(tr == NULL) return NULL;
|
|
4850: 2f00 cmp r7, #0
|
|
4852: d02e beq.n 48b2 <lv_obj_set_state+0x116>
|
|
tr->start_value._int = int1;
|
|
4854: 813e strh r6, [r7, #8]
|
|
tr->end_value._int = int2;
|
|
4856: f8a7 b00c strh.w fp, [r7, #12]
|
|
tr->obj = obj;
|
|
485a: f8c7 a000 str.w sl, [r7]
|
|
tr->prop = props[i];
|
|
485e: 80bc strh r4, [r7, #4]
|
|
tr->part = part;
|
|
4860: f89d 300c ldrb.w r3, [sp, #12]
|
|
4864: 71bb strb r3, [r7, #6]
|
|
lv_anim_init(&a);
|
|
4866: a810 add r0, sp, #64 ; 0x40
|
|
4868: 4b87 ldr r3, [pc, #540] ; (4a88 <lv_obj_set_state+0x2ec>)
|
|
486a: 4798 blx r3
|
|
* @param a pointer to an initialized `lv_anim_t` variable
|
|
* @param var pointer to a variable to animate
|
|
*/
|
|
static inline void lv_anim_set_var(lv_anim_t * a, void * var)
|
|
{
|
|
a->var = var;
|
|
486c: 9710 str r7, [sp, #64] ; 0x40
|
|
* LittelvGL's built-in functions can be used.
|
|
* E.g. lv_obj_set_x
|
|
*/
|
|
static inline void lv_anim_set_exec_cb(lv_anim_t * a, lv_anim_exec_xcb_t exec_cb)
|
|
{
|
|
a->exec_cb = exec_cb;
|
|
486e: 4b87 ldr r3, [pc, #540] ; (4a8c <lv_obj_set_state+0x2f0>)
|
|
4870: 9311 str r3, [sp, #68] ; 0x44
|
|
* @param a pointer to an initialized `lv_anim_t` variable
|
|
* @param start_cb a function call when the animation starts
|
|
*/
|
|
static inline void lv_anim_set_start_cb(lv_anim_t * a, lv_anim_ready_cb_t start_cb)
|
|
{
|
|
a->start_cb = start_cb;
|
|
4872: 4b87 ldr r3, [pc, #540] ; (4a90 <lv_obj_set_state+0x2f4>)
|
|
4874: 9312 str r3, [sp, #72] ; 0x48
|
|
* @param a pointer to an initialized `lv_anim_t` variable
|
|
* @param ready_cb a function call when the animation is ready
|
|
*/
|
|
static inline void lv_anim_set_ready_cb(lv_anim_t * a, lv_anim_ready_cb_t ready_cb)
|
|
{
|
|
a->ready_cb = ready_cb;
|
|
4876: 4b87 ldr r3, [pc, #540] ; (4a94 <lv_obj_set_state+0x2f8>)
|
|
4878: 9313 str r3, [sp, #76] ; 0x4c
|
|
a->start = start;
|
|
487a: 2300 movs r3, #0
|
|
487c: 9316 str r3, [sp, #88] ; 0x58
|
|
a->end = end;
|
|
487e: 23ff movs r3, #255 ; 0xff
|
|
4880: 9317 str r3, [sp, #92] ; 0x5c
|
|
a->time = duration;
|
|
4882: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
4884: 9318 str r3, [sp, #96] ; 0x60
|
|
a->act_time = (int32_t)(-delay);
|
|
4886: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
4888: 425b negs r3, r3
|
|
488a: 9319 str r3, [sp, #100] ; 0x64
|
|
488c: 9a08 ldr r2, [sp, #32]
|
|
488e: 1e53 subs r3, r2, #1
|
|
4890: 1dd0 adds r0, r2, #7
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
4892: aa14 add r2, sp, #80 ; 0x50
|
|
*d8 = *s8;
|
|
4894: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
4898: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
489c: 4283 cmp r3, r0
|
|
489e: d1f9 bne.n 4894 <lv_obj_set_state+0xf8>
|
|
a.early_apply = 0;
|
|
48a0: f89d 3076 ldrb.w r3, [sp, #118] ; 0x76
|
|
48a4: f36f 0300 bfc r3, #0, #1
|
|
48a8: f88d 3076 strb.w r3, [sp, #118] ; 0x76
|
|
lv_anim_start(&a);
|
|
48ac: a810 add r0, sp, #64 ; 0x40
|
|
48ae: 4b7a ldr r3, [pc, #488] ; (4a98 <lv_obj_set_state+0x2fc>)
|
|
48b0: 4798 blx r3
|
|
for(i = 0; i < LV_STYLE_TRANS_NUM_MAX; i++) {
|
|
48b2: 9b05 ldr r3, [sp, #20]
|
|
48b4: aa10 add r2, sp, #64 ; 0x40
|
|
48b6: 4293 cmp r3, r2
|
|
48b8: f000 8154 beq.w 4b64 <lv_obj_set_state+0x3c8>
|
|
if(props[i] != 0) {
|
|
48bc: 9b05 ldr r3, [sp, #20]
|
|
48be: f833 4b02 ldrh.w r4, [r3], #2
|
|
48c2: 9305 str r3, [sp, #20]
|
|
48c4: 2c00 cmp r4, #0
|
|
48c6: d0f4 beq.n 48b2 <lv_obj_set_state+0x116>
|
|
_lv_style_list_add_trans_style(style_list);
|
|
48c8: 9807 ldr r0, [sp, #28]
|
|
48ca: 4b74 ldr r3, [pc, #464] ; (4a9c <lv_obj_set_state+0x300>)
|
|
48cc: 4798 blx r3
|
|
lv_style_list_t * style_list = lv_obj_get_style_list(obj, part);
|
|
48ce: 9903 ldr r1, [sp, #12]
|
|
48d0: 4650 mov r0, sl
|
|
48d2: 4b73 ldr r3, [pc, #460] ; (4aa0 <lv_obj_set_state+0x304>)
|
|
48d4: 4798 blx r3
|
|
48d6: 4606 mov r6, r0
|
|
lv_style_t * style_trans = _lv_style_list_get_transition_style(style_list);
|
|
48d8: 4b72 ldr r3, [pc, #456] ; (4aa4 <lv_obj_set_state+0x308>)
|
|
48da: 4798 blx r3
|
|
48dc: 9004 str r0, [sp, #16]
|
|
if((prop & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/
|
|
48de: f004 030f and.w r3, r4, #15
|
|
48e2: 2b08 cmp r3, #8
|
|
48e4: f77f af7e ble.w 47e4 <lv_obj_set_state+0x48>
|
|
else if((prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/
|
|
48e8: 2b0b cmp r3, #11
|
|
48ea: dd61 ble.n 49b0 <lv_obj_set_state+0x214>
|
|
else if((prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/
|
|
48ec: 2b0d cmp r3, #13
|
|
48ee: f300 80e9 bgt.w 4ac4 <lv_obj_set_state+0x328>
|
|
style_list->skip_trans = 1;
|
|
48f2: 7973 ldrb r3, [r6, #5]
|
|
48f4: f043 0304 orr.w r3, r3, #4
|
|
48f8: 7173 strb r3, [r6, #5]
|
|
obj->state = prev_state;
|
|
48fa: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
lv_opa_t o1 = _lv_obj_get_style_opa(obj, part, prop);
|
|
48fe: 4622 mov r2, r4
|
|
4900: f8dd b00c ldr.w fp, [sp, #12]
|
|
4904: 4659 mov r1, fp
|
|
4906: 4650 mov r0, sl
|
|
4908: 4f67 ldr r7, [pc, #412] ; (4aa8 <lv_obj_set_state+0x30c>)
|
|
490a: 47b8 blx r7
|
|
490c: 900b str r0, [sp, #44] ; 0x2c
|
|
obj->state = new_state;
|
|
490e: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
lv_opa_t o2 = _lv_obj_get_style_opa(obj, part, prop);
|
|
4912: 4622 mov r2, r4
|
|
4914: f8cd b00c str.w fp, [sp, #12]
|
|
4918: 4659 mov r1, fp
|
|
491a: 4650 mov r0, sl
|
|
491c: 47b8 blx r7
|
|
491e: 4683 mov fp, r0
|
|
style_list->skip_trans = 0;
|
|
4920: 7973 ldrb r3, [r6, #5]
|
|
4922: f36f 0382 bfc r3, #2, #1
|
|
4926: 7173 strb r3, [r6, #5]
|
|
if(o1 == o2) return NULL;
|
|
4928: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
492a: 4283 cmp r3, r0
|
|
492c: d0c1 beq.n 48b2 <lv_obj_set_state+0x116>
|
|
obj->state = prev_state;
|
|
492e: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
o1 = _lv_obj_get_style_opa(obj, part, prop);
|
|
4932: 4622 mov r2, r4
|
|
4934: 9903 ldr r1, [sp, #12]
|
|
4936: 4650 mov r0, sl
|
|
4938: 47b8 blx r7
|
|
493a: 4606 mov r6, r0
|
|
obj->state = new_state;
|
|
493c: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
_lv_style_set_opa(style_trans, prop, o1); /*Be sure `trans_style` has a valid value */
|
|
4940: 4602 mov r2, r0
|
|
4942: 4621 mov r1, r4
|
|
4944: 9804 ldr r0, [sp, #16]
|
|
4946: 4b59 ldr r3, [pc, #356] ; (4aac <lv_obj_set_state+0x310>)
|
|
4948: 4798 blx r3
|
|
tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll));
|
|
494a: 484d ldr r0, [pc, #308] ; (4a80 <lv_obj_set_state+0x2e4>)
|
|
494c: 4b4d ldr r3, [pc, #308] ; (4a84 <lv_obj_set_state+0x2e8>)
|
|
494e: 4798 blx r3
|
|
4950: 4607 mov r7, r0
|
|
LV_ASSERT_MEM(tr);
|
|
4952: 4b43 ldr r3, [pc, #268] ; (4a60 <lv_obj_set_state+0x2c4>)
|
|
4954: 4798 blx r3
|
|
4956: 2800 cmp r0, #0
|
|
4958: d074 beq.n 4a44 <lv_obj_set_state+0x2a8>
|
|
if(tr == NULL) return NULL;
|
|
495a: 2f00 cmp r7, #0
|
|
495c: d0a9 beq.n 48b2 <lv_obj_set_state+0x116>
|
|
tr->start_value._opa = o1;
|
|
495e: 723e strb r6, [r7, #8]
|
|
tr->end_value._opa = o2;
|
|
4960: f887 b00c strb.w fp, [r7, #12]
|
|
4964: e779 b.n 485a <lv_obj_set_state+0xbe>
|
|
if(int1 == LV_RADIUS_CIRCLE || int2 == LV_RADIUS_CIRCLE) {
|
|
4966: f647 73ff movw r3, #32767 ; 0x7fff
|
|
496a: 429e cmp r6, r3
|
|
496c: f000 814c beq.w 4c08 <lv_obj_set_state+0x46c>
|
|
4970: 459b cmp fp, r3
|
|
4972: f47f af64 bne.w 483e <lv_obj_set_state+0xa2>
|
|
lv_coord_t whalf = lv_obj_get_width(obj) / 2;
|
|
4976: 4650 mov r0, sl
|
|
4978: f8df b144 ldr.w fp, [pc, #324] ; 4ac0 <lv_obj_set_state+0x324>
|
|
497c: 47d8 blx fp
|
|
497e: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
4982: f340 074f sbfx r7, r0, #1, #16
|
|
lv_coord_t hhalf = lv_obj_get_width(obj) / 2;
|
|
4986: 4650 mov r0, sl
|
|
4988: 47d8 blx fp
|
|
498a: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
498e: f340 034f sbfx r3, r0, #1, #16
|
|
4992: e151 b.n 4c38 <lv_obj_set_state+0x49c>
|
|
LV_ASSERT_MEM(tr);
|
|
4994: 4b46 ldr r3, [pc, #280] ; (4ab0 <lv_obj_set_state+0x314>)
|
|
4996: 9300 str r3, [sp, #0]
|
|
4998: f640 62b2 movw r2, #3762 ; 0xeb2
|
|
499c: 4933 ldr r1, [pc, #204] ; (4a6c <lv_obj_set_state+0x2d0>)
|
|
499e: 2003 movs r0, #3
|
|
49a0: 4c33 ldr r4, [pc, #204] ; (4a70 <lv_obj_set_state+0x2d4>)
|
|
49a2: 47a0 blx r4
|
|
49a4: 463a mov r2, r7
|
|
49a6: 2300 movs r3, #0
|
|
49a8: 4842 ldr r0, [pc, #264] ; (4ab4 <lv_obj_set_state+0x318>)
|
|
49aa: 4933 ldr r1, [pc, #204] ; (4a78 <lv_obj_set_state+0x2dc>)
|
|
49ac: 4788 blx r1
|
|
49ae: e7fe b.n 49ae <lv_obj_set_state+0x212>
|
|
style_list->skip_trans = 1;
|
|
49b0: 7973 ldrb r3, [r6, #5]
|
|
49b2: f043 0304 orr.w r3, r3, #4
|
|
49b6: 7173 strb r3, [r6, #5]
|
|
obj->state = prev_state;
|
|
49b8: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
lv_color_t c1 = _lv_obj_get_style_color(obj, part, prop);
|
|
49bc: 4622 mov r2, r4
|
|
49be: 9903 ldr r1, [sp, #12]
|
|
49c0: 4650 mov r0, sl
|
|
49c2: 4f3d ldr r7, [pc, #244] ; (4ab8 <lv_obj_set_state+0x31c>)
|
|
49c4: 47b8 blx r7
|
|
49c6: 4683 mov fp, r0
|
|
obj->state = new_state;
|
|
49c8: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
lv_color_t c2 = _lv_obj_get_style_color(obj, part, prop);
|
|
49cc: 4622 mov r2, r4
|
|
49ce: 9903 ldr r1, [sp, #12]
|
|
49d0: 4650 mov r0, sl
|
|
49d2: 47b8 blx r7
|
|
49d4: f8ad 002c strh.w r0, [sp, #44] ; 0x2c
|
|
style_list->skip_trans = 0;
|
|
49d8: 7973 ldrb r3, [r6, #5]
|
|
49da: f36f 0382 bfc r3, #2, #1
|
|
49de: 7173 strb r3, [r6, #5]
|
|
if(c1.full == c2.full) return NULL;
|
|
49e0: fa1f fb8b uxth.w fp, fp
|
|
49e4: b283 uxth r3, r0
|
|
49e6: 459b cmp fp, r3
|
|
49e8: f43f af63 beq.w 48b2 <lv_obj_set_state+0x116>
|
|
obj->state = prev_state;
|
|
49ec: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
c1 = _lv_obj_get_style_color(obj, part, prop);
|
|
49f0: 4622 mov r2, r4
|
|
49f2: 9903 ldr r1, [sp, #12]
|
|
49f4: 4650 mov r0, sl
|
|
49f6: 47b8 blx r7
|
|
49f8: 4683 mov fp, r0
|
|
obj->state = new_state;
|
|
49fa: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
_lv_style_set_color(style_trans, prop, c1); /*Be sure `trans_style` has a valid value */
|
|
49fe: 4602 mov r2, r0
|
|
4a00: 4621 mov r1, r4
|
|
4a02: 9804 ldr r0, [sp, #16]
|
|
4a04: 4b2d ldr r3, [pc, #180] ; (4abc <lv_obj_set_state+0x320>)
|
|
4a06: 4798 blx r3
|
|
tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll));
|
|
4a08: 481d ldr r0, [pc, #116] ; (4a80 <lv_obj_set_state+0x2e4>)
|
|
4a0a: 4b1e ldr r3, [pc, #120] ; (4a84 <lv_obj_set_state+0x2e8>)
|
|
4a0c: 4798 blx r3
|
|
4a0e: 4607 mov r7, r0
|
|
LV_ASSERT_MEM(tr);
|
|
4a10: 4b13 ldr r3, [pc, #76] ; (4a60 <lv_obj_set_state+0x2c4>)
|
|
4a12: 4798 blx r3
|
|
4a14: b140 cbz r0, 4a28 <lv_obj_set_state+0x28c>
|
|
if(tr == NULL) return NULL;
|
|
4a16: 2f00 cmp r7, #0
|
|
4a18: f43f af4b beq.w 48b2 <lv_obj_set_state+0x116>
|
|
tr->start_value._color = c1;
|
|
4a1c: f8a7 b008 strh.w fp, [r7, #8]
|
|
tr->end_value._color = c2;
|
|
4a20: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c
|
|
4a24: 81bb strh r3, [r7, #12]
|
|
4a26: e718 b.n 485a <lv_obj_set_state+0xbe>
|
|
LV_ASSERT_MEM(tr);
|
|
4a28: 4b21 ldr r3, [pc, #132] ; (4ab0 <lv_obj_set_state+0x314>)
|
|
4a2a: 9300 str r3, [sp, #0]
|
|
4a2c: f640 62c6 movw r2, #3782 ; 0xec6
|
|
4a30: 490e ldr r1, [pc, #56] ; (4a6c <lv_obj_set_state+0x2d0>)
|
|
4a32: 2003 movs r0, #3
|
|
4a34: 4c0e ldr r4, [pc, #56] ; (4a70 <lv_obj_set_state+0x2d4>)
|
|
4a36: 47a0 blx r4
|
|
4a38: 463a mov r2, r7
|
|
4a3a: 2300 movs r3, #0
|
|
4a3c: 481d ldr r0, [pc, #116] ; (4ab4 <lv_obj_set_state+0x318>)
|
|
4a3e: 490e ldr r1, [pc, #56] ; (4a78 <lv_obj_set_state+0x2dc>)
|
|
4a40: 4788 blx r1
|
|
4a42: e7fe b.n 4a42 <lv_obj_set_state+0x2a6>
|
|
LV_ASSERT_MEM(tr);
|
|
4a44: 4b1a ldr r3, [pc, #104] ; (4ab0 <lv_obj_set_state+0x314>)
|
|
4a46: 9300 str r3, [sp, #0]
|
|
4a48: f640 62db movw r2, #3803 ; 0xedb
|
|
4a4c: 4907 ldr r1, [pc, #28] ; (4a6c <lv_obj_set_state+0x2d0>)
|
|
4a4e: 2003 movs r0, #3
|
|
4a50: 4c07 ldr r4, [pc, #28] ; (4a70 <lv_obj_set_state+0x2d4>)
|
|
4a52: 47a0 blx r4
|
|
4a54: 463a mov r2, r7
|
|
4a56: 2300 movs r3, #0
|
|
4a58: 4816 ldr r0, [pc, #88] ; (4ab4 <lv_obj_set_state+0x318>)
|
|
4a5a: 4907 ldr r1, [pc, #28] ; (4a78 <lv_obj_set_state+0x2dc>)
|
|
4a5c: 4788 blx r1
|
|
4a5e: e7fe b.n 4a5e <lv_obj_set_state+0x2c2>
|
|
4a60: 00002299 .word 0x00002299
|
|
4a64: 000044bd .word 0x000044bd
|
|
4a68: 000246b8 .word 0x000246b8
|
|
4a6c: 000247c4 .word 0x000247c4
|
|
4a70: 00012245 .word 0x00012245
|
|
4a74: 00024824 .word 0x00024824
|
|
4a78: 000022a1 .word 0x000022a1
|
|
4a7c: 000068c9 .word 0x000068c9
|
|
4a80: 20006d3c .word 0x20006d3c
|
|
4a84: 00011ef9 .word 0x00011ef9
|
|
4a88: 000112cd .word 0x000112cd
|
|
4a8c: 00003c95 .word 0x00003c95
|
|
4a90: 00004729 .word 0x00004729
|
|
4a94: 00003109 .word 0x00003109
|
|
4a98: 00011389 .word 0x00011389
|
|
4a9c: 0000721d .word 0x0000721d
|
|
4aa0: 00002fe5 .word 0x00002fe5
|
|
4aa4: 000070cf .word 0x000070cf
|
|
4aa8: 000045f5 .word 0x000045f5
|
|
4aac: 00006b51 .word 0x00006b51
|
|
4ab0: 000246cc .word 0x000246cc
|
|
4ab4: 00023fc0 .word 0x00023fc0
|
|
4ab8: 00004569 .word 0x00004569
|
|
4abc: 00006a0d .word 0x00006a0d
|
|
4ac0: 00002f45 .word 0x00002f45
|
|
obj->state = prev_state;
|
|
4ac4: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
style_list->skip_trans = 1;
|
|
4ac8: 7973 ldrb r3, [r6, #5]
|
|
4aca: f043 0304 orr.w r3, r3, #4
|
|
4ace: 7173 strb r3, [r6, #5]
|
|
const void * p1 = _lv_obj_get_style_ptr(obj, part, prop);
|
|
4ad0: 4622 mov r2, r4
|
|
4ad2: f8dd b00c ldr.w fp, [sp, #12]
|
|
4ad6: 4659 mov r1, fp
|
|
4ad8: 4650 mov r0, sl
|
|
4ada: 4f5c ldr r7, [pc, #368] ; (4c4c <lv_obj_set_state+0x4b0>)
|
|
4adc: 47b8 blx r7
|
|
4ade: 900c str r0, [sp, #48] ; 0x30
|
|
obj->state = new_state;
|
|
4ae0: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
const void * p2 = _lv_obj_get_style_ptr(obj, part, prop);
|
|
4ae4: 4622 mov r2, r4
|
|
4ae6: f8cd b00c str.w fp, [sp, #12]
|
|
4aea: 4659 mov r1, fp
|
|
4aec: 4650 mov r0, sl
|
|
4aee: 47b8 blx r7
|
|
4af0: 4683 mov fp, r0
|
|
4af2: a920 add r1, sp, #128 ; 0x80
|
|
4af4: f841 0d40 str.w r0, [r1, #-64]!
|
|
style_list->skip_trans = 0;
|
|
4af8: 7973 ldrb r3, [r6, #5]
|
|
4afa: f36f 0382 bfc r3, #2, #1
|
|
4afe: 7173 strb r3, [r6, #5]
|
|
if(memcmp(&p1, &p2, sizeof(const void *)) == 0) return NULL;
|
|
4b00: 2204 movs r2, #4
|
|
4b02: a80c add r0, sp, #48 ; 0x30
|
|
4b04: 4b52 ldr r3, [pc, #328] ; (4c50 <lv_obj_set_state+0x4b4>)
|
|
4b06: 4798 blx r3
|
|
4b08: 2800 cmp r0, #0
|
|
4b0a: f43f aed2 beq.w 48b2 <lv_obj_set_state+0x116>
|
|
obj->state = prev_state;
|
|
4b0e: f88a 803d strb.w r8, [sl, #61] ; 0x3d
|
|
p1 = _lv_obj_get_style_ptr(obj, part, prop);
|
|
4b12: 4622 mov r2, r4
|
|
4b14: 9903 ldr r1, [sp, #12]
|
|
4b16: 4650 mov r0, sl
|
|
4b18: 47b8 blx r7
|
|
4b1a: 4606 mov r6, r0
|
|
4b1c: 900c str r0, [sp, #48] ; 0x30
|
|
obj->state = new_state;
|
|
4b1e: f88a 903d strb.w r9, [sl, #61] ; 0x3d
|
|
_lv_style_set_ptr(style_trans, prop, p1); /*Be sure `trans_style` has a valid value */
|
|
4b22: 4602 mov r2, r0
|
|
4b24: 4621 mov r1, r4
|
|
4b26: 9804 ldr r0, [sp, #16]
|
|
4b28: 4b4a ldr r3, [pc, #296] ; (4c54 <lv_obj_set_state+0x4b8>)
|
|
4b2a: 4798 blx r3
|
|
tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll));
|
|
4b2c: 484a ldr r0, [pc, #296] ; (4c58 <lv_obj_set_state+0x4bc>)
|
|
4b2e: 4b4b ldr r3, [pc, #300] ; (4c5c <lv_obj_set_state+0x4c0>)
|
|
4b30: 4798 blx r3
|
|
4b32: 4607 mov r7, r0
|
|
LV_ASSERT_MEM(tr);
|
|
4b34: 4b4a ldr r3, [pc, #296] ; (4c60 <lv_obj_set_state+0x4c4>)
|
|
4b36: 4798 blx r3
|
|
4b38: b130 cbz r0, 4b48 <lv_obj_set_state+0x3ac>
|
|
if(tr == NULL) return NULL;
|
|
4b3a: 2f00 cmp r7, #0
|
|
4b3c: f43f aeb9 beq.w 48b2 <lv_obj_set_state+0x116>
|
|
tr->start_value._ptr = p1;
|
|
4b40: 60be str r6, [r7, #8]
|
|
tr->end_value._ptr = p2;
|
|
4b42: f8c7 b00c str.w fp, [r7, #12]
|
|
4b46: e688 b.n 485a <lv_obj_set_state+0xbe>
|
|
LV_ASSERT_MEM(tr);
|
|
4b48: 4b46 ldr r3, [pc, #280] ; (4c64 <lv_obj_set_state+0x4c8>)
|
|
4b4a: 9300 str r3, [sp, #0]
|
|
4b4c: f640 62ef movw r2, #3823 ; 0xeef
|
|
4b50: 4945 ldr r1, [pc, #276] ; (4c68 <lv_obj_set_state+0x4cc>)
|
|
4b52: 2003 movs r0, #3
|
|
4b54: 4c45 ldr r4, [pc, #276] ; (4c6c <lv_obj_set_state+0x4d0>)
|
|
4b56: 47a0 blx r4
|
|
4b58: 463a mov r2, r7
|
|
4b5a: 2300 movs r3, #0
|
|
4b5c: 4844 ldr r0, [pc, #272] ; (4c70 <lv_obj_set_state+0x4d4>)
|
|
4b5e: 4945 ldr r1, [pc, #276] ; (4c74 <lv_obj_set_state+0x4d8>)
|
|
4b60: 4788 blx r1
|
|
4b62: e7fe b.n 4b62 <lv_obj_set_state+0x3c6>
|
|
4b64: 9b06 ldr r3, [sp, #24]
|
|
4b66: 3301 adds r3, #1
|
|
4b68: 9306 str r3, [sp, #24]
|
|
for(part = 0; part < _LV_OBJ_PART_REAL_LAST; part++) {
|
|
4b6a: 2b40 cmp r3, #64 ; 0x40
|
|
4b6c: d045 beq.n 4bfa <lv_obj_set_state+0x45e>
|
|
4b6e: f89d 3018 ldrb.w r3, [sp, #24]
|
|
4b72: 9303 str r3, [sp, #12]
|
|
lv_style_list_t * style_list = lv_obj_get_style_list(obj, part);
|
|
4b74: 4619 mov r1, r3
|
|
4b76: 4650 mov r0, sl
|
|
4b78: 4b3f ldr r3, [pc, #252] ; (4c78 <lv_obj_set_state+0x4dc>)
|
|
4b7a: 4798 blx r3
|
|
if(style_list == NULL) break; /*No more style lists*/
|
|
4b7c: 9007 str r0, [sp, #28]
|
|
4b7e: 2800 cmp r0, #0
|
|
4b80: d03b beq.n 4bfa <lv_obj_set_state+0x45e>
|
|
if(style_list->ignore_trans) continue;
|
|
4b82: 7943 ldrb r3, [r0, #5]
|
|
4b84: f013 0f08 tst.w r3, #8
|
|
4b88: d1ec bne.n 4b64 <lv_obj_set_state+0x3c8>
|
|
4b8a: 22b0 movs r2, #176 ; 0xb0
|
|
4b8c: 9c03 ldr r4, [sp, #12]
|
|
4b8e: 4621 mov r1, r4
|
|
4b90: 4650 mov r0, sl
|
|
4b92: 47a8 blx r5
|
|
4b94: 900a str r0, [sp, #40] ; 0x28
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar)
|
|
4b96: 22b1 movs r2, #177 ; 0xb1
|
|
4b98: 4621 mov r1, r4
|
|
4b9a: 4650 mov r0, sl
|
|
4b9c: 47a8 blx r5
|
|
4b9e: 9009 str r0, [sp, #36] ; 0x24
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar)
|
|
#if LV_USE_ANIMATION
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar)
|
|
4ba0: 22be movs r2, #190 ; 0xbe
|
|
4ba2: 4621 mov r1, r4
|
|
4ba4: 4650 mov r0, sl
|
|
4ba6: 4b29 ldr r3, [pc, #164] ; (4c4c <lv_obj_set_state+0x4b0>)
|
|
4ba8: 4798 blx r3
|
|
4baa: 9008 str r0, [sp, #32]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar)
|
|
4bac: 22b2 movs r2, #178 ; 0xb2
|
|
4bae: 4621 mov r1, r4
|
|
4bb0: 4650 mov r0, sl
|
|
4bb2: 47a8 blx r5
|
|
props[0] = lv_obj_get_style_transition_prop_1(obj, part);
|
|
4bb4: f8ad 0034 strh.w r0, [sp, #52] ; 0x34
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar)
|
|
4bb8: 22b3 movs r2, #179 ; 0xb3
|
|
4bba: 4621 mov r1, r4
|
|
4bbc: 4650 mov r0, sl
|
|
4bbe: 47a8 blx r5
|
|
props[1] = lv_obj_get_style_transition_prop_2(obj, part);
|
|
4bc0: f8ad 0036 strh.w r0, [sp, #54] ; 0x36
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar)
|
|
4bc4: 22b4 movs r2, #180 ; 0xb4
|
|
4bc6: 4621 mov r1, r4
|
|
4bc8: 4650 mov r0, sl
|
|
4bca: 47a8 blx r5
|
|
props[2] = lv_obj_get_style_transition_prop_3(obj, part);
|
|
4bcc: f8ad 0038 strh.w r0, [sp, #56] ; 0x38
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar)
|
|
4bd0: 22b5 movs r2, #181 ; 0xb5
|
|
4bd2: 4621 mov r1, r4
|
|
4bd4: 4650 mov r0, sl
|
|
4bd6: 47a8 blx r5
|
|
props[3] = lv_obj_get_style_transition_prop_4(obj, part);
|
|
4bd8: f8ad 003a strh.w r0, [sp, #58] ; 0x3a
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar)
|
|
4bdc: 22b6 movs r2, #182 ; 0xb6
|
|
4bde: 4621 mov r1, r4
|
|
4be0: 4650 mov r0, sl
|
|
4be2: 47a8 blx r5
|
|
props[4] = lv_obj_get_style_transition_prop_5(obj, part);
|
|
4be4: f8ad 003c strh.w r0, [sp, #60] ; 0x3c
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar)
|
|
4be8: 22b7 movs r2, #183 ; 0xb7
|
|
4bea: 4621 mov r1, r4
|
|
4bec: 4650 mov r0, sl
|
|
4bee: 47a8 blx r5
|
|
props[5] = lv_obj_get_style_transition_prop_6(obj, part);
|
|
4bf0: f8ad 003e strh.w r0, [sp, #62] ; 0x3e
|
|
4bf4: ab0d add r3, sp, #52 ; 0x34
|
|
4bf6: 9305 str r3, [sp, #20]
|
|
4bf8: e660 b.n 48bc <lv_obj_set_state+0x120>
|
|
lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL);
|
|
4bfa: 21ff movs r1, #255 ; 0xff
|
|
4bfc: 4650 mov r0, sl
|
|
4bfe: 4b1f ldr r3, [pc, #124] ; (4c7c <lv_obj_set_state+0x4e0>)
|
|
4c00: 4798 blx r3
|
|
}
|
|
4c02: b021 add sp, #132 ; 0x84
|
|
4c04: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
lv_coord_t whalf = lv_obj_get_width(obj) / 2;
|
|
4c08: 4650 mov r0, sl
|
|
4c0a: 4e1d ldr r6, [pc, #116] ; (4c80 <lv_obj_set_state+0x4e4>)
|
|
4c0c: 47b0 blx r6
|
|
4c0e: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
4c12: f340 074f sbfx r7, r0, #1, #16
|
|
lv_coord_t hhalf = lv_obj_get_width(obj) / 2;
|
|
4c16: 4650 mov r0, sl
|
|
4c18: 47b0 blx r6
|
|
4c1a: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
4c1e: f340 034f sbfx r3, r0, #1, #16
|
|
if(int1 == LV_RADIUS_CIRCLE) int1 = LV_MATH_MIN(whalf + 1, hhalf + 1);
|
|
4c22: 1c5e adds r6, r3, #1
|
|
4c24: 1c7a adds r2, r7, #1
|
|
4c26: 4296 cmp r6, r2
|
|
4c28: bfa8 it ge
|
|
4c2a: 4616 movge r6, r2
|
|
4c2c: b236 sxth r6, r6
|
|
if(int2 == LV_RADIUS_CIRCLE) int2 = LV_MATH_MIN(whalf + 1, hhalf + 1);
|
|
4c2e: f647 72ff movw r2, #32767 ; 0x7fff
|
|
4c32: 4593 cmp fp, r2
|
|
4c34: f47f ae03 bne.w 483e <lv_obj_set_state+0xa2>
|
|
4c38: f103 0b01 add.w fp, r3, #1
|
|
4c3c: 3701 adds r7, #1
|
|
4c3e: 45bb cmp fp, r7
|
|
4c40: bfa8 it ge
|
|
4c42: 46bb movge fp, r7
|
|
4c44: fa0f fb8b sxth.w fp, fp
|
|
4c48: e5f9 b.n 483e <lv_obj_set_state+0xa2>
|
|
4c4a: 4770 bx lr
|
|
4c4c: 00004689 .word 0x00004689
|
|
4c50: 0001b4c5 .word 0x0001b4c5
|
|
4c54: 00006c81 .word 0x00006c81
|
|
4c58: 20006d3c .word 0x20006d3c
|
|
4c5c: 00011ef9 .word 0x00011ef9
|
|
4c60: 00002299 .word 0x00002299
|
|
4c64: 000246cc .word 0x000246cc
|
|
4c68: 000247c4 .word 0x000247c4
|
|
4c6c: 00012245 .word 0x00012245
|
|
4c70: 00023fc0 .word 0x00023fc0
|
|
4c74: 000022a1 .word 0x000022a1
|
|
4c78: 00002fe5 .word 0x00002fe5
|
|
4c7c: 00003a81 .word 0x00003a81
|
|
4c80: 00002f45 .word 0x00002f45
|
|
|
|
00004c84 <lv_obj_add_state>:
|
|
{
|
|
4c84: b530 push {r4, r5, lr}
|
|
4c86: b083 sub sp, #12
|
|
4c88: 4605 mov r5, r0
|
|
4c8a: 460c mov r4, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4c8c: 4b0d ldr r3, [pc, #52] ; (4cc4 <lv_obj_add_state+0x40>)
|
|
4c8e: 4798 blx r3
|
|
4c90: b150 cbz r0, 4ca8 <lv_obj_add_state+0x24>
|
|
lv_state_t new_state = obj->state | state;
|
|
4c92: f895 303d ldrb.w r3, [r5, #61] ; 0x3d
|
|
4c96: ea43 0104 orr.w r1, r3, r4
|
|
if(obj->state != new_state) {
|
|
4c9a: 428b cmp r3, r1
|
|
4c9c: d002 beq.n 4ca4 <lv_obj_add_state+0x20>
|
|
lv_obj_set_state(obj, new_state);
|
|
4c9e: 4628 mov r0, r5
|
|
4ca0: 4b09 ldr r3, [pc, #36] ; (4cc8 <lv_obj_add_state+0x44>)
|
|
4ca2: 4798 blx r3
|
|
}
|
|
4ca4: b003 add sp, #12
|
|
4ca6: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4ca8: 4b08 ldr r3, [pc, #32] ; (4ccc <lv_obj_add_state+0x48>)
|
|
4caa: 9300 str r3, [sp, #0]
|
|
4cac: f240 627e movw r2, #1662 ; 0x67e
|
|
4cb0: 4907 ldr r1, [pc, #28] ; (4cd0 <lv_obj_add_state+0x4c>)
|
|
4cb2: 2003 movs r0, #3
|
|
4cb4: 4c07 ldr r4, [pc, #28] ; (4cd4 <lv_obj_add_state+0x50>)
|
|
4cb6: 47a0 blx r4
|
|
4cb8: 462a mov r2, r5
|
|
4cba: 2300 movs r3, #0
|
|
4cbc: 4806 ldr r0, [pc, #24] ; (4cd8 <lv_obj_add_state+0x54>)
|
|
4cbe: 4907 ldr r1, [pc, #28] ; (4cdc <lv_obj_add_state+0x58>)
|
|
4cc0: 4788 blx r1
|
|
4cc2: e7fe b.n 4cc2 <lv_obj_add_state+0x3e>
|
|
4cc4: 00002299 .word 0x00002299
|
|
4cc8: 0000479d .word 0x0000479d
|
|
4ccc: 000246dc .word 0x000246dc
|
|
4cd0: 000247c4 .word 0x000247c4
|
|
4cd4: 00012245 .word 0x00012245
|
|
4cd8: 00024824 .word 0x00024824
|
|
4cdc: 000022a1 .word 0x000022a1
|
|
|
|
00004ce0 <lv_obj_clear_state>:
|
|
{
|
|
4ce0: b530 push {r4, r5, lr}
|
|
4ce2: b083 sub sp, #12
|
|
4ce4: 4605 mov r5, r0
|
|
4ce6: 460c mov r4, r1
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4ce8: 4b0d ldr r3, [pc, #52] ; (4d20 <lv_obj_clear_state+0x40>)
|
|
4cea: 4798 blx r3
|
|
4cec: b150 cbz r0, 4d04 <lv_obj_clear_state+0x24>
|
|
lv_state_t new_state = obj->state & (~state);
|
|
4cee: f895 303d ldrb.w r3, [r5, #61] ; 0x3d
|
|
4cf2: ea23 0104 bic.w r1, r3, r4
|
|
if(obj->state != new_state) {
|
|
4cf6: 428b cmp r3, r1
|
|
4cf8: d002 beq.n 4d00 <lv_obj_clear_state+0x20>
|
|
lv_obj_set_state(obj, new_state);
|
|
4cfa: 4628 mov r0, r5
|
|
4cfc: 4b09 ldr r3, [pc, #36] ; (4d24 <lv_obj_clear_state+0x44>)
|
|
4cfe: 4798 blx r3
|
|
}
|
|
4d00: b003 add sp, #12
|
|
4d02: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4d04: 4b08 ldr r3, [pc, #32] ; (4d28 <lv_obj_clear_state+0x48>)
|
|
4d06: 9300 str r3, [sp, #0]
|
|
4d08: f240 628f movw r2, #1679 ; 0x68f
|
|
4d0c: 4907 ldr r1, [pc, #28] ; (4d2c <lv_obj_clear_state+0x4c>)
|
|
4d0e: 2003 movs r0, #3
|
|
4d10: 4c07 ldr r4, [pc, #28] ; (4d30 <lv_obj_clear_state+0x50>)
|
|
4d12: 47a0 blx r4
|
|
4d14: 462a mov r2, r5
|
|
4d16: 2300 movs r3, #0
|
|
4d18: 4806 ldr r0, [pc, #24] ; (4d34 <lv_obj_clear_state+0x54>)
|
|
4d1a: 4907 ldr r1, [pc, #28] ; (4d38 <lv_obj_clear_state+0x58>)
|
|
4d1c: 4788 blx r1
|
|
4d1e: e7fe b.n 4d1e <lv_obj_clear_state+0x3e>
|
|
4d20: 00002299 .word 0x00002299
|
|
4d24: 0000479d .word 0x0000479d
|
|
4d28: 000246f0 .word 0x000246f0
|
|
4d2c: 000247c4 .word 0x000247c4
|
|
4d30: 00012245 .word 0x00012245
|
|
4d34: 00024824 .word 0x00024824
|
|
4d38: 000022a1 .word 0x000022a1
|
|
|
|
00004d3c <lv_obj_get_signal_cb>:
|
|
{
|
|
4d3c: b530 push {r4, r5, lr}
|
|
4d3e: b083 sub sp, #12
|
|
4d40: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4d42: 4b0a ldr r3, [pc, #40] ; (4d6c <lv_obj_get_signal_cb+0x30>)
|
|
4d44: 4798 blx r3
|
|
4d46: b110 cbz r0, 4d4e <lv_obj_get_signal_cb+0x12>
|
|
}
|
|
4d48: 69e0 ldr r0, [r4, #28]
|
|
4d4a: b003 add sp, #12
|
|
4d4c: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4d4e: 4b08 ldr r3, [pc, #32] ; (4d70 <lv_obj_get_signal_cb+0x34>)
|
|
4d50: 9300 str r3, [sp, #0]
|
|
4d52: f640 22f5 movw r2, #2805 ; 0xaf5
|
|
4d56: 4907 ldr r1, [pc, #28] ; (4d74 <lv_obj_get_signal_cb+0x38>)
|
|
4d58: 2003 movs r0, #3
|
|
4d5a: 4d07 ldr r5, [pc, #28] ; (4d78 <lv_obj_get_signal_cb+0x3c>)
|
|
4d5c: 47a8 blx r5
|
|
4d5e: 4622 mov r2, r4
|
|
4d60: 2300 movs r3, #0
|
|
4d62: 4806 ldr r0, [pc, #24] ; (4d7c <lv_obj_get_signal_cb+0x40>)
|
|
4d64: 4906 ldr r1, [pc, #24] ; (4d80 <lv_obj_get_signal_cb+0x44>)
|
|
4d66: 4788 blx r1
|
|
4d68: e7fe b.n 4d68 <lv_obj_get_signal_cb+0x2c>
|
|
4d6a: bf00 nop
|
|
4d6c: 00002299 .word 0x00002299
|
|
4d70: 00024704 .word 0x00024704
|
|
4d74: 000247c4 .word 0x000247c4
|
|
4d78: 00012245 .word 0x00012245
|
|
4d7c: 00024824 .word 0x00024824
|
|
4d80: 000022a1 .word 0x000022a1
|
|
|
|
00004d84 <lv_obj_get_ext_attr>:
|
|
{
|
|
4d84: b530 push {r4, r5, lr}
|
|
4d86: b083 sub sp, #12
|
|
4d88: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4d8a: 4b0a ldr r3, [pc, #40] ; (4db4 <lv_obj_get_ext_attr+0x30>)
|
|
4d8c: 4798 blx r3
|
|
4d8e: b110 cbz r0, 4d96 <lv_obj_get_ext_attr+0x12>
|
|
}
|
|
4d90: 6a60 ldr r0, [r4, #36] ; 0x24
|
|
4d92: b003 add sp, #12
|
|
4d94: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4d96: 4b08 ldr r3, [pc, #32] ; (4db8 <lv_obj_get_ext_attr+0x34>)
|
|
4d98: 9300 str r3, [sp, #0]
|
|
4d9a: f640 321e movw r2, #2846 ; 0xb1e
|
|
4d9e: 4907 ldr r1, [pc, #28] ; (4dbc <lv_obj_get_ext_attr+0x38>)
|
|
4da0: 2003 movs r0, #3
|
|
4da2: 4d07 ldr r5, [pc, #28] ; (4dc0 <lv_obj_get_ext_attr+0x3c>)
|
|
4da4: 47a8 blx r5
|
|
4da6: 4622 mov r2, r4
|
|
4da8: 2300 movs r3, #0
|
|
4daa: 4806 ldr r0, [pc, #24] ; (4dc4 <lv_obj_get_ext_attr+0x40>)
|
|
4dac: 4906 ldr r1, [pc, #24] ; (4dc8 <lv_obj_get_ext_attr+0x44>)
|
|
4dae: 4788 blx r1
|
|
4db0: e7fe b.n 4db0 <lv_obj_get_ext_attr+0x2c>
|
|
4db2: bf00 nop
|
|
4db4: 00002299 .word 0x00002299
|
|
4db8: 00024748 .word 0x00024748
|
|
4dbc: 000247c4 .word 0x000247c4
|
|
4dc0: 00012245 .word 0x00012245
|
|
4dc4: 00024824 .word 0x00024824
|
|
4dc8: 000022a1 .word 0x000022a1
|
|
|
|
00004dcc <lv_obj_get_group>:
|
|
{
|
|
4dcc: b530 push {r4, r5, lr}
|
|
4dce: b083 sub sp, #12
|
|
4dd0: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4dd2: 4b0a ldr r3, [pc, #40] ; (4dfc <lv_obj_get_group+0x30>)
|
|
4dd4: 4798 blx r3
|
|
4dd6: b110 cbz r0, 4dde <lv_obj_get_group+0x12>
|
|
}
|
|
4dd8: 6ba0 ldr r0, [r4, #56] ; 0x38
|
|
4dda: b003 add sp, #12
|
|
4ddc: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4dde: 4b08 ldr r3, [pc, #32] ; (4e00 <lv_obj_get_group+0x34>)
|
|
4de0: 9300 str r3, [sp, #0]
|
|
4de2: f640 326f movw r2, #2927 ; 0xb6f
|
|
4de6: 4907 ldr r1, [pc, #28] ; (4e04 <lv_obj_get_group+0x38>)
|
|
4de8: 2003 movs r0, #3
|
|
4dea: 4d07 ldr r5, [pc, #28] ; (4e08 <lv_obj_get_group+0x3c>)
|
|
4dec: 47a8 blx r5
|
|
4dee: 4622 mov r2, r4
|
|
4df0: 2300 movs r3, #0
|
|
4df2: 4806 ldr r0, [pc, #24] ; (4e0c <lv_obj_get_group+0x40>)
|
|
4df4: 4906 ldr r1, [pc, #24] ; (4e10 <lv_obj_get_group+0x44>)
|
|
4df6: 4788 blx r1
|
|
4df8: e7fe b.n 4df8 <lv_obj_get_group+0x2c>
|
|
4dfa: bf00 nop
|
|
4dfc: 00002299 .word 0x00002299
|
|
4e00: 0002476c .word 0x0002476c
|
|
4e04: 000247c4 .word 0x000247c4
|
|
4e08: 00012245 .word 0x00012245
|
|
4e0c: 00024824 .word 0x00024824
|
|
4e10: 000022a1 .word 0x000022a1
|
|
|
|
00004e14 <obj_del_core>:
|
|
{
|
|
4e14: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
4e18: 4605 mov r5, r0
|
|
lv_event_send(obj, LV_EVENT_DELETE, NULL);
|
|
4e1a: 2200 movs r2, #0
|
|
4e1c: 2115 movs r1, #21
|
|
4e1e: 4b3c ldr r3, [pc, #240] ; (4f10 <obj_del_core+0xfc>)
|
|
4e20: 4798 blx r3
|
|
lv_group_t * group = lv_obj_get_group(obj);
|
|
4e22: 4628 mov r0, r5
|
|
4e24: 4b3b ldr r3, [pc, #236] ; (4f14 <obj_del_core+0x100>)
|
|
4e26: 4798 blx r3
|
|
if(group) lv_group_remove_obj(obj);
|
|
4e28: 4607 mov r7, r0
|
|
4e2a: b110 cbz r0, 4e32 <obj_del_core+0x1e>
|
|
4e2c: 4628 mov r0, r5
|
|
4e2e: 4b3a ldr r3, [pc, #232] ; (4f18 <obj_del_core+0x104>)
|
|
4e30: 4798 blx r3
|
|
lv_anim_del(obj, NULL);
|
|
4e32: 2100 movs r1, #0
|
|
4e34: 4628 mov r0, r5
|
|
4e36: 4b39 ldr r3, [pc, #228] ; (4f1c <obj_del_core+0x108>)
|
|
4e38: 4798 blx r3
|
|
trans_del(obj, 0xFF, 0xFF, NULL);
|
|
4e3a: 2300 movs r3, #0
|
|
4e3c: 22ff movs r2, #255 ; 0xff
|
|
4e3e: 4611 mov r1, r2
|
|
4e40: 4628 mov r0, r5
|
|
4e42: 4c37 ldr r4, [pc, #220] ; (4f20 <obj_del_core+0x10c>)
|
|
4e44: 47a0 blx r4
|
|
i = _lv_ll_get_head(&(obj->child_ll));
|
|
4e46: f105 0804 add.w r8, r5, #4
|
|
4e4a: 4640 mov r0, r8
|
|
4e4c: 4b35 ldr r3, [pc, #212] ; (4f24 <obj_del_core+0x110>)
|
|
4e4e: 4798 blx r3
|
|
while(i != NULL) {
|
|
4e50: 4604 mov r4, r0
|
|
4e52: b158 cbz r0, 4e6c <obj_del_core+0x58>
|
|
i_next = _lv_ll_get_next(&(obj->child_ll), i);
|
|
4e54: f8df 90e8 ldr.w r9, [pc, #232] ; 4f40 <obj_del_core+0x12c>
|
|
4e58: 4621 mov r1, r4
|
|
4e5a: 4640 mov r0, r8
|
|
4e5c: 47c8 blx r9
|
|
4e5e: 4606 mov r6, r0
|
|
obj_del_core(i);
|
|
4e60: 4620 mov r0, r4
|
|
4e62: f7ff ffd7 bl 4e14 <obj_del_core>
|
|
i = i_next;
|
|
4e66: 4634 mov r4, r6
|
|
while(i != NULL) {
|
|
4e68: 2e00 cmp r6, #0
|
|
4e6a: d1f5 bne.n 4e58 <obj_del_core+0x44>
|
|
|
|
#endif
|
|
|
|
static void lv_event_mark_deleted(lv_obj_t * obj)
|
|
{
|
|
lv_event_temp_data_t * t = event_temp_data_head;
|
|
4e6c: 4b2e ldr r3, [pc, #184] ; (4f28 <obj_del_core+0x114>)
|
|
4e6e: 685b ldr r3, [r3, #4]
|
|
|
|
while(t) {
|
|
4e70: b13b cbz r3, 4e82 <obj_del_core+0x6e>
|
|
if(t->obj == obj) t->deleted = true;
|
|
4e72: 2101 movs r1, #1
|
|
4e74: 681a ldr r2, [r3, #0]
|
|
4e76: 4295 cmp r5, r2
|
|
4e78: bf08 it eq
|
|
4e7a: 7119 strbeq r1, [r3, #4]
|
|
t = t->prev;
|
|
4e7c: 689b ldr r3, [r3, #8]
|
|
while(t) {
|
|
4e7e: 2b00 cmp r3, #0
|
|
4e80: d1f8 bne.n 4e74 <obj_del_core+0x60>
|
|
lv_indev_t * indev = lv_indev_get_next(NULL);
|
|
4e82: 2000 movs r0, #0
|
|
4e84: 4b29 ldr r3, [pc, #164] ; (4f2c <obj_del_core+0x118>)
|
|
4e86: 4798 blx r3
|
|
while(indev) {
|
|
4e88: 4604 mov r4, r0
|
|
4e8a: b310 cbz r0, 4ed2 <obj_del_core+0xbe>
|
|
lv_indev_reset(indev, obj);
|
|
4e8c: f8df 80b4 ldr.w r8, [pc, #180] ; 4f44 <obj_del_core+0x130>
|
|
if(indev->group == group && obj == lv_indev_get_obj_act()) {
|
|
4e90: f8df 90b4 ldr.w r9, [pc, #180] ; 4f48 <obj_del_core+0x134>
|
|
indev = lv_indev_get_next(indev);
|
|
4e94: 4e25 ldr r6, [pc, #148] ; (4f2c <obj_del_core+0x118>)
|
|
4e96: e00e b.n 4eb6 <obj_del_core+0xa2>
|
|
lv_indev_reset(indev, obj);
|
|
4e98: 4629 mov r1, r5
|
|
4e9a: 4620 mov r0, r4
|
|
4e9c: 47c0 blx r8
|
|
if(indev->proc.types.pointer.last_pressed == obj) {
|
|
4e9e: 6be3 ldr r3, [r4, #60] ; 0x3c
|
|
4ea0: 429d cmp r5, r3
|
|
indev->proc.types.pointer.last_pressed = NULL;
|
|
4ea2: bf04 itt eq
|
|
4ea4: 2300 moveq r3, #0
|
|
4ea6: 63e3 streq r3, [r4, #60] ; 0x3c
|
|
if(indev->group == group && obj == lv_indev_get_obj_act()) {
|
|
4ea8: 6da3 ldr r3, [r4, #88] ; 0x58
|
|
4eaa: 429f cmp r7, r3
|
|
4eac: d00a beq.n 4ec4 <obj_del_core+0xb0>
|
|
indev = lv_indev_get_next(indev);
|
|
4eae: 4620 mov r0, r4
|
|
4eb0: 47b0 blx r6
|
|
while(indev) {
|
|
4eb2: 4604 mov r4, r0
|
|
4eb4: b168 cbz r0, 4ed2 <obj_del_core+0xbe>
|
|
if(indev->proc.types.pointer.act_obj == obj || indev->proc.types.pointer.last_obj == obj) {
|
|
4eb6: 6b63 ldr r3, [r4, #52] ; 0x34
|
|
4eb8: 429d cmp r5, r3
|
|
4eba: d0ed beq.n 4e98 <obj_del_core+0x84>
|
|
4ebc: 6ba3 ldr r3, [r4, #56] ; 0x38
|
|
4ebe: 429d cmp r5, r3
|
|
4ec0: d1ed bne.n 4e9e <obj_del_core+0x8a>
|
|
4ec2: e7e9 b.n 4e98 <obj_del_core+0x84>
|
|
if(indev->group == group && obj == lv_indev_get_obj_act()) {
|
|
4ec4: 47c8 blx r9
|
|
4ec6: 4285 cmp r5, r0
|
|
4ec8: d1f1 bne.n 4eae <obj_del_core+0x9a>
|
|
lv_indev_reset(indev, obj);
|
|
4eca: 4629 mov r1, r5
|
|
4ecc: 4620 mov r0, r4
|
|
4ece: 47c0 blx r8
|
|
4ed0: e7ed b.n 4eae <obj_del_core+0x9a>
|
|
obj->signal_cb(obj, LV_SIGNAL_CLEANUP, NULL);
|
|
4ed2: 69eb ldr r3, [r5, #28]
|
|
4ed4: 2200 movs r2, #0
|
|
4ed6: 4611 mov r1, r2
|
|
4ed8: 4628 mov r0, r5
|
|
4eda: 4798 blx r3
|
|
lv_obj_t * par = lv_obj_get_parent(obj);
|
|
4edc: 4628 mov r0, r5
|
|
4ede: 4b14 ldr r3, [pc, #80] ; (4f30 <obj_del_core+0x11c>)
|
|
4ee0: 4798 blx r3
|
|
if(par == NULL) { /*It is a screen*/
|
|
4ee2: b160 cbz r0, 4efe <obj_del_core+0xea>
|
|
_lv_ll_remove(&(par->child_ll), obj);
|
|
4ee4: 4629 mov r1, r5
|
|
4ee6: 3004 adds r0, #4
|
|
4ee8: 4b12 ldr r3, [pc, #72] ; (4f34 <obj_del_core+0x120>)
|
|
4eea: 4798 blx r3
|
|
if(obj->ext_attr != NULL) lv_mem_free(obj->ext_attr);
|
|
4eec: 6a68 ldr r0, [r5, #36] ; 0x24
|
|
4eee: b108 cbz r0, 4ef4 <obj_del_core+0xe0>
|
|
4ef0: 4b11 ldr r3, [pc, #68] ; (4f38 <obj_del_core+0x124>)
|
|
4ef2: 4798 blx r3
|
|
lv_mem_free(obj); /*Free the object itself*/
|
|
4ef4: 4628 mov r0, r5
|
|
4ef6: 4b10 ldr r3, [pc, #64] ; (4f38 <obj_del_core+0x124>)
|
|
4ef8: 4798 blx r3
|
|
4efa: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
lv_disp_t * d = lv_obj_get_disp(obj);
|
|
4efe: 4628 mov r0, r5
|
|
4f00: 4b0e ldr r3, [pc, #56] ; (4f3c <obj_del_core+0x128>)
|
|
4f02: 4798 blx r3
|
|
_lv_ll_remove(&d->scr_ll, obj);
|
|
4f04: 4629 mov r1, r5
|
|
4f06: 3030 adds r0, #48 ; 0x30
|
|
4f08: 4b0a ldr r3, [pc, #40] ; (4f34 <obj_del_core+0x120>)
|
|
4f0a: 4798 blx r3
|
|
4f0c: e7ee b.n 4eec <obj_del_core+0xd8>
|
|
4f0e: bf00 nop
|
|
4f10: 00002ab5 .word 0x00002ab5
|
|
4f14: 00004dcd .word 0x00004dcd
|
|
4f18: 00002661 .word 0x00002661
|
|
4f1c: 00011311 .word 0x00011311
|
|
4f20: 00003011 .word 0x00003011
|
|
4f24: 00011f91 .word 0x00011f91
|
|
4f28: 2000267c .word 0x2000267c
|
|
4f2c: 00011009 .word 0x00011009
|
|
4f30: 00002c65 .word 0x00002c65
|
|
4f34: 0001207d .word 0x0001207d
|
|
4f38: 000124ad .word 0x000124ad
|
|
4f3c: 00002d09 .word 0x00002d09
|
|
4f40: 00011fa5 .word 0x00011fa5
|
|
4f44: 0000275d .word 0x0000275d
|
|
4f48: 000027e9 .word 0x000027e9
|
|
|
|
00004f4c <lv_obj_del>:
|
|
{
|
|
4f4c: b570 push {r4, r5, r6, lr}
|
|
4f4e: b082 sub sp, #8
|
|
4f50: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4f52: 4b19 ldr r3, [pc, #100] ; (4fb8 <lv_obj_del+0x6c>)
|
|
4f54: 4798 blx r3
|
|
4f56: b968 cbnz r0, 4f74 <lv_obj_del+0x28>
|
|
4f58: 4b18 ldr r3, [pc, #96] ; (4fbc <lv_obj_del+0x70>)
|
|
4f5a: 9300 str r3, [sp, #0]
|
|
4f5c: f240 1293 movw r2, #403 ; 0x193
|
|
4f60: 4917 ldr r1, [pc, #92] ; (4fc0 <lv_obj_del+0x74>)
|
|
4f62: 2003 movs r0, #3
|
|
4f64: 4d17 ldr r5, [pc, #92] ; (4fc4 <lv_obj_del+0x78>)
|
|
4f66: 47a8 blx r5
|
|
4f68: 4622 mov r2, r4
|
|
4f6a: 2300 movs r3, #0
|
|
4f6c: 4816 ldr r0, [pc, #88] ; (4fc8 <lv_obj_del+0x7c>)
|
|
4f6e: 4917 ldr r1, [pc, #92] ; (4fcc <lv_obj_del+0x80>)
|
|
4f70: 4788 blx r1
|
|
4f72: e7fe b.n 4f72 <lv_obj_del+0x26>
|
|
lv_obj_invalidate(obj);
|
|
4f74: 4620 mov r0, r4
|
|
4f76: 4b16 ldr r3, [pc, #88] ; (4fd0 <lv_obj_del+0x84>)
|
|
4f78: 4798 blx r3
|
|
lv_obj_t * par = lv_obj_get_parent(obj);
|
|
4f7a: 4620 mov r0, r4
|
|
4f7c: 4b15 ldr r3, [pc, #84] ; (4fd4 <lv_obj_del+0x88>)
|
|
4f7e: 4798 blx r3
|
|
if(par == NULL) {
|
|
4f80: 4605 mov r5, r0
|
|
4f82: b140 cbz r0, 4f96 <lv_obj_del+0x4a>
|
|
obj_del_core(obj);
|
|
4f84: 4620 mov r0, r4
|
|
4f86: 4b14 ldr r3, [pc, #80] ; (4fd8 <lv_obj_del+0x8c>)
|
|
4f88: 4798 blx r3
|
|
par->signal_cb(par, LV_SIGNAL_CHILD_CHG, NULL);
|
|
4f8a: 69eb ldr r3, [r5, #28]
|
|
4f8c: 2200 movs r2, #0
|
|
4f8e: 2101 movs r1, #1
|
|
4f90: 4628 mov r0, r5
|
|
4f92: 4798 blx r3
|
|
4f94: e00c b.n 4fb0 <lv_obj_del+0x64>
|
|
disp = lv_obj_get_disp(obj);
|
|
4f96: 4620 mov r0, r4
|
|
4f98: 4b10 ldr r3, [pc, #64] ; (4fdc <lv_obj_del+0x90>)
|
|
4f9a: 4798 blx r3
|
|
if(!disp) return LV_RES_INV; /*Shouldn't happen*/
|
|
4f9c: 4605 mov r5, r0
|
|
4f9e: b138 cbz r0, 4fb0 <lv_obj_del+0x64>
|
|
if(disp->act_scr == obj) act_scr_del = true;
|
|
4fa0: 6bc6 ldr r6, [r0, #60] ; 0x3c
|
|
obj_del_core(obj);
|
|
4fa2: 4620 mov r0, r4
|
|
4fa4: 4b0c ldr r3, [pc, #48] ; (4fd8 <lv_obj_del+0x8c>)
|
|
4fa6: 4798 blx r3
|
|
if(act_scr_del) {
|
|
4fa8: 42b4 cmp r4, r6
|
|
4faa: d101 bne.n 4fb0 <lv_obj_del+0x64>
|
|
disp->act_scr = NULL;
|
|
4fac: 2300 movs r3, #0
|
|
4fae: 63eb str r3, [r5, #60] ; 0x3c
|
|
}
|
|
4fb0: 2000 movs r0, #0
|
|
4fb2: b002 add sp, #8
|
|
4fb4: bd70 pop {r4, r5, r6, pc}
|
|
4fb6: bf00 nop
|
|
4fb8: 00002299 .word 0x00002299
|
|
4fbc: 00024780 .word 0x00024780
|
|
4fc0: 000247c4 .word 0x000247c4
|
|
4fc4: 00012245 .word 0x00012245
|
|
4fc8: 00024824 .word 0x00024824
|
|
4fcc: 000022a1 .word 0x000022a1
|
|
4fd0: 00003309 .word 0x00003309
|
|
4fd4: 00002c65 .word 0x00002c65
|
|
4fd8: 00004e15 .word 0x00004e15
|
|
4fdc: 00002d09 .word 0x00002d09
|
|
|
|
00004fe0 <lv_obj_is_focused>:
|
|
{
|
|
4fe0: b530 push {r4, r5, lr}
|
|
4fe2: b083 sub sp, #12
|
|
4fe4: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
4fe6: 4b0e ldr r3, [pc, #56] ; (5020 <lv_obj_is_focused+0x40>)
|
|
4fe8: 4798 blx r3
|
|
4fea: b148 cbz r0, 5000 <lv_obj_is_focused+0x20>
|
|
if(obj->group_p) {
|
|
4fec: 6ba0 ldr r0, [r4, #56] ; 0x38
|
|
4fee: b1a8 cbz r0, 501c <lv_obj_is_focused+0x3c>
|
|
if(lv_group_get_focused(obj->group_p) == obj) return true;
|
|
4ff0: 4b0c ldr r3, [pc, #48] ; (5024 <lv_obj_is_focused+0x44>)
|
|
4ff2: 4798 blx r3
|
|
4ff4: 4284 cmp r4, r0
|
|
4ff6: bf14 ite ne
|
|
4ff8: 2000 movne r0, #0
|
|
4ffa: 2001 moveq r0, #1
|
|
}
|
|
4ffc: b003 add sp, #12
|
|
4ffe: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(obj, LV_OBJX_NAME);
|
|
5000: 4b09 ldr r3, [pc, #36] ; (5028 <lv_obj_is_focused+0x48>)
|
|
5002: 9300 str r3, [sp, #0]
|
|
5004: f44f 6238 mov.w r2, #2944 ; 0xb80
|
|
5008: 4908 ldr r1, [pc, #32] ; (502c <lv_obj_is_focused+0x4c>)
|
|
500a: 2003 movs r0, #3
|
|
500c: 4d08 ldr r5, [pc, #32] ; (5030 <lv_obj_is_focused+0x50>)
|
|
500e: 47a8 blx r5
|
|
5010: 4622 mov r2, r4
|
|
5012: 2300 movs r3, #0
|
|
5014: 4807 ldr r0, [pc, #28] ; (5034 <lv_obj_is_focused+0x54>)
|
|
5016: 4908 ldr r1, [pc, #32] ; (5038 <lv_obj_is_focused+0x58>)
|
|
5018: 4788 blx r1
|
|
501a: e7fe b.n 501a <lv_obj_is_focused+0x3a>
|
|
return false;
|
|
501c: 2000 movs r0, #0
|
|
501e: e7ed b.n 4ffc <lv_obj_is_focused+0x1c>
|
|
5020: 00002299 .word 0x00002299
|
|
5024: 00002731 .word 0x00002731
|
|
5028: 000247b0 .word 0x000247b0
|
|
502c: 000247c4 .word 0x000247c4
|
|
5030: 00012245 .word 0x00012245
|
|
5034: 00024824 .word 0x00024824
|
|
5038: 000022a1 .word 0x000022a1
|
|
|
|
0000503c <lv_obj_is_point_on_coords>:
|
|
{
|
|
503c: b500 push {lr}
|
|
503e: b083 sub sp, #12
|
|
ext_area.x1 = obj->coords.x1 - obj->ext_click_pad_hor;
|
|
5040: f890 3030 ldrb.w r3, [r0, #48] ; 0x30
|
|
5044: 8a02 ldrh r2, [r0, #16]
|
|
5046: 1ad2 subs r2, r2, r3
|
|
5048: f8ad 2000 strh.w r2, [sp]
|
|
ext_area.x2 = obj->coords.x2 + obj->ext_click_pad_hor;
|
|
504c: 8a82 ldrh r2, [r0, #20]
|
|
504e: 4413 add r3, r2
|
|
5050: f8ad 3004 strh.w r3, [sp, #4]
|
|
ext_area.y1 = obj->coords.y1 - obj->ext_click_pad_ver;
|
|
5054: f890 3031 ldrb.w r3, [r0, #49] ; 0x31
|
|
5058: 8a42 ldrh r2, [r0, #18]
|
|
505a: 1ad2 subs r2, r2, r3
|
|
505c: f8ad 2002 strh.w r2, [sp, #2]
|
|
ext_area.y2 = obj->coords.y2 + obj->ext_click_pad_ver;
|
|
5060: 8ac2 ldrh r2, [r0, #22]
|
|
5062: 4413 add r3, r2
|
|
5064: f8ad 3006 strh.w r3, [sp, #6]
|
|
if(!_lv_area_is_point_on(&ext_area, point, 0)) {
|
|
5068: 2200 movs r2, #0
|
|
506a: 4668 mov r0, sp
|
|
506c: 4b02 ldr r3, [pc, #8] ; (5078 <lv_obj_is_point_on_coords+0x3c>)
|
|
506e: 4798 blx r3
|
|
}
|
|
5070: b003 add sp, #12
|
|
5072: f85d fb04 ldr.w pc, [sp], #4
|
|
5076: bf00 nop
|
|
5078: 000115a1 .word 0x000115a1
|
|
|
|
0000507c <lv_obj_handle_get_type_signal>:
|
|
if(buf->type[i] == NULL) break;
|
|
507c: 6803 ldr r3, [r0, #0]
|
|
507e: b17b cbz r3, 50a0 <lv_obj_handle_get_type_signal+0x24>
|
|
{
|
|
5080: b410 push {r4}
|
|
5082: 1d02 adds r2, r0, #4
|
|
for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/
|
|
5084: 2301 movs r3, #1
|
|
if(buf->type[i] == NULL) break;
|
|
5086: f852 4b04 ldr.w r4, [r2], #4
|
|
508a: b11c cbz r4, 5094 <lv_obj_handle_get_type_signal+0x18>
|
|
for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/
|
|
508c: 3301 adds r3, #1
|
|
508e: b2db uxtb r3, r3
|
|
5090: 2b07 cmp r3, #7
|
|
5092: d1f8 bne.n 5086 <lv_obj_handle_get_type_signal+0xa>
|
|
buf->type[i] = name;
|
|
5094: f840 1023 str.w r1, [r0, r3, lsl #2]
|
|
}
|
|
5098: 2001 movs r0, #1
|
|
509a: f85d 4b04 ldr.w r4, [sp], #4
|
|
509e: 4770 bx lr
|
|
for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/
|
|
50a0: 2300 movs r3, #0
|
|
buf->type[i] = name;
|
|
50a2: f840 1023 str.w r1, [r0, r3, lsl #2]
|
|
}
|
|
50a6: 2001 movs r0, #1
|
|
50a8: 4770 bx lr
|
|
...
|
|
|
|
000050ac <lv_obj_init_draw_rect_dsc>:
|
|
{
|
|
50ac: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
50b0: 4605 mov r5, r0
|
|
50b2: 460e mov r6, r1
|
|
50b4: 4614 mov r4, r2
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
50b6: 2201 movs r2, #1
|
|
50b8: 4ba8 ldr r3, [pc, #672] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
50ba: 4798 blx r3
|
|
draw_dsc->radius = lv_obj_get_style_radius(obj, part);
|
|
50bc: 8020 strh r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar)
|
|
50be: f248 020c movw r2, #32780 ; 0x800c
|
|
50c2: 4631 mov r1, r6
|
|
50c4: 4628 mov r0, r5
|
|
50c6: 4ba6 ldr r3, [pc, #664] ; (5360 <lv_obj_init_draw_rect_dsc+0x2b4>)
|
|
50c8: 4798 blx r3
|
|
if(opa_scale <= LV_OPA_MIN) {
|
|
50ca: 2805 cmp r0, #5
|
|
50cc: d942 bls.n 5154 <lv_obj_init_draw_rect_dsc+0xa8>
|
|
50ce: 4607 mov r7, r0
|
|
if(draw_dsc->bg_opa != LV_OPA_TRANSP) {
|
|
50d0: 7b23 ldrb r3, [r4, #12]
|
|
50d2: 2b00 cmp r3, #0
|
|
50d4: d149 bne.n 516a <lv_obj_init_draw_rect_dsc+0xbe>
|
|
if(draw_dsc->border_opa != LV_OPA_TRANSP) {
|
|
50d6: 7d23 ldrb r3, [r4, #20]
|
|
50d8: 2b00 cmp r3, #0
|
|
50da: d176 bne.n 51ca <lv_obj_init_draw_rect_dsc+0x11e>
|
|
if(draw_dsc->outline_opa != LV_OPA_TRANSP) {
|
|
50dc: 7f23 ldrb r3, [r4, #28]
|
|
50de: 2b00 cmp r3, #0
|
|
50e0: f040 8098 bne.w 5214 <lv_obj_init_draw_rect_dsc+0x168>
|
|
if(draw_dsc->pattern_opa != LV_OPA_TRANSP) {
|
|
50e4: f894 3036 ldrb.w r3, [r4, #54] ; 0x36
|
|
50e8: 2b00 cmp r3, #0
|
|
50ea: f040 80b8 bne.w 525e <lv_obj_init_draw_rect_dsc+0x1b2>
|
|
if(draw_dsc->shadow_opa > LV_OPA_MIN) {
|
|
50ee: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
50f2: 2b05 cmp r3, #5
|
|
50f4: f200 8101 bhi.w 52fa <lv_obj_init_draw_rect_dsc+0x24e>
|
|
if(draw_dsc->value_opa > LV_OPA_MIN) {
|
|
50f8: f894 3044 ldrb.w r3, [r4, #68] ; 0x44
|
|
50fc: 2b05 cmp r3, #5
|
|
50fe: f200 8137 bhi.w 5370 <lv_obj_init_draw_rect_dsc+0x2c4>
|
|
if(opa_scale < LV_OPA_MAX) {
|
|
5102: 2ff9 cmp r7, #249 ; 0xf9
|
|
5104: d824 bhi.n 5150 <lv_obj_init_draw_rect_dsc+0xa4>
|
|
draw_dsc->bg_opa = (uint16_t)((uint16_t)draw_dsc->bg_opa * opa_scale) >> 8;
|
|
5106: b2bf uxth r7, r7
|
|
5108: 7b23 ldrb r3, [r4, #12]
|
|
510a: fb13 f307 smulbb r3, r3, r7
|
|
510e: f3c3 2307 ubfx r3, r3, #8, #8
|
|
5112: 7323 strb r3, [r4, #12]
|
|
draw_dsc->border_opa = (uint16_t)((uint16_t)draw_dsc->border_opa * opa_scale) >> 8;
|
|
5114: 7d23 ldrb r3, [r4, #20]
|
|
5116: fb13 f307 smulbb r3, r3, r7
|
|
511a: f3c3 2307 ubfx r3, r3, #8, #8
|
|
511e: 7523 strb r3, [r4, #20]
|
|
draw_dsc->shadow_opa = (uint16_t)((uint16_t)draw_dsc->shadow_opa * opa_scale) >> 8;
|
|
5120: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
5124: fb13 f307 smulbb r3, r3, r7
|
|
5128: f3c3 2307 ubfx r3, r3, #8, #8
|
|
512c: f884 3028 strb.w r3, [r4, #40] ; 0x28
|
|
draw_dsc->pattern_opa = (uint16_t)((uint16_t)draw_dsc->pattern_opa * opa_scale) >> 8;
|
|
5130: f894 3036 ldrb.w r3, [r4, #54] ; 0x36
|
|
5134: fb13 f307 smulbb r3, r3, r7
|
|
5138: f3c3 2307 ubfx r3, r3, #8, #8
|
|
513c: f884 3036 strb.w r3, [r4, #54] ; 0x36
|
|
draw_dsc->value_opa = (uint16_t)((uint16_t)draw_dsc->value_opa * opa_scale) >> 8;
|
|
5140: f894 3044 ldrb.w r3, [r4, #68] ; 0x44
|
|
5144: fb13 f707 smulbb r7, r3, r7
|
|
5148: f3c7 2707 ubfx r7, r7, #8, #8
|
|
514c: f884 7044 strb.w r7, [r4, #68] ; 0x44
|
|
5150: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
draw_dsc->bg_opa = LV_OPA_TRANSP;
|
|
5154: 2300 movs r3, #0
|
|
5156: 7323 strb r3, [r4, #12]
|
|
draw_dsc->border_opa = LV_OPA_TRANSP;
|
|
5158: 7523 strb r3, [r4, #20]
|
|
draw_dsc->shadow_opa = LV_OPA_TRANSP;
|
|
515a: f884 3028 strb.w r3, [r4, #40] ; 0x28
|
|
draw_dsc->pattern_opa = LV_OPA_TRANSP;
|
|
515e: f884 3036 strb.w r3, [r4, #54] ; 0x36
|
|
draw_dsc->value_opa = LV_OPA_TRANSP;
|
|
5162: f884 3044 strb.w r3, [r4, #68] ; 0x44
|
|
return;
|
|
5166: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
516a: 222c movs r2, #44 ; 0x2c
|
|
516c: 4631 mov r1, r6
|
|
516e: 4628 mov r0, r5
|
|
5170: 4b7b ldr r3, [pc, #492] ; (5360 <lv_obj_init_draw_rect_dsc+0x2b4>)
|
|
5172: 4798 blx r3
|
|
draw_dsc->bg_opa = lv_obj_get_style_bg_opa(obj, part);
|
|
5174: 7320 strb r0, [r4, #12]
|
|
if(draw_dsc->bg_opa > LV_OPA_MIN) {
|
|
5176: 2805 cmp r0, #5
|
|
5178: d9ad bls.n 50d6 <lv_obj_init_draw_rect_dsc+0x2a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
517a: 2229 movs r2, #41 ; 0x29
|
|
517c: 4631 mov r1, r6
|
|
517e: 4628 mov r0, r5
|
|
5180: 4b78 ldr r3, [pc, #480] ; (5364 <lv_obj_init_draw_rect_dsc+0x2b8>)
|
|
5182: 4798 blx r3
|
|
draw_dsc->bg_color = lv_obj_get_style_bg_color(obj, part);
|
|
5184: 8060 strh r0, [r4, #2]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar)
|
|
5186: 2223 movs r2, #35 ; 0x23
|
|
5188: 4631 mov r1, r6
|
|
518a: 4628 mov r0, r5
|
|
518c: 4b73 ldr r3, [pc, #460] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
518e: 4798 blx r3
|
|
5190: b2c0 uxtb r0, r0
|
|
draw_dsc->bg_grad_dir = lv_obj_get_style_bg_grad_dir(obj, part);
|
|
5192: 71a0 strb r0, [r4, #6]
|
|
if(draw_dsc->bg_grad_dir != LV_GRAD_DIR_NONE) {
|
|
5194: b930 cbnz r0, 51a4 <lv_obj_init_draw_rect_dsc+0xf8>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
5196: 2220 movs r2, #32
|
|
5198: 4631 mov r1, r6
|
|
519a: 4628 mov r0, r5
|
|
519c: 4b6f ldr r3, [pc, #444] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
519e: 4798 blx r3
|
|
51a0: 7360 strb r0, [r4, #13]
|
|
51a2: e798 b.n 50d6 <lv_obj_init_draw_rect_dsc+0x2a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar)
|
|
51a4: 222a movs r2, #42 ; 0x2a
|
|
51a6: 4631 mov r1, r6
|
|
51a8: 4628 mov r0, r5
|
|
51aa: 4b6e ldr r3, [pc, #440] ; (5364 <lv_obj_init_draw_rect_dsc+0x2b8>)
|
|
51ac: 4798 blx r3
|
|
draw_dsc->bg_grad_color = lv_obj_get_style_bg_grad_color(obj, part);
|
|
51ae: 80a0 strh r0, [r4, #4]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar)
|
|
51b0: 2221 movs r2, #33 ; 0x21
|
|
51b2: 4631 mov r1, r6
|
|
51b4: 4628 mov r0, r5
|
|
51b6: f8df 81a4 ldr.w r8, [pc, #420] ; 535c <lv_obj_init_draw_rect_dsc+0x2b0>
|
|
51ba: 47c0 blx r8
|
|
draw_dsc->bg_main_color_stop = lv_obj_get_style_bg_main_stop(obj, part);
|
|
51bc: 8120 strh r0, [r4, #8]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar)
|
|
51be: 2222 movs r2, #34 ; 0x22
|
|
51c0: 4631 mov r1, r6
|
|
51c2: 4628 mov r0, r5
|
|
51c4: 47c0 blx r8
|
|
draw_dsc->bg_grad_color_stop = lv_obj_get_style_bg_grad_stop(obj, part);
|
|
51c6: 8160 strh r0, [r4, #10]
|
|
51c8: e7e5 b.n 5196 <lv_obj_init_draw_rect_dsc+0xea>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
51ca: 2230 movs r2, #48 ; 0x30
|
|
51cc: 4631 mov r1, r6
|
|
51ce: 4628 mov r0, r5
|
|
51d0: 4b62 ldr r3, [pc, #392] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
51d2: 4798 blx r3
|
|
draw_dsc->border_width = lv_obj_get_style_border_width(obj, part);
|
|
51d4: 8220 strh r0, [r4, #16]
|
|
if(draw_dsc->border_width) {
|
|
51d6: 2800 cmp r0, #0
|
|
51d8: d080 beq.n 50dc <lv_obj_init_draw_rect_dsc+0x30>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar)
|
|
51da: 223c movs r2, #60 ; 0x3c
|
|
51dc: 4631 mov r1, r6
|
|
51de: 4628 mov r0, r5
|
|
51e0: 4b5f ldr r3, [pc, #380] ; (5360 <lv_obj_init_draw_rect_dsc+0x2b4>)
|
|
51e2: 4798 blx r3
|
|
draw_dsc->border_opa = lv_obj_get_style_border_opa(obj, part);
|
|
51e4: 7520 strb r0, [r4, #20]
|
|
if(draw_dsc->border_opa > LV_OPA_MIN) {
|
|
51e6: 2805 cmp r0, #5
|
|
51e8: d806 bhi.n 51f8 <lv_obj_init_draw_rect_dsc+0x14c>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
51ea: 2232 movs r2, #50 ; 0x32
|
|
51ec: 4631 mov r1, r6
|
|
51ee: 4628 mov r0, r5
|
|
51f0: 4b5a ldr r3, [pc, #360] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
51f2: 4798 blx r3
|
|
51f4: 7560 strb r0, [r4, #21]
|
|
51f6: e771 b.n 50dc <lv_obj_init_draw_rect_dsc+0x30>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar)
|
|
51f8: 2231 movs r2, #49 ; 0x31
|
|
51fa: 4631 mov r1, r6
|
|
51fc: 4628 mov r0, r5
|
|
51fe: 4b57 ldr r3, [pc, #348] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
5200: 4798 blx r3
|
|
draw_dsc->border_side = lv_obj_get_style_border_side(obj, part);
|
|
5202: b2c0 uxtb r0, r0
|
|
5204: 8260 strh r0, [r4, #18]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
5206: 2239 movs r2, #57 ; 0x39
|
|
5208: 4631 mov r1, r6
|
|
520a: 4628 mov r0, r5
|
|
520c: 4b55 ldr r3, [pc, #340] ; (5364 <lv_obj_init_draw_rect_dsc+0x2b8>)
|
|
520e: 4798 blx r3
|
|
draw_dsc->border_color = lv_obj_get_style_border_color(obj, part);
|
|
5210: 81e0 strh r0, [r4, #14]
|
|
5212: e7ea b.n 51ea <lv_obj_init_draw_rect_dsc+0x13e>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar)
|
|
5214: 2240 movs r2, #64 ; 0x40
|
|
5216: 4631 mov r1, r6
|
|
5218: 4628 mov r0, r5
|
|
521a: 4b50 ldr r3, [pc, #320] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
521c: 4798 blx r3
|
|
draw_dsc->outline_width = lv_obj_get_style_outline_width(obj, part);
|
|
521e: 8320 strh r0, [r4, #24]
|
|
if(draw_dsc->outline_width) {
|
|
5220: 2800 cmp r0, #0
|
|
5222: f43f af5f beq.w 50e4 <lv_obj_init_draw_rect_dsc+0x38>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar)
|
|
5226: 224c movs r2, #76 ; 0x4c
|
|
5228: 4631 mov r1, r6
|
|
522a: 4628 mov r0, r5
|
|
522c: 4b4c ldr r3, [pc, #304] ; (5360 <lv_obj_init_draw_rect_dsc+0x2b4>)
|
|
522e: 4798 blx r3
|
|
draw_dsc->outline_opa = lv_obj_get_style_outline_opa(obj, part);
|
|
5230: 7720 strb r0, [r4, #28]
|
|
if(draw_dsc->outline_opa > LV_OPA_MIN) {
|
|
5232: 2805 cmp r0, #5
|
|
5234: d806 bhi.n 5244 <lv_obj_init_draw_rect_dsc+0x198>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_BLEND_MODE, outline_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
5236: 2242 movs r2, #66 ; 0x42
|
|
5238: 4631 mov r1, r6
|
|
523a: 4628 mov r0, r5
|
|
523c: 4b47 ldr r3, [pc, #284] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
523e: 4798 blx r3
|
|
5240: 7760 strb r0, [r4, #29]
|
|
5242: e74f b.n 50e4 <lv_obj_init_draw_rect_dsc+0x38>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar)
|
|
5244: 2241 movs r2, #65 ; 0x41
|
|
5246: 4631 mov r1, r6
|
|
5248: 4628 mov r0, r5
|
|
524a: 4b44 ldr r3, [pc, #272] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
524c: 4798 blx r3
|
|
draw_dsc->outline_pad = lv_obj_get_style_outline_pad(obj, part);
|
|
524e: 8360 strh r0, [r4, #26]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar)
|
|
5250: 2249 movs r2, #73 ; 0x49
|
|
5252: 4631 mov r1, r6
|
|
5254: 4628 mov r0, r5
|
|
5256: 4b43 ldr r3, [pc, #268] ; (5364 <lv_obj_init_draw_rect_dsc+0x2b8>)
|
|
5258: 4798 blx r3
|
|
draw_dsc->outline_color = lv_obj_get_style_outline_color(obj, part);
|
|
525a: 82e0 strh r0, [r4, #22]
|
|
525c: e7eb b.n 5236 <lv_obj_init_draw_rect_dsc+0x18a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar)
|
|
525e: 226e movs r2, #110 ; 0x6e
|
|
5260: 4631 mov r1, r6
|
|
5262: 4628 mov r0, r5
|
|
5264: 4b40 ldr r3, [pc, #256] ; (5368 <lv_obj_init_draw_rect_dsc+0x2bc>)
|
|
5266: 4798 blx r3
|
|
draw_dsc->pattern_image = lv_obj_get_style_pattern_image(obj, part);
|
|
5268: 62e0 str r0, [r4, #44] ; 0x2c
|
|
if(draw_dsc->pattern_image) {
|
|
526a: 2800 cmp r0, #0
|
|
526c: f43f af3f beq.w 50ee <lv_obj_init_draw_rect_dsc+0x42>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_OPA, pattern_opa, lv_opa_t, _opa, scalar)
|
|
5270: 226c movs r2, #108 ; 0x6c
|
|
5272: 4631 mov r1, r6
|
|
5274: 4628 mov r0, r5
|
|
5276: 4b3a ldr r3, [pc, #232] ; (5360 <lv_obj_init_draw_rect_dsc+0x2b4>)
|
|
5278: 4798 blx r3
|
|
draw_dsc->pattern_opa = lv_obj_get_style_pattern_opa(obj, part);
|
|
527a: f884 0036 strb.w r0, [r4, #54] ; 0x36
|
|
if(draw_dsc->pattern_opa > LV_OPA_MIN) {
|
|
527e: 2805 cmp r0, #5
|
|
5280: f67f af35 bls.w 50ee <lv_obj_init_draw_rect_dsc+0x42>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR_OPA, pattern_recolor_opa, lv_opa_t, _opa, scalar)
|
|
5284: 226d movs r2, #109 ; 0x6d
|
|
5286: 4631 mov r1, r6
|
|
5288: 4628 mov r0, r5
|
|
528a: 4b35 ldr r3, [pc, #212] ; (5360 <lv_obj_init_draw_rect_dsc+0x2b4>)
|
|
528c: 4798 blx r3
|
|
draw_dsc->pattern_recolor_opa = lv_obj_get_style_pattern_recolor_opa(obj, part);
|
|
528e: f884 0037 strb.w r0, [r4, #55] ; 0x37
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_REPEAT, pattern_repeat, bool, _int, scalar)
|
|
5292: 2261 movs r2, #97 ; 0x61
|
|
5294: 4631 mov r1, r6
|
|
5296: 4628 mov r0, r5
|
|
5298: 4b30 ldr r3, [pc, #192] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
529a: 4798 blx r3
|
|
529c: 3000 adds r0, #0
|
|
529e: bf18 it ne
|
|
52a0: 2001 movne r0, #1
|
|
draw_dsc->pattern_repeat = lv_obj_get_style_pattern_repeat(obj, part);
|
|
52a2: f894 3038 ldrb.w r3, [r4, #56] ; 0x38
|
|
52a6: f360 0300 bfi r3, r0, #0, #1
|
|
52aa: f884 3038 strb.w r3, [r4, #56] ; 0x38
|
|
if(lv_img_src_get_type(draw_dsc->pattern_image) == LV_IMG_SRC_SYMBOL) {
|
|
52ae: 6ae0 ldr r0, [r4, #44] ; 0x2c
|
|
52b0: 4b2e ldr r3, [pc, #184] ; (536c <lv_obj_init_draw_rect_dsc+0x2c0>)
|
|
52b2: 4798 blx r3
|
|
52b4: 2802 cmp r0, #2
|
|
52b6: d00b beq.n 52d0 <lv_obj_init_draw_rect_dsc+0x224>
|
|
else if(draw_dsc->pattern_recolor_opa > LV_OPA_MIN) {
|
|
52b8: f894 3037 ldrb.w r3, [r4, #55] ; 0x37
|
|
52bc: 2b05 cmp r3, #5
|
|
52be: d815 bhi.n 52ec <lv_obj_init_draw_rect_dsc+0x240>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_BLEND_MODE, pattern_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
52c0: 2260 movs r2, #96 ; 0x60
|
|
52c2: 4631 mov r1, r6
|
|
52c4: 4628 mov r0, r5
|
|
52c6: 4b25 ldr r3, [pc, #148] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
52c8: 4798 blx r3
|
|
52ca: f884 0039 strb.w r0, [r4, #57] ; 0x39
|
|
52ce: e70e b.n 50ee <lv_obj_init_draw_rect_dsc+0x42>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar)
|
|
52d0: 2269 movs r2, #105 ; 0x69
|
|
52d2: 4631 mov r1, r6
|
|
52d4: 4628 mov r0, r5
|
|
52d6: 4b23 ldr r3, [pc, #140] ; (5364 <lv_obj_init_draw_rect_dsc+0x2b8>)
|
|
52d8: 4798 blx r3
|
|
draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part);
|
|
52da: 86a0 strh r0, [r4, #52] ; 0x34
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
52dc: f248 028e movw r2, #32910 ; 0x808e
|
|
52e0: 4631 mov r1, r6
|
|
52e2: 4628 mov r0, r5
|
|
52e4: 4b20 ldr r3, [pc, #128] ; (5368 <lv_obj_init_draw_rect_dsc+0x2bc>)
|
|
52e6: 4798 blx r3
|
|
draw_dsc->pattern_font = lv_obj_get_style_text_font(obj, part);
|
|
52e8: 6320 str r0, [r4, #48] ; 0x30
|
|
52ea: e7e9 b.n 52c0 <lv_obj_init_draw_rect_dsc+0x214>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar)
|
|
52ec: 2269 movs r2, #105 ; 0x69
|
|
52ee: 4631 mov r1, r6
|
|
52f0: 4628 mov r0, r5
|
|
52f2: 4b1c ldr r3, [pc, #112] ; (5364 <lv_obj_init_draw_rect_dsc+0x2b8>)
|
|
52f4: 4798 blx r3
|
|
draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part);
|
|
52f6: 86a0 strh r0, [r4, #52] ; 0x34
|
|
52f8: e7e2 b.n 52c0 <lv_obj_init_draw_rect_dsc+0x214>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar)
|
|
52fa: 2250 movs r2, #80 ; 0x50
|
|
52fc: 4631 mov r1, r6
|
|
52fe: 4628 mov r0, r5
|
|
5300: 4b16 ldr r3, [pc, #88] ; (535c <lv_obj_init_draw_rect_dsc+0x2b0>)
|
|
5302: 4798 blx r3
|
|
draw_dsc->shadow_width = lv_obj_get_style_shadow_width(obj, part);
|
|
5304: 8420 strh r0, [r4, #32]
|
|
if(draw_dsc->shadow_width) {
|
|
5306: 2800 cmp r0, #0
|
|
5308: f43f aef6 beq.w 50f8 <lv_obj_init_draw_rect_dsc+0x4c>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar)
|
|
530c: 225c movs r2, #92 ; 0x5c
|
|
530e: 4631 mov r1, r6
|
|
5310: 4628 mov r0, r5
|
|
5312: 4b13 ldr r3, [pc, #76] ; (5360 <lv_obj_init_draw_rect_dsc+0x2b4>)
|
|
5314: 4798 blx r3
|
|
draw_dsc->shadow_opa = lv_obj_get_style_shadow_opa(obj, part);
|
|
5316: f884 0028 strb.w r0, [r4, #40] ; 0x28
|
|
if(draw_dsc->shadow_opa > LV_OPA_MIN) {
|
|
531a: 2805 cmp r0, #5
|
|
531c: f67f aeec bls.w 50f8 <lv_obj_init_draw_rect_dsc+0x4c>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar)
|
|
5320: 2251 movs r2, #81 ; 0x51
|
|
5322: 4631 mov r1, r6
|
|
5324: 4628 mov r0, r5
|
|
5326: f8df 8034 ldr.w r8, [pc, #52] ; 535c <lv_obj_init_draw_rect_dsc+0x2b0>
|
|
532a: 47c0 blx r8
|
|
draw_dsc->shadow_ofs_x = lv_obj_get_style_shadow_ofs_x(obj, part);
|
|
532c: 8460 strh r0, [r4, #34] ; 0x22
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar)
|
|
532e: 2252 movs r2, #82 ; 0x52
|
|
5330: 4631 mov r1, r6
|
|
5332: 4628 mov r0, r5
|
|
5334: 47c0 blx r8
|
|
draw_dsc->shadow_ofs_y = lv_obj_get_style_shadow_ofs_y(obj, part);
|
|
5336: 84a0 strh r0, [r4, #36] ; 0x24
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar)
|
|
5338: 2253 movs r2, #83 ; 0x53
|
|
533a: 4631 mov r1, r6
|
|
533c: 4628 mov r0, r5
|
|
533e: 47c0 blx r8
|
|
draw_dsc->shadow_spread = lv_obj_get_style_shadow_spread(obj, part);
|
|
5340: 84e0 strh r0, [r4, #38] ; 0x26
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar)
|
|
5342: 2259 movs r2, #89 ; 0x59
|
|
5344: 4631 mov r1, r6
|
|
5346: 4628 mov r0, r5
|
|
5348: 4b06 ldr r3, [pc, #24] ; (5364 <lv_obj_init_draw_rect_dsc+0x2b8>)
|
|
534a: 4798 blx r3
|
|
draw_dsc->shadow_color = lv_obj_get_style_shadow_color(obj, part);
|
|
534c: 83e0 strh r0, [r4, #30]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_BLEND_MODE, shadow_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
534e: 2254 movs r2, #84 ; 0x54
|
|
5350: 4631 mov r1, r6
|
|
5352: 4628 mov r0, r5
|
|
5354: 47c0 blx r8
|
|
5356: f884 0029 strb.w r0, [r4, #41] ; 0x29
|
|
535a: e6cd b.n 50f8 <lv_obj_init_draw_rect_dsc+0x4c>
|
|
535c: 000044bd .word 0x000044bd
|
|
5360: 000045f5 .word 0x000045f5
|
|
5364: 00004569 .word 0x00004569
|
|
5368: 00004689 .word 0x00004689
|
|
536c: 00009951 .word 0x00009951
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar)
|
|
5370: 227f movs r2, #127 ; 0x7f
|
|
5372: 4631 mov r1, r6
|
|
5374: 4628 mov r0, r5
|
|
5376: 4b22 ldr r3, [pc, #136] ; (5400 <lv_obj_init_draw_rect_dsc+0x354>)
|
|
5378: 4798 blx r3
|
|
draw_dsc->value_str = lv_obj_get_style_value_str(obj, part);
|
|
537a: 63e0 str r0, [r4, #60] ; 0x3c
|
|
if(draw_dsc->value_str) {
|
|
537c: 2800 cmp r0, #0
|
|
537e: f43f aec0 beq.w 5102 <lv_obj_init_draw_rect_dsc+0x56>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar)
|
|
5382: 227c movs r2, #124 ; 0x7c
|
|
5384: 4631 mov r1, r6
|
|
5386: 4628 mov r0, r5
|
|
5388: 4b1e ldr r3, [pc, #120] ; (5404 <lv_obj_init_draw_rect_dsc+0x358>)
|
|
538a: 4798 blx r3
|
|
draw_dsc->value_opa = lv_obj_get_style_value_opa(obj, part);
|
|
538c: f884 0044 strb.w r0, [r4, #68] ; 0x44
|
|
if(draw_dsc->value_opa > LV_OPA_MIN) {
|
|
5390: 2805 cmp r0, #5
|
|
5392: f67f aeb6 bls.w 5102 <lv_obj_init_draw_rect_dsc+0x56>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar)
|
|
5396: 2273 movs r2, #115 ; 0x73
|
|
5398: 4631 mov r1, r6
|
|
539a: 4628 mov r0, r5
|
|
539c: f8df 806c ldr.w r8, [pc, #108] ; 540c <lv_obj_init_draw_rect_dsc+0x360>
|
|
53a0: 47c0 blx r8
|
|
draw_dsc->value_ofs_x = lv_obj_get_style_value_ofs_x(obj, part);
|
|
53a2: f8a4 0048 strh.w r0, [r4, #72] ; 0x48
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar)
|
|
53a6: 2274 movs r2, #116 ; 0x74
|
|
53a8: 4631 mov r1, r6
|
|
53aa: 4628 mov r0, r5
|
|
53ac: 47c0 blx r8
|
|
draw_dsc->value_ofs_y = lv_obj_get_style_value_ofs_y(obj, part);
|
|
53ae: f8a4 004a strh.w r0, [r4, #74] ; 0x4a
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
53b2: 2279 movs r2, #121 ; 0x79
|
|
53b4: 4631 mov r1, r6
|
|
53b6: 4628 mov r0, r5
|
|
53b8: 4b13 ldr r3, [pc, #76] ; (5408 <lv_obj_init_draw_rect_dsc+0x35c>)
|
|
53ba: 4798 blx r3
|
|
draw_dsc->value_color = lv_obj_get_style_value_color(obj, part);
|
|
53bc: f8a4 0046 strh.w r0, [r4, #70] ; 0x46
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar)
|
|
53c0: 227e movs r2, #126 ; 0x7e
|
|
53c2: 4631 mov r1, r6
|
|
53c4: 4628 mov r0, r5
|
|
53c6: 4b0e ldr r3, [pc, #56] ; (5400 <lv_obj_init_draw_rect_dsc+0x354>)
|
|
53c8: 4798 blx r3
|
|
draw_dsc->value_font = lv_obj_get_style_value_font(obj, part);
|
|
53ca: 6420 str r0, [r4, #64] ; 0x40
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar)
|
|
53cc: 2270 movs r2, #112 ; 0x70
|
|
53ce: 4631 mov r1, r6
|
|
53d0: 4628 mov r0, r5
|
|
53d2: 47c0 blx r8
|
|
draw_dsc->value_letter_space = lv_obj_get_style_value_letter_space(obj, part);
|
|
53d4: f8a4 004c strh.w r0, [r4, #76] ; 0x4c
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LINE_SPACE, value_line_space, lv_style_int_t, _int, scalar)
|
|
53d8: 2271 movs r2, #113 ; 0x71
|
|
53da: 4631 mov r1, r6
|
|
53dc: 4628 mov r0, r5
|
|
53de: 47c0 blx r8
|
|
draw_dsc->value_line_space = lv_obj_get_style_value_line_space(obj, part);
|
|
53e0: f8a4 004e strh.w r0, [r4, #78] ; 0x4e
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar)
|
|
53e4: 2275 movs r2, #117 ; 0x75
|
|
53e6: 4631 mov r1, r6
|
|
53e8: 4628 mov r0, r5
|
|
53ea: 47c0 blx r8
|
|
53ec: f884 0050 strb.w r0, [r4, #80] ; 0x50
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_BLEND_MODE, value_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
53f0: 2272 movs r2, #114 ; 0x72
|
|
53f2: 4631 mov r1, r6
|
|
53f4: 4628 mov r0, r5
|
|
53f6: 47c0 blx r8
|
|
53f8: f884 0051 strb.w r0, [r4, #81] ; 0x51
|
|
53fc: e681 b.n 5102 <lv_obj_init_draw_rect_dsc+0x56>
|
|
53fe: bf00 nop
|
|
5400: 00004689 .word 0x00004689
|
|
5404: 000045f5 .word 0x000045f5
|
|
5408: 00004569 .word 0x00004569
|
|
540c: 000044bd .word 0x000044bd
|
|
|
|
00005410 <lv_obj_design>:
|
|
{
|
|
5410: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
5414: b098 sub sp, #96 ; 0x60
|
|
5416: 4604 mov r4, r0
|
|
5418: 460e mov r6, r1
|
|
if(mode == LV_DESIGN_COVER_CHK) {
|
|
541a: 2a02 cmp r2, #2
|
|
541c: d008 beq.n 5430 <lv_obj_design+0x20>
|
|
else if(mode == LV_DESIGN_DRAW_MAIN) {
|
|
541e: 2a00 cmp r2, #0
|
|
5420: d06c beq.n 54fc <lv_obj_design+0xec>
|
|
else if(mode == LV_DESIGN_DRAW_POST) {
|
|
5422: 2a01 cmp r2, #1
|
|
5424: f000 80cc beq.w 55c0 <lv_obj_design+0x1b0>
|
|
return LV_DESIGN_RES_OK;
|
|
5428: 2000 movs r0, #0
|
|
}
|
|
542a: b018 add sp, #96 ; 0x60
|
|
542c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
5430: 2100 movs r1, #0
|
|
5432: 4b8e ldr r3, [pc, #568] ; (566c <lv_obj_design+0x25c>)
|
|
5434: 4798 blx r3
|
|
if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) return LV_DESIGN_RES_MASKED;
|
|
5436: b108 cbz r0, 543c <lv_obj_design+0x2c>
|
|
5438: 2003 movs r0, #3
|
|
543a: e7f6 b.n 542a <lv_obj_design+0x1a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
543c: 2201 movs r2, #1
|
|
543e: 2100 movs r1, #0
|
|
5440: 4620 mov r0, r4
|
|
5442: 4d8a ldr r5, [pc, #552] ; (566c <lv_obj_design+0x25c>)
|
|
5444: 47a8 blx r5
|
|
5446: 4607 mov r7, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar)
|
|
5448: 2204 movs r2, #4
|
|
544a: 2100 movs r1, #0
|
|
544c: 4620 mov r0, r4
|
|
544e: 47a8 blx r5
|
|
5450: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar)
|
|
5452: 2205 movs r2, #5
|
|
5454: 2100 movs r1, #0
|
|
5456: 4620 mov r0, r4
|
|
5458: 47a8 blx r5
|
|
545a: f104 030f add.w r3, r4, #15
|
|
545e: f104 0517 add.w r5, r4, #23
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
5462: aa03 add r2, sp, #12
|
|
*d8 = *s8;
|
|
5464: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
5468: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
546c: 429d cmp r5, r3
|
|
546e: d1f9 bne.n 5464 <lv_obj_design+0x54>
|
|
coords.x1 -= w;
|
|
5470: fa1f f888 uxth.w r8, r8
|
|
5474: f8bd 300c ldrh.w r3, [sp, #12]
|
|
5478: eba3 0308 sub.w r3, r3, r8
|
|
547c: f8ad 300c strh.w r3, [sp, #12]
|
|
coords.x2 += w;
|
|
5480: f8bd 3010 ldrh.w r3, [sp, #16]
|
|
5484: 4498 add r8, r3
|
|
5486: f8ad 8010 strh.w r8, [sp, #16]
|
|
coords.y1 -= h;
|
|
548a: b280 uxth r0, r0
|
|
548c: f8bd 300e ldrh.w r3, [sp, #14]
|
|
5490: 1a1b subs r3, r3, r0
|
|
5492: f8ad 300e strh.w r3, [sp, #14]
|
|
coords.y2 += h;
|
|
5496: f8bd 3012 ldrh.w r3, [sp, #18]
|
|
549a: 4418 add r0, r3
|
|
549c: f8ad 0012 strh.w r0, [sp, #18]
|
|
if(_lv_area_is_in(clip_area, &coords, r) == false) return LV_DESIGN_RES_NOT_COVER;
|
|
54a0: 463a mov r2, r7
|
|
54a2: a903 add r1, sp, #12
|
|
54a4: 4630 mov r0, r6
|
|
54a6: 4b72 ldr r3, [pc, #456] ; (5670 <lv_obj_design+0x260>)
|
|
54a8: 4798 blx r3
|
|
54aa: b908 cbnz r0, 54b0 <lv_obj_design+0xa0>
|
|
54ac: 2002 movs r0, #2
|
|
54ae: e7bc b.n 542a <lv_obj_design+0x1a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
54b0: 222c movs r2, #44 ; 0x2c
|
|
54b2: 2100 movs r1, #0
|
|
54b4: 4620 mov r0, r4
|
|
54b6: 4b6f ldr r3, [pc, #444] ; (5674 <lv_obj_design+0x264>)
|
|
54b8: 4798 blx r3
|
|
if(lv_obj_get_style_bg_opa(obj, LV_OBJ_PART_MAIN) < LV_OPA_MAX) return LV_DESIGN_RES_NOT_COVER;
|
|
54ba: 28f9 cmp r0, #249 ; 0xf9
|
|
54bc: d801 bhi.n 54c2 <lv_obj_design+0xb2>
|
|
54be: 2002 movs r0, #2
|
|
54c0: e7b3 b.n 542a <lv_obj_design+0x1a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
54c2: 2220 movs r2, #32
|
|
54c4: 2100 movs r1, #0
|
|
54c6: 4620 mov r0, r4
|
|
54c8: 4b68 ldr r3, [pc, #416] ; (566c <lv_obj_design+0x25c>)
|
|
54ca: 4798 blx r3
|
|
if(lv_obj_get_style_bg_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER;
|
|
54cc: b2c0 uxtb r0, r0
|
|
54ce: b108 cbz r0, 54d4 <lv_obj_design+0xc4>
|
|
54d0: 2002 movs r0, #2
|
|
54d2: e7aa b.n 542a <lv_obj_design+0x1a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
54d4: 2232 movs r2, #50 ; 0x32
|
|
54d6: 2100 movs r1, #0
|
|
54d8: 4620 mov r0, r4
|
|
54da: 4b64 ldr r3, [pc, #400] ; (566c <lv_obj_design+0x25c>)
|
|
54dc: 4798 blx r3
|
|
if(lv_obj_get_style_border_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER;
|
|
54de: b2c0 uxtb r0, r0
|
|
54e0: b108 cbz r0, 54e6 <lv_obj_design+0xd6>
|
|
54e2: 2002 movs r0, #2
|
|
54e4: e7a1 b.n 542a <lv_obj_design+0x1a>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar)
|
|
54e6: f248 020c movw r2, #32780 ; 0x800c
|
|
54ea: 2100 movs r1, #0
|
|
54ec: 4620 mov r0, r4
|
|
54ee: 4b61 ldr r3, [pc, #388] ; (5674 <lv_obj_design+0x264>)
|
|
54f0: 4798 blx r3
|
|
return LV_DESIGN_RES_COVER;
|
|
54f2: 28fa cmp r0, #250 ; 0xfa
|
|
54f4: bf34 ite cc
|
|
54f6: 2002 movcc r0, #2
|
|
54f8: 2001 movcs r0, #1
|
|
54fa: e796 b.n 542a <lv_obj_design+0x1a>
|
|
lv_draw_rect_dsc_init(&draw_dsc);
|
|
54fc: a803 add r0, sp, #12
|
|
54fe: 4b5e ldr r3, [pc, #376] ; (5678 <lv_obj_design+0x268>)
|
|
5500: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar)
|
|
5502: 2233 movs r2, #51 ; 0x33
|
|
5504: 2100 movs r1, #0
|
|
5506: 4620 mov r0, r4
|
|
5508: 4b58 ldr r3, [pc, #352] ; (566c <lv_obj_design+0x25c>)
|
|
550a: 4798 blx r3
|
|
if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) {
|
|
550c: b110 cbz r0, 5514 <lv_obj_design+0x104>
|
|
draw_dsc.border_opa = LV_OPA_TRANSP;
|
|
550e: 2300 movs r3, #0
|
|
5510: f88d 3020 strb.w r3, [sp, #32]
|
|
lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc);
|
|
5514: aa03 add r2, sp, #12
|
|
5516: 2100 movs r1, #0
|
|
5518: 4620 mov r0, r4
|
|
551a: 4b58 ldr r3, [pc, #352] ; (567c <lv_obj_design+0x26c>)
|
|
551c: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar)
|
|
551e: 2204 movs r2, #4
|
|
5520: 2100 movs r1, #0
|
|
5522: 4620 mov r0, r4
|
|
5524: 4d51 ldr r5, [pc, #324] ; (566c <lv_obj_design+0x25c>)
|
|
5526: 47a8 blx r5
|
|
5528: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar)
|
|
552a: 2205 movs r2, #5
|
|
552c: 2100 movs r1, #0
|
|
552e: 4620 mov r0, r4
|
|
5530: 47a8 blx r5
|
|
lv_area_copy(&coords, &obj->coords);
|
|
5532: f104 0710 add.w r7, r4, #16
|
|
5536: f104 030f add.w r3, r4, #15
|
|
553a: f104 0517 add.w r5, r4, #23
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
553e: aa01 add r2, sp, #4
|
|
*d8 = *s8;
|
|
5540: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
5544: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
5548: 42ab cmp r3, r5
|
|
554a: d1f9 bne.n 5540 <lv_obj_design+0x130>
|
|
coords.x1 -= w;
|
|
554c: fa1f f888 uxth.w r8, r8
|
|
5550: f8bd 3004 ldrh.w r3, [sp, #4]
|
|
5554: eba3 0308 sub.w r3, r3, r8
|
|
5558: f8ad 3004 strh.w r3, [sp, #4]
|
|
coords.x2 += w;
|
|
555c: f8bd 3008 ldrh.w r3, [sp, #8]
|
|
5560: 4498 add r8, r3
|
|
5562: f8ad 8008 strh.w r8, [sp, #8]
|
|
coords.y1 -= h;
|
|
5566: b280 uxth r0, r0
|
|
5568: f8bd 3006 ldrh.w r3, [sp, #6]
|
|
556c: 1a1b subs r3, r3, r0
|
|
556e: f8ad 3006 strh.w r3, [sp, #6]
|
|
coords.y2 += h;
|
|
5572: f8bd 300a ldrh.w r3, [sp, #10]
|
|
5576: 4418 add r0, r3
|
|
5578: f8ad 000a strh.w r0, [sp, #10]
|
|
lv_draw_rect(&coords, clip_area, &draw_dsc);
|
|
557c: aa03 add r2, sp, #12
|
|
557e: 4631 mov r1, r6
|
|
5580: a801 add r0, sp, #4
|
|
5582: 4b3f ldr r3, [pc, #252] ; (5680 <lv_obj_design+0x270>)
|
|
5584: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
5586: 2202 movs r2, #2
|
|
5588: 2100 movs r1, #0
|
|
558a: 4620 mov r0, r4
|
|
558c: 4b37 ldr r3, [pc, #220] ; (566c <lv_obj_design+0x25c>)
|
|
558e: 4798 blx r3
|
|
if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) {
|
|
5590: b908 cbnz r0, 5596 <lv_obj_design+0x186>
|
|
return LV_DESIGN_RES_OK;
|
|
5592: 2000 movs r0, #0
|
|
5594: e749 b.n 542a <lv_obj_design+0x1a>
|
|
lv_draw_mask_radius_param_t * mp = _lv_mem_buf_get(sizeof(lv_draw_mask_radius_param_t));
|
|
5596: 201c movs r0, #28
|
|
5598: 4b3a ldr r3, [pc, #232] ; (5684 <lv_obj_design+0x274>)
|
|
559a: 4798 blx r3
|
|
559c: 4605 mov r5, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
559e: 2201 movs r2, #1
|
|
55a0: 2100 movs r1, #0
|
|
55a2: 4620 mov r0, r4
|
|
55a4: 4b31 ldr r3, [pc, #196] ; (566c <lv_obj_design+0x25c>)
|
|
55a6: 4798 blx r3
|
|
lv_draw_mask_radius_init(mp, &obj->coords, r, false);
|
|
55a8: 2300 movs r3, #0
|
|
55aa: 4602 mov r2, r0
|
|
55ac: 4639 mov r1, r7
|
|
55ae: 4628 mov r0, r5
|
|
55b0: 4e35 ldr r6, [pc, #212] ; (5688 <lv_obj_design+0x278>)
|
|
55b2: 47b0 blx r6
|
|
lv_draw_mask_add(mp, obj + 8);
|
|
55b4: f504 7118 add.w r1, r4, #608 ; 0x260
|
|
55b8: 4628 mov r0, r5
|
|
55ba: 4b34 ldr r3, [pc, #208] ; (568c <lv_obj_design+0x27c>)
|
|
55bc: 4798 blx r3
|
|
55be: e7e8 b.n 5592 <lv_obj_design+0x182>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
55c0: 2202 movs r2, #2
|
|
55c2: 2100 movs r1, #0
|
|
55c4: 4b29 ldr r3, [pc, #164] ; (566c <lv_obj_design+0x25c>)
|
|
55c6: 4798 blx r3
|
|
if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) {
|
|
55c8: b938 cbnz r0, 55da <lv_obj_design+0x1ca>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar)
|
|
55ca: 2233 movs r2, #51 ; 0x33
|
|
55cc: 2100 movs r1, #0
|
|
55ce: 4620 mov r0, r4
|
|
55d0: 4b26 ldr r3, [pc, #152] ; (566c <lv_obj_design+0x25c>)
|
|
55d2: 4798 blx r3
|
|
if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) {
|
|
55d4: b940 cbnz r0, 55e8 <lv_obj_design+0x1d8>
|
|
return LV_DESIGN_RES_OK;
|
|
55d6: 2000 movs r0, #0
|
|
55d8: e727 b.n 542a <lv_obj_design+0x1a>
|
|
lv_draw_mask_radius_param_t * param = lv_draw_mask_remove_custom(obj + 8);
|
|
55da: f504 7018 add.w r0, r4, #608 ; 0x260
|
|
55de: 4b2c ldr r3, [pc, #176] ; (5690 <lv_obj_design+0x280>)
|
|
55e0: 4798 blx r3
|
|
_lv_mem_buf_release(param);
|
|
55e2: 4b2c ldr r3, [pc, #176] ; (5694 <lv_obj_design+0x284>)
|
|
55e4: 4798 blx r3
|
|
55e6: e7f0 b.n 55ca <lv_obj_design+0x1ba>
|
|
lv_draw_rect_dsc_init(&draw_dsc);
|
|
55e8: a803 add r0, sp, #12
|
|
55ea: 4b23 ldr r3, [pc, #140] ; (5678 <lv_obj_design+0x268>)
|
|
55ec: 4798 blx r3
|
|
draw_dsc.bg_opa = LV_OPA_TRANSP;
|
|
55ee: 2700 movs r7, #0
|
|
55f0: f88d 7018 strb.w r7, [sp, #24]
|
|
draw_dsc.pattern_opa = LV_OPA_TRANSP;
|
|
55f4: f88d 7042 strb.w r7, [sp, #66] ; 0x42
|
|
draw_dsc.shadow_opa = LV_OPA_TRANSP;
|
|
55f8: f88d 7034 strb.w r7, [sp, #52] ; 0x34
|
|
lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc);
|
|
55fc: aa03 add r2, sp, #12
|
|
55fe: 4639 mov r1, r7
|
|
5600: 4620 mov r0, r4
|
|
5602: 4b1e ldr r3, [pc, #120] ; (567c <lv_obj_design+0x26c>)
|
|
5604: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar)
|
|
5606: 2204 movs r2, #4
|
|
5608: 4639 mov r1, r7
|
|
560a: 4620 mov r0, r4
|
|
560c: 4d17 ldr r5, [pc, #92] ; (566c <lv_obj_design+0x25c>)
|
|
560e: 47a8 blx r5
|
|
5610: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar)
|
|
5612: 2205 movs r2, #5
|
|
5614: 4639 mov r1, r7
|
|
5616: 4620 mov r0, r4
|
|
5618: 47a8 blx r5
|
|
561a: f104 030f add.w r3, r4, #15
|
|
561e: 3417 adds r4, #23
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
5620: aa01 add r2, sp, #4
|
|
*d8 = *s8;
|
|
5622: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
5626: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
562a: 42a3 cmp r3, r4
|
|
562c: d1f9 bne.n 5622 <lv_obj_design+0x212>
|
|
coords.x1 -= w;
|
|
562e: fa1f f388 uxth.w r3, r8
|
|
5632: f8bd 2004 ldrh.w r2, [sp, #4]
|
|
5636: 1ad2 subs r2, r2, r3
|
|
5638: f8ad 2004 strh.w r2, [sp, #4]
|
|
coords.x2 += w;
|
|
563c: f8bd 2008 ldrh.w r2, [sp, #8]
|
|
5640: 4413 add r3, r2
|
|
5642: f8ad 3008 strh.w r3, [sp, #8]
|
|
coords.y1 -= h;
|
|
5646: b280 uxth r0, r0
|
|
5648: f8bd 3006 ldrh.w r3, [sp, #6]
|
|
564c: 1a1b subs r3, r3, r0
|
|
564e: f8ad 3006 strh.w r3, [sp, #6]
|
|
coords.y2 += h;
|
|
5652: f8bd 300a ldrh.w r3, [sp, #10]
|
|
5656: 4418 add r0, r3
|
|
5658: f8ad 000a strh.w r0, [sp, #10]
|
|
lv_draw_rect(&coords, clip_area, &draw_dsc);
|
|
565c: aa03 add r2, sp, #12
|
|
565e: 4631 mov r1, r6
|
|
5660: a801 add r0, sp, #4
|
|
5662: 4b07 ldr r3, [pc, #28] ; (5680 <lv_obj_design+0x270>)
|
|
5664: 4798 blx r3
|
|
return LV_DESIGN_RES_OK;
|
|
5666: 2000 movs r0, #0
|
|
5668: e6df b.n 542a <lv_obj_design+0x1a>
|
|
566a: bf00 nop
|
|
566c: 000044bd .word 0x000044bd
|
|
5670: 00011755 .word 0x00011755
|
|
5674: 000045f5 .word 0x000045f5
|
|
5678: 0000c251 .word 0x0000c251
|
|
567c: 000050ad .word 0x000050ad
|
|
5680: 0000c319 .word 0x0000c319
|
|
5684: 00012925 .word 0x00012925
|
|
5688: 0000c015 .word 0x0000c015
|
|
568c: 0000bda9 .word 0x0000bda9
|
|
5690: 0000be79 .word 0x0000be79
|
|
5694: 00012559 .word 0x00012559
|
|
|
|
00005698 <lv_obj_init_draw_label_dsc>:
|
|
{
|
|
5698: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
569a: 4605 mov r5, r0
|
|
569c: 460e mov r6, r1
|
|
569e: 4614 mov r4, r2
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar)
|
|
56a0: f248 028c movw r2, #32908 ; 0x808c
|
|
56a4: 4b26 ldr r3, [pc, #152] ; (5740 <lv_obj_init_draw_label_dsc+0xa8>)
|
|
56a6: 4798 blx r3
|
|
draw_dsc->opa = lv_obj_get_style_text_opa(obj, part);
|
|
56a8: 7220 strb r0, [r4, #8]
|
|
if(draw_dsc->opa <= LV_OPA_MIN) return;
|
|
56aa: 2805 cmp r0, #5
|
|
56ac: d800 bhi.n 56b0 <lv_obj_init_draw_label_dsc+0x18>
|
|
56ae: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar)
|
|
56b0: f248 020c movw r2, #32780 ; 0x800c
|
|
56b4: 4631 mov r1, r6
|
|
56b6: 4628 mov r0, r5
|
|
56b8: 4b21 ldr r3, [pc, #132] ; (5740 <lv_obj_init_draw_label_dsc+0xa8>)
|
|
56ba: 4798 blx r3
|
|
if(opa_scale < LV_OPA_MAX) {
|
|
56bc: 28f9 cmp r0, #249 ; 0xf9
|
|
56be: d805 bhi.n 56cc <lv_obj_init_draw_label_dsc+0x34>
|
|
draw_dsc->opa = (uint16_t)((uint16_t)draw_dsc->opa * opa_scale) >> 8;
|
|
56c0: 7a23 ldrb r3, [r4, #8]
|
|
56c2: fb13 f000 smulbb r0, r3, r0
|
|
56c6: f3c0 2007 ubfx r0, r0, #8, #8
|
|
56ca: 7220 strb r0, [r4, #8]
|
|
if(draw_dsc->opa <= LV_OPA_MIN) return;
|
|
56cc: 7a23 ldrb r3, [r4, #8]
|
|
56ce: 2b05 cmp r3, #5
|
|
56d0: d9ed bls.n 56ae <lv_obj_init_draw_label_dsc+0x16>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
56d2: f248 0289 movw r2, #32905 ; 0x8089
|
|
56d6: 4631 mov r1, r6
|
|
56d8: 4628 mov r0, r5
|
|
56da: 4b1a ldr r3, [pc, #104] ; (5744 <lv_obj_init_draw_label_dsc+0xac>)
|
|
56dc: 4798 blx r3
|
|
draw_dsc->color = lv_obj_get_style_text_color(obj, part);
|
|
56de: 8020 strh r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar)
|
|
56e0: f248 0280 movw r2, #32896 ; 0x8080
|
|
56e4: 4631 mov r1, r6
|
|
56e6: 4628 mov r0, r5
|
|
56e8: 4f17 ldr r7, [pc, #92] ; (5748 <lv_obj_init_draw_label_dsc+0xb0>)
|
|
56ea: 47b8 blx r7
|
|
draw_dsc->letter_space = lv_obj_get_style_text_letter_space(obj, part);
|
|
56ec: 81a0 strh r0, [r4, #12]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar)
|
|
56ee: f248 0281 movw r2, #32897 ; 0x8081
|
|
56f2: 4631 mov r1, r6
|
|
56f4: 4628 mov r0, r5
|
|
56f6: 47b8 blx r7
|
|
draw_dsc->line_space = lv_obj_get_style_text_line_space(obj, part);
|
|
56f8: 8160 strh r0, [r4, #10]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar)
|
|
56fa: f248 0282 movw r2, #32898 ; 0x8082
|
|
56fe: 4631 mov r1, r6
|
|
5700: 4628 mov r0, r5
|
|
5702: 47b8 blx r7
|
|
5704: 7620 strb r0, [r4, #24]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
5706: f248 0283 movw r2, #32899 ; 0x8083
|
|
570a: 4631 mov r1, r6
|
|
570c: 4628 mov r0, r5
|
|
570e: 47b8 blx r7
|
|
5710: 7660 strb r0, [r4, #25]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
5712: f248 028e movw r2, #32910 ; 0x808e
|
|
5716: 4631 mov r1, r6
|
|
5718: 4628 mov r0, r5
|
|
571a: 4b0c ldr r3, [pc, #48] ; (574c <lv_obj_init_draw_label_dsc+0xb4>)
|
|
571c: 4798 blx r3
|
|
draw_dsc->font = lv_obj_get_style_text_font(obj, part);
|
|
571e: 6060 str r0, [r4, #4]
|
|
if(draw_dsc->sel_start != LV_DRAW_LABEL_NO_TXT_SEL && draw_dsc->sel_end != LV_DRAW_LABEL_NO_TXT_SEL) {
|
|
5720: 89e2 ldrh r2, [r4, #14]
|
|
5722: f64f 73ff movw r3, #65535 ; 0xffff
|
|
5726: 429a cmp r2, r3
|
|
5728: d0c1 beq.n 56ae <lv_obj_init_draw_label_dsc+0x16>
|
|
572a: 8a22 ldrh r2, [r4, #16]
|
|
572c: 429a cmp r2, r3
|
|
572e: d0be beq.n 56ae <lv_obj_init_draw_label_dsc+0x16>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar)
|
|
5730: f248 028a movw r2, #32906 ; 0x808a
|
|
5734: 4631 mov r1, r6
|
|
5736: 4628 mov r0, r5
|
|
5738: 4b02 ldr r3, [pc, #8] ; (5744 <lv_obj_init_draw_label_dsc+0xac>)
|
|
573a: 4798 blx r3
|
|
draw_dsc->color = lv_obj_get_style_text_sel_color(obj, part);
|
|
573c: 8020 strh r0, [r4, #0]
|
|
573e: e7b6 b.n 56ae <lv_obj_init_draw_label_dsc+0x16>
|
|
5740: 000045f5 .word 0x000045f5
|
|
5744: 00004569 .word 0x00004569
|
|
5748: 000044bd .word 0x000044bd
|
|
574c: 00004689 .word 0x00004689
|
|
|
|
00005750 <lv_obj_init_draw_img_dsc>:
|
|
{
|
|
5750: b570 push {r4, r5, r6, lr}
|
|
5752: 4605 mov r5, r0
|
|
5754: 460e mov r6, r1
|
|
5756: 4614 mov r4, r2
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar)
|
|
5758: f248 02ac movw r2, #32940 ; 0x80ac
|
|
575c: 4b21 ldr r3, [pc, #132] ; (57e4 <lv_obj_init_draw_img_dsc+0x94>)
|
|
575e: 4798 blx r3
|
|
draw_dsc->opa = lv_obj_get_style_image_opa(obj, part);
|
|
5760: 7020 strb r0, [r4, #0]
|
|
if(draw_dsc->opa <= LV_OPA_MIN) return;
|
|
5762: 2805 cmp r0, #5
|
|
5764: d800 bhi.n 5768 <lv_obj_init_draw_img_dsc+0x18>
|
|
5766: bd70 pop {r4, r5, r6, pc}
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar)
|
|
5768: f248 020c movw r2, #32780 ; 0x800c
|
|
576c: 4631 mov r1, r6
|
|
576e: 4628 mov r0, r5
|
|
5770: 4b1c ldr r3, [pc, #112] ; (57e4 <lv_obj_init_draw_img_dsc+0x94>)
|
|
5772: 4798 blx r3
|
|
if(opa_scale < LV_OPA_MAX) {
|
|
5774: 28f9 cmp r0, #249 ; 0xf9
|
|
5776: d805 bhi.n 5784 <lv_obj_init_draw_img_dsc+0x34>
|
|
draw_dsc->opa = (uint16_t)((uint16_t)draw_dsc->opa * opa_scale) >> 8;
|
|
5778: 7823 ldrb r3, [r4, #0]
|
|
577a: fb13 f000 smulbb r0, r3, r0
|
|
577e: f3c0 2007 ubfx r0, r0, #8, #8
|
|
5782: 7020 strb r0, [r4, #0]
|
|
if(draw_dsc->opa <= LV_OPA_MIN) return;
|
|
5784: 7823 ldrb r3, [r4, #0]
|
|
5786: 2b05 cmp r3, #5
|
|
5788: d9ed bls.n 5766 <lv_obj_init_draw_img_dsc+0x16>
|
|
draw_dsc->angle = 0;
|
|
578a: 2300 movs r3, #0
|
|
578c: 8063 strh r3, [r4, #2]
|
|
draw_dsc->zoom = LV_IMG_ZOOM_NONE;
|
|
578e: f44f 7380 mov.w r3, #256 ; 0x100
|
|
5792: 8123 strh r3, [r4, #8]
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
5794: 8aab ldrh r3, [r5, #20]
|
|
5796: 3301 adds r3, #1
|
|
5798: 8a2a ldrh r2, [r5, #16]
|
|
579a: 1a9b subs r3, r3, r2
|
|
draw_dsc->pivot.x = lv_area_get_width(&obj->coords) / 2;
|
|
579c: b21b sxth r3, r3
|
|
579e: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
57a2: 105b asrs r3, r3, #1
|
|
57a4: 80a3 strh r3, [r4, #4]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
57a6: 8aeb ldrh r3, [r5, #22]
|
|
57a8: 3301 adds r3, #1
|
|
57aa: 8a6a ldrh r2, [r5, #18]
|
|
57ac: 1a9b subs r3, r3, r2
|
|
draw_dsc->pivot.y = lv_area_get_height(&obj->coords) / 2;
|
|
57ae: b21b sxth r3, r3
|
|
57b0: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
57b4: 105b asrs r3, r3, #1
|
|
57b6: 80e3 strh r3, [r4, #6]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar)
|
|
57b8: f248 02ad movw r2, #32941 ; 0x80ad
|
|
57bc: 4631 mov r1, r6
|
|
57be: 4628 mov r0, r5
|
|
57c0: 4b08 ldr r3, [pc, #32] ; (57e4 <lv_obj_init_draw_img_dsc+0x94>)
|
|
57c2: 4798 blx r3
|
|
draw_dsc->recolor_opa = lv_obj_get_style_image_recolor_opa(obj, part);
|
|
57c4: 72a0 strb r0, [r4, #10]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
57c6: f248 02a9 movw r2, #32937 ; 0x80a9
|
|
57ca: 4631 mov r1, r6
|
|
57cc: 4628 mov r0, r5
|
|
57ce: 4b06 ldr r3, [pc, #24] ; (57e8 <lv_obj_init_draw_img_dsc+0x98>)
|
|
57d0: 4798 blx r3
|
|
draw_dsc->recolor = lv_obj_get_style_image_recolor(obj, part);
|
|
57d2: 81a0 strh r0, [r4, #12]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
57d4: f248 02a0 movw r2, #32928 ; 0x80a0
|
|
57d8: 4631 mov r1, r6
|
|
57da: 4628 mov r0, r5
|
|
57dc: 4b03 ldr r3, [pc, #12] ; (57ec <lv_obj_init_draw_img_dsc+0x9c>)
|
|
57de: 4798 blx r3
|
|
57e0: 73a0 strb r0, [r4, #14]
|
|
57e2: e7c0 b.n 5766 <lv_obj_init_draw_img_dsc+0x16>
|
|
57e4: 000045f5 .word 0x000045f5
|
|
57e8: 00004569 .word 0x00004569
|
|
57ec: 000044bd .word 0x000044bd
|
|
|
|
000057f0 <lv_obj_get_draw_rect_ext_pad_size>:
|
|
{
|
|
57f0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
57f4: b089 sub sp, #36 ; 0x24
|
|
57f6: 4604 mov r4, r0
|
|
57f8: 460e mov r6, r1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar)
|
|
57fa: 2250 movs r2, #80 ; 0x50
|
|
57fc: 4b76 ldr r3, [pc, #472] ; (59d8 <lv_obj_get_draw_rect_ext_pad_size+0x1e8>)
|
|
57fe: 4798 blx r3
|
|
if(sh_width) {
|
|
5800: 4607 mov r7, r0
|
|
5802: bb68 cbnz r0, 5860 <lv_obj_get_draw_rect_ext_pad_size+0x70>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar)
|
|
5804: 227f movs r2, #127 ; 0x7f
|
|
5806: 4631 mov r1, r6
|
|
5808: 4620 mov r0, r4
|
|
580a: 4b74 ldr r3, [pc, #464] ; (59dc <lv_obj_get_draw_rect_ext_pad_size+0x1ec>)
|
|
580c: 4798 blx r3
|
|
if(value_str) {
|
|
580e: 4680 mov r8, r0
|
|
5810: b130 cbz r0, 5820 <lv_obj_get_draw_rect_ext_pad_size+0x30>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar)
|
|
5812: 227c movs r2, #124 ; 0x7c
|
|
5814: 4631 mov r1, r6
|
|
5816: 4620 mov r0, r4
|
|
5818: 4b71 ldr r3, [pc, #452] ; (59e0 <lv_obj_get_draw_rect_ext_pad_size+0x1f0>)
|
|
581a: 4798 blx r3
|
|
if(value_opa > LV_OPA_MIN) {
|
|
581c: 2805 cmp r0, #5
|
|
581e: d84c bhi.n 58ba <lv_obj_get_draw_rect_ext_pad_size+0xca>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar)
|
|
5820: 2240 movs r2, #64 ; 0x40
|
|
5822: 4631 mov r1, r6
|
|
5824: 4620 mov r0, r4
|
|
5826: 4b6c ldr r3, [pc, #432] ; (59d8 <lv_obj_get_draw_rect_ext_pad_size+0x1e8>)
|
|
5828: 4798 blx r3
|
|
if(outline_width) {
|
|
582a: 4605 mov r5, r0
|
|
582c: 2800 cmp r0, #0
|
|
582e: f040 80bf bne.w 59b0 <lv_obj_get_draw_rect_ext_pad_size+0x1c0>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar)
|
|
5832: 2204 movs r2, #4
|
|
5834: 4631 mov r1, r6
|
|
5836: 4620 mov r0, r4
|
|
5838: f8df 819c ldr.w r8, [pc, #412] ; 59d8 <lv_obj_get_draw_rect_ext_pad_size+0x1e8>
|
|
583c: 47c0 blx r8
|
|
583e: 4605 mov r5, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar)
|
|
5840: 2205 movs r2, #5
|
|
5842: 4631 mov r1, r6
|
|
5844: 4620 mov r0, r4
|
|
5846: 47c0 blx r8
|
|
lv_coord_t wh = LV_MATH_MAX(w, h);
|
|
5848: 42a8 cmp r0, r5
|
|
584a: bfb8 it lt
|
|
584c: 4628 movlt r0, r5
|
|
584e: b200 sxth r0, r0
|
|
if(wh > 0) s += wh;
|
|
5850: 2800 cmp r0, #0
|
|
5852: bfc4 itt gt
|
|
5854: 19c0 addgt r0, r0, r7
|
|
5856: b207 sxthgt r7, r0
|
|
}
|
|
5858: 4638 mov r0, r7
|
|
585a: b009 add sp, #36 ; 0x24
|
|
585c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar)
|
|
5860: 225c movs r2, #92 ; 0x5c
|
|
5862: 4631 mov r1, r6
|
|
5864: 4620 mov r0, r4
|
|
5866: 4b5e ldr r3, [pc, #376] ; (59e0 <lv_obj_get_draw_rect_ext_pad_size+0x1f0>)
|
|
5868: 4798 blx r3
|
|
if(sh_opa > LV_OPA_MIN) {
|
|
586a: 2805 cmp r0, #5
|
|
586c: d801 bhi.n 5872 <lv_obj_get_draw_rect_ext_pad_size+0x82>
|
|
lv_coord_t s = 0;
|
|
586e: 2700 movs r7, #0
|
|
5870: e7c8 b.n 5804 <lv_obj_get_draw_rect_ext_pad_size+0x14>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar)
|
|
5872: 2253 movs r2, #83 ; 0x53
|
|
5874: 4631 mov r1, r6
|
|
5876: 4620 mov r0, r4
|
|
5878: 4d57 ldr r5, [pc, #348] ; (59d8 <lv_obj_get_draw_rect_ext_pad_size+0x1e8>)
|
|
587a: 47a8 blx r5
|
|
sh_width = sh_width / 2; /*THe blur adds only half width*/
|
|
587c: eb07 77d7 add.w r7, r7, r7, lsr #31
|
|
sh_width++;
|
|
5880: eb00 0767 add.w r7, r0, r7, asr #1
|
|
sh_width += lv_obj_get_style_shadow_spread(obj, part);
|
|
5884: 3701 adds r7, #1
|
|
5886: b2bf uxth r7, r7
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar)
|
|
5888: 2251 movs r2, #81 ; 0x51
|
|
588a: 4631 mov r1, r6
|
|
588c: 4620 mov r0, r4
|
|
588e: 47a8 blx r5
|
|
5890: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar)
|
|
5892: 2252 movs r2, #82 ; 0x52
|
|
5894: 4631 mov r1, r6
|
|
5896: 4620 mov r0, r4
|
|
5898: 47a8 blx r5
|
|
sh_width += LV_MATH_MAX(LV_MATH_ABS(sh_ofs_x), LV_MATH_ABS(sh_ofs_y));
|
|
589a: 2800 cmp r0, #0
|
|
589c: bfb8 it lt
|
|
589e: 4240 neglt r0, r0
|
|
58a0: f1b8 0f00 cmp.w r8, #0
|
|
58a4: bfb8 it lt
|
|
58a6: f1c8 0800 rsblt r8, r8, #0
|
|
58aa: 4540 cmp r0, r8
|
|
58ac: bfac ite ge
|
|
58ae: 183f addge r7, r7, r0
|
|
58b0: 4447 addlt r7, r8
|
|
s = LV_MATH_MAX(s, sh_width);
|
|
58b2: b238 sxth r0, r7
|
|
58b4: ea20 77e0 bic.w r7, r0, r0, asr #31
|
|
58b8: e7a4 b.n 5804 <lv_obj_get_draw_rect_ext_pad_size+0x14>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar)
|
|
58ba: 2270 movs r2, #112 ; 0x70
|
|
58bc: 4631 mov r1, r6
|
|
58be: 4620 mov r0, r4
|
|
58c0: 4d45 ldr r5, [pc, #276] ; (59d8 <lv_obj_get_draw_rect_ext_pad_size+0x1e8>)
|
|
58c2: 47a8 blx r5
|
|
58c4: 4682 mov sl, r0
|
|
58c6: 2270 movs r2, #112 ; 0x70
|
|
58c8: 4631 mov r1, r6
|
|
58ca: 4620 mov r0, r4
|
|
58cc: 47a8 blx r5
|
|
58ce: 4683 mov fp, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar)
|
|
58d0: 227e movs r2, #126 ; 0x7e
|
|
58d2: 4631 mov r1, r6
|
|
58d4: 4620 mov r0, r4
|
|
58d6: 4b41 ldr r3, [pc, #260] ; (59dc <lv_obj_get_draw_rect_ext_pad_size+0x1ec>)
|
|
58d8: 4798 blx r3
|
|
_lv_txt_get_size(&txt_size, value_str, font, letter_space, line_space, LV_COORD_MAX, LV_TXT_FLAG_NONE);
|
|
58da: f04f 0900 mov.w r9, #0
|
|
58de: f8cd 9008 str.w r9, [sp, #8]
|
|
58e2: f647 4318 movw r3, #31768 ; 0x7c18
|
|
58e6: 9301 str r3, [sp, #4]
|
|
58e8: f8cd b000 str.w fp, [sp]
|
|
58ec: 4653 mov r3, sl
|
|
58ee: 4602 mov r2, r0
|
|
58f0: 4641 mov r1, r8
|
|
58f2: a804 add r0, sp, #16
|
|
58f4: f8df 80ec ldr.w r8, [pc, #236] ; 59e4 <lv_obj_get_draw_rect_ext_pad_size+0x1f4>
|
|
58f8: 47c0 blx r8
|
|
value_area.x1 = 0;
|
|
58fa: f8ad 9018 strh.w r9, [sp, #24]
|
|
value_area.y1 = 0;
|
|
58fe: f8ad 901a strh.w r9, [sp, #26]
|
|
value_area.x2 = txt_size.x - 1;
|
|
5902: f8bd 3010 ldrh.w r3, [sp, #16]
|
|
5906: 3b01 subs r3, #1
|
|
5908: f8ad 301c strh.w r3, [sp, #28]
|
|
value_area.y2 = txt_size.y - 1;
|
|
590c: f8bd 3012 ldrh.w r3, [sp, #18]
|
|
5910: 3b01 subs r3, #1
|
|
5912: f8ad 301e strh.w r3, [sp, #30]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar)
|
|
5916: 2275 movs r2, #117 ; 0x75
|
|
5918: 4631 mov r1, r6
|
|
591a: 4620 mov r0, r4
|
|
591c: 47a8 blx r5
|
|
591e: 4681 mov r9, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar)
|
|
5920: 2273 movs r2, #115 ; 0x73
|
|
5922: 4631 mov r1, r6
|
|
5924: 4620 mov r0, r4
|
|
5926: 47a8 blx r5
|
|
5928: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar)
|
|
592a: 2274 movs r2, #116 ; 0x74
|
|
592c: 4631 mov r1, r6
|
|
592e: 4620 mov r0, r4
|
|
5930: 47a8 blx r5
|
|
5932: 4605 mov r5, r0
|
|
_lv_area_align(&obj->coords, &value_area, align, &p_align);
|
|
5934: ab05 add r3, sp, #20
|
|
5936: fa5f f289 uxtb.w r2, r9
|
|
593a: a906 add r1, sp, #24
|
|
593c: f104 0010 add.w r0, r4, #16
|
|
5940: f8df 90a4 ldr.w r9, [pc, #164] ; 59e8 <lv_obj_get_draw_rect_ext_pad_size+0x1f8>
|
|
5944: 47c8 blx r9
|
|
value_area.x1 += p_align.x + xofs;
|
|
5946: f8bd 3014 ldrh.w r3, [sp, #20]
|
|
594a: 4443 add r3, r8
|
|
594c: b29b uxth r3, r3
|
|
value_area.y1 += p_align.y + yofs;
|
|
594e: f8bd 2016 ldrh.w r2, [sp, #22]
|
|
5952: 442a add r2, r5
|
|
5954: b292 uxth r2, r2
|
|
s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1);
|
|
5956: f9b4 0010 ldrsh.w r0, [r4, #16]
|
|
value_area.x1 += p_align.x + xofs;
|
|
595a: f8bd 1018 ldrh.w r1, [sp, #24]
|
|
595e: 4419 add r1, r3
|
|
s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1);
|
|
5960: b209 sxth r1, r1
|
|
5962: 1a40 subs r0, r0, r1
|
|
5964: 42b8 cmp r0, r7
|
|
5966: bfb8 it lt
|
|
5968: 4638 movlt r0, r7
|
|
s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1);
|
|
596a: f9b4 1012 ldrsh.w r1, [r4, #18]
|
|
value_area.y1 += p_align.y + yofs;
|
|
596e: f8bd 701a ldrh.w r7, [sp, #26]
|
|
5972: 4417 add r7, r2
|
|
s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1);
|
|
5974: b23f sxth r7, r7
|
|
5976: 1bcf subs r7, r1, r7
|
|
5978: b200 sxth r0, r0
|
|
597a: 4287 cmp r7, r0
|
|
597c: bfb8 it lt
|
|
597e: 4607 movlt r7, r0
|
|
value_area.x2 += p_align.x + xofs;
|
|
5980: f8bd 001c ldrh.w r0, [sp, #28]
|
|
5984: 4403 add r3, r0
|
|
s = LV_MATH_MAX(s, value_area.x2 - obj->coords.x2);
|
|
5986: b21b sxth r3, r3
|
|
5988: f9b4 0014 ldrsh.w r0, [r4, #20]
|
|
598c: 1a18 subs r0, r3, r0
|
|
598e: b23b sxth r3, r7
|
|
5990: 4283 cmp r3, r0
|
|
5992: bfb8 it lt
|
|
5994: 4603 movlt r3, r0
|
|
value_area.y2 += p_align.y + yofs;
|
|
5996: f8bd 001e ldrh.w r0, [sp, #30]
|
|
599a: 4410 add r0, r2
|
|
s = LV_MATH_MAX(s, value_area.y2 - obj->coords.y2);
|
|
599c: b200 sxth r0, r0
|
|
599e: f9b4 7016 ldrsh.w r7, [r4, #22]
|
|
59a2: 1bc7 subs r7, r0, r7
|
|
59a4: b218 sxth r0, r3
|
|
59a6: 42b8 cmp r0, r7
|
|
59a8: bfb8 it lt
|
|
59aa: 4638 movlt r0, r7
|
|
59ac: b207 sxth r7, r0
|
|
59ae: e737 b.n 5820 <lv_obj_get_draw_rect_ext_pad_size+0x30>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar)
|
|
59b0: 224c movs r2, #76 ; 0x4c
|
|
59b2: 4631 mov r1, r6
|
|
59b4: 4620 mov r0, r4
|
|
59b6: 4b0a ldr r3, [pc, #40] ; (59e0 <lv_obj_get_draw_rect_ext_pad_size+0x1f0>)
|
|
59b8: 4798 blx r3
|
|
if(outline_opa > LV_OPA_MIN) {
|
|
59ba: 2805 cmp r0, #5
|
|
59bc: f67f af39 bls.w 5832 <lv_obj_get_draw_rect_ext_pad_size+0x42>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar)
|
|
59c0: 2241 movs r2, #65 ; 0x41
|
|
59c2: 4631 mov r1, r6
|
|
59c4: 4620 mov r0, r4
|
|
59c6: 4b04 ldr r3, [pc, #16] ; (59d8 <lv_obj_get_draw_rect_ext_pad_size+0x1e8>)
|
|
59c8: 4798 blx r3
|
|
s = LV_MATH_MAX(s, outline_pad + outline_width);
|
|
59ca: 4428 add r0, r5
|
|
59cc: 42b8 cmp r0, r7
|
|
59ce: bfb8 it lt
|
|
59d0: 4638 movlt r0, r7
|
|
59d2: b207 sxth r7, r0
|
|
59d4: e72d b.n 5832 <lv_obj_get_draw_rect_ext_pad_size+0x42>
|
|
59d6: bf00 nop
|
|
59d8: 000044bd .word 0x000044bd
|
|
59dc: 00004689 .word 0x00004689
|
|
59e0: 000045f5 .word 0x000045f5
|
|
59e4: 00014065 .word 0x00014065
|
|
59e8: 0001180d .word 0x0001180d
|
|
|
|
000059ec <lv_obj_signal>:
|
|
if(sign == LV_SIGNAL_GET_STYLE) {
|
|
59ec: 2908 cmp r1, #8
|
|
59ee: d01a beq.n 5a26 <lv_obj_signal+0x3a>
|
|
{
|
|
59f0: b510 push {r4, lr}
|
|
59f2: 4604 mov r4, r0
|
|
else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
|
59f4: 2907 cmp r1, #7
|
|
59f6: d020 beq.n 5a3a <lv_obj_signal+0x4e>
|
|
if(sign == LV_SIGNAL_CHILD_CHG) {
|
|
59f8: 2901 cmp r1, #1
|
|
59fa: d023 beq.n 5a44 <lv_obj_signal+0x58>
|
|
else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) {
|
|
59fc: 2906 cmp r1, #6
|
|
59fe: d027 beq.n 5a50 <lv_obj_signal+0x64>
|
|
else if(sign == LV_SIGNAL_PARENT_SIZE_CHG) {
|
|
5a00: 2903 cmp r1, #3
|
|
5a02: d030 beq.n 5a66 <lv_obj_signal+0x7a>
|
|
else if(sign == LV_SIGNAL_STYLE_CHG) {
|
|
5a04: 2904 cmp r1, #4
|
|
5a06: d039 beq.n 5a7c <lv_obj_signal+0x90>
|
|
else if(sign == LV_SIGNAL_PRESSED) {
|
|
5a08: 290b cmp r1, #11
|
|
5a0a: d03b beq.n 5a84 <lv_obj_signal+0x98>
|
|
else if(sign == LV_SIGNAL_RELEASED || sign == LV_SIGNAL_PRESS_LOST) {
|
|
5a0c: f1a1 030d sub.w r3, r1, #13
|
|
5a10: b2db uxtb r3, r3
|
|
5a12: 2b01 cmp r3, #1
|
|
5a14: d93b bls.n 5a8e <lv_obj_signal+0xa2>
|
|
else if(sign == LV_SIGNAL_FOCUS) {
|
|
5a16: 2916 cmp r1, #22
|
|
5a18: d03e beq.n 5a98 <lv_obj_signal+0xac>
|
|
else if(sign == LV_SIGNAL_DEFOCUS) {
|
|
5a1a: 2917 cmp r1, #23
|
|
5a1c: d051 beq.n 5ac2 <lv_obj_signal+0xd6>
|
|
else if(sign == LV_SIGNAL_CLEANUP) {
|
|
5a1e: 2900 cmp r1, #0
|
|
5a20: d054 beq.n 5acc <lv_obj_signal+0xe0>
|
|
lv_res_t res = LV_RES_OK;
|
|
5a22: 2001 movs r0, #1
|
|
}
|
|
5a24: bd10 pop {r4, pc}
|
|
if(info->part == LV_OBJ_PART_MAIN) info->result = &obj->style_list;
|
|
5a26: 7813 ldrb r3, [r2, #0]
|
|
5a28: b91b cbnz r3, 5a32 <lv_obj_signal+0x46>
|
|
5a2a: 3028 adds r0, #40 ; 0x28
|
|
5a2c: 6050 str r0, [r2, #4]
|
|
return LV_RES_OK;
|
|
5a2e: 2001 movs r0, #1
|
|
5a30: 4770 bx lr
|
|
else info->result = NULL;
|
|
5a32: 2300 movs r3, #0
|
|
5a34: 6053 str r3, [r2, #4]
|
|
return LV_RES_OK;
|
|
5a36: 2001 movs r0, #1
|
|
5a38: 4770 bx lr
|
|
else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
|
5a3a: 4926 ldr r1, [pc, #152] ; (5ad4 <lv_obj_signal+0xe8>)
|
|
5a3c: 4610 mov r0, r2
|
|
5a3e: 4b26 ldr r3, [pc, #152] ; (5ad8 <lv_obj_signal+0xec>)
|
|
5a40: 4798 blx r3
|
|
5a42: bd10 pop {r4, pc}
|
|
if(lv_obj_is_protected(obj, LV_PROTECT_CHILD_CHG) != false) res = LV_RES_INV;
|
|
5a44: 4b25 ldr r3, [pc, #148] ; (5adc <lv_obj_signal+0xf0>)
|
|
5a46: 4798 blx r3
|
|
5a48: f080 0001 eor.w r0, r0, #1
|
|
return LV_RES_OK;
|
|
5a4c: b2c0 uxtb r0, r0
|
|
5a4e: bd10 pop {r4, pc}
|
|
lv_coord_t d = lv_obj_get_draw_rect_ext_pad_size(obj, LV_OBJ_PART_MAIN);
|
|
5a50: 2100 movs r1, #0
|
|
5a52: 4b23 ldr r3, [pc, #140] ; (5ae0 <lv_obj_signal+0xf4>)
|
|
5a54: 4798 blx r3
|
|
obj->ext_draw_pad = LV_MATH_MAX(obj->ext_draw_pad, d);
|
|
5a56: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32
|
|
5a5a: 4298 cmp r0, r3
|
|
5a5c: bfb8 it lt
|
|
5a5e: 4618 movlt r0, r3
|
|
5a60: 8660 strh r0, [r4, #50] ; 0x32
|
|
lv_res_t res = LV_RES_OK;
|
|
5a62: 2001 movs r0, #1
|
|
5a64: bd10 pop {r4, pc}
|
|
if(obj->realign.auto_realign) {
|
|
5a66: f890 3049 ldrb.w r3, [r0, #73] ; 0x49
|
|
5a6a: f013 0f01 tst.w r3, #1
|
|
5a6e: d101 bne.n 5a74 <lv_obj_signal+0x88>
|
|
lv_res_t res = LV_RES_OK;
|
|
5a70: 2001 movs r0, #1
|
|
5a72: bd10 pop {r4, pc}
|
|
lv_obj_realign(obj);
|
|
5a74: 4b1b ldr r3, [pc, #108] ; (5ae4 <lv_obj_signal+0xf8>)
|
|
5a76: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5a78: 2001 movs r0, #1
|
|
5a7a: bd10 pop {r4, pc}
|
|
lv_obj_refresh_ext_draw_pad(obj);
|
|
5a7c: 4b1a ldr r3, [pc, #104] ; (5ae8 <lv_obj_signal+0xfc>)
|
|
5a7e: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5a80: 2001 movs r0, #1
|
|
5a82: bd10 pop {r4, pc}
|
|
lv_obj_add_state(obj, LV_STATE_PRESSED);
|
|
5a84: 2110 movs r1, #16
|
|
5a86: 4b19 ldr r3, [pc, #100] ; (5aec <lv_obj_signal+0x100>)
|
|
5a88: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5a8a: 2001 movs r0, #1
|
|
5a8c: bd10 pop {r4, pc}
|
|
lv_obj_clear_state(obj, LV_STATE_PRESSED);
|
|
5a8e: 2110 movs r1, #16
|
|
5a90: 4b17 ldr r3, [pc, #92] ; (5af0 <lv_obj_signal+0x104>)
|
|
5a92: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5a94: 2001 movs r0, #1
|
|
5a96: bd10 pop {r4, pc}
|
|
if(lv_group_get_editing(lv_obj_get_group(obj))) {
|
|
5a98: 4b16 ldr r3, [pc, #88] ; (5af4 <lv_obj_signal+0x108>)
|
|
5a9a: 4798 blx r3
|
|
5a9c: 4b16 ldr r3, [pc, #88] ; (5af8 <lv_obj_signal+0x10c>)
|
|
5a9e: 4798 blx r3
|
|
5aa0: b128 cbz r0, 5aae <lv_obj_signal+0xc2>
|
|
lv_obj_add_state(obj, state);
|
|
5aa2: 2106 movs r1, #6
|
|
5aa4: 4620 mov r0, r4
|
|
5aa6: 4b11 ldr r3, [pc, #68] ; (5aec <lv_obj_signal+0x100>)
|
|
5aa8: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5aaa: 2001 movs r0, #1
|
|
5aac: bd10 pop {r4, pc}
|
|
lv_obj_add_state(obj, LV_STATE_FOCUSED);
|
|
5aae: 2102 movs r1, #2
|
|
5ab0: 4620 mov r0, r4
|
|
5ab2: 4b0e ldr r3, [pc, #56] ; (5aec <lv_obj_signal+0x100>)
|
|
5ab4: 4798 blx r3
|
|
lv_obj_clear_state(obj, LV_STATE_EDITED);
|
|
5ab6: 2104 movs r1, #4
|
|
5ab8: 4620 mov r0, r4
|
|
5aba: 4b0d ldr r3, [pc, #52] ; (5af0 <lv_obj_signal+0x104>)
|
|
5abc: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5abe: 2001 movs r0, #1
|
|
5ac0: bd10 pop {r4, pc}
|
|
lv_obj_clear_state(obj, LV_STATE_FOCUSED | LV_STATE_EDITED);
|
|
5ac2: 2106 movs r1, #6
|
|
5ac4: 4b0a ldr r3, [pc, #40] ; (5af0 <lv_obj_signal+0x104>)
|
|
5ac6: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5ac8: 2001 movs r0, #1
|
|
5aca: bd10 pop {r4, pc}
|
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
|
5acc: 4b0b ldr r3, [pc, #44] ; (5afc <lv_obj_signal+0x110>)
|
|
5ace: 4798 blx r3
|
|
lv_res_t res = LV_RES_OK;
|
|
5ad0: 2001 movs r0, #1
|
|
5ad2: bd10 pop {r4, pc}
|
|
5ad4: 000249d0 .word 0x000249d0
|
|
5ad8: 0000507d .word 0x0000507d
|
|
5adc: 000043fd .word 0x000043fd
|
|
5ae0: 000057f1 .word 0x000057f1
|
|
5ae4: 000039c9 .word 0x000039c9
|
|
5ae8: 00002c15 .word 0x00002c15
|
|
5aec: 00004c85 .word 0x00004c85
|
|
5af0: 00004ce1 .word 0x00004ce1
|
|
5af4: 00004dcd .word 0x00004dcd
|
|
5af8: 00002743 .word 0x00002743
|
|
5afc: 000030b5 .word 0x000030b5
|
|
|
|
00005b00 <lv_refr_get_top_obj>:
|
|
* @param area_p pointer to an area
|
|
* @param obj the first object to start the searching (typically a screen)
|
|
* @return
|
|
*/
|
|
static lv_obj_t * lv_refr_get_top_obj(const lv_area_t * area_p, lv_obj_t * obj)
|
|
{
|
|
5b00: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
5b04: 4605 mov r5, r0
|
|
5b06: 4688 mov r8, r1
|
|
lv_obj_t * found_p = NULL;
|
|
|
|
/*If this object is fully cover the draw area check the children too */
|
|
if(_lv_area_is_in(area_p, &obj->coords, 0) && obj->hidden == 0) {
|
|
5b08: 2200 movs r2, #0
|
|
5b0a: 3110 adds r1, #16
|
|
5b0c: 4b1f ldr r3, [pc, #124] ; (5b8c <lv_refr_get_top_obj+0x8c>)
|
|
5b0e: 4798 blx r3
|
|
5b10: b350 cbz r0, 5b68 <lv_refr_get_top_obj+0x68>
|
|
5b12: f898 3034 ldrb.w r3, [r8, #52] ; 0x34
|
|
5b16: f013 0f10 tst.w r3, #16
|
|
5b1a: d127 bne.n 5b6c <lv_refr_get_top_obj+0x6c>
|
|
lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p,
|
|
5b1c: f8d8 3020 ldr.w r3, [r8, #32]
|
|
5b20: b343 cbz r3, 5b74 <lv_refr_get_top_obj+0x74>
|
|
5b22: 2202 movs r2, #2
|
|
5b24: 4629 mov r1, r5
|
|
5b26: 4640 mov r0, r8
|
|
5b28: 4798 blx r3
|
|
5b2a: 4681 mov r9, r0
|
|
LV_DESIGN_COVER_CHK) : LV_DESIGN_RES_NOT_COVER;
|
|
if(design_res == LV_DESIGN_RES_MASKED) return NULL;
|
|
5b2c: 2803 cmp r0, #3
|
|
5b2e: d01f beq.n 5b70 <lv_refr_get_top_obj+0x70>
|
|
|
|
lv_obj_t * i;
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
5b30: f108 0604 add.w r6, r8, #4
|
|
5b34: 4630 mov r0, r6
|
|
5b36: 4b16 ldr r3, [pc, #88] ; (5b90 <lv_refr_get_top_obj+0x90>)
|
|
5b38: 4798 blx r3
|
|
5b3a: 4604 mov r4, r0
|
|
5b3c: b160 cbz r0, 5b58 <lv_refr_get_top_obj+0x58>
|
|
5b3e: 4f15 ldr r7, [pc, #84] ; (5b94 <lv_refr_get_top_obj+0x94>)
|
|
found_p = lv_refr_get_top_obj(area_p, i);
|
|
5b40: 4621 mov r1, r4
|
|
5b42: 4628 mov r0, r5
|
|
5b44: f7ff ffdc bl 5b00 <lv_refr_get_top_obj>
|
|
|
|
/*If a children is ok then break*/
|
|
if(found_p != NULL) {
|
|
5b48: 4603 mov r3, r0
|
|
5b4a: b950 cbnz r0, 5b62 <lv_refr_get_top_obj+0x62>
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
5b4c: 4621 mov r1, r4
|
|
5b4e: 4630 mov r0, r6
|
|
5b50: 47b8 blx r7
|
|
5b52: 4604 mov r4, r0
|
|
5b54: 2800 cmp r0, #0
|
|
5b56: d1f3 bne.n 5b40 <lv_refr_get_top_obj+0x40>
|
|
}
|
|
|
|
/*If no better children use this object*/
|
|
if(found_p == NULL) {
|
|
if(design_res == LV_DESIGN_RES_COVER) {
|
|
found_p = obj;
|
|
5b58: f1b9 0f01 cmp.w r9, #1
|
|
5b5c: bf0c ite eq
|
|
5b5e: 4643 moveq r3, r8
|
|
5b60: 2300 movne r3, #0
|
|
}
|
|
}
|
|
}
|
|
|
|
return found_p;
|
|
}
|
|
5b62: 4618 mov r0, r3
|
|
5b64: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
lv_obj_t * found_p = NULL;
|
|
5b68: 2300 movs r3, #0
|
|
5b6a: e7fa b.n 5b62 <lv_refr_get_top_obj+0x62>
|
|
5b6c: 2300 movs r3, #0
|
|
5b6e: e7f8 b.n 5b62 <lv_refr_get_top_obj+0x62>
|
|
if(design_res == LV_DESIGN_RES_MASKED) return NULL;
|
|
5b70: 2300 movs r3, #0
|
|
5b72: e7f6 b.n 5b62 <lv_refr_get_top_obj+0x62>
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
5b74: f108 0604 add.w r6, r8, #4
|
|
5b78: 4630 mov r0, r6
|
|
5b7a: 4b05 ldr r3, [pc, #20] ; (5b90 <lv_refr_get_top_obj+0x90>)
|
|
5b7c: 4798 blx r3
|
|
5b7e: 4604 mov r4, r0
|
|
lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p,
|
|
5b80: f04f 0902 mov.w r9, #2
|
|
_LV_LL_READ(obj->child_ll, i) {
|
|
5b84: 2800 cmp r0, #0
|
|
5b86: d1da bne.n 5b3e <lv_refr_get_top_obj+0x3e>
|
|
5b88: 4603 mov r3, r0
|
|
5b8a: e7ea b.n 5b62 <lv_refr_get_top_obj+0x62>
|
|
5b8c: 00011755 .word 0x00011755
|
|
5b90: 00011f91 .word 0x00011f91
|
|
5b94: 00011fa5 .word 0x00011fa5
|
|
|
|
00005b98 <lv_refr_obj>:
|
|
* @param mask_ori_p pointer to an area, the objects will be drawn only here
|
|
*/
|
|
static void lv_refr_obj(lv_obj_t * obj, const lv_area_t * mask_ori_p)
|
|
{
|
|
/*Do not refresh hidden objects*/
|
|
if(obj->hidden != 0) return;
|
|
5b98: f890 3034 ldrb.w r3, [r0, #52] ; 0x34
|
|
5b9c: f013 0f10 tst.w r3, #16
|
|
5ba0: d000 beq.n 5ba4 <lv_refr_obj+0xc>
|
|
5ba2: 4770 bx lr
|
|
{
|
|
5ba4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
5ba8: b08b sub sp, #44 ; 0x2c
|
|
5baa: 460e mov r6, r1
|
|
5bac: 4605 mov r5, r0
|
|
/* Truncate the original mask to the coordinates of the parent
|
|
* because the parent and its children are visible only here */
|
|
lv_area_t obj_mask;
|
|
lv_area_t obj_ext_mask;
|
|
lv_area_t obj_area;
|
|
lv_coord_t ext_size = obj->ext_draw_pad;
|
|
5bae: f9b0 4032 ldrsh.w r4, [r0, #50] ; 0x32
|
|
lv_obj_get_coords(obj, &obj_area);
|
|
5bb2: a904 add r1, sp, #16
|
|
5bb4: 4b35 ldr r3, [pc, #212] ; (5c8c <lv_refr_obj+0xf4>)
|
|
5bb6: 4798 blx r3
|
|
obj_area.x1 -= ext_size;
|
|
5bb8: b2a3 uxth r3, r4
|
|
5bba: f8bd 2010 ldrh.w r2, [sp, #16]
|
|
5bbe: 1ad2 subs r2, r2, r3
|
|
5bc0: f8ad 2010 strh.w r2, [sp, #16]
|
|
obj_area.y1 -= ext_size;
|
|
5bc4: f8bd 2012 ldrh.w r2, [sp, #18]
|
|
5bc8: 1ad2 subs r2, r2, r3
|
|
5bca: f8ad 2012 strh.w r2, [sp, #18]
|
|
obj_area.x2 += ext_size;
|
|
5bce: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
5bd2: 441a add r2, r3
|
|
5bd4: f8ad 2014 strh.w r2, [sp, #20]
|
|
obj_area.y2 += ext_size;
|
|
5bd8: f8bd 2016 ldrh.w r2, [sp, #22]
|
|
5bdc: 4413 add r3, r2
|
|
5bde: f8ad 3016 strh.w r3, [sp, #22]
|
|
union_ok = _lv_area_intersect(&obj_ext_mask, mask_ori_p, &obj_area);
|
|
5be2: aa04 add r2, sp, #16
|
|
5be4: 4631 mov r1, r6
|
|
5be6: a806 add r0, sp, #24
|
|
5be8: 4b29 ldr r3, [pc, #164] ; (5c90 <lv_refr_obj+0xf8>)
|
|
5bea: 4798 blx r3
|
|
|
|
/*Draw the parent and its children only if they ore on 'mask_parent'*/
|
|
if(union_ok != false) {
|
|
5bec: b1a8 cbz r0, 5c1a <lv_refr_obj+0x82>
|
|
|
|
/* Redraw the object */
|
|
if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_MAIN);
|
|
5bee: 6a2b ldr r3, [r5, #32]
|
|
5bf0: b11b cbz r3, 5bfa <lv_refr_obj+0x62>
|
|
5bf2: 2200 movs r2, #0
|
|
5bf4: a906 add r1, sp, #24
|
|
5bf6: 4628 mov r0, r5
|
|
5bf8: 4798 blx r3
|
|
#if LV_COLOR_DEPTH == 32
|
|
debug_color.ch.alpha = 0xff;
|
|
#endif
|
|
#endif
|
|
/*Create a new 'obj_mask' without 'ext_size' because the children can't be visible there*/
|
|
lv_obj_get_coords(obj, &obj_area);
|
|
5bfa: a904 add r1, sp, #16
|
|
5bfc: 4628 mov r0, r5
|
|
5bfe: 4b23 ldr r3, [pc, #140] ; (5c8c <lv_refr_obj+0xf4>)
|
|
5c00: 4798 blx r3
|
|
union_ok = _lv_area_intersect(&obj_mask, mask_ori_p, &obj_area);
|
|
5c02: aa04 add r2, sp, #16
|
|
5c04: 4631 mov r1, r6
|
|
5c06: a808 add r0, sp, #32
|
|
5c08: 4b21 ldr r3, [pc, #132] ; (5c90 <lv_refr_obj+0xf8>)
|
|
5c0a: 4798 blx r3
|
|
if(union_ok != false) {
|
|
5c0c: b940 cbnz r0, 5c20 <lv_refr_obj+0x88>
|
|
}
|
|
}
|
|
}
|
|
|
|
/* If all the children are redrawn make 'post draw' design */
|
|
if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_POST);
|
|
5c0e: 6a2b ldr r3, [r5, #32]
|
|
5c10: b11b cbz r3, 5c1a <lv_refr_obj+0x82>
|
|
5c12: 2201 movs r2, #1
|
|
5c14: a906 add r1, sp, #24
|
|
5c16: 4628 mov r0, r5
|
|
5c18: 4798 blx r3
|
|
}
|
|
}
|
|
5c1a: b00b add sp, #44 ; 0x2c
|
|
5c1c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
_LV_LL_READ_BACK(obj->child_ll, child_p) {
|
|
5c20: f105 0804 add.w r8, r5, #4
|
|
5c24: 4640 mov r0, r8
|
|
5c26: 4b1b ldr r3, [pc, #108] ; (5c94 <lv_refr_obj+0xfc>)
|
|
5c28: 4798 blx r3
|
|
5c2a: 4604 mov r4, r0
|
|
5c2c: 2800 cmp r0, #0
|
|
5c2e: d0ee beq.n 5c0e <lv_refr_obj+0x76>
|
|
lv_obj_get_coords(child_p, &child_area);
|
|
5c30: f8df 9058 ldr.w r9, [pc, #88] ; 5c8c <lv_refr_obj+0xf4>
|
|
union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area);
|
|
5c34: 4e16 ldr r6, [pc, #88] ; (5c90 <lv_refr_obj+0xf8>)
|
|
_LV_LL_READ_BACK(obj->child_ll, child_p) {
|
|
5c36: 4f18 ldr r7, [pc, #96] ; (5c98 <lv_refr_obj+0x100>)
|
|
5c38: e005 b.n 5c46 <lv_refr_obj+0xae>
|
|
5c3a: 4621 mov r1, r4
|
|
5c3c: 4640 mov r0, r8
|
|
5c3e: 47b8 blx r7
|
|
5c40: 4604 mov r4, r0
|
|
5c42: 2800 cmp r0, #0
|
|
5c44: d0e3 beq.n 5c0e <lv_refr_obj+0x76>
|
|
lv_obj_get_coords(child_p, &child_area);
|
|
5c46: a902 add r1, sp, #8
|
|
5c48: 4620 mov r0, r4
|
|
5c4a: 47c8 blx r9
|
|
child_area.x1 -= ext_size;
|
|
5c4c: 8e63 ldrh r3, [r4, #50] ; 0x32
|
|
5c4e: f8bd 2008 ldrh.w r2, [sp, #8]
|
|
5c52: 1ad2 subs r2, r2, r3
|
|
5c54: f8ad 2008 strh.w r2, [sp, #8]
|
|
child_area.y1 -= ext_size;
|
|
5c58: f8bd 200a ldrh.w r2, [sp, #10]
|
|
5c5c: 1ad2 subs r2, r2, r3
|
|
5c5e: f8ad 200a strh.w r2, [sp, #10]
|
|
child_area.x2 += ext_size;
|
|
5c62: f8bd 200c ldrh.w r2, [sp, #12]
|
|
5c66: 441a add r2, r3
|
|
5c68: f8ad 200c strh.w r2, [sp, #12]
|
|
child_area.y2 += ext_size;
|
|
5c6c: f8bd 200e ldrh.w r2, [sp, #14]
|
|
5c70: 4413 add r3, r2
|
|
5c72: f8ad 300e strh.w r3, [sp, #14]
|
|
union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area);
|
|
5c76: aa02 add r2, sp, #8
|
|
5c78: a908 add r1, sp, #32
|
|
5c7a: 4668 mov r0, sp
|
|
5c7c: 47b0 blx r6
|
|
if(union_ok) {
|
|
5c7e: 2800 cmp r0, #0
|
|
5c80: d0db beq.n 5c3a <lv_refr_obj+0xa2>
|
|
lv_refr_obj(child_p, &mask_child);
|
|
5c82: 4669 mov r1, sp
|
|
5c84: 4620 mov r0, r4
|
|
5c86: f7ff ff87 bl 5b98 <lv_refr_obj>
|
|
5c8a: e7d6 b.n 5c3a <lv_refr_obj+0xa2>
|
|
5c8c: 00002e29 .word 0x00002e29
|
|
5c90: 00011501 .word 0x00011501
|
|
5c94: 00011f9b .word 0x00011f9b
|
|
5c98: 00011fd1 .word 0x00011fd1
|
|
|
|
00005c9c <lv_refr_obj_and_children>:
|
|
{
|
|
5c9c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
5ca0: 460f mov r7, r1
|
|
if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr);
|
|
5ca2: 4604 mov r4, r0
|
|
5ca4: b170 cbz r0, 5cc4 <lv_refr_obj_and_children+0x28>
|
|
lv_refr_obj(top_p, mask_p);
|
|
5ca6: 4639 mov r1, r7
|
|
5ca8: 4620 mov r0, r4
|
|
5caa: 4b1a ldr r3, [pc, #104] ; (5d14 <lv_refr_obj_and_children+0x78>)
|
|
5cac: 4798 blx r3
|
|
par = lv_obj_get_parent(top_p);
|
|
5cae: 4620 mov r0, r4
|
|
5cb0: 4b19 ldr r3, [pc, #100] ; (5d18 <lv_refr_obj_and_children+0x7c>)
|
|
5cb2: 4798 blx r3
|
|
while(par != NULL) {
|
|
5cb4: 4681 mov r9, r0
|
|
5cb6: b160 cbz r0, 5cd2 <lv_refr_obj_and_children+0x36>
|
|
lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p);
|
|
5cb8: 4e18 ldr r6, [pc, #96] ; (5d1c <lv_refr_obj_and_children+0x80>)
|
|
lv_refr_obj(i, mask_p);
|
|
5cba: f8df 8058 ldr.w r8, [pc, #88] ; 5d14 <lv_refr_obj_and_children+0x78>
|
|
par = lv_obj_get_parent(par);
|
|
5cbe: f8df a058 ldr.w sl, [pc, #88] ; 5d18 <lv_refr_obj_and_children+0x7c>
|
|
5cc2: e00e b.n 5ce2 <lv_refr_obj_and_children+0x46>
|
|
if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr);
|
|
5cc4: 4b16 ldr r3, [pc, #88] ; (5d20 <lv_refr_obj_and_children+0x84>)
|
|
5cc6: 6818 ldr r0, [r3, #0]
|
|
5cc8: 4b16 ldr r3, [pc, #88] ; (5d24 <lv_refr_obj_and_children+0x88>)
|
|
5cca: 4798 blx r3
|
|
if(top_p == NULL) return; /*Shouldn't happen*/
|
|
5ccc: 4604 mov r4, r0
|
|
5cce: 2800 cmp r0, #0
|
|
5cd0: d1e9 bne.n 5ca6 <lv_refr_obj_and_children+0xa>
|
|
5cd2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
par = lv_obj_get_parent(par);
|
|
5cd6: 4648 mov r0, r9
|
|
5cd8: 47d0 blx sl
|
|
5cda: 464c mov r4, r9
|
|
while(par != NULL) {
|
|
5cdc: 4681 mov r9, r0
|
|
5cde: 2800 cmp r0, #0
|
|
5ce0: d0f7 beq.n 5cd2 <lv_refr_obj_and_children+0x36>
|
|
lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p);
|
|
5ce2: f109 0504 add.w r5, r9, #4
|
|
5ce6: 4621 mov r1, r4
|
|
5ce8: 4628 mov r0, r5
|
|
5cea: 47b0 blx r6
|
|
while(i != NULL) {
|
|
5cec: 4604 mov r4, r0
|
|
5cee: b140 cbz r0, 5d02 <lv_refr_obj_and_children+0x66>
|
|
lv_refr_obj(i, mask_p);
|
|
5cf0: 4639 mov r1, r7
|
|
5cf2: 4620 mov r0, r4
|
|
5cf4: 47c0 blx r8
|
|
i = _lv_ll_get_prev(&(par->child_ll), i);
|
|
5cf6: 4621 mov r1, r4
|
|
5cf8: 4628 mov r0, r5
|
|
5cfa: 47b0 blx r6
|
|
while(i != NULL) {
|
|
5cfc: 4604 mov r4, r0
|
|
5cfe: 2800 cmp r0, #0
|
|
5d00: d1f6 bne.n 5cf0 <lv_refr_obj_and_children+0x54>
|
|
if(par->design_cb) par->design_cb(par, mask_p, LV_DESIGN_DRAW_POST);
|
|
5d02: f8d9 3020 ldr.w r3, [r9, #32]
|
|
5d06: 2b00 cmp r3, #0
|
|
5d08: d0e5 beq.n 5cd6 <lv_refr_obj_and_children+0x3a>
|
|
5d0a: 2201 movs r2, #1
|
|
5d0c: 4639 mov r1, r7
|
|
5d0e: 4648 mov r0, r9
|
|
5d10: 4798 blx r3
|
|
5d12: e7e0 b.n 5cd6 <lv_refr_obj_and_children+0x3a>
|
|
5d14: 00005b99 .word 0x00005b99
|
|
5d18: 00002c65 .word 0x00002c65
|
|
5d1c: 00011fd1 .word 0x00011fd1
|
|
5d20: 20002688 .word 0x20002688
|
|
5d24: 00002335 .word 0x00002335
|
|
|
|
00005d28 <lv_refr_vdb_flush>:
|
|
|
|
/**
|
|
* Flush the content of the VDB
|
|
*/
|
|
static void lv_refr_vdb_flush(void)
|
|
{
|
|
5d28: b538 push {r3, r4, r5, lr}
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr);
|
|
5d2a: 4d1a ldr r5, [pc, #104] ; (5d94 <lv_refr_vdb_flush+0x6c>)
|
|
5d2c: 6828 ldr r0, [r5, #0]
|
|
5d2e: 4b1a ldr r3, [pc, #104] ; (5d98 <lv_refr_vdb_flush+0x70>)
|
|
5d30: 4798 blx r3
|
|
5d32: 4604 mov r4, r0
|
|
|
|
/*In double buffered mode wait until the other buffer is flushed before flushing the current
|
|
* one*/
|
|
if(lv_disp_is_double_buf(disp_refr)) {
|
|
5d34: 6828 ldr r0, [r5, #0]
|
|
5d36: 4b19 ldr r3, [pc, #100] ; (5d9c <lv_refr_vdb_flush+0x74>)
|
|
5d38: 4798 blx r3
|
|
5d3a: b978 cbnz r0, 5d5c <lv_refr_vdb_flush+0x34>
|
|
while(vdb->flushing) {
|
|
if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver);
|
|
}
|
|
}
|
|
|
|
vdb->flushing = 1;
|
|
5d3c: 2301 movs r3, #1
|
|
5d3e: 61a3 str r3, [r4, #24]
|
|
|
|
if(disp_refr->driver.buffer->last_area && disp_refr->driver.buffer->last_part) vdb->flushing_last = 1;
|
|
5d40: 4b14 ldr r3, [pc, #80] ; (5d94 <lv_refr_vdb_flush+0x6c>)
|
|
5d42: 6818 ldr r0, [r3, #0]
|
|
5d44: 6843 ldr r3, [r0, #4]
|
|
5d46: 6a1a ldr r2, [r3, #32]
|
|
5d48: f012 0f01 tst.w r2, #1
|
|
5d4c: d010 beq.n 5d70 <lv_refr_vdb_flush+0x48>
|
|
5d4e: 6a1b ldr r3, [r3, #32]
|
|
5d50: f013 0f02 tst.w r3, #2
|
|
5d54: d00c beq.n 5d70 <lv_refr_vdb_flush+0x48>
|
|
5d56: 2301 movs r3, #1
|
|
5d58: 61e3 str r3, [r4, #28]
|
|
5d5a: e00b b.n 5d74 <lv_refr_vdb_flush+0x4c>
|
|
if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver);
|
|
5d5c: 4d0d ldr r5, [pc, #52] ; (5d94 <lv_refr_vdb_flush+0x6c>)
|
|
5d5e: 6828 ldr r0, [r5, #0]
|
|
while(vdb->flushing) {
|
|
5d60: 69a3 ldr r3, [r4, #24]
|
|
5d62: 2b00 cmp r3, #0
|
|
5d64: d0ea beq.n 5d3c <lv_refr_vdb_flush+0x14>
|
|
if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver);
|
|
5d66: 69c3 ldr r3, [r0, #28]
|
|
5d68: 2b00 cmp r3, #0
|
|
5d6a: d0f9 beq.n 5d60 <lv_refr_vdb_flush+0x38>
|
|
5d6c: 4798 blx r3
|
|
5d6e: e7f6 b.n 5d5e <lv_refr_vdb_flush+0x36>
|
|
else vdb->flushing_last = 0;
|
|
5d70: 2300 movs r3, #0
|
|
5d72: 61e3 str r3, [r4, #28]
|
|
|
|
/*Flush the rendered content to the display*/
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
if(disp->driver.flush_cb) disp->driver.flush_cb(&disp->driver, &vdb->area, vdb->buf_act);
|
|
5d74: 68c3 ldr r3, [r0, #12]
|
|
5d76: b11b cbz r3, 5d80 <lv_refr_vdb_flush+0x58>
|
|
5d78: 68a2 ldr r2, [r4, #8]
|
|
5d7a: f104 0110 add.w r1, r4, #16
|
|
5d7e: 4798 blx r3
|
|
|
|
if(vdb->buf1 && vdb->buf2) {
|
|
5d80: 6823 ldr r3, [r4, #0]
|
|
5d82: b133 cbz r3, 5d92 <lv_refr_vdb_flush+0x6a>
|
|
5d84: 6862 ldr r2, [r4, #4]
|
|
5d86: b122 cbz r2, 5d92 <lv_refr_vdb_flush+0x6a>
|
|
if(vdb->buf_act == vdb->buf1)
|
|
5d88: 68a1 ldr r1, [r4, #8]
|
|
vdb->buf_act = vdb->buf2;
|
|
5d8a: 428b cmp r3, r1
|
|
5d8c: bf08 it eq
|
|
5d8e: 4613 moveq r3, r2
|
|
5d90: 60a3 str r3, [r4, #8]
|
|
5d92: bd38 pop {r3, r4, r5, pc}
|
|
5d94: 20002688 .word 0x20002688
|
|
5d98: 00010fc5 .word 0x00010fc5
|
|
5d9c: 00010fc9 .word 0x00010fc9
|
|
|
|
00005da0 <lv_refr_area_part>:
|
|
{
|
|
5da0: b570 push {r4, r5, r6, lr}
|
|
5da2: b082 sub sp, #8
|
|
5da4: 4606 mov r6, r0
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr);
|
|
5da6: 4d1a ldr r5, [pc, #104] ; (5e10 <lv_refr_area_part+0x70>)
|
|
5da8: 6828 ldr r0, [r5, #0]
|
|
5daa: 4b1a ldr r3, [pc, #104] ; (5e14 <lv_refr_area_part+0x74>)
|
|
5dac: 4798 blx r3
|
|
5dae: 4604 mov r4, r0
|
|
if(lv_disp_is_double_buf(disp_refr) == false) {
|
|
5db0: 6828 ldr r0, [r5, #0]
|
|
5db2: 4b19 ldr r3, [pc, #100] ; (5e18 <lv_refr_area_part+0x78>)
|
|
5db4: 4798 blx r3
|
|
5db6: b938 cbnz r0, 5dc8 <lv_refr_area_part+0x28>
|
|
if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver);
|
|
5db8: 6828 ldr r0, [r5, #0]
|
|
while(vdb->flushing) {
|
|
5dba: 69a3 ldr r3, [r4, #24]
|
|
5dbc: b123 cbz r3, 5dc8 <lv_refr_area_part+0x28>
|
|
if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver);
|
|
5dbe: 69c3 ldr r3, [r0, #28]
|
|
5dc0: 2b00 cmp r3, #0
|
|
5dc2: d0fa beq.n 5dba <lv_refr_area_part+0x1a>
|
|
5dc4: 4798 blx r3
|
|
5dc6: e7f7 b.n 5db8 <lv_refr_area_part+0x18>
|
|
_lv_area_intersect(&start_mask, area_p, &vdb->area);
|
|
5dc8: f104 0210 add.w r2, r4, #16
|
|
5dcc: 4631 mov r1, r6
|
|
5dce: 4668 mov r0, sp
|
|
5dd0: 4b12 ldr r3, [pc, #72] ; (5e1c <lv_refr_area_part+0x7c>)
|
|
5dd2: 4798 blx r3
|
|
top_p = lv_refr_get_top_obj(&start_mask, lv_disp_get_scr_act(disp_refr));
|
|
5dd4: 4c0e ldr r4, [pc, #56] ; (5e10 <lv_refr_area_part+0x70>)
|
|
5dd6: 6820 ldr r0, [r4, #0]
|
|
5dd8: 4b11 ldr r3, [pc, #68] ; (5e20 <lv_refr_area_part+0x80>)
|
|
5dda: 4798 blx r3
|
|
5ddc: 4601 mov r1, r0
|
|
5dde: 4668 mov r0, sp
|
|
5de0: 4b10 ldr r3, [pc, #64] ; (5e24 <lv_refr_area_part+0x84>)
|
|
5de2: 4798 blx r3
|
|
lv_refr_obj_and_children(top_p, &start_mask);
|
|
5de4: 4669 mov r1, sp
|
|
5de6: 4d10 ldr r5, [pc, #64] ; (5e28 <lv_refr_area_part+0x88>)
|
|
5de8: 47a8 blx r5
|
|
lv_refr_obj_and_children(lv_disp_get_layer_top(disp_refr), &start_mask);
|
|
5dea: 6820 ldr r0, [r4, #0]
|
|
5dec: 4b0f ldr r3, [pc, #60] ; (5e2c <lv_refr_area_part+0x8c>)
|
|
5dee: 4798 blx r3
|
|
5df0: 4669 mov r1, sp
|
|
5df2: 47a8 blx r5
|
|
lv_refr_obj_and_children(lv_disp_get_layer_sys(disp_refr), &start_mask);
|
|
5df4: 6820 ldr r0, [r4, #0]
|
|
5df6: 4b0e ldr r3, [pc, #56] ; (5e30 <lv_refr_area_part+0x90>)
|
|
5df8: 4798 blx r3
|
|
5dfa: 4669 mov r1, sp
|
|
5dfc: 47a8 blx r5
|
|
if(lv_disp_is_true_double_buf(disp_refr) == false) {
|
|
5dfe: 6820 ldr r0, [r4, #0]
|
|
5e00: 4b0c ldr r3, [pc, #48] ; (5e34 <lv_refr_area_part+0x94>)
|
|
5e02: 4798 blx r3
|
|
5e04: b108 cbz r0, 5e0a <lv_refr_area_part+0x6a>
|
|
}
|
|
5e06: b002 add sp, #8
|
|
5e08: bd70 pop {r4, r5, r6, pc}
|
|
lv_refr_vdb_flush();
|
|
5e0a: 4b0b ldr r3, [pc, #44] ; (5e38 <lv_refr_area_part+0x98>)
|
|
5e0c: 4798 blx r3
|
|
}
|
|
5e0e: e7fa b.n 5e06 <lv_refr_area_part+0x66>
|
|
5e10: 20002688 .word 0x20002688
|
|
5e14: 00010fc5 .word 0x00010fc5
|
|
5e18: 00010fc9 .word 0x00010fc9
|
|
5e1c: 00011501 .word 0x00011501
|
|
5e20: 00002335 .word 0x00002335
|
|
5e24: 00005b01 .word 0x00005b01
|
|
5e28: 00005c9d .word 0x00005c9d
|
|
5e2c: 00002375 .word 0x00002375
|
|
5e30: 000023b5 .word 0x000023b5
|
|
5e34: 00010fdd .word 0x00010fdd
|
|
5e38: 00005d29 .word 0x00005d29
|
|
|
|
00005e3c <_lv_refr_init>:
|
|
{
|
|
5e3c: 4770 bx lr
|
|
...
|
|
|
|
00005e40 <_lv_inv_area>:
|
|
{
|
|
5e40: b5f0 push {r4, r5, r6, r7, lr}
|
|
5e42: b085 sub sp, #20
|
|
5e44: 460c mov r4, r1
|
|
if(!disp) disp = lv_disp_get_default();
|
|
5e46: 4605 mov r5, r0
|
|
5e48: 2800 cmp r0, #0
|
|
5e4a: d054 beq.n 5ef6 <_lv_inv_area+0xb6>
|
|
if(area_p == NULL) {
|
|
5e4c: 2c00 cmp r4, #0
|
|
5e4e: d057 beq.n 5f00 <_lv_inv_area+0xc0>
|
|
scr_area.x1 = 0;
|
|
5e50: 2300 movs r3, #0
|
|
5e52: f8ad 3008 strh.w r3, [sp, #8]
|
|
scr_area.y1 = 0;
|
|
5e56: f8ad 300a strh.w r3, [sp, #10]
|
|
scr_area.x2 = lv_disp_get_hor_res(disp) - 1;
|
|
5e5a: 4628 mov r0, r5
|
|
5e5c: 4b36 ldr r3, [pc, #216] ; (5f38 <_lv_inv_area+0xf8>)
|
|
5e5e: 4798 blx r3
|
|
5e60: 3801 subs r0, #1
|
|
5e62: f8ad 000c strh.w r0, [sp, #12]
|
|
scr_area.y2 = lv_disp_get_ver_res(disp) - 1;
|
|
5e66: 4628 mov r0, r5
|
|
5e68: 4b34 ldr r3, [pc, #208] ; (5f3c <_lv_inv_area+0xfc>)
|
|
5e6a: 4798 blx r3
|
|
5e6c: 3801 subs r0, #1
|
|
5e6e: f8ad 000e strh.w r0, [sp, #14]
|
|
suc = _lv_area_intersect(&com_area, area_p, &scr_area);
|
|
5e72: aa02 add r2, sp, #8
|
|
5e74: 4621 mov r1, r4
|
|
5e76: 4668 mov r0, sp
|
|
5e78: 4b31 ldr r3, [pc, #196] ; (5f40 <_lv_inv_area+0x100>)
|
|
5e7a: 4798 blx r3
|
|
if(suc != false) {
|
|
5e7c: 2800 cmp r0, #0
|
|
5e7e: d045 beq.n 5f0c <_lv_inv_area+0xcc>
|
|
if(disp->driver.rounder_cb) disp->driver.rounder_cb(&disp->driver, &com_area);
|
|
5e80: 692b ldr r3, [r5, #16]
|
|
5e82: b113 cbz r3, 5e8a <_lv_inv_area+0x4a>
|
|
5e84: 4669 mov r1, sp
|
|
5e86: 4628 mov r0, r5
|
|
5e88: 4798 blx r3
|
|
for(i = 0; i < disp->inv_p; i++) {
|
|
5e8a: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168
|
|
5e8e: f3c3 0309 ubfx r3, r3, #0, #10
|
|
5e92: b19b cbz r3, 5ebc <_lv_inv_area+0x7c>
|
|
5e94: 2100 movs r1, #0
|
|
5e96: 460c mov r4, r1
|
|
if(_lv_area_is_in(&com_area, &disp->inv_areas[i], 0) != false) return;
|
|
5e98: 460f mov r7, r1
|
|
5e9a: 4e2a ldr r6, [pc, #168] ; (5f44 <_lv_inv_area+0x104>)
|
|
5e9c: 3109 adds r1, #9
|
|
5e9e: 463a mov r2, r7
|
|
5ea0: eb05 01c1 add.w r1, r5, r1, lsl #3
|
|
5ea4: 4668 mov r0, sp
|
|
5ea6: 47b0 blx r6
|
|
5ea8: bb80 cbnz r0, 5f0c <_lv_inv_area+0xcc>
|
|
for(i = 0; i < disp->inv_p; i++) {
|
|
5eaa: 3401 adds r4, #1
|
|
5eac: b2a4 uxth r4, r4
|
|
5eae: 4621 mov r1, r4
|
|
5eb0: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168
|
|
5eb4: f3c3 0309 ubfx r3, r3, #0, #10
|
|
5eb8: 429c cmp r4, r3
|
|
5eba: dbef blt.n 5e9c <_lv_inv_area+0x5c>
|
|
if(disp->inv_p < LV_INV_BUF_SIZE) {
|
|
5ebc: 2b1f cmp r3, #31
|
|
5ebe: dc27 bgt.n 5f10 <_lv_inv_area+0xd0>
|
|
lv_area_copy(&disp->inv_areas[disp->inv_p], &com_area);
|
|
5ec0: 3309 adds r3, #9
|
|
5ec2: eb05 03c3 add.w r3, r5, r3, lsl #3
|
|
5ec6: f10d 32ff add.w r2, sp, #4294967295
|
|
5eca: f103 0008 add.w r0, r3, #8
|
|
*d8 = *s8;
|
|
5ece: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
5ed2: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
5ed6: 4283 cmp r3, r0
|
|
5ed8: d1f9 bne.n 5ece <_lv_inv_area+0x8e>
|
|
disp->inv_p++;
|
|
5eda: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168
|
|
5ede: f3c3 0209 ubfx r2, r3, #0, #10
|
|
5ee2: 3201 adds r2, #1
|
|
5ee4: f362 0309 bfi r3, r2, #0, #10
|
|
5ee8: f8a5 3168 strh.w r3, [r5, #360] ; 0x168
|
|
lv_task_set_prio(disp->refr_task, LV_REFR_TASK_PRIO);
|
|
5eec: 2103 movs r1, #3
|
|
5eee: 6ae8 ldr r0, [r5, #44] ; 0x2c
|
|
5ef0: 4b15 ldr r3, [pc, #84] ; (5f48 <_lv_inv_area+0x108>)
|
|
5ef2: 4798 blx r3
|
|
5ef4: e00a b.n 5f0c <_lv_inv_area+0xcc>
|
|
if(!disp) disp = lv_disp_get_default();
|
|
5ef6: 4b15 ldr r3, [pc, #84] ; (5f4c <_lv_inv_area+0x10c>)
|
|
5ef8: 4798 blx r3
|
|
if(!disp) return;
|
|
5efa: 4605 mov r5, r0
|
|
5efc: b130 cbz r0, 5f0c <_lv_inv_area+0xcc>
|
|
5efe: e7a5 b.n 5e4c <_lv_inv_area+0xc>
|
|
disp->inv_p = 0;
|
|
5f00: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168
|
|
5f04: f36f 0309 bfc r3, #0, #10
|
|
5f08: f8a5 3168 strh.w r3, [r5, #360] ; 0x168
|
|
}
|
|
5f0c: b005 add sp, #20
|
|
5f0e: bdf0 pop {r4, r5, r6, r7, pc}
|
|
disp->inv_p = 0;
|
|
5f10: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168
|
|
5f14: f36f 0309 bfc r3, #0, #10
|
|
5f18: f8a5 3168 strh.w r3, [r5, #360] ; 0x168
|
|
5f1c: f10d 0207 add.w r2, sp, #7
|
|
5f20: f105 0050 add.w r0, r5, #80 ; 0x50
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
5f24: f105 0348 add.w r3, r5, #72 ; 0x48
|
|
*d8 = *s8;
|
|
5f28: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
5f2c: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
5f30: 4283 cmp r3, r0
|
|
5f32: d1f9 bne.n 5f28 <_lv_inv_area+0xe8>
|
|
5f34: e7d1 b.n 5eda <_lv_inv_area+0x9a>
|
|
5f36: bf00 nop
|
|
5f38: 00010ed5 .word 0x00010ed5
|
|
5f3c: 00010efd .word 0x00010efd
|
|
5f40: 00011501 .word 0x00011501
|
|
5f44: 00011755 .word 0x00011755
|
|
5f48: 00013941 .word 0x00013941
|
|
5f4c: 00010ec9 .word 0x00010ec9
|
|
|
|
00005f50 <_lv_refr_get_disp_refreshing>:
|
|
}
|
|
5f50: 4b01 ldr r3, [pc, #4] ; (5f58 <_lv_refr_get_disp_refreshing+0x8>)
|
|
5f52: 6818 ldr r0, [r3, #0]
|
|
5f54: 4770 bx lr
|
|
5f56: bf00 nop
|
|
5f58: 20002688 .word 0x20002688
|
|
|
|
00005f5c <_lv_disp_refr_task>:
|
|
{
|
|
5f5c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
5f60: b08d sub sp, #52 ; 0x34
|
|
5f62: 4605 mov r5, r0
|
|
uint32_t start = lv_tick_get();
|
|
5f64: 4bb7 ldr r3, [pc, #732] ; (6244 <_lv_disp_refr_task+0x2e8>)
|
|
5f66: 4798 blx r3
|
|
5f68: 9009 str r0, [sp, #36] ; 0x24
|
|
disp_refr = task->user_data;
|
|
5f6a: 4cb7 ldr r4, [pc, #732] ; (6248 <_lv_disp_refr_task+0x2ec>)
|
|
5f6c: 68eb ldr r3, [r5, #12]
|
|
5f6e: 6023 str r3, [r4, #0]
|
|
lv_task_set_prio(task, LV_TASK_PRIO_OFF);
|
|
5f70: 2100 movs r1, #0
|
|
5f72: 4628 mov r0, r5
|
|
5f74: 4bb5 ldr r3, [pc, #724] ; (624c <_lv_disp_refr_task+0x2f0>)
|
|
5f76: 4798 blx r3
|
|
if(disp_refr->act_scr == NULL) {
|
|
5f78: 6820 ldr r0, [r4, #0]
|
|
5f7a: 6bc3 ldr r3, [r0, #60] ; 0x3c
|
|
5f7c: b17b cbz r3, 5f9e <_lv_disp_refr_task+0x42>
|
|
for(join_in = 0; join_in < disp_refr->inv_p; join_in++) {
|
|
5f7e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
5f82: f3c3 0309 ubfx r3, r3, #0, #10
|
|
5f86: 2b00 cmp r3, #0
|
|
5f88: f000 8278 beq.w 647c <_lv_disp_refr_task+0x520>
|
|
5f8c: f04f 0848 mov.w r8, #72 ; 0x48
|
|
5f90: 2700 movs r7, #0
|
|
for(join_from = 0; join_from < disp_refr->inv_p; join_from++) {
|
|
5f92: 4dad ldr r5, [pc, #692] ; (6248 <_lv_disp_refr_task+0x2ec>)
|
|
if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) {
|
|
5f94: f8df a2e4 ldr.w sl, [pc, #740] ; 627c <_lv_disp_refr_task+0x320>
|
|
if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) +
|
|
5f98: f8df b2c8 ldr.w fp, [pc, #712] ; 6264 <_lv_disp_refr_task+0x308>
|
|
5f9c: e04d b.n 603a <_lv_disp_refr_task+0xde>
|
|
disp_refr->inv_p = 0;
|
|
5f9e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
5fa2: f36f 0309 bfc r3, #0, #10
|
|
5fa6: f8a0 3168 strh.w r3, [r0, #360] ; 0x168
|
|
return;
|
|
5faa: e262 b.n 6472 <_lv_disp_refr_task+0x516>
|
|
disp_refr->inv_area_joined[join_from] = 1;
|
|
5fac: 4426 add r6, r4
|
|
5fae: 2301 movs r3, #1
|
|
5fb0: f886 3148 strb.w r3, [r6, #328] ; 0x148
|
|
for(join_from = 0; join_from < disp_refr->inv_p; join_from++) {
|
|
5fb4: 3401 adds r4, #1
|
|
5fb6: 6828 ldr r0, [r5, #0]
|
|
5fb8: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
5fbc: f3c3 0309 ubfx r3, r3, #0, #10
|
|
5fc0: 429c cmp r4, r3
|
|
5fc2: d230 bcs.n 6026 <_lv_disp_refr_task+0xca>
|
|
if(disp_refr->inv_area_joined[join_from] != 0 || join_in == join_from) {
|
|
5fc4: 1903 adds r3, r0, r4
|
|
5fc6: f893 3148 ldrb.w r3, [r3, #328] ; 0x148
|
|
5fca: 2b00 cmp r3, #0
|
|
5fcc: d1f2 bne.n 5fb4 <_lv_disp_refr_task+0x58>
|
|
5fce: 42a7 cmp r7, r4
|
|
5fd0: d0f0 beq.n 5fb4 <_lv_disp_refr_task+0x58>
|
|
5fd2: f104 0609 add.w r6, r4, #9
|
|
5fd6: 00f6 lsls r6, r6, #3
|
|
if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) {
|
|
5fd8: 1981 adds r1, r0, r6
|
|
5fda: 4440 add r0, r8
|
|
5fdc: 47d0 blx sl
|
|
5fde: 2800 cmp r0, #0
|
|
5fe0: d0e8 beq.n 5fb4 <_lv_disp_refr_task+0x58>
|
|
_lv_area_join(&joined_area, &disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]);
|
|
5fe2: 6829 ldr r1, [r5, #0]
|
|
5fe4: 198a adds r2, r1, r6
|
|
5fe6: 4441 add r1, r8
|
|
5fe8: a80a add r0, sp, #40 ; 0x28
|
|
5fea: 4b99 ldr r3, [pc, #612] ; (6250 <_lv_disp_refr_task+0x2f4>)
|
|
5fec: 4798 blx r3
|
|
if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) +
|
|
5fee: a80a add r0, sp, #40 ; 0x28
|
|
5ff0: 47d8 blx fp
|
|
5ff2: 9003 str r0, [sp, #12]
|
|
5ff4: 6828 ldr r0, [r5, #0]
|
|
5ff6: 4440 add r0, r8
|
|
5ff8: 47d8 blx fp
|
|
5ffa: 4681 mov r9, r0
|
|
lv_area_get_size(&disp_refr->inv_areas[join_from]))) {
|
|
5ffc: 6828 ldr r0, [r5, #0]
|
|
5ffe: 4430 add r0, r6
|
|
6000: 47d8 blx fp
|
|
if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) +
|
|
6002: 4448 add r0, r9
|
|
6004: 9b03 ldr r3, [sp, #12]
|
|
6006: 4283 cmp r3, r0
|
|
6008: d2d4 bcs.n 5fb4 <_lv_disp_refr_task+0x58>
|
|
lv_area_copy(&disp_refr->inv_areas[join_in], &joined_area);
|
|
600a: 682e ldr r6, [r5, #0]
|
|
600c: eb06 0308 add.w r3, r6, r8
|
|
6010: f10d 0227 add.w r2, sp, #39 ; 0x27
|
|
6014: f103 0008 add.w r0, r3, #8
|
|
*d8 = *s8;
|
|
6018: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
601c: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
6020: 4283 cmp r3, r0
|
|
6022: d1f9 bne.n 6018 <_lv_disp_refr_task+0xbc>
|
|
6024: e7c2 b.n 5fac <_lv_disp_refr_task+0x50>
|
|
for(join_in = 0; join_in < disp_refr->inv_p; join_in++) {
|
|
6026: 3701 adds r7, #1
|
|
6028: 6828 ldr r0, [r5, #0]
|
|
602a: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
602e: f3c3 0309 ubfx r3, r3, #0, #10
|
|
6032: f108 0808 add.w r8, r8, #8
|
|
6036: 429f cmp r7, r3
|
|
6038: d20e bcs.n 6058 <_lv_disp_refr_task+0xfc>
|
|
if(disp_refr->inv_area_joined[join_in] != 0) continue;
|
|
603a: 4438 add r0, r7
|
|
603c: f890 3148 ldrb.w r3, [r0, #328] ; 0x148
|
|
6040: 2b00 cmp r3, #0
|
|
6042: d1f0 bne.n 6026 <_lv_disp_refr_task+0xca>
|
|
for(join_from = 0; join_from < disp_refr->inv_p; join_from++) {
|
|
6044: 6828 ldr r0, [r5, #0]
|
|
6046: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
604a: f3c3 0309 ubfx r3, r3, #0, #10
|
|
604e: 2b00 cmp r3, #0
|
|
6050: f000 81fa beq.w 6448 <_lv_disp_refr_task+0x4ec>
|
|
6054: 2400 movs r4, #0
|
|
6056: e7b5 b.n 5fc4 <_lv_disp_refr_task+0x68>
|
|
px_num = 0;
|
|
6058: 2100 movs r1, #0
|
|
605a: 4a7b ldr r2, [pc, #492] ; (6248 <_lv_disp_refr_task+0x2ec>)
|
|
605c: 6051 str r1, [r2, #4]
|
|
if(disp_refr->inv_p == 0) return;
|
|
605e: 2b00 cmp r3, #0
|
|
6060: f000 81fa beq.w 6458 <_lv_disp_refr_task+0x4fc>
|
|
for(i = disp_refr->inv_p - 1; i >= 0; i--) {
|
|
6064: 1e5a subs r2, r3, #1
|
|
6066: 4611 mov r1, r2
|
|
6068: 9207 str r2, [sp, #28]
|
|
606a: d432 bmi.n 60d2 <_lv_disp_refr_task+0x176>
|
|
if(disp_refr->inv_area_joined[i] == 0) {
|
|
606c: 1882 adds r2, r0, r2
|
|
606e: f892 2148 ldrb.w r2, [r2, #328] ; 0x148
|
|
6072: b17a cbz r2, 6094 <_lv_disp_refr_task+0x138>
|
|
6074: f203 1347 addw r3, r3, #327 ; 0x147
|
|
6078: 4403 add r3, r0
|
|
607a: 460a mov r2, r1
|
|
for(i = disp_refr->inv_p - 1; i >= 0; i--) {
|
|
607c: 3a01 subs r2, #1
|
|
607e: f1b2 3fff cmp.w r2, #4294967295
|
|
6082: d005 beq.n 6090 <_lv_disp_refr_task+0x134>
|
|
if(disp_refr->inv_area_joined[i] == 0) {
|
|
6084: f813 1d01 ldrb.w r1, [r3, #-1]!
|
|
6088: 2900 cmp r1, #0
|
|
608a: d1f7 bne.n 607c <_lv_disp_refr_task+0x120>
|
|
608c: 9207 str r2, [sp, #28]
|
|
608e: e001 b.n 6094 <_lv_disp_refr_task+0x138>
|
|
int32_t last_i = 0;
|
|
6090: 2300 movs r3, #0
|
|
6092: 9307 str r3, [sp, #28]
|
|
disp_refr->driver.buffer->last_area = 0;
|
|
6094: 6842 ldr r2, [r0, #4]
|
|
6096: f892 3020 ldrb.w r3, [r2, #32]
|
|
609a: f36f 0300 bfc r3, #0, #1
|
|
609e: f882 3020 strb.w r3, [r2, #32]
|
|
disp_refr->driver.buffer->last_part = 0;
|
|
60a2: 6842 ldr r2, [r0, #4]
|
|
60a4: f892 3020 ldrb.w r3, [r2, #32]
|
|
60a8: f36f 0341 bfc r3, #1, #1
|
|
60ac: f882 3020 strb.w r3, [r2, #32]
|
|
for(i = 0; i < disp_refr->inv_p; i++) {
|
|
60b0: 4b65 ldr r3, [pc, #404] ; (6248 <_lv_disp_refr_task+0x2ec>)
|
|
60b2: 681c ldr r4, [r3, #0]
|
|
60b4: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168
|
|
60b8: f3c3 0309 ubfx r3, r3, #0, #10
|
|
60bc: 2b00 cmp r3, #0
|
|
60be: f000 81cb beq.w 6458 <_lv_disp_refr_task+0x4fc>
|
|
60c2: 2348 movs r3, #72 ; 0x48
|
|
60c4: 9306 str r3, [sp, #24]
|
|
60c6: f04f 0a00 mov.w sl, #0
|
|
if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]);
|
|
60ca: f8df b17c ldr.w fp, [pc, #380] ; 6248 <_lv_disp_refr_task+0x2ec>
|
|
60ce: 4627 mov r7, r4
|
|
60d0: e045 b.n 615e <_lv_disp_refr_task+0x202>
|
|
int32_t last_i = 0;
|
|
60d2: 2300 movs r3, #0
|
|
60d4: 9307 str r3, [sp, #28]
|
|
60d6: e7dd b.n 6094 <_lv_disp_refr_task+0x138>
|
|
if(i == last_i) disp_refr->driver.buffer->last_area = 1;
|
|
60d8: 687a ldr r2, [r7, #4]
|
|
60da: f892 3020 ldrb.w r3, [r2, #32]
|
|
60de: f043 0301 orr.w r3, r3, #1
|
|
60e2: f882 3020 strb.w r3, [r2, #32]
|
|
60e6: e043 b.n 6170 <_lv_disp_refr_task+0x214>
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr);
|
|
60e8: f8db 0000 ldr.w r0, [fp]
|
|
60ec: 4b59 ldr r3, [pc, #356] ; (6254 <_lv_disp_refr_task+0x2f8>)
|
|
60ee: 4798 blx r3
|
|
60f0: 4604 mov r4, r0
|
|
vdb->area.x1 = 0;
|
|
60f2: 2500 movs r5, #0
|
|
60f4: 8205 strh r5, [r0, #16]
|
|
vdb->area.x2 = lv_disp_get_hor_res(disp_refr) - 1;
|
|
60f6: f8db 0000 ldr.w r0, [fp]
|
|
60fa: 4b57 ldr r3, [pc, #348] ; (6258 <_lv_disp_refr_task+0x2fc>)
|
|
60fc: 4798 blx r3
|
|
60fe: 3801 subs r0, #1
|
|
6100: 82a0 strh r0, [r4, #20]
|
|
vdb->area.y1 = 0;
|
|
6102: 8265 strh r5, [r4, #18]
|
|
vdb->area.y2 = lv_disp_get_ver_res(disp_refr) - 1;
|
|
6104: f8db 0000 ldr.w r0, [fp]
|
|
6108: 4b54 ldr r3, [pc, #336] ; (625c <_lv_disp_refr_task+0x300>)
|
|
610a: 4798 blx r3
|
|
610c: 3801 subs r0, #1
|
|
610e: 82e0 strh r0, [r4, #22]
|
|
disp_refr->driver.buffer->last_part = 1;
|
|
6110: f8db 3000 ldr.w r3, [fp]
|
|
6114: 685a ldr r2, [r3, #4]
|
|
6116: f892 3020 ldrb.w r3, [r2, #32]
|
|
611a: f043 0302 orr.w r3, r3, #2
|
|
611e: f882 3020 strb.w r3, [r2, #32]
|
|
lv_refr_area_part(area_p);
|
|
6122: 9803 ldr r0, [sp, #12]
|
|
6124: 4b4e ldr r3, [pc, #312] ; (6260 <_lv_disp_refr_task+0x304>)
|
|
6126: 4798 blx r3
|
|
if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]);
|
|
6128: f8db 0000 ldr.w r0, [fp]
|
|
612c: 6983 ldr r3, [r0, #24]
|
|
612e: b143 cbz r3, 6142 <_lv_disp_refr_task+0x1e6>
|
|
6130: 9b06 ldr r3, [sp, #24]
|
|
6132: 4418 add r0, r3
|
|
6134: 4b4b ldr r3, [pc, #300] ; (6264 <_lv_disp_refr_task+0x308>)
|
|
6136: 4798 blx r3
|
|
6138: f8db 3004 ldr.w r3, [fp, #4]
|
|
613c: 4403 add r3, r0
|
|
613e: f8cb 3004 str.w r3, [fp, #4]
|
|
for(i = 0; i < disp_refr->inv_p; i++) {
|
|
6142: f10a 0a01 add.w sl, sl, #1
|
|
6146: f8db 7000 ldr.w r7, [fp]
|
|
614a: 9b06 ldr r3, [sp, #24]
|
|
614c: 3308 adds r3, #8
|
|
614e: 9306 str r3, [sp, #24]
|
|
6150: f8b7 3168 ldrh.w r3, [r7, #360] ; 0x168
|
|
6154: f3c3 0309 ubfx r3, r3, #0, #10
|
|
6158: 459a cmp sl, r3
|
|
615a: f280 817d bge.w 6458 <_lv_disp_refr_task+0x4fc>
|
|
if(disp_refr->inv_area_joined[i] == 0) {
|
|
615e: eb07 030a add.w r3, r7, sl
|
|
6162: f893 3148 ldrb.w r3, [r3, #328] ; 0x148
|
|
6166: 2b00 cmp r3, #0
|
|
6168: d1eb bne.n 6142 <_lv_disp_refr_task+0x1e6>
|
|
if(i == last_i) disp_refr->driver.buffer->last_area = 1;
|
|
616a: 9b07 ldr r3, [sp, #28]
|
|
616c: 4553 cmp r3, sl
|
|
616e: d0b3 beq.n 60d8 <_lv_disp_refr_task+0x17c>
|
|
disp_refr->driver.buffer->last_part = 0;
|
|
6170: 687a ldr r2, [r7, #4]
|
|
6172: f892 3020 ldrb.w r3, [r2, #32]
|
|
6176: f36f 0341 bfc r3, #1, #1
|
|
617a: f882 3020 strb.w r3, [r2, #32]
|
|
lv_refr_area(&disp_refr->inv_areas[i]);
|
|
617e: 9b06 ldr r3, [sp, #24]
|
|
6180: 18fb adds r3, r7, r3
|
|
6182: 9303 str r3, [sp, #12]
|
|
if(lv_disp_is_true_double_buf(disp_refr)) {
|
|
6184: 4638 mov r0, r7
|
|
6186: 4b38 ldr r3, [pc, #224] ; (6268 <_lv_disp_refr_task+0x30c>)
|
|
6188: 4798 blx r3
|
|
618a: 2800 cmp r0, #0
|
|
618c: d1ac bne.n 60e8 <_lv_disp_refr_task+0x18c>
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr);
|
|
618e: f8db 0000 ldr.w r0, [fp]
|
|
6192: 4b30 ldr r3, [pc, #192] ; (6254 <_lv_disp_refr_task+0x2f8>)
|
|
6194: 4798 blx r3
|
|
6196: 4606 mov r6, r0
|
|
6198: eb07 07ca add.w r7, r7, sl, lsl #3
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
619c: f8b7 404c ldrh.w r4, [r7, #76] ; 0x4c
|
|
61a0: 3401 adds r4, #1
|
|
61a2: f8b7 3048 ldrh.w r3, [r7, #72] ; 0x48
|
|
61a6: 1ae4 subs r4, r4, r3
|
|
61a8: b224 sxth r4, r4
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
61aa: f9b7 504e ldrsh.w r5, [r7, #78] ; 0x4e
|
|
61ae: f105 0801 add.w r8, r5, #1
|
|
61b2: f8b7 304a ldrh.w r3, [r7, #74] ; 0x4a
|
|
61b6: eba8 0803 sub.w r8, r8, r3
|
|
61ba: fa0f f888 sxth.w r8, r8
|
|
area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2;
|
|
61be: f8db 0000 ldr.w r0, [fp]
|
|
61c2: 4b26 ldr r3, [pc, #152] ; (625c <_lv_disp_refr_task+0x300>)
|
|
61c4: 4798 blx r3
|
|
lv_coord_t y2 =
|
|
61c6: 4285 cmp r5, r0
|
|
61c8: da34 bge.n 6234 <_lv_disp_refr_task+0x2d8>
|
|
61ca: f9b7 904e ldrsh.w r9, [r7, #78] ; 0x4e
|
|
int32_t max_row = (uint32_t)vdb->size / w;
|
|
61ce: 68f3 ldr r3, [r6, #12]
|
|
61d0: fbb3 f3f4 udiv r3, r3, r4
|
|
61d4: 4598 cmp r8, r3
|
|
61d6: bfa8 it ge
|
|
61d8: 4698 movge r8, r3
|
|
if(disp_refr->driver.rounder_cb) {
|
|
61da: f8db 3000 ldr.w r3, [fp]
|
|
61de: 691b ldr r3, [r3, #16]
|
|
61e0: 2b00 cmp r3, #0
|
|
61e2: d052 beq.n 628a <_lv_disp_refr_task+0x32e>
|
|
tmp.x1 = 0;
|
|
61e4: 2300 movs r3, #0
|
|
61e6: f8ad 3028 strh.w r3, [sp, #40] ; 0x28
|
|
tmp.x2 = 0;
|
|
61ea: f8ad 302c strh.w r3, [sp, #44] ; 0x2c
|
|
tmp.y1 = 0;
|
|
61ee: f8ad 302a strh.w r3, [sp, #42] ; 0x2a
|
|
lv_coord_t h_tmp = max_row;
|
|
61f2: fa0f f588 sxth.w r5, r8
|
|
61f6: 1e6c subs r4, r5, #1
|
|
61f8: b224 sxth r4, r4
|
|
tmp.y2 = h_tmp - 1;
|
|
61fa: f8ad 402e strh.w r4, [sp, #46] ; 0x2e
|
|
disp_refr->driver.rounder_cb(&disp_refr->driver, &tmp);
|
|
61fe: f8db 0000 ldr.w r0, [fp]
|
|
6202: 6903 ldr r3, [r0, #16]
|
|
6204: a90a add r1, sp, #40 ; 0x28
|
|
6206: 4798 blx r3
|
|
6208: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e
|
|
620c: 1c4b adds r3, r1, #1
|
|
620e: f8bd 202a ldrh.w r2, [sp, #42] ; 0x2a
|
|
6212: 1a9b subs r3, r3, r2
|
|
if(lv_area_get_height(&tmp) <= max_row) break;
|
|
6214: b21b sxth r3, r3
|
|
6216: 4598 cmp r8, r3
|
|
6218: da32 bge.n 6280 <_lv_disp_refr_task+0x324>
|
|
h_tmp--;
|
|
621a: 4625 mov r5, r4
|
|
} while(h_tmp > 0);
|
|
621c: 2c00 cmp r4, #0
|
|
621e: dcea bgt.n 61f6 <_lv_disp_refr_task+0x29a>
|
|
LV_LOG_WARN("Can't set VDB height using the round function. (Wrong round_cb or to "
|
|
6220: 4b12 ldr r3, [pc, #72] ; (626c <_lv_disp_refr_task+0x310>)
|
|
6222: 9300 str r3, [sp, #0]
|
|
6224: 4b12 ldr r3, [pc, #72] ; (6270 <_lv_disp_refr_task+0x314>)
|
|
6226: f240 129f movw r2, #415 ; 0x19f
|
|
622a: 4912 ldr r1, [pc, #72] ; (6274 <_lv_disp_refr_task+0x318>)
|
|
622c: 2002 movs r0, #2
|
|
622e: 4c12 ldr r4, [pc, #72] ; (6278 <_lv_disp_refr_task+0x31c>)
|
|
6230: 47a0 blx r4
|
|
6232: e779 b.n 6128 <_lv_disp_refr_task+0x1cc>
|
|
area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2;
|
|
6234: f8db 0000 ldr.w r0, [fp]
|
|
6238: 4b08 ldr r3, [pc, #32] ; (625c <_lv_disp_refr_task+0x300>)
|
|
623a: 4798 blx r3
|
|
623c: 3801 subs r0, #1
|
|
lv_coord_t y2 =
|
|
623e: fa0f f980 sxth.w r9, r0
|
|
6242: e7c4 b.n 61ce <_lv_disp_refr_task+0x272>
|
|
6244: 00011041 .word 0x00011041
|
|
6248: 20002688 .word 0x20002688
|
|
624c: 00013941 .word 0x00013941
|
|
6250: 00011557 .word 0x00011557
|
|
6254: 00010fc5 .word 0x00010fc5
|
|
6258: 00010ed5 .word 0x00010ed5
|
|
625c: 00010efd .word 0x00010efd
|
|
6260: 00005da1 .word 0x00005da1
|
|
6264: 000114e5 .word 0x000114e5
|
|
6268: 00010fdd .word 0x00010fdd
|
|
626c: 00024a14 .word 0x00024a14
|
|
6270: 000249d8 .word 0x000249d8
|
|
6274: 000249e8 .word 0x000249e8
|
|
6278: 00012245 .word 0x00012245
|
|
627c: 00011711 .word 0x00011711
|
|
if(h_tmp <= 0) {
|
|
6280: 2d00 cmp r5, #0
|
|
max_row = tmp.y2 + 1;
|
|
6282: bfc8 it gt
|
|
6284: f101 0801 addgt.w r8, r1, #1
|
|
if(h_tmp <= 0) {
|
|
6288: ddca ble.n 6220 <_lv_disp_refr_task+0x2c4>
|
|
for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) {
|
|
628a: f9b7 404a ldrsh.w r4, [r7, #74] ; 0x4a
|
|
628e: f8cd 9010 str.w r9, [sp, #16]
|
|
6292: eb04 0308 add.w r3, r4, r8
|
|
6296: 3b01 subs r3, #1
|
|
6298: 454b cmp r3, r9
|
|
629a: dc4b bgt.n 6334 <_lv_disp_refr_task+0x3d8>
|
|
vdb->area.y2 = row + max_row - 1;
|
|
629c: fa1f f388 uxth.w r3, r8
|
|
62a0: 9305 str r3, [sp, #20]
|
|
62a2: 3b01 subs r3, #1
|
|
62a4: f8cd a020 str.w sl, [sp, #32]
|
|
62a8: 469a mov sl, r3
|
|
62aa: e00d b.n 62c8 <_lv_disp_refr_task+0x36c>
|
|
if(y2 == row_last) disp_refr->driver.buffer->last_part = 1;
|
|
62ac: 45a9 cmp r9, r5
|
|
62ae: d01c beq.n 62ea <_lv_disp_refr_task+0x38e>
|
|
lv_refr_area_part(area_p);
|
|
62b0: 9803 ldr r0, [sp, #12]
|
|
62b2: 4b78 ldr r3, [pc, #480] ; (6494 <_lv_disp_refr_task+0x538>)
|
|
62b4: 4798 blx r3
|
|
62b6: 9b05 ldr r3, [sp, #20]
|
|
62b8: 441c add r4, r3
|
|
62ba: b224 sxth r4, r4
|
|
for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) {
|
|
62bc: eb04 0308 add.w r3, r4, r8
|
|
62c0: 3b01 subs r3, #1
|
|
62c2: 9a04 ldr r2, [sp, #16]
|
|
62c4: 4293 cmp r3, r2
|
|
62c6: dc1a bgt.n 62fe <_lv_disp_refr_task+0x3a2>
|
|
vdb->area.x1 = area_p->x1;
|
|
62c8: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48
|
|
62cc: 8233 strh r3, [r6, #16]
|
|
vdb->area.x2 = area_p->x2;
|
|
62ce: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c
|
|
62d2: 82b3 strh r3, [r6, #20]
|
|
vdb->area.y1 = row;
|
|
62d4: 8274 strh r4, [r6, #18]
|
|
62d6: b2a4 uxth r4, r4
|
|
62d8: eb04 050a add.w r5, r4, sl
|
|
62dc: b22d sxth r5, r5
|
|
vdb->area.y2 = row + max_row - 1;
|
|
62de: 82f5 strh r5, [r6, #22]
|
|
if(vdb->area.y2 > y2) vdb->area.y2 = y2;
|
|
62e0: 45a9 cmp r9, r5
|
|
62e2: dae3 bge.n 62ac <_lv_disp_refr_task+0x350>
|
|
62e4: f8a6 9016 strh.w r9, [r6, #22]
|
|
row_last = vdb->area.y2;
|
|
62e8: 464d mov r5, r9
|
|
if(y2 == row_last) disp_refr->driver.buffer->last_part = 1;
|
|
62ea: f8db 3000 ldr.w r3, [fp]
|
|
62ee: 685a ldr r2, [r3, #4]
|
|
62f0: f892 3020 ldrb.w r3, [r2, #32]
|
|
62f4: f043 0302 orr.w r3, r3, #2
|
|
62f8: f882 3020 strb.w r3, [r2, #32]
|
|
62fc: e7d8 b.n 62b0 <_lv_disp_refr_task+0x354>
|
|
62fe: f8dd a020 ldr.w sl, [sp, #32]
|
|
if(y2 != row_last) {
|
|
6302: 45a9 cmp r9, r5
|
|
6304: f43f af10 beq.w 6128 <_lv_disp_refr_task+0x1cc>
|
|
vdb->area.x1 = area_p->x1;
|
|
6308: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48
|
|
630c: 8233 strh r3, [r6, #16]
|
|
vdb->area.x2 = area_p->x2;
|
|
630e: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c
|
|
6312: 82b3 strh r3, [r6, #20]
|
|
vdb->area.y1 = row;
|
|
6314: 8274 strh r4, [r6, #18]
|
|
vdb->area.y2 = y2;
|
|
6316: f8a6 9016 strh.w r9, [r6, #22]
|
|
disp_refr->driver.buffer->last_part = 1;
|
|
631a: f8db 3000 ldr.w r3, [fp]
|
|
631e: 685a ldr r2, [r3, #4]
|
|
6320: f892 3020 ldrb.w r3, [r2, #32]
|
|
6324: f043 0302 orr.w r3, r3, #2
|
|
6328: f882 3020 strb.w r3, [r2, #32]
|
|
lv_refr_area_part(area_p);
|
|
632c: 9803 ldr r0, [sp, #12]
|
|
632e: 4b59 ldr r3, [pc, #356] ; (6494 <_lv_disp_refr_task+0x538>)
|
|
6330: 4798 blx r3
|
|
6332: e6f9 b.n 6128 <_lv_disp_refr_task+0x1cc>
|
|
lv_coord_t row_last = 0;
|
|
6334: 2500 movs r5, #0
|
|
6336: e7e4 b.n 6302 <_lv_disp_refr_task+0x3a6>
|
|
if(lv_disp_is_true_double_buf(disp_refr) && disp_refr->driver.set_px_cb == NULL) {
|
|
6338: 4b57 ldr r3, [pc, #348] ; (6498 <_lv_disp_refr_task+0x53c>)
|
|
633a: 4798 blx r3
|
|
633c: b118 cbz r0, 6346 <_lv_disp_refr_task+0x3ea>
|
|
633e: 4b57 ldr r3, [pc, #348] ; (649c <_lv_disp_refr_task+0x540>)
|
|
6340: 6818 ldr r0, [r3, #0]
|
|
6342: 6943 ldr r3, [r0, #20]
|
|
6344: b1eb cbz r3, 6382 <_lv_disp_refr_task+0x426>
|
|
_lv_memset_00(disp_refr->inv_areas, sizeof(disp_refr->inv_areas));
|
|
6346: 4c55 ldr r4, [pc, #340] ; (649c <_lv_disp_refr_task+0x540>)
|
|
6348: 6820 ldr r0, [r4, #0]
|
|
634a: f44f 7180 mov.w r1, #256 ; 0x100
|
|
634e: 3048 adds r0, #72 ; 0x48
|
|
6350: 4d53 ldr r5, [pc, #332] ; (64a0 <_lv_disp_refr_task+0x544>)
|
|
6352: 47a8 blx r5
|
|
_lv_memset_00(disp_refr->inv_area_joined, sizeof(disp_refr->inv_area_joined));
|
|
6354: 6820 ldr r0, [r4, #0]
|
|
6356: 2120 movs r1, #32
|
|
6358: f500 70a4 add.w r0, r0, #328 ; 0x148
|
|
635c: 47a8 blx r5
|
|
disp_refr->inv_p = 0;
|
|
635e: 6823 ldr r3, [r4, #0]
|
|
6360: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168
|
|
6364: f36f 0209 bfc r2, #0, #10
|
|
6368: f8a3 2168 strh.w r2, [r3, #360] ; 0x168
|
|
elaps = lv_tick_elaps(start);
|
|
636c: 9809 ldr r0, [sp, #36] ; 0x24
|
|
636e: 4b4d ldr r3, [pc, #308] ; (64a4 <_lv_disp_refr_task+0x548>)
|
|
6370: 4798 blx r3
|
|
6372: 4601 mov r1, r0
|
|
if(disp_refr->driver.monitor_cb) {
|
|
6374: 6820 ldr r0, [r4, #0]
|
|
6376: 6983 ldr r3, [r0, #24]
|
|
6378: 2b00 cmp r3, #0
|
|
637a: d076 beq.n 646a <_lv_disp_refr_task+0x50e>
|
|
disp_refr->driver.monitor_cb(&disp_refr->driver, elaps, px_num);
|
|
637c: 6862 ldr r2, [r4, #4]
|
|
637e: 4798 blx r3
|
|
6380: e073 b.n 646a <_lv_disp_refr_task+0x50e>
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr);
|
|
6382: 4b49 ldr r3, [pc, #292] ; (64a8 <_lv_disp_refr_task+0x54c>)
|
|
6384: 4798 blx r3
|
|
6386: 4604 mov r4, r0
|
|
lv_refr_vdb_flush();
|
|
6388: 4b48 ldr r3, [pc, #288] ; (64ac <_lv_disp_refr_task+0x550>)
|
|
638a: 4798 blx r3
|
|
while(vdb->flushing)
|
|
638c: 69a3 ldr r3, [r4, #24]
|
|
638e: 2b00 cmp r3, #0
|
|
6390: d1fc bne.n 638c <_lv_disp_refr_task+0x430>
|
|
uint8_t * buf_act = (uint8_t *)vdb->buf_act;
|
|
6392: 68a3 ldr r3, [r4, #8]
|
|
6394: 9303 str r3, [sp, #12]
|
|
uint8_t * buf_ina = (uint8_t *)vdb->buf_act == vdb->buf1 ? vdb->buf2 : vdb->buf1;
|
|
6396: f8d4 a000 ldr.w sl, [r4]
|
|
639a: 4553 cmp r3, sl
|
|
639c: bf08 it eq
|
|
639e: f8d4 a004 ldreq.w sl, [r4, #4]
|
|
lv_coord_t hres = lv_disp_get_hor_res(disp_refr);
|
|
63a2: 4c3e ldr r4, [pc, #248] ; (649c <_lv_disp_refr_task+0x540>)
|
|
63a4: 6820 ldr r0, [r4, #0]
|
|
63a6: 4b42 ldr r3, [pc, #264] ; (64b0 <_lv_disp_refr_task+0x554>)
|
|
63a8: 4798 blx r3
|
|
63aa: 9004 str r0, [sp, #16]
|
|
for(a = 0; a < disp_refr->inv_p; a++) {
|
|
63ac: 6823 ldr r3, [r4, #0]
|
|
63ae: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168
|
|
63b2: f3c2 0209 ubfx r2, r2, #0, #10
|
|
63b6: 2a00 cmp r2, #0
|
|
63b8: d0c5 beq.n 6346 <_lv_disp_refr_task+0x3ea>
|
|
start_offs += hres * sizeof(lv_color_t);
|
|
63ba: 0045 lsls r5, r0, #1
|
|
63bc: 2200 movs r2, #0
|
|
63be: 4690 mov r8, r2
|
|
for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) {
|
|
63c0: 46a1 mov r9, r4
|
|
63c2: e00c b.n 63de <_lv_disp_refr_task+0x482>
|
|
for(a = 0; a < disp_refr->inv_p; a++) {
|
|
63c4: f108 0801 add.w r8, r8, #1
|
|
63c8: fa1f f888 uxth.w r8, r8
|
|
63cc: 4642 mov r2, r8
|
|
63ce: f8d9 3000 ldr.w r3, [r9]
|
|
63d2: f8b3 1168 ldrh.w r1, [r3, #360] ; 0x168
|
|
63d6: f3c1 0109 ubfx r1, r1, #0, #10
|
|
63da: 4588 cmp r8, r1
|
|
63dc: dab3 bge.n 6346 <_lv_disp_refr_task+0x3ea>
|
|
if(disp_refr->inv_area_joined[a] == 0) {
|
|
63de: 1899 adds r1, r3, r2
|
|
63e0: f891 1148 ldrb.w r1, [r1, #328] ; 0x148
|
|
63e4: 2900 cmp r1, #0
|
|
63e6: d1ed bne.n 63c4 <_lv_disp_refr_task+0x468>
|
|
63e8: eb03 03c2 add.w r3, r3, r2, lsl #3
|
|
(hres * disp_refr->inv_areas[a].y1 + disp_refr->inv_areas[a].x1) * sizeof(lv_color_t);
|
|
63ec: f9b3 704a ldrsh.w r7, [r3, #74] ; 0x4a
|
|
63f0: f9b3 1048 ldrsh.w r1, [r3, #72] ; 0x48
|
|
63f4: 9804 ldr r0, [sp, #16]
|
|
63f6: fb07 1600 mla r6, r7, r0, r1
|
|
uint32_t start_offs =
|
|
63fa: 0076 lsls r6, r6, #1
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
63fc: f8b3 304c ldrh.w r3, [r3, #76] ; 0x4c
|
|
6400: 3301 adds r3, #1
|
|
6402: 1a5b subs r3, r3, r1
|
|
uint32_t line_length = lv_area_get_width(&disp_refr->inv_areas[a]) * sizeof(lv_color_t);
|
|
6404: b21b sxth r3, r3
|
|
6406: 005b lsls r3, r3, #1
|
|
6408: 9305 str r3, [sp, #20]
|
|
for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) {
|
|
640a: f8d9 3000 ldr.w r3, [r9]
|
|
640e: eb03 03c2 add.w r3, r3, r2, lsl #3
|
|
6412: f9b3 304e ldrsh.w r3, [r3, #78] ; 0x4e
|
|
6416: 42bb cmp r3, r7
|
|
6418: dbd4 blt.n 63c4 <_lv_disp_refr_task+0x468>
|
|
641a: 9b03 ldr r3, [sp, #12]
|
|
641c: eb03 0b06 add.w fp, r3, r6
|
|
6420: 4456 add r6, sl
|
|
6422: 3209 adds r2, #9
|
|
6424: 00d4 lsls r4, r2, #3
|
|
_lv_memcpy(buf_act + start_offs, buf_ina + start_offs, line_length);
|
|
6426: 9a05 ldr r2, [sp, #20]
|
|
6428: 4631 mov r1, r6
|
|
642a: 4658 mov r0, fp
|
|
642c: 4b21 ldr r3, [pc, #132] ; (64b4 <_lv_disp_refr_task+0x558>)
|
|
642e: 4798 blx r3
|
|
6430: 3701 adds r7, #1
|
|
6432: b23f sxth r7, r7
|
|
6434: 44ab add fp, r5
|
|
6436: 442e add r6, r5
|
|
for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) {
|
|
6438: f8d9 3000 ldr.w r3, [r9]
|
|
643c: 4423 add r3, r4
|
|
643e: f9b3 3006 ldrsh.w r3, [r3, #6]
|
|
6442: 42bb cmp r3, r7
|
|
6444: daef bge.n 6426 <_lv_disp_refr_task+0x4ca>
|
|
6446: e7bd b.n 63c4 <_lv_disp_refr_task+0x468>
|
|
px_num = 0;
|
|
6448: 2200 movs r2, #0
|
|
644a: 4b14 ldr r3, [pc, #80] ; (649c <_lv_disp_refr_task+0x540>)
|
|
644c: 605a str r2, [r3, #4]
|
|
if(disp_refr->inv_p == 0) return;
|
|
644e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
6452: f3c3 0309 ubfx r3, r3, #0, #10
|
|
6456: b97b cbnz r3, 6478 <_lv_disp_refr_task+0x51c>
|
|
if(disp_refr->inv_p != 0) {
|
|
6458: 4b10 ldr r3, [pc, #64] ; (649c <_lv_disp_refr_task+0x540>)
|
|
645a: 6818 ldr r0, [r3, #0]
|
|
645c: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
6460: f3c3 0309 ubfx r3, r3, #0, #10
|
|
6464: 2b00 cmp r3, #0
|
|
6466: f47f af67 bne.w 6338 <_lv_disp_refr_task+0x3dc>
|
|
_lv_mem_buf_free_all();
|
|
646a: 4b13 ldr r3, [pc, #76] ; (64b8 <_lv_disp_refr_task+0x55c>)
|
|
646c: 4798 blx r3
|
|
_lv_font_clean_up_fmt_txt();
|
|
646e: 4b13 ldr r3, [pc, #76] ; (64bc <_lv_disp_refr_task+0x560>)
|
|
6470: 4798 blx r3
|
|
}
|
|
6472: b00d add sp, #52 ; 0x34
|
|
6474: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
int32_t last_i = 0;
|
|
6478: 9207 str r2, [sp, #28]
|
|
647a: e60b b.n 6094 <_lv_disp_refr_task+0x138>
|
|
px_num = 0;
|
|
647c: 2200 movs r2, #0
|
|
647e: 4b07 ldr r3, [pc, #28] ; (649c <_lv_disp_refr_task+0x540>)
|
|
6480: 605a str r2, [r3, #4]
|
|
if(disp_refr->inv_p == 0) return;
|
|
6482: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168
|
|
6486: f3c3 0309 ubfx r3, r3, #0, #10
|
|
648a: 2b00 cmp r3, #0
|
|
648c: d0ed beq.n 646a <_lv_disp_refr_task+0x50e>
|
|
int32_t last_i = 0;
|
|
648e: 9207 str r2, [sp, #28]
|
|
6490: e600 b.n 6094 <_lv_disp_refr_task+0x138>
|
|
6492: bf00 nop
|
|
6494: 00005da1 .word 0x00005da1
|
|
6498: 00010fdd .word 0x00010fdd
|
|
649c: 20002688 .word 0x20002688
|
|
64a0: 00012b1f .word 0x00012b1f
|
|
64a4: 00011059 .word 0x00011059
|
|
64a8: 00010fc5 .word 0x00010fc5
|
|
64ac: 00005d29 .word 0x00005d29
|
|
64b0: 00010ed5 .word 0x00010ed5
|
|
64b4: 0001263d .word 0x0001263d
|
|
64b8: 000125e1 .word 0x000125e1
|
|
64bc: 00010cdd .word 0x00010cdd
|
|
|
|
000064c0 <lv_style_init>:
|
|
/**
|
|
* Initialize a style
|
|
* @param style pointer to a style to initialize
|
|
*/
|
|
void lv_style_init(lv_style_t * style)
|
|
{
|
|
64c0: b508 push {r3, lr}
|
|
_lv_memset_00(style, sizeof(lv_style_t));
|
|
64c2: 2104 movs r1, #4
|
|
64c4: 4b01 ldr r3, [pc, #4] ; (64cc <lv_style_init+0xc>)
|
|
64c6: 4798 blx r3
|
|
64c8: bd08 pop {r3, pc}
|
|
64ca: bf00 nop
|
|
64cc: 00012b1f .word 0x00012b1f
|
|
|
|
000064d0 <lv_style_list_init>:
|
|
/**
|
|
* Initialize a style list
|
|
* @param list a style list to initialize
|
|
*/
|
|
void lv_style_list_init(lv_style_list_t * list)
|
|
{
|
|
64d0: b508 push {r3, lr}
|
|
_lv_memset_00(list, sizeof(lv_style_list_t));
|
|
64d2: 2108 movs r1, #8
|
|
64d4: 4b01 ldr r3, [pc, #4] ; (64dc <lv_style_list_init+0xc>)
|
|
64d6: 4798 blx r3
|
|
64d8: bd08 pop {r3, pc}
|
|
64da: bf00 nop
|
|
64dc: 00012b1f .word 0x00012b1f
|
|
|
|
000064e0 <_lv_style_list_remove_style>:
|
|
* Remove a style from a style list
|
|
* @param style_list pointer to a style list
|
|
* @param style pointer to a style to remove
|
|
*/
|
|
void _lv_style_list_remove_style(lv_style_list_t * list, lv_style_t * style)
|
|
{
|
|
64e0: b570 push {r4, r5, r6, lr}
|
|
64e2: b082 sub sp, #8
|
|
LV_ASSERT_STYLE_LIST(list);
|
|
LV_ASSERT_STYLE(style);
|
|
|
|
if(list->style_cnt == 0) return;
|
|
64e4: 7906 ldrb r6, [r0, #4]
|
|
64e6: 2e00 cmp r6, #0
|
|
64e8: d055 beq.n 6596 <_lv_style_list_remove_style+0xb6>
|
|
64ea: 4604 mov r4, r0
|
|
|
|
/*Check if the style really exists here*/
|
|
uint8_t i;
|
|
bool found = false;
|
|
for(i = 0; i < list->style_cnt; i++) {
|
|
if(list->style_list[i] == style) {
|
|
64ec: 6800 ldr r0, [r0, #0]
|
|
64ee: 6803 ldr r3, [r0, #0]
|
|
64f0: 4299 cmp r1, r3
|
|
64f2: d00a beq.n 650a <_lv_style_list_remove_style+0x2a>
|
|
64f4: 4603 mov r3, r0
|
|
64f6: 1e75 subs r5, r6, #1
|
|
64f8: b2ed uxtb r5, r5
|
|
64fa: eb00 0585 add.w r5, r0, r5, lsl #2
|
|
for(i = 0; i < list->style_cnt; i++) {
|
|
64fe: 429d cmp r5, r3
|
|
6500: d049 beq.n 6596 <_lv_style_list_remove_style+0xb6>
|
|
if(list->style_list[i] == style) {
|
|
6502: f853 2f04 ldr.w r2, [r3, #4]!
|
|
6506: 428a cmp r2, r1
|
|
6508: d1f9 bne.n 64fe <_lv_style_list_remove_style+0x1e>
|
|
650a: 460d mov r5, r1
|
|
break;
|
|
}
|
|
}
|
|
if(found == false) return;
|
|
|
|
if(list->style_cnt == 1) {
|
|
650c: 2e01 cmp r6, #1
|
|
650e: d00e beq.n 652e <_lv_style_list_remove_style+0x4e>
|
|
list->style_cnt = 0;
|
|
list->has_local = 0;
|
|
return;
|
|
}
|
|
|
|
lv_style_t ** new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt - 1));
|
|
6510: 1e71 subs r1, r6, #1
|
|
6512: 0089 lsls r1, r1, #2
|
|
6514: 4b21 ldr r3, [pc, #132] ; (659c <_lv_style_list_remove_style+0xbc>)
|
|
6516: 4798 blx r3
|
|
6518: 4606 mov r6, r0
|
|
LV_ASSERT_MEM(new_classes);
|
|
651a: 4b21 ldr r3, [pc, #132] ; (65a0 <_lv_style_list_remove_style+0xc0>)
|
|
651c: 4798 blx r3
|
|
651e: b180 cbz r0, 6542 <_lv_style_list_remove_style+0x62>
|
|
if(new_classes == NULL) {
|
|
6520: b1ee cbz r6, 655e <_lv_style_list_remove_style+0x7e>
|
|
LV_LOG_WARN("lv_style_list_remove_style: couldn't reallocate class list");
|
|
return;
|
|
}
|
|
uint8_t j;
|
|
for(i = 0, j = 0; i < list->style_cnt; i++) {
|
|
6522: 7921 ldrb r1, [r4, #4]
|
|
6524: 2900 cmp r1, #0
|
|
6526: d033 beq.n 6590 <_lv_style_list_remove_style+0xb0>
|
|
6528: 2200 movs r2, #0
|
|
652a: 4613 mov r3, r2
|
|
652c: e026 b.n 657c <_lv_style_list_remove_style+0x9c>
|
|
lv_mem_free(list->style_list);
|
|
652e: 4b1d ldr r3, [pc, #116] ; (65a4 <_lv_style_list_remove_style+0xc4>)
|
|
6530: 4798 blx r3
|
|
list->style_list = NULL;
|
|
6532: 2300 movs r3, #0
|
|
6534: 6023 str r3, [r4, #0]
|
|
list->style_cnt = 0;
|
|
6536: 7123 strb r3, [r4, #4]
|
|
list->has_local = 0;
|
|
6538: 7962 ldrb r2, [r4, #5]
|
|
653a: f363 0200 bfi r2, r3, #0, #1
|
|
653e: 7162 strb r2, [r4, #5]
|
|
return;
|
|
6540: e029 b.n 6596 <_lv_style_list_remove_style+0xb6>
|
|
LV_ASSERT_MEM(new_classes);
|
|
6542: 4b19 ldr r3, [pc, #100] ; (65a8 <_lv_style_list_remove_style+0xc8>)
|
|
6544: 9300 str r3, [sp, #0]
|
|
6546: f44f 7282 mov.w r2, #260 ; 0x104
|
|
654a: 4918 ldr r1, [pc, #96] ; (65ac <_lv_style_list_remove_style+0xcc>)
|
|
654c: 2003 movs r0, #3
|
|
654e: 4c18 ldr r4, [pc, #96] ; (65b0 <_lv_style_list_remove_style+0xd0>)
|
|
6550: 47a0 blx r4
|
|
6552: 4632 mov r2, r6
|
|
6554: 2300 movs r3, #0
|
|
6556: 4817 ldr r0, [pc, #92] ; (65b4 <_lv_style_list_remove_style+0xd4>)
|
|
6558: 4917 ldr r1, [pc, #92] ; (65b8 <_lv_style_list_remove_style+0xd8>)
|
|
655a: 4788 blx r1
|
|
655c: e7fe b.n 655c <_lv_style_list_remove_style+0x7c>
|
|
LV_LOG_WARN("lv_style_list_remove_style: couldn't reallocate class list");
|
|
655e: 4b17 ldr r3, [pc, #92] ; (65bc <_lv_style_list_remove_style+0xdc>)
|
|
6560: 9300 str r3, [sp, #0]
|
|
6562: 4b11 ldr r3, [pc, #68] ; (65a8 <_lv_style_list_remove_style+0xc8>)
|
|
6564: f44f 7283 mov.w r2, #262 ; 0x106
|
|
6568: 4910 ldr r1, [pc, #64] ; (65ac <_lv_style_list_remove_style+0xcc>)
|
|
656a: 2002 movs r0, #2
|
|
656c: 4c10 ldr r4, [pc, #64] ; (65b0 <_lv_style_list_remove_style+0xd0>)
|
|
656e: 47a0 blx r4
|
|
return;
|
|
6570: e011 b.n 6596 <_lv_style_list_remove_style+0xb6>
|
|
for(i = 0, j = 0; i < list->style_cnt; i++) {
|
|
6572: 3301 adds r3, #1
|
|
6574: b2db uxtb r3, r3
|
|
6576: 7921 ldrb r1, [r4, #4]
|
|
6578: 4299 cmp r1, r3
|
|
657a: d909 bls.n 6590 <_lv_style_list_remove_style+0xb0>
|
|
if(list->style_list[i] == style) continue;
|
|
657c: 6821 ldr r1, [r4, #0]
|
|
657e: f851 1023 ldr.w r1, [r1, r3, lsl #2]
|
|
6582: 428d cmp r5, r1
|
|
6584: d0f5 beq.n 6572 <_lv_style_list_remove_style+0x92>
|
|
new_classes[j] = list->style_list[i];
|
|
6586: f846 1022 str.w r1, [r6, r2, lsl #2]
|
|
j++;
|
|
658a: 3201 adds r2, #1
|
|
658c: b2d2 uxtb r2, r2
|
|
658e: e7f0 b.n 6572 <_lv_style_list_remove_style+0x92>
|
|
|
|
}
|
|
|
|
list->style_cnt--;
|
|
6590: 3901 subs r1, #1
|
|
6592: 7121 strb r1, [r4, #4]
|
|
list->style_list = new_classes;
|
|
6594: 6026 str r6, [r4, #0]
|
|
}
|
|
6596: b002 add sp, #8
|
|
6598: bd70 pop {r4, r5, r6, pc}
|
|
659a: bf00 nop
|
|
659c: 00012881 .word 0x00012881
|
|
65a0: 00002299 .word 0x00002299
|
|
65a4: 000124ad .word 0x000124ad
|
|
65a8: 00024a64 .word 0x00024a64
|
|
65ac: 00024b24 .word 0x00024b24
|
|
65b0: 00012245 .word 0x00012245
|
|
65b4: 00023fc0 .word 0x00023fc0
|
|
65b8: 000022a1 .word 0x000022a1
|
|
65bc: 00024b50 .word 0x00024b50
|
|
|
|
000065c0 <_lv_style_list_add_style>:
|
|
if(list == NULL) return;
|
|
65c0: 2800 cmp r0, #0
|
|
65c2: d051 beq.n 6668 <_lv_style_list_add_style+0xa8>
|
|
{
|
|
65c4: b570 push {r4, r5, r6, lr}
|
|
65c6: b082 sub sp, #8
|
|
65c8: 4604 mov r4, r0
|
|
65ca: 460e mov r6, r1
|
|
_lv_style_list_remove_style(list, style);
|
|
65cc: 4b27 ldr r3, [pc, #156] ; (666c <_lv_style_list_add_style+0xac>)
|
|
65ce: 4798 blx r3
|
|
if(list->style_cnt == 0) new_classes = lv_mem_alloc(sizeof(lv_style_t *));
|
|
65d0: 7923 ldrb r3, [r4, #4]
|
|
65d2: bb63 cbnz r3, 662e <_lv_style_list_add_style+0x6e>
|
|
65d4: 2004 movs r0, #4
|
|
65d6: 4b26 ldr r3, [pc, #152] ; (6670 <_lv_style_list_add_style+0xb0>)
|
|
65d8: 4798 blx r3
|
|
65da: 4605 mov r5, r0
|
|
LV_ASSERT_MEM(new_classes);
|
|
65dc: 4628 mov r0, r5
|
|
65de: 4b25 ldr r3, [pc, #148] ; (6674 <_lv_style_list_add_style+0xb4>)
|
|
65e0: 4798 blx r3
|
|
65e2: b358 cbz r0, 663c <_lv_style_list_add_style+0x7c>
|
|
if(new_classes == NULL) {
|
|
65e4: 2d00 cmp r5, #0
|
|
65e6: d036 beq.n 6656 <_lv_style_list_add_style+0x96>
|
|
if(list->has_trans) first_style++;
|
|
65e8: 7963 ldrb r3, [r4, #5]
|
|
uint8_t first_style = 0;
|
|
65ea: f3c3 0040 ubfx r0, r3, #1, #1
|
|
if(list->has_local) first_style++;
|
|
65ee: f013 0f01 tst.w r3, #1
|
|
65f2: bf18 it ne
|
|
65f4: 3001 addne r0, #1
|
|
for(i = list->style_cnt; i > first_style; i--) {
|
|
65f6: 7923 ldrb r3, [r4, #4]
|
|
65f8: 4298 cmp r0, r3
|
|
65fa: d210 bcs.n 661e <_lv_style_list_add_style+0x5e>
|
|
65fc: eb05 0183 add.w r1, r5, r3, lsl #2
|
|
6600: f103 4280 add.w r2, r3, #1073741824 ; 0x40000000
|
|
6604: 3a01 subs r2, #1
|
|
6606: 3b01 subs r3, #1
|
|
6608: 1a1b subs r3, r3, r0
|
|
660a: b2db uxtb r3, r3
|
|
660c: 1ad3 subs r3, r2, r3
|
|
660e: eb05 0383 add.w r3, r5, r3, lsl #2
|
|
new_classes[i] = new_classes[i - 1];
|
|
6612: f851 2c04 ldr.w r2, [r1, #-4]
|
|
6616: f841 2904 str.w r2, [r1], #-4
|
|
for(i = list->style_cnt; i > first_style; i--) {
|
|
661a: 4299 cmp r1, r3
|
|
661c: d1f9 bne.n 6612 <_lv_style_list_add_style+0x52>
|
|
new_classes[first_style] = style;
|
|
661e: f845 6020 str.w r6, [r5, r0, lsl #2]
|
|
list->style_cnt++;
|
|
6622: 7923 ldrb r3, [r4, #4]
|
|
6624: 3301 adds r3, #1
|
|
6626: 7123 strb r3, [r4, #4]
|
|
list->style_list = new_classes;
|
|
6628: 6025 str r5, [r4, #0]
|
|
}
|
|
662a: b002 add sp, #8
|
|
662c: bd70 pop {r4, r5, r6, pc}
|
|
else new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt + 1));
|
|
662e: 3301 adds r3, #1
|
|
6630: 0099 lsls r1, r3, #2
|
|
6632: 6820 ldr r0, [r4, #0]
|
|
6634: 4b10 ldr r3, [pc, #64] ; (6678 <_lv_style_list_add_style+0xb8>)
|
|
6636: 4798 blx r3
|
|
6638: 4605 mov r5, r0
|
|
663a: e7cf b.n 65dc <_lv_style_list_add_style+0x1c>
|
|
LV_ASSERT_MEM(new_classes);
|
|
663c: 4b0f ldr r3, [pc, #60] ; (667c <_lv_style_list_add_style+0xbc>)
|
|
663e: 9300 str r3, [sp, #0]
|
|
6640: 22d0 movs r2, #208 ; 0xd0
|
|
6642: 490f ldr r1, [pc, #60] ; (6680 <_lv_style_list_add_style+0xc0>)
|
|
6644: 2003 movs r0, #3
|
|
6646: 4c0f ldr r4, [pc, #60] ; (6684 <_lv_style_list_add_style+0xc4>)
|
|
6648: 47a0 blx r4
|
|
664a: 462a mov r2, r5
|
|
664c: 2300 movs r3, #0
|
|
664e: 480e ldr r0, [pc, #56] ; (6688 <_lv_style_list_add_style+0xc8>)
|
|
6650: 490e ldr r1, [pc, #56] ; (668c <_lv_style_list_add_style+0xcc>)
|
|
6652: 4788 blx r1
|
|
6654: e7fe b.n 6654 <_lv_style_list_add_style+0x94>
|
|
LV_LOG_WARN("lv_style_list_add_style: couldn't add the class");
|
|
6656: 4b0e ldr r3, [pc, #56] ; (6690 <_lv_style_list_add_style+0xd0>)
|
|
6658: 9300 str r3, [sp, #0]
|
|
665a: 4b08 ldr r3, [pc, #32] ; (667c <_lv_style_list_add_style+0xbc>)
|
|
665c: 22d2 movs r2, #210 ; 0xd2
|
|
665e: 4908 ldr r1, [pc, #32] ; (6680 <_lv_style_list_add_style+0xc0>)
|
|
6660: 2002 movs r0, #2
|
|
6662: 4c08 ldr r4, [pc, #32] ; (6684 <_lv_style_list_add_style+0xc4>)
|
|
6664: 47a0 blx r4
|
|
return;
|
|
6666: e7e0 b.n 662a <_lv_style_list_add_style+0x6a>
|
|
6668: 4770 bx lr
|
|
666a: bf00 nop
|
|
666c: 000064e1 .word 0x000064e1
|
|
6670: 000123c5 .word 0x000123c5
|
|
6674: 00002299 .word 0x00002299
|
|
6678: 00012881 .word 0x00012881
|
|
667c: 00024a80 .word 0x00024a80
|
|
6680: 00024b24 .word 0x00024b24
|
|
6684: 00012245 .word 0x00012245
|
|
6688: 00023fc0 .word 0x00023fc0
|
|
668c: 000022a1 .word 0x000022a1
|
|
6690: 00024b8c .word 0x00024b8c
|
|
|
|
00006694 <get_alloc_local_style>:
|
|
* Get he local style from a style list. Allocate it if not exists yet.
|
|
* @param list pointer to a style list
|
|
* @return pointer to the local style
|
|
*/
|
|
static lv_style_t * get_alloc_local_style(lv_style_list_t * list)
|
|
{
|
|
6694: b530 push {r4, r5, lr}
|
|
6696: b083 sub sp, #12
|
|
LV_ASSERT_STYLE_LIST(list);
|
|
|
|
if(list->has_local) return lv_style_list_get_style(list, 0);
|
|
6698: 7943 ldrb r3, [r0, #5]
|
|
669a: f013 0f01 tst.w r3, #1
|
|
669e: d010 beq.n 66c2 <get_alloc_local_style+0x2e>
|
|
if(list->has_trans && list->skip_trans) id++;
|
|
66a0: f003 0306 and.w r3, r3, #6
|
|
66a4: 2b06 cmp r3, #6
|
|
66a6: bf14 ite ne
|
|
66a8: 2300 movne r3, #0
|
|
66aa: 2301 moveq r3, #1
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
66ac: 7902 ldrb r2, [r0, #4]
|
|
66ae: 2a00 cmp r2, #0
|
|
66b0: d034 beq.n 671c <get_alloc_local_style+0x88>
|
|
66b2: 429a cmp r2, r3
|
|
66b4: d934 bls.n 6720 <get_alloc_local_style+0x8c>
|
|
return list->style_list[id];
|
|
66b6: 6802 ldr r2, [r0, #0]
|
|
66b8: f852 4023 ldr.w r4, [r2, r3, lsl #2]
|
|
/*Add the local style to the furst place*/
|
|
_lv_style_list_add_style(list, local_style);
|
|
list->has_local = 1;
|
|
|
|
return local_style;
|
|
}
|
|
66bc: 4620 mov r0, r4
|
|
66be: b003 add sp, #12
|
|
66c0: bd30 pop {r4, r5, pc}
|
|
66c2: 4605 mov r5, r0
|
|
lv_style_t * local_style = lv_mem_alloc(sizeof(lv_style_t));
|
|
66c4: 2004 movs r0, #4
|
|
66c6: 4b17 ldr r3, [pc, #92] ; (6724 <get_alloc_local_style+0x90>)
|
|
66c8: 4798 blx r3
|
|
66ca: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(local_style);
|
|
66cc: 4b16 ldr r3, [pc, #88] ; (6728 <get_alloc_local_style+0x94>)
|
|
66ce: 4798 blx r3
|
|
66d0: b160 cbz r0, 66ec <get_alloc_local_style+0x58>
|
|
if(local_style == NULL) {
|
|
66d2: b1cc cbz r4, 6708 <get_alloc_local_style+0x74>
|
|
lv_style_init(local_style);
|
|
66d4: 4620 mov r0, r4
|
|
66d6: 4b15 ldr r3, [pc, #84] ; (672c <get_alloc_local_style+0x98>)
|
|
66d8: 4798 blx r3
|
|
_lv_style_list_add_style(list, local_style);
|
|
66da: 4621 mov r1, r4
|
|
66dc: 4628 mov r0, r5
|
|
66de: 4b14 ldr r3, [pc, #80] ; (6730 <get_alloc_local_style+0x9c>)
|
|
66e0: 4798 blx r3
|
|
list->has_local = 1;
|
|
66e2: 796b ldrb r3, [r5, #5]
|
|
66e4: f043 0301 orr.w r3, r3, #1
|
|
66e8: 716b strb r3, [r5, #5]
|
|
return local_style;
|
|
66ea: e7e7 b.n 66bc <get_alloc_local_style+0x28>
|
|
LV_ASSERT_MEM(local_style);
|
|
66ec: 4b11 ldr r3, [pc, #68] ; (6734 <get_alloc_local_style+0xa0>)
|
|
66ee: 9300 str r3, [sp, #0]
|
|
66f0: f240 4235 movw r2, #1077 ; 0x435
|
|
66f4: 4910 ldr r1, [pc, #64] ; (6738 <get_alloc_local_style+0xa4>)
|
|
66f6: 2003 movs r0, #3
|
|
66f8: 4d10 ldr r5, [pc, #64] ; (673c <get_alloc_local_style+0xa8>)
|
|
66fa: 47a8 blx r5
|
|
66fc: 4622 mov r2, r4
|
|
66fe: 2300 movs r3, #0
|
|
6700: 480f ldr r0, [pc, #60] ; (6740 <get_alloc_local_style+0xac>)
|
|
6702: 4910 ldr r1, [pc, #64] ; (6744 <get_alloc_local_style+0xb0>)
|
|
6704: 4788 blx r1
|
|
6706: e7fe b.n 6706 <get_alloc_local_style+0x72>
|
|
LV_LOG_WARN("get_local_style: couldn't create local style");
|
|
6708: 4b0f ldr r3, [pc, #60] ; (6748 <get_alloc_local_style+0xb4>)
|
|
670a: 9300 str r3, [sp, #0]
|
|
670c: 4b09 ldr r3, [pc, #36] ; (6734 <get_alloc_local_style+0xa0>)
|
|
670e: f240 4237 movw r2, #1079 ; 0x437
|
|
6712: 4909 ldr r1, [pc, #36] ; (6738 <get_alloc_local_style+0xa4>)
|
|
6714: 2002 movs r0, #2
|
|
6716: 4d09 ldr r5, [pc, #36] ; (673c <get_alloc_local_style+0xa8>)
|
|
6718: 47a8 blx r5
|
|
return NULL;
|
|
671a: e7cf b.n 66bc <get_alloc_local_style+0x28>
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
671c: 2400 movs r4, #0
|
|
671e: e7cd b.n 66bc <get_alloc_local_style+0x28>
|
|
6720: 2400 movs r4, #0
|
|
6722: e7cb b.n 66bc <get_alloc_local_style+0x28>
|
|
6724: 000123c5 .word 0x000123c5
|
|
6728: 00002299 .word 0x00002299
|
|
672c: 000064c1 .word 0x000064c1
|
|
6730: 000065c1 .word 0x000065c1
|
|
6734: 00024a9c .word 0x00024a9c
|
|
6738: 00024b24 .word 0x00024b24
|
|
673c: 00012245 .word 0x00012245
|
|
6740: 00023fc0 .word 0x00023fc0
|
|
6744: 000022a1 .word 0x000022a1
|
|
6748: 00024bbc .word 0x00024bbc
|
|
|
|
0000674c <lv_style_reset>:
|
|
{
|
|
674c: b510 push {r4, lr}
|
|
674e: 4604 mov r4, r0
|
|
lv_mem_free(style->map);
|
|
6750: 6800 ldr r0, [r0, #0]
|
|
6752: 4b02 ldr r3, [pc, #8] ; (675c <lv_style_reset+0x10>)
|
|
6754: 4798 blx r3
|
|
style->map = NULL;
|
|
6756: 2300 movs r3, #0
|
|
6758: 6023 str r3, [r4, #0]
|
|
675a: bd10 pop {r4, pc}
|
|
675c: 000124ad .word 0x000124ad
|
|
|
|
00006760 <_lv_style_get_mem_size>:
|
|
if(style->map == NULL) return 0;
|
|
6760: 6802 ldr r2, [r0, #0]
|
|
6762: b1d2 cbz r2, 679a <_lv_style_get_mem_size+0x3a>
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6764: 7813 ldrb r3, [r2, #0]
|
|
6766: 2bff cmp r3, #255 ; 0xff
|
|
6768: d013 beq.n 6792 <_lv_style_get_mem_size+0x32>
|
|
676a: 2000 movs r0, #0
|
|
676c: e006 b.n 677c <_lv_style_get_mem_size+0x1c>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
676e: 2b0b cmp r3, #11
|
|
6770: dc0a bgt.n 6788 <_lv_style_get_mem_size+0x28>
|
|
6772: 3002 adds r0, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6774: 3002 adds r0, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6776: 5c13 ldrb r3, [r2, r0]
|
|
6778: 2bff cmp r3, #255 ; 0xff
|
|
677a: d00b beq.n 6794 <_lv_style_get_mem_size+0x34>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
677c: f003 030f and.w r3, r3, #15
|
|
6780: 2b08 cmp r3, #8
|
|
6782: dcf4 bgt.n 676e <_lv_style_get_mem_size+0xe>
|
|
6784: 3002 adds r0, #2
|
|
6786: e7f5 b.n 6774 <_lv_style_get_mem_size+0x14>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6788: 2b0d cmp r3, #13
|
|
678a: bfd4 ite le
|
|
678c: 3001 addle r0, #1
|
|
else i += sizeof(const void *);
|
|
678e: 3004 addgt r0, #4
|
|
6790: e7f0 b.n 6774 <_lv_style_get_mem_size+0x14>
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6792: 2000 movs r0, #0
|
|
return i + sizeof(lv_style_property_t);
|
|
6794: 3002 adds r0, #2
|
|
6796: b280 uxth r0, r0
|
|
6798: 4770 bx lr
|
|
if(style->map == NULL) return 0;
|
|
679a: 2000 movs r0, #0
|
|
}
|
|
679c: 4770 bx lr
|
|
...
|
|
|
|
000067a0 <lv_style_copy>:
|
|
if(style_src == NULL) return;
|
|
67a0: b181 cbz r1, 67c4 <lv_style_copy+0x24>
|
|
{
|
|
67a2: b570 push {r4, r5, r6, lr}
|
|
67a4: 460c mov r4, r1
|
|
if(style_src->map == NULL) return;
|
|
67a6: 680a ldr r2, [r1, #0]
|
|
67a8: b15a cbz r2, 67c2 <lv_style_copy+0x22>
|
|
67aa: 4605 mov r5, r0
|
|
uint16_t size = _lv_style_get_mem_size(style_src);
|
|
67ac: 4608 mov r0, r1
|
|
67ae: 4b06 ldr r3, [pc, #24] ; (67c8 <lv_style_copy+0x28>)
|
|
67b0: 4798 blx r3
|
|
67b2: 4606 mov r6, r0
|
|
style_dest->map = lv_mem_alloc(size);
|
|
67b4: 4b05 ldr r3, [pc, #20] ; (67cc <lv_style_copy+0x2c>)
|
|
67b6: 4798 blx r3
|
|
67b8: 6028 str r0, [r5, #0]
|
|
_lv_memcpy(style_dest->map, style_src->map, size);
|
|
67ba: 4632 mov r2, r6
|
|
67bc: 6821 ldr r1, [r4, #0]
|
|
67be: 4b04 ldr r3, [pc, #16] ; (67d0 <lv_style_copy+0x30>)
|
|
67c0: 4798 blx r3
|
|
67c2: bd70 pop {r4, r5, r6, pc}
|
|
67c4: 4770 bx lr
|
|
67c6: bf00 nop
|
|
67c8: 00006761 .word 0x00006761
|
|
67cc: 000123c5 .word 0x000123c5
|
|
67d0: 0001263d .word 0x0001263d
|
|
|
|
000067d4 <lv_style_remove_prop>:
|
|
if(style == NULL) return false;
|
|
67d4: 2800 cmp r0, #0
|
|
67d6: d06b beq.n 68b0 <lv_style_remove_prop+0xdc>
|
|
{
|
|
67d8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
67dc: 4607 mov r7, r0
|
|
if(style->map == NULL) return -1;
|
|
67de: 6800 ldr r0, [r0, #0]
|
|
67e0: 2800 cmp r0, #0
|
|
67e2: d06a beq.n 68ba <lv_style_remove_prop+0xe6>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
67e4: b2cd uxtb r5, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
67e6: 0a0e lsrs r6, r1, #8
|
|
67e8: 46b4 mov ip, r6
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
67ea: 7803 ldrb r3, [r0, #0]
|
|
67ec: 2bff cmp r3, #255 ; 0xff
|
|
67ee: d03b beq.n 6868 <lv_style_remove_prop+0x94>
|
|
67f0: f04f 3eff mov.w lr, #4294967295
|
|
67f4: 46f0 mov r8, lr
|
|
67f6: 2200 movs r2, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
67f8: f3cc 0c06 ubfx ip, ip, #0, #7
|
|
67fc: e027 b.n 684e <lv_style_remove_prop+0x7a>
|
|
attr_i.full = style->map[i + 1];
|
|
67fe: 1884 adds r4, r0, r2
|
|
6800: 7864 ldrb r4, [r4, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
6802: ea86 0904 eor.w r9, r6, r4
|
|
6806: f019 0f7f tst.w r9, #127 ; 0x7f
|
|
680a: d00b beq.n 6824 <lv_style_remove_prop+0x50>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
680c: f004 047f and.w r4, r4, #127 ; 0x7f
|
|
6810: ea34 090c bics.w r9, r4, ip
|
|
6814: d11d bne.n 6852 <lv_style_remove_prop+0x7e>
|
|
if(attr_i.bits.state > weight) {
|
|
6816: 4544 cmp r4, r8
|
|
weight = attr_i.bits.state;
|
|
6818: bfc4 itt gt
|
|
681a: fa0f f884 sxthgt.w r8, r4
|
|
id_guess = i;
|
|
681e: fa0f fe82 sxthgt.w lr, r2
|
|
6822: e016 b.n 6852 <lv_style_remove_prop+0x7e>
|
|
return i;
|
|
6824: 4696 mov lr, r2
|
|
if(id >= 0) {
|
|
6826: f1be 0f00 cmp.w lr, #0
|
|
682a: db43 blt.n 68b4 <lv_style_remove_prop+0xe0>
|
|
attr_found.full = *(style->map + id + 1);
|
|
682c: 4674 mov r4, lr
|
|
682e: 4470 add r0, lr
|
|
if(attr_found.bits.state == attr_goal.bits.state) {
|
|
6830: 7843 ldrb r3, [r0, #1]
|
|
6832: 405e eors r6, r3
|
|
6834: f016 0f7f tst.w r6, #127 ; 0x7f
|
|
6838: d019 beq.n 686e <lv_style_remove_prop+0x9a>
|
|
return false;
|
|
683a: 2000 movs r0, #0
|
|
683c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
6840: 2b0b cmp r3, #11
|
|
6842: dc0c bgt.n 685e <lv_style_remove_prop+0x8a>
|
|
6844: 3202 adds r2, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6846: 3202 adds r2, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6848: 5c83 ldrb r3, [r0, r2]
|
|
684a: 2bff cmp r3, #255 ; 0xff
|
|
684c: d0eb beq.n 6826 <lv_style_remove_prop+0x52>
|
|
if(style->map[i] == id_to_find) {
|
|
684e: 429d cmp r5, r3
|
|
6850: d0d5 beq.n 67fe <lv_style_remove_prop+0x2a>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
6852: f003 030f and.w r3, r3, #15
|
|
6856: 2b08 cmp r3, #8
|
|
6858: dcf2 bgt.n 6840 <lv_style_remove_prop+0x6c>
|
|
685a: 3202 adds r2, #2
|
|
685c: e7f3 b.n 6846 <lv_style_remove_prop+0x72>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
685e: 2b0d cmp r3, #13
|
|
6860: bfd4 ite le
|
|
6862: 3201 addle r2, #1
|
|
else i += sizeof(const void *);
|
|
6864: 3204 addgt r2, #4
|
|
6866: e7ee b.n 6846 <lv_style_remove_prop+0x72>
|
|
int16_t id_guess = -1;
|
|
6868: f04f 3eff mov.w lr, #4294967295
|
|
686c: e7db b.n 6826 <lv_style_remove_prop+0x52>
|
|
686e: 460d mov r5, r1
|
|
uint32_t map_size = _lv_style_get_mem_size(style);
|
|
6870: 4638 mov r0, r7
|
|
6872: 4b13 ldr r3, [pc, #76] ; (68c0 <lv_style_remove_prop+0xec>)
|
|
6874: 4798 blx r3
|
|
if((prop & 0xF) < LV_STYLE_ID_COLOR) prop_size += sizeof(lv_style_int_t);
|
|
6876: f005 010f and.w r1, r5, #15
|
|
else if((prop & 0xF) < LV_STYLE_ID_OPA) prop_size += sizeof(lv_color_t);
|
|
687a: 290b cmp r1, #11
|
|
687c: dd04 ble.n 6888 <lv_style_remove_prop+0xb4>
|
|
else prop_size += sizeof(const void *);
|
|
687e: 290e cmp r1, #14
|
|
6880: bfb4 ite lt
|
|
6882: 2103 movlt r1, #3
|
|
6884: 2106 movge r1, #6
|
|
6886: e000 b.n 688a <lv_style_remove_prop+0xb6>
|
|
else if((prop & 0xF) < LV_STYLE_ID_OPA) prop_size += sizeof(lv_color_t);
|
|
6888: 2104 movs r1, #4
|
|
for(i = id; i < map_size - prop_size; i++) {
|
|
688a: 460d mov r5, r1
|
|
688c: 1a41 subs r1, r0, r1
|
|
688e: 428c cmp r4, r1
|
|
6890: d207 bcs.n 68a2 <lv_style_remove_prop+0xce>
|
|
6892: 4623 mov r3, r4
|
|
style->map[i] = style->map[i + prop_size];
|
|
6894: 683a ldr r2, [r7, #0]
|
|
6896: 1954 adds r4, r2, r5
|
|
6898: 5ce4 ldrb r4, [r4, r3]
|
|
689a: 54d4 strb r4, [r2, r3]
|
|
for(i = id; i < map_size - prop_size; i++) {
|
|
689c: 3301 adds r3, #1
|
|
689e: 428b cmp r3, r1
|
|
68a0: d1f8 bne.n 6894 <lv_style_remove_prop+0xc0>
|
|
style->map = lv_mem_realloc(style->map, map_size - prop_size);
|
|
68a2: 6838 ldr r0, [r7, #0]
|
|
68a4: 4b07 ldr r3, [pc, #28] ; (68c4 <lv_style_remove_prop+0xf0>)
|
|
68a6: 4798 blx r3
|
|
68a8: 6038 str r0, [r7, #0]
|
|
return true;
|
|
68aa: 2001 movs r0, #1
|
|
68ac: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
if(style == NULL) return false;
|
|
68b0: 2000 movs r0, #0
|
|
68b2: 4770 bx lr
|
|
return false;
|
|
68b4: 2000 movs r0, #0
|
|
68b6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
68ba: 2000 movs r0, #0
|
|
}
|
|
68bc: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
68c0: 00006761 .word 0x00006761
|
|
68c4: 00012881 .word 0x00012881
|
|
|
|
000068c8 <_lv_style_set_int>:
|
|
{
|
|
68c8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
68cc: b086 sub sp, #24
|
|
68ce: f8ad 100e strh.w r1, [sp, #14]
|
|
68d2: f8ad 200c strh.w r2, [sp, #12]
|
|
if(style->map == NULL) return -1;
|
|
68d6: 6804 ldr r4, [r0, #0]
|
|
68d8: 2c00 cmp r4, #0
|
|
68da: d048 beq.n 696e <_lv_style_set_int+0xa6>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
68dc: b2cf uxtb r7, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
68de: 0a0d lsrs r5, r1, #8
|
|
68e0: 46ae mov lr, r5
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
68e2: 7823 ldrb r3, [r4, #0]
|
|
68e4: 2bff cmp r3, #255 ; 0xff
|
|
68e6: d02c beq.n 6942 <_lv_style_set_int+0x7a>
|
|
68e8: f04f 31ff mov.w r1, #4294967295
|
|
68ec: 4688 mov r8, r1
|
|
68ee: 2200 movs r2, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
68f0: f3ce 0e06 ubfx lr, lr, #0, #7
|
|
68f4: e018 b.n 6928 <_lv_style_set_int+0x60>
|
|
attr_i.full = style->map[i + 1];
|
|
68f6: 18a6 adds r6, r4, r2
|
|
68f8: 7876 ldrb r6, [r6, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
68fa: ea85 0c06 eor.w ip, r5, r6
|
|
68fe: f01c 0f7f tst.w ip, #127 ; 0x7f
|
|
6902: d021 beq.n 6948 <_lv_style_set_int+0x80>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6904: f006 067f and.w r6, r6, #127 ; 0x7f
|
|
6908: ea36 0c0e bics.w ip, r6, lr
|
|
690c: d10e bne.n 692c <_lv_style_set_int+0x64>
|
|
if(attr_i.bits.state > weight) {
|
|
690e: 4546 cmp r6, r8
|
|
weight = attr_i.bits.state;
|
|
6910: bfc4 itt gt
|
|
6912: fa0f f886 sxthgt.w r8, r6
|
|
id_guess = i;
|
|
6916: b211 sxthgt r1, r2
|
|
6918: e008 b.n 692c <_lv_style_set_int+0x64>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
691a: 2b0b cmp r3, #11
|
|
691c: dc0c bgt.n 6938 <_lv_style_set_int+0x70>
|
|
691e: 3202 adds r2, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6920: 3202 adds r2, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6922: 5ca3 ldrb r3, [r4, r2]
|
|
6924: 2bff cmp r3, #255 ; 0xff
|
|
6926: d00e beq.n 6946 <_lv_style_set_int+0x7e>
|
|
if(style->map[i] == id_to_find) {
|
|
6928: 429f cmp r7, r3
|
|
692a: d0e4 beq.n 68f6 <_lv_style_set_int+0x2e>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
692c: f003 030f and.w r3, r3, #15
|
|
6930: 2b08 cmp r3, #8
|
|
6932: dcf2 bgt.n 691a <_lv_style_set_int+0x52>
|
|
6934: 3202 adds r2, #2
|
|
6936: e7f3 b.n 6920 <_lv_style_set_int+0x58>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6938: 2b0d cmp r3, #13
|
|
693a: bfd4 ite le
|
|
693c: 3201 addle r2, #1
|
|
else i += sizeof(const void *);
|
|
693e: 3204 addgt r2, #4
|
|
6940: e7ee b.n 6920 <_lv_style_set_int+0x58>
|
|
int16_t id_guess = -1;
|
|
6942: f04f 31ff mov.w r1, #4294967295
|
|
return id_guess;
|
|
6946: 460a mov r2, r1
|
|
if(id >= 0) {
|
|
6948: 2a00 cmp r2, #0
|
|
694a: db10 blt.n 696e <_lv_style_set_int+0xa6>
|
|
attr_found.full = *(style->map + id + 1);
|
|
694c: 18a3 adds r3, r4, r2
|
|
if(attr_found.bits.state == attr_goal.bits.state) {
|
|
694e: 785b ldrb r3, [r3, #1]
|
|
6950: 405d eors r5, r3
|
|
6952: f015 0f7f tst.w r5, #127 ; 0x7f
|
|
6956: d10a bne.n 696e <_lv_style_set_int+0xa6>
|
|
_lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &value, sizeof(lv_style_int_t));
|
|
6958: 3202 adds r2, #2
|
|
695a: 18a3 adds r3, r4, r2
|
|
*d8 = *s8;
|
|
695c: f89d 100c ldrb.w r1, [sp, #12]
|
|
6960: 54a1 strb r1, [r4, r2]
|
|
6962: f89d 200d ldrb.w r2, [sp, #13]
|
|
6966: 705a strb r2, [r3, #1]
|
|
}
|
|
6968: b006 add sp, #24
|
|
696a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
696e: 4606 mov r6, r0
|
|
lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP;
|
|
6970: 23ff movs r3, #255 ; 0xff
|
|
6972: f8ad 3016 strh.w r3, [sp, #22]
|
|
uint16_t size = _lv_style_get_mem_size(style);
|
|
6976: 4b1d ldr r3, [pc, #116] ; (69ec <_lv_style_set_int+0x124>)
|
|
6978: 4798 blx r3
|
|
if(size == 0) size += end_mark_size;
|
|
697a: 2800 cmp r0, #0
|
|
697c: bf08 it eq
|
|
697e: 2002 moveq r0, #2
|
|
size += sizeof(lv_style_property_t) + sizeof(lv_style_int_t);
|
|
6980: 1d05 adds r5, r0, #4
|
|
style->map = lv_mem_realloc(style->map, size);
|
|
6982: b2ad uxth r5, r5
|
|
6984: 4629 mov r1, r5
|
|
6986: 4620 mov r0, r4
|
|
6988: 4b19 ldr r3, [pc, #100] ; (69f0 <_lv_style_set_int+0x128>)
|
|
698a: 4798 blx r3
|
|
698c: 6030 str r0, [r6, #0]
|
|
LV_ASSERT_MEM(style->map);
|
|
698e: 4b19 ldr r3, [pc, #100] ; (69f4 <_lv_style_set_int+0x12c>)
|
|
6990: 4798 blx r3
|
|
6992: b1e8 cbz r0, 69d0 <_lv_style_set_int+0x108>
|
|
if(style == NULL) return;
|
|
6994: 2e00 cmp r6, #0
|
|
6996: d0e7 beq.n 6968 <_lv_style_set_int+0xa0>
|
|
_lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t));
|
|
6998: 1fab subs r3, r5, #6
|
|
699a: 6832 ldr r2, [r6, #0]
|
|
699c: 18d1 adds r1, r2, r3
|
|
699e: f89d 000e ldrb.w r0, [sp, #14]
|
|
69a2: 54d0 strb r0, [r2, r3]
|
|
69a4: f89d 300f ldrb.w r3, [sp, #15]
|
|
69a8: 704b strb r3, [r1, #1]
|
|
69aa: 1f2b subs r3, r5, #4
|
|
_lv_memcpy_small(style->map + size - sizeof(lv_style_int_t) - end_mark_size, &value, sizeof(lv_style_int_t));
|
|
69ac: 6832 ldr r2, [r6, #0]
|
|
69ae: 18d1 adds r1, r2, r3
|
|
69b0: f89d 000c ldrb.w r0, [sp, #12]
|
|
69b4: 54d0 strb r0, [r2, r3]
|
|
69b6: f89d 300d ldrb.w r3, [sp, #13]
|
|
69ba: 704b strb r3, [r1, #1]
|
|
69bc: 3d02 subs r5, #2
|
|
_lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark));
|
|
69be: 6833 ldr r3, [r6, #0]
|
|
69c0: 195a adds r2, r3, r5
|
|
69c2: f89d 1016 ldrb.w r1, [sp, #22]
|
|
69c6: 5559 strb r1, [r3, r5]
|
|
69c8: f89d 3017 ldrb.w r3, [sp, #23]
|
|
69cc: 7053 strb r3, [r2, #1]
|
|
69ce: e7cb b.n 6968 <_lv_style_set_int+0xa0>
|
|
LV_ASSERT_MEM(style->map);
|
|
69d0: 4b09 ldr r3, [pc, #36] ; (69f8 <_lv_style_set_int+0x130>)
|
|
69d2: 9300 str r3, [sp, #0]
|
|
69d4: f44f 72c3 mov.w r2, #390 ; 0x186
|
|
69d8: 4908 ldr r1, [pc, #32] ; (69fc <_lv_style_set_int+0x134>)
|
|
69da: 2003 movs r0, #3
|
|
69dc: 4c08 ldr r4, [pc, #32] ; (6a00 <_lv_style_set_int+0x138>)
|
|
69de: 47a0 blx r4
|
|
69e0: 6832 ldr r2, [r6, #0]
|
|
69e2: 2300 movs r3, #0
|
|
69e4: 4807 ldr r0, [pc, #28] ; (6a04 <_lv_style_set_int+0x13c>)
|
|
69e6: 4908 ldr r1, [pc, #32] ; (6a08 <_lv_style_set_int+0x140>)
|
|
69e8: 4788 blx r1
|
|
69ea: e7fe b.n 69ea <_lv_style_set_int+0x122>
|
|
69ec: 00006761 .word 0x00006761
|
|
69f0: 00012881 .word 0x00012881
|
|
69f4: 00002299 .word 0x00002299
|
|
69f8: 00024ab4 .word 0x00024ab4
|
|
69fc: 00024b24 .word 0x00024b24
|
|
6a00: 00012245 .word 0x00012245
|
|
6a04: 00023fc0 .word 0x00023fc0
|
|
6a08: 000022a1 .word 0x000022a1
|
|
|
|
00006a0c <_lv_style_set_color>:
|
|
{
|
|
6a0c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
6a10: b086 sub sp, #24
|
|
6a12: f8ad 200c strh.w r2, [sp, #12]
|
|
6a16: f8ad 100e strh.w r1, [sp, #14]
|
|
if(style->map == NULL) return -1;
|
|
6a1a: 6804 ldr r4, [r0, #0]
|
|
6a1c: 2c00 cmp r4, #0
|
|
6a1e: d048 beq.n 6ab2 <_lv_style_set_color+0xa6>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
6a20: b2cf uxtb r7, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
6a22: 0a0d lsrs r5, r1, #8
|
|
6a24: 46ae mov lr, r5
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6a26: 7823 ldrb r3, [r4, #0]
|
|
6a28: 2bff cmp r3, #255 ; 0xff
|
|
6a2a: d02c beq.n 6a86 <_lv_style_set_color+0x7a>
|
|
6a2c: f04f 31ff mov.w r1, #4294967295
|
|
6a30: 4688 mov r8, r1
|
|
6a32: 2200 movs r2, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6a34: f3ce 0e06 ubfx lr, lr, #0, #7
|
|
6a38: e018 b.n 6a6c <_lv_style_set_color+0x60>
|
|
attr_i.full = style->map[i + 1];
|
|
6a3a: 18a6 adds r6, r4, r2
|
|
6a3c: 7876 ldrb r6, [r6, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
6a3e: ea85 0c06 eor.w ip, r5, r6
|
|
6a42: f01c 0f7f tst.w ip, #127 ; 0x7f
|
|
6a46: d021 beq.n 6a8c <_lv_style_set_color+0x80>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6a48: f006 067f and.w r6, r6, #127 ; 0x7f
|
|
6a4c: ea36 0c0e bics.w ip, r6, lr
|
|
6a50: d10e bne.n 6a70 <_lv_style_set_color+0x64>
|
|
if(attr_i.bits.state > weight) {
|
|
6a52: 4546 cmp r6, r8
|
|
weight = attr_i.bits.state;
|
|
6a54: bfc4 itt gt
|
|
6a56: fa0f f886 sxthgt.w r8, r6
|
|
id_guess = i;
|
|
6a5a: b211 sxthgt r1, r2
|
|
6a5c: e008 b.n 6a70 <_lv_style_set_color+0x64>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
6a5e: 2b0b cmp r3, #11
|
|
6a60: dc0c bgt.n 6a7c <_lv_style_set_color+0x70>
|
|
6a62: 3202 adds r2, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6a64: 3202 adds r2, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6a66: 5ca3 ldrb r3, [r4, r2]
|
|
6a68: 2bff cmp r3, #255 ; 0xff
|
|
6a6a: d00e beq.n 6a8a <_lv_style_set_color+0x7e>
|
|
if(style->map[i] == id_to_find) {
|
|
6a6c: 429f cmp r7, r3
|
|
6a6e: d0e4 beq.n 6a3a <_lv_style_set_color+0x2e>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
6a70: f003 030f and.w r3, r3, #15
|
|
6a74: 2b08 cmp r3, #8
|
|
6a76: dcf2 bgt.n 6a5e <_lv_style_set_color+0x52>
|
|
6a78: 3202 adds r2, #2
|
|
6a7a: e7f3 b.n 6a64 <_lv_style_set_color+0x58>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6a7c: 2b0d cmp r3, #13
|
|
6a7e: bfd4 ite le
|
|
6a80: 3201 addle r2, #1
|
|
else i += sizeof(const void *);
|
|
6a82: 3204 addgt r2, #4
|
|
6a84: e7ee b.n 6a64 <_lv_style_set_color+0x58>
|
|
int16_t id_guess = -1;
|
|
6a86: f04f 31ff mov.w r1, #4294967295
|
|
return id_guess;
|
|
6a8a: 460a mov r2, r1
|
|
if(id >= 0) {
|
|
6a8c: 2a00 cmp r2, #0
|
|
6a8e: db10 blt.n 6ab2 <_lv_style_set_color+0xa6>
|
|
attr_found.full = *(style->map + id + 1);
|
|
6a90: 18a3 adds r3, r4, r2
|
|
if(attr_found.bits.state == attr_goal.bits.state) {
|
|
6a92: 785b ldrb r3, [r3, #1]
|
|
6a94: 405d eors r5, r3
|
|
6a96: f015 0f7f tst.w r5, #127 ; 0x7f
|
|
6a9a: d10a bne.n 6ab2 <_lv_style_set_color+0xa6>
|
|
_lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &color, sizeof(lv_color_t));
|
|
6a9c: 3202 adds r2, #2
|
|
6a9e: 18a3 adds r3, r4, r2
|
|
6aa0: f89d 100c ldrb.w r1, [sp, #12]
|
|
6aa4: 54a1 strb r1, [r4, r2]
|
|
6aa6: f89d 200d ldrb.w r2, [sp, #13]
|
|
6aaa: 705a strb r2, [r3, #1]
|
|
}
|
|
6aac: b006 add sp, #24
|
|
6aae: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
6ab2: 4606 mov r6, r0
|
|
lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP;
|
|
6ab4: 23ff movs r3, #255 ; 0xff
|
|
6ab6: f8ad 3016 strh.w r3, [sp, #22]
|
|
uint16_t size = _lv_style_get_mem_size(style);
|
|
6aba: 4b1d ldr r3, [pc, #116] ; (6b30 <_lv_style_set_color+0x124>)
|
|
6abc: 4798 blx r3
|
|
if(size == 0) size += end_mark_size;
|
|
6abe: 2800 cmp r0, #0
|
|
6ac0: bf08 it eq
|
|
6ac2: 2002 moveq r0, #2
|
|
size += sizeof(lv_style_property_t) + sizeof(lv_color_t);
|
|
6ac4: 1d05 adds r5, r0, #4
|
|
style->map = lv_mem_realloc(style->map, size);
|
|
6ac6: b2ad uxth r5, r5
|
|
6ac8: 4629 mov r1, r5
|
|
6aca: 4620 mov r0, r4
|
|
6acc: 4b19 ldr r3, [pc, #100] ; (6b34 <_lv_style_set_color+0x128>)
|
|
6ace: 4798 blx r3
|
|
6ad0: 6030 str r0, [r6, #0]
|
|
LV_ASSERT_MEM(style->map);
|
|
6ad2: 4b19 ldr r3, [pc, #100] ; (6b38 <_lv_style_set_color+0x12c>)
|
|
6ad4: 4798 blx r3
|
|
6ad6: b1e8 cbz r0, 6b14 <_lv_style_set_color+0x108>
|
|
if(style == NULL) return;
|
|
6ad8: 2e00 cmp r6, #0
|
|
6ada: d0e7 beq.n 6aac <_lv_style_set_color+0xa0>
|
|
_lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t));
|
|
6adc: 1fab subs r3, r5, #6
|
|
6ade: 6832 ldr r2, [r6, #0]
|
|
6ae0: 18d1 adds r1, r2, r3
|
|
6ae2: f89d 000e ldrb.w r0, [sp, #14]
|
|
6ae6: 54d0 strb r0, [r2, r3]
|
|
6ae8: f89d 300f ldrb.w r3, [sp, #15]
|
|
6aec: 704b strb r3, [r1, #1]
|
|
6aee: 1f2b subs r3, r5, #4
|
|
_lv_memcpy_small(style->map + size - sizeof(lv_color_t) - end_mark_size, &color, sizeof(lv_color_t));
|
|
6af0: 6832 ldr r2, [r6, #0]
|
|
6af2: 18d1 adds r1, r2, r3
|
|
6af4: f89d 000c ldrb.w r0, [sp, #12]
|
|
6af8: 54d0 strb r0, [r2, r3]
|
|
6afa: f89d 300d ldrb.w r3, [sp, #13]
|
|
6afe: 704b strb r3, [r1, #1]
|
|
6b00: 3d02 subs r5, #2
|
|
_lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark));
|
|
6b02: 6833 ldr r3, [r6, #0]
|
|
6b04: 195a adds r2, r3, r5
|
|
6b06: f89d 1016 ldrb.w r1, [sp, #22]
|
|
6b0a: 5559 strb r1, [r3, r5]
|
|
6b0c: f89d 3017 ldrb.w r3, [sp, #23]
|
|
6b10: 7053 strb r3, [r2, #1]
|
|
6b12: e7cb b.n 6aac <_lv_style_set_color+0xa0>
|
|
LV_ASSERT_MEM(style->map);
|
|
6b14: 4b09 ldr r3, [pc, #36] ; (6b3c <_lv_style_set_color+0x130>)
|
|
6b16: 9300 str r3, [sp, #0]
|
|
6b18: f240 12b5 movw r2, #437 ; 0x1b5
|
|
6b1c: 4908 ldr r1, [pc, #32] ; (6b40 <_lv_style_set_color+0x134>)
|
|
6b1e: 2003 movs r0, #3
|
|
6b20: 4c08 ldr r4, [pc, #32] ; (6b44 <_lv_style_set_color+0x138>)
|
|
6b22: 47a0 blx r4
|
|
6b24: 6832 ldr r2, [r6, #0]
|
|
6b26: 2300 movs r3, #0
|
|
6b28: 4807 ldr r0, [pc, #28] ; (6b48 <_lv_style_set_color+0x13c>)
|
|
6b2a: 4908 ldr r1, [pc, #32] ; (6b4c <_lv_style_set_color+0x140>)
|
|
6b2c: 4788 blx r1
|
|
6b2e: e7fe b.n 6b2e <_lv_style_set_color+0x122>
|
|
6b30: 00006761 .word 0x00006761
|
|
6b34: 00012881 .word 0x00012881
|
|
6b38: 00002299 .word 0x00002299
|
|
6b3c: 00024ac8 .word 0x00024ac8
|
|
6b40: 00024b24 .word 0x00024b24
|
|
6b44: 00012245 .word 0x00012245
|
|
6b48: 00023fc0 .word 0x00023fc0
|
|
6b4c: 000022a1 .word 0x000022a1
|
|
|
|
00006b50 <_lv_style_set_opa>:
|
|
{
|
|
6b50: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
6b54: b087 sub sp, #28
|
|
6b56: f8ad 100e strh.w r1, [sp, #14]
|
|
if(style->map == NULL) return -1;
|
|
6b5a: 6804 ldr r4, [r0, #0]
|
|
6b5c: 2c00 cmp r4, #0
|
|
6b5e: d043 beq.n 6be8 <_lv_style_set_opa+0x98>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
6b60: fa5f fe81 uxtb.w lr, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
6b64: 0a0d lsrs r5, r1, #8
|
|
6b66: 46ac mov ip, r5
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6b68: 7823 ldrb r3, [r4, #0]
|
|
6b6a: 2bff cmp r3, #255 ; 0xff
|
|
6b6c: d02c beq.n 6bc8 <_lv_style_set_opa+0x78>
|
|
6b6e: f04f 37ff mov.w r7, #4294967295
|
|
6b72: 46b8 mov r8, r7
|
|
6b74: 2100 movs r1, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6b76: f3cc 0c06 ubfx ip, ip, #0, #7
|
|
6b7a: e018 b.n 6bae <_lv_style_set_opa+0x5e>
|
|
attr_i.full = style->map[i + 1];
|
|
6b7c: 1866 adds r6, r4, r1
|
|
6b7e: 7876 ldrb r6, [r6, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
6b80: ea85 0906 eor.w r9, r5, r6
|
|
6b84: f019 0f7f tst.w r9, #127 ; 0x7f
|
|
6b88: d021 beq.n 6bce <_lv_style_set_opa+0x7e>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6b8a: f006 067f and.w r6, r6, #127 ; 0x7f
|
|
6b8e: ea36 090c bics.w r9, r6, ip
|
|
6b92: d10e bne.n 6bb2 <_lv_style_set_opa+0x62>
|
|
if(attr_i.bits.state > weight) {
|
|
6b94: 4546 cmp r6, r8
|
|
weight = attr_i.bits.state;
|
|
6b96: bfc4 itt gt
|
|
6b98: fa0f f886 sxthgt.w r8, r6
|
|
id_guess = i;
|
|
6b9c: b20f sxthgt r7, r1
|
|
6b9e: e008 b.n 6bb2 <_lv_style_set_opa+0x62>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
6ba0: 2b0b cmp r3, #11
|
|
6ba2: dc0c bgt.n 6bbe <_lv_style_set_opa+0x6e>
|
|
6ba4: 3102 adds r1, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6ba6: 3102 adds r1, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6ba8: 5c63 ldrb r3, [r4, r1]
|
|
6baa: 2bff cmp r3, #255 ; 0xff
|
|
6bac: d00e beq.n 6bcc <_lv_style_set_opa+0x7c>
|
|
if(style->map[i] == id_to_find) {
|
|
6bae: 459e cmp lr, r3
|
|
6bb0: d0e4 beq.n 6b7c <_lv_style_set_opa+0x2c>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
6bb2: f003 030f and.w r3, r3, #15
|
|
6bb6: 2b08 cmp r3, #8
|
|
6bb8: dcf2 bgt.n 6ba0 <_lv_style_set_opa+0x50>
|
|
6bba: 3102 adds r1, #2
|
|
6bbc: e7f3 b.n 6ba6 <_lv_style_set_opa+0x56>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6bbe: 2b0d cmp r3, #13
|
|
6bc0: bfd4 ite le
|
|
6bc2: 3101 addle r1, #1
|
|
else i += sizeof(const void *);
|
|
6bc4: 3104 addgt r1, #4
|
|
6bc6: e7ee b.n 6ba6 <_lv_style_set_opa+0x56>
|
|
int16_t id_guess = -1;
|
|
6bc8: f04f 37ff mov.w r7, #4294967295
|
|
return id_guess;
|
|
6bcc: 4639 mov r1, r7
|
|
if(id >= 0) {
|
|
6bce: 2900 cmp r1, #0
|
|
6bd0: db0a blt.n 6be8 <_lv_style_set_opa+0x98>
|
|
attr_found.full = *(style->map + id + 1);
|
|
6bd2: 1863 adds r3, r4, r1
|
|
if(attr_found.bits.state == attr_goal.bits.state) {
|
|
6bd4: 785b ldrb r3, [r3, #1]
|
|
6bd6: 405d eors r5, r3
|
|
6bd8: f015 0f7f tst.w r5, #127 ; 0x7f
|
|
6bdc: d104 bne.n 6be8 <_lv_style_set_opa+0x98>
|
|
6bde: 4421 add r1, r4
|
|
6be0: 708a strb r2, [r1, #2]
|
|
}
|
|
6be2: b007 add sp, #28
|
|
6be4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
6be8: 4617 mov r7, r2
|
|
6bea: 4606 mov r6, r0
|
|
lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP;
|
|
6bec: 23ff movs r3, #255 ; 0xff
|
|
6bee: f8ad 3016 strh.w r3, [sp, #22]
|
|
uint16_t size = _lv_style_get_mem_size(style);
|
|
6bf2: 4b1b ldr r3, [pc, #108] ; (6c60 <_lv_style_set_opa+0x110>)
|
|
6bf4: 4798 blx r3
|
|
if(size == 0) size += end_mark_size;
|
|
6bf6: 2800 cmp r0, #0
|
|
6bf8: bf08 it eq
|
|
6bfa: 2002 moveq r0, #2
|
|
size += sizeof(lv_style_property_t) + sizeof(lv_opa_t);
|
|
6bfc: 1cc5 adds r5, r0, #3
|
|
style->map = lv_mem_realloc(style->map, size);
|
|
6bfe: b2ad uxth r5, r5
|
|
6c00: 4629 mov r1, r5
|
|
6c02: 4620 mov r0, r4
|
|
6c04: 4b17 ldr r3, [pc, #92] ; (6c64 <_lv_style_set_opa+0x114>)
|
|
6c06: 4798 blx r3
|
|
6c08: 6030 str r0, [r6, #0]
|
|
LV_ASSERT_MEM(style->map);
|
|
6c0a: 4b17 ldr r3, [pc, #92] ; (6c68 <_lv_style_set_opa+0x118>)
|
|
6c0c: 4798 blx r3
|
|
6c0e: b1c0 cbz r0, 6c42 <_lv_style_set_opa+0xf2>
|
|
if(style == NULL) return;
|
|
6c10: 2e00 cmp r6, #0
|
|
6c12: d0e6 beq.n 6be2 <_lv_style_set_opa+0x92>
|
|
_lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t));
|
|
6c14: 1f6b subs r3, r5, #5
|
|
6c16: 6832 ldr r2, [r6, #0]
|
|
6c18: 18d1 adds r1, r2, r3
|
|
6c1a: f89d 000e ldrb.w r0, [sp, #14]
|
|
6c1e: 54d0 strb r0, [r2, r3]
|
|
6c20: f89d 300f ldrb.w r3, [sp, #15]
|
|
6c24: 704b strb r3, [r1, #1]
|
|
6c26: 6833 ldr r3, [r6, #0]
|
|
6c28: 442b add r3, r5
|
|
6c2a: f803 7c03 strb.w r7, [r3, #-3]
|
|
_lv_memcpy_small(style->map + size - sizeof(lv_opa_t) - end_mark_size, &opa, sizeof(lv_opa_t));
|
|
6c2e: 3d02 subs r5, #2
|
|
_lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark));
|
|
6c30: 6833 ldr r3, [r6, #0]
|
|
6c32: 195a adds r2, r3, r5
|
|
6c34: f89d 1016 ldrb.w r1, [sp, #22]
|
|
6c38: 5559 strb r1, [r3, r5]
|
|
6c3a: f89d 3017 ldrb.w r3, [sp, #23]
|
|
6c3e: 7053 strb r3, [r2, #1]
|
|
6c40: e7cf b.n 6be2 <_lv_style_set_opa+0x92>
|
|
LV_ASSERT_MEM(style->map);
|
|
6c42: 4b0a ldr r3, [pc, #40] ; (6c6c <_lv_style_set_opa+0x11c>)
|
|
6c44: 9300 str r3, [sp, #0]
|
|
6c46: f44f 72f2 mov.w r2, #484 ; 0x1e4
|
|
6c4a: 4909 ldr r1, [pc, #36] ; (6c70 <_lv_style_set_opa+0x120>)
|
|
6c4c: 2003 movs r0, #3
|
|
6c4e: 4c09 ldr r4, [pc, #36] ; (6c74 <_lv_style_set_opa+0x124>)
|
|
6c50: 47a0 blx r4
|
|
6c52: 6832 ldr r2, [r6, #0]
|
|
6c54: 2300 movs r3, #0
|
|
6c56: 4808 ldr r0, [pc, #32] ; (6c78 <_lv_style_set_opa+0x128>)
|
|
6c58: 4908 ldr r1, [pc, #32] ; (6c7c <_lv_style_set_opa+0x12c>)
|
|
6c5a: 4788 blx r1
|
|
6c5c: e7fe b.n 6c5c <_lv_style_set_opa+0x10c>
|
|
6c5e: bf00 nop
|
|
6c60: 00006761 .word 0x00006761
|
|
6c64: 00012881 .word 0x00012881
|
|
6c68: 00002299 .word 0x00002299
|
|
6c6c: 00024adc .word 0x00024adc
|
|
6c70: 00024b24 .word 0x00024b24
|
|
6c74: 00012245 .word 0x00012245
|
|
6c78: 00023fc0 .word 0x00023fc0
|
|
6c7c: 000022a1 .word 0x000022a1
|
|
|
|
00006c80 <_lv_style_set_ptr>:
|
|
{
|
|
6c80: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
6c84: b086 sub sp, #24
|
|
6c86: 9202 str r2, [sp, #8]
|
|
6c88: f8ad 100e strh.w r1, [sp, #14]
|
|
if(style->map == NULL) return -1;
|
|
6c8c: 6804 ldr r4, [r0, #0]
|
|
6c8e: 2c00 cmp r4, #0
|
|
6c90: d04e beq.n 6d30 <_lv_style_set_ptr+0xb0>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
6c92: b2cf uxtb r7, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
6c94: 0a0d lsrs r5, r1, #8
|
|
6c96: 46ae mov lr, r5
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6c98: 7823 ldrb r3, [r4, #0]
|
|
6c9a: 2bff cmp r3, #255 ; 0xff
|
|
6c9c: d02c beq.n 6cf8 <_lv_style_set_ptr+0x78>
|
|
6c9e: f04f 31ff mov.w r1, #4294967295
|
|
6ca2: 4688 mov r8, r1
|
|
6ca4: 2200 movs r2, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6ca6: f3ce 0e06 ubfx lr, lr, #0, #7
|
|
6caa: e018 b.n 6cde <_lv_style_set_ptr+0x5e>
|
|
attr_i.full = style->map[i + 1];
|
|
6cac: 18a6 adds r6, r4, r2
|
|
6cae: 7876 ldrb r6, [r6, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
6cb0: ea85 0c06 eor.w ip, r5, r6
|
|
6cb4: f01c 0f7f tst.w ip, #127 ; 0x7f
|
|
6cb8: d021 beq.n 6cfe <_lv_style_set_ptr+0x7e>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6cba: f006 067f and.w r6, r6, #127 ; 0x7f
|
|
6cbe: ea36 0c0e bics.w ip, r6, lr
|
|
6cc2: d10e bne.n 6ce2 <_lv_style_set_ptr+0x62>
|
|
if(attr_i.bits.state > weight) {
|
|
6cc4: 4546 cmp r6, r8
|
|
weight = attr_i.bits.state;
|
|
6cc6: bfc4 itt gt
|
|
6cc8: fa0f f886 sxthgt.w r8, r6
|
|
id_guess = i;
|
|
6ccc: b211 sxthgt r1, r2
|
|
6cce: e008 b.n 6ce2 <_lv_style_set_ptr+0x62>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
6cd0: 2b0b cmp r3, #11
|
|
6cd2: dc0c bgt.n 6cee <_lv_style_set_ptr+0x6e>
|
|
6cd4: 3202 adds r2, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6cd6: 3202 adds r2, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6cd8: 5ca3 ldrb r3, [r4, r2]
|
|
6cda: 2bff cmp r3, #255 ; 0xff
|
|
6cdc: d00e beq.n 6cfc <_lv_style_set_ptr+0x7c>
|
|
if(style->map[i] == id_to_find) {
|
|
6cde: 429f cmp r7, r3
|
|
6ce0: d0e4 beq.n 6cac <_lv_style_set_ptr+0x2c>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
6ce2: f003 030f and.w r3, r3, #15
|
|
6ce6: 2b08 cmp r3, #8
|
|
6ce8: dcf2 bgt.n 6cd0 <_lv_style_set_ptr+0x50>
|
|
6cea: 3202 adds r2, #2
|
|
6cec: e7f3 b.n 6cd6 <_lv_style_set_ptr+0x56>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6cee: 2b0d cmp r3, #13
|
|
6cf0: bfd4 ite le
|
|
6cf2: 3201 addle r2, #1
|
|
else i += sizeof(const void *);
|
|
6cf4: 3204 addgt r2, #4
|
|
6cf6: e7ee b.n 6cd6 <_lv_style_set_ptr+0x56>
|
|
int16_t id_guess = -1;
|
|
6cf8: f04f 31ff mov.w r1, #4294967295
|
|
return id_guess;
|
|
6cfc: 460a mov r2, r1
|
|
if(id >= 0) {
|
|
6cfe: 2a00 cmp r2, #0
|
|
6d00: db16 blt.n 6d30 <_lv_style_set_ptr+0xb0>
|
|
attr_found.full = *(style->map + id + 1);
|
|
6d02: 18a3 adds r3, r4, r2
|
|
if(attr_found.bits.state == attr_goal.bits.state) {
|
|
6d04: 785b ldrb r3, [r3, #1]
|
|
6d06: 405d eors r5, r3
|
|
6d08: f015 0f7f tst.w r5, #127 ; 0x7f
|
|
6d0c: d110 bne.n 6d30 <_lv_style_set_ptr+0xb0>
|
|
_lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &p, sizeof(const void *));
|
|
6d0e: 3202 adds r2, #2
|
|
6d10: 18a3 adds r3, r4, r2
|
|
6d12: f89d 1008 ldrb.w r1, [sp, #8]
|
|
6d16: 54a1 strb r1, [r4, r2]
|
|
6d18: f89d 2009 ldrb.w r2, [sp, #9]
|
|
6d1c: 705a strb r2, [r3, #1]
|
|
6d1e: f89d 200a ldrb.w r2, [sp, #10]
|
|
6d22: 709a strb r2, [r3, #2]
|
|
6d24: f89d 200b ldrb.w r2, [sp, #11]
|
|
6d28: 70da strb r2, [r3, #3]
|
|
}
|
|
6d2a: b006 add sp, #24
|
|
6d2c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
6d30: 4606 mov r6, r0
|
|
lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP;
|
|
6d32: 23ff movs r3, #255 ; 0xff
|
|
6d34: f8ad 3016 strh.w r3, [sp, #22]
|
|
uint16_t size = _lv_style_get_mem_size(style);
|
|
6d38: 4b20 ldr r3, [pc, #128] ; (6dbc <_lv_style_set_ptr+0x13c>)
|
|
6d3a: 4798 blx r3
|
|
if(size == 0) size += end_mark_size;
|
|
6d3c: 2800 cmp r0, #0
|
|
6d3e: bf08 it eq
|
|
6d40: 2002 moveq r0, #2
|
|
size += sizeof(lv_style_property_t) + sizeof(const void *);
|
|
6d42: 1d85 adds r5, r0, #6
|
|
style->map = lv_mem_realloc(style->map, size);
|
|
6d44: b2ad uxth r5, r5
|
|
6d46: 4629 mov r1, r5
|
|
6d48: 4620 mov r0, r4
|
|
6d4a: 4b1d ldr r3, [pc, #116] ; (6dc0 <_lv_style_set_ptr+0x140>)
|
|
6d4c: 4798 blx r3
|
|
6d4e: 6030 str r0, [r6, #0]
|
|
LV_ASSERT_MEM(style->map);
|
|
6d50: 4b1c ldr r3, [pc, #112] ; (6dc4 <_lv_style_set_ptr+0x144>)
|
|
6d52: 4798 blx r3
|
|
6d54: b320 cbz r0, 6da0 <_lv_style_set_ptr+0x120>
|
|
if(style == NULL) return;
|
|
6d56: 2e00 cmp r6, #0
|
|
6d58: d0e7 beq.n 6d2a <_lv_style_set_ptr+0xaa>
|
|
_lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t));
|
|
6d5a: f1a5 0308 sub.w r3, r5, #8
|
|
6d5e: 6832 ldr r2, [r6, #0]
|
|
6d60: 18d1 adds r1, r2, r3
|
|
6d62: f89d 000e ldrb.w r0, [sp, #14]
|
|
6d66: 54d0 strb r0, [r2, r3]
|
|
6d68: f89d 300f ldrb.w r3, [sp, #15]
|
|
6d6c: 704b strb r3, [r1, #1]
|
|
6d6e: 1faa subs r2, r5, #6
|
|
_lv_memcpy_small(style->map + size - sizeof(const void *) - end_mark_size, &p, sizeof(const void *));
|
|
6d70: 6831 ldr r1, [r6, #0]
|
|
6d72: 188b adds r3, r1, r2
|
|
6d74: f89d 0008 ldrb.w r0, [sp, #8]
|
|
6d78: 5488 strb r0, [r1, r2]
|
|
6d7a: f89d 2009 ldrb.w r2, [sp, #9]
|
|
6d7e: 705a strb r2, [r3, #1]
|
|
6d80: f89d 200a ldrb.w r2, [sp, #10]
|
|
6d84: 709a strb r2, [r3, #2]
|
|
6d86: f89d 200b ldrb.w r2, [sp, #11]
|
|
6d8a: 70da strb r2, [r3, #3]
|
|
6d8c: 3d02 subs r5, #2
|
|
_lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark));
|
|
6d8e: 6833 ldr r3, [r6, #0]
|
|
6d90: 195a adds r2, r3, r5
|
|
6d92: f89d 1016 ldrb.w r1, [sp, #22]
|
|
6d96: 5559 strb r1, [r3, r5]
|
|
6d98: f89d 3017 ldrb.w r3, [sp, #23]
|
|
6d9c: 7053 strb r3, [r2, #1]
|
|
6d9e: e7c4 b.n 6d2a <_lv_style_set_ptr+0xaa>
|
|
LV_ASSERT_MEM(style->map);
|
|
6da0: 4b09 ldr r3, [pc, #36] ; (6dc8 <_lv_style_set_ptr+0x148>)
|
|
6da2: 9300 str r3, [sp, #0]
|
|
6da4: f240 2213 movw r2, #531 ; 0x213
|
|
6da8: 4908 ldr r1, [pc, #32] ; (6dcc <_lv_style_set_ptr+0x14c>)
|
|
6daa: 2003 movs r0, #3
|
|
6dac: 4c08 ldr r4, [pc, #32] ; (6dd0 <_lv_style_set_ptr+0x150>)
|
|
6dae: 47a0 blx r4
|
|
6db0: 6832 ldr r2, [r6, #0]
|
|
6db2: 2300 movs r3, #0
|
|
6db4: 4807 ldr r0, [pc, #28] ; (6dd4 <_lv_style_set_ptr+0x154>)
|
|
6db6: 4908 ldr r1, [pc, #32] ; (6dd8 <_lv_style_set_ptr+0x158>)
|
|
6db8: 4788 blx r1
|
|
6dba: e7fe b.n 6dba <_lv_style_set_ptr+0x13a>
|
|
6dbc: 00006761 .word 0x00006761
|
|
6dc0: 00012881 .word 0x00012881
|
|
6dc4: 00002299 .word 0x00002299
|
|
6dc8: 00024af0 .word 0x00024af0
|
|
6dcc: 00024b24 .word 0x00024b24
|
|
6dd0: 00012245 .word 0x00012245
|
|
6dd4: 00023fc0 .word 0x00023fc0
|
|
6dd8: 000022a1 .word 0x000022a1
|
|
|
|
00006ddc <_lv_style_get_int>:
|
|
if(style == NULL) return -1;
|
|
6ddc: 2800 cmp r0, #0
|
|
6dde: d04d beq.n 6e7c <_lv_style_get_int+0xa0>
|
|
{
|
|
6de0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
6de4: 4684 mov ip, r0
|
|
if(style->map == NULL) return -1;
|
|
6de6: 6804 ldr r4, [r0, #0]
|
|
6de8: 2c00 cmp r4, #0
|
|
6dea: d04a beq.n 6e82 <_lv_style_get_int+0xa6>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
6dec: b2ce uxtb r6, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
6dee: 0a09 lsrs r1, r1, #8
|
|
6df0: 468e mov lr, r1
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6df2: 7823 ldrb r3, [r4, #0]
|
|
6df4: 2bff cmp r3, #255 ; 0xff
|
|
6df6: d03e beq.n 6e76 <_lv_style_get_int+0x9a>
|
|
6df8: f04f 37ff mov.w r7, #4294967295
|
|
6dfc: 46b8 mov r8, r7
|
|
6dfe: 2000 movs r0, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6e00: f3ce 0e06 ubfx lr, lr, #0, #7
|
|
6e04: e02a b.n 6e5c <_lv_style_get_int+0x80>
|
|
attr_i.full = style->map[i + 1];
|
|
6e06: 1825 adds r5, r4, r0
|
|
6e08: 786d ldrb r5, [r5, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
6e0a: ea81 0905 eor.w r9, r1, r5
|
|
6e0e: f019 0f7f tst.w r9, #127 ; 0x7f
|
|
6e12: d00a beq.n 6e2a <_lv_style_get_int+0x4e>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6e14: f005 057f and.w r5, r5, #127 ; 0x7f
|
|
6e18: ea35 090e bics.w r9, r5, lr
|
|
6e1c: d120 bne.n 6e60 <_lv_style_get_int+0x84>
|
|
if(attr_i.bits.state > weight) {
|
|
6e1e: 4545 cmp r5, r8
|
|
weight = attr_i.bits.state;
|
|
6e20: bfc4 itt gt
|
|
6e22: fa0f f885 sxthgt.w r8, r5
|
|
id_guess = i;
|
|
6e26: b207 sxthgt r7, r0
|
|
6e28: e01a b.n 6e60 <_lv_style_get_int+0x84>
|
|
return i;
|
|
6e2a: 4607 mov r7, r0
|
|
if(id < 0) {
|
|
6e2c: 2f00 cmp r7, #0
|
|
6e2e: db2c blt.n 6e8a <_lv_style_get_int+0xae>
|
|
_lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_style_int_t));
|
|
6e30: 1cbb adds r3, r7, #2
|
|
6e32: 18e0 adds r0, r4, r3
|
|
6e34: 5ce3 ldrb r3, [r4, r3]
|
|
6e36: 7013 strb r3, [r2, #0]
|
|
6e38: 7843 ldrb r3, [r0, #1]
|
|
6e3a: 7053 strb r3, [r2, #1]
|
|
attr_act.full = style->map[id + 1];
|
|
6e3c: f8dc 0000 ldr.w r0, [ip]
|
|
6e40: 4407 add r7, r0
|
|
6e42: 7878 ldrb r0, [r7, #1]
|
|
return attr_act.bits.state & attr_goal.bits.state;
|
|
6e44: f3c1 0106 ubfx r1, r1, #0, #7
|
|
6e48: 4008 ands r0, r1
|
|
6e4a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
6e4e: 2b0b cmp r3, #11
|
|
6e50: dc0c bgt.n 6e6c <_lv_style_get_int+0x90>
|
|
6e52: 3002 adds r0, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6e54: 3002 adds r0, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6e56: 5c23 ldrb r3, [r4, r0]
|
|
6e58: 2bff cmp r3, #255 ; 0xff
|
|
6e5a: d0e7 beq.n 6e2c <_lv_style_get_int+0x50>
|
|
if(style->map[i] == id_to_find) {
|
|
6e5c: 429e cmp r6, r3
|
|
6e5e: d0d2 beq.n 6e06 <_lv_style_get_int+0x2a>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
6e60: f003 030f and.w r3, r3, #15
|
|
6e64: 2b08 cmp r3, #8
|
|
6e66: dcf2 bgt.n 6e4e <_lv_style_get_int+0x72>
|
|
6e68: 3002 adds r0, #2
|
|
6e6a: e7f3 b.n 6e54 <_lv_style_get_int+0x78>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6e6c: 2b0d cmp r3, #13
|
|
6e6e: bfd4 ite le
|
|
6e70: 3001 addle r0, #1
|
|
else i += sizeof(const void *);
|
|
6e72: 3004 addgt r0, #4
|
|
6e74: e7ee b.n 6e54 <_lv_style_get_int+0x78>
|
|
int16_t id_guess = -1;
|
|
6e76: f04f 37ff mov.w r7, #4294967295
|
|
6e7a: e7d7 b.n 6e2c <_lv_style_get_int+0x50>
|
|
if(style == NULL) return -1;
|
|
6e7c: f04f 30ff mov.w r0, #4294967295
|
|
6e80: 4770 bx lr
|
|
if(style->map == NULL) return -1;
|
|
6e82: f04f 30ff mov.w r0, #4294967295
|
|
6e86: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
return -1;
|
|
6e8a: f04f 30ff mov.w r0, #4294967295
|
|
}
|
|
6e8e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
|
|
00006e92 <_lv_style_get_opa>:
|
|
if(style == NULL) return -1;
|
|
6e92: 2800 cmp r0, #0
|
|
6e94: d04a beq.n 6f2c <_lv_style_get_opa+0x9a>
|
|
{
|
|
6e96: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
6e9a: 4686 mov lr, r0
|
|
if(style->map == NULL) return -1;
|
|
6e9c: 6804 ldr r4, [r0, #0]
|
|
6e9e: 2c00 cmp r4, #0
|
|
6ea0: d047 beq.n 6f32 <_lv_style_get_opa+0xa0>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
6ea2: b2ce uxtb r6, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
6ea4: 0a09 lsrs r1, r1, #8
|
|
6ea6: 468c mov ip, r1
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6ea8: 7823 ldrb r3, [r4, #0]
|
|
6eaa: 2bff cmp r3, #255 ; 0xff
|
|
6eac: d03b beq.n 6f26 <_lv_style_get_opa+0x94>
|
|
6eae: f04f 37ff mov.w r7, #4294967295
|
|
6eb2: 46b8 mov r8, r7
|
|
6eb4: 2000 movs r0, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6eb6: f3cc 0c06 ubfx ip, ip, #0, #7
|
|
6eba: e027 b.n 6f0c <_lv_style_get_opa+0x7a>
|
|
attr_i.full = style->map[i + 1];
|
|
6ebc: 1825 adds r5, r4, r0
|
|
6ebe: 786d ldrb r5, [r5, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
6ec0: ea81 0905 eor.w r9, r1, r5
|
|
6ec4: f019 0f7f tst.w r9, #127 ; 0x7f
|
|
6ec8: d00a beq.n 6ee0 <_lv_style_get_opa+0x4e>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6eca: f005 057f and.w r5, r5, #127 ; 0x7f
|
|
6ece: ea35 090c bics.w r9, r5, ip
|
|
6ed2: d11d bne.n 6f10 <_lv_style_get_opa+0x7e>
|
|
if(attr_i.bits.state > weight) {
|
|
6ed4: 4545 cmp r5, r8
|
|
weight = attr_i.bits.state;
|
|
6ed6: bfc4 itt gt
|
|
6ed8: fa0f f885 sxthgt.w r8, r5
|
|
id_guess = i;
|
|
6edc: b207 sxthgt r7, r0
|
|
6ede: e017 b.n 6f10 <_lv_style_get_opa+0x7e>
|
|
return i;
|
|
6ee0: 4607 mov r7, r0
|
|
if(id < 0) {
|
|
6ee2: 2f00 cmp r7, #0
|
|
6ee4: db29 blt.n 6f3a <_lv_style_get_opa+0xa8>
|
|
6ee6: 443c add r4, r7
|
|
6ee8: 78a3 ldrb r3, [r4, #2]
|
|
6eea: 7013 strb r3, [r2, #0]
|
|
attr_act.full = style->map[id + 1];
|
|
6eec: f8de 0000 ldr.w r0, [lr]
|
|
6ef0: 4407 add r7, r0
|
|
6ef2: 7878 ldrb r0, [r7, #1]
|
|
return attr_act.bits.state & attr_goal.bits.state;
|
|
6ef4: f3c1 0106 ubfx r1, r1, #0, #7
|
|
6ef8: 4008 ands r0, r1
|
|
6efa: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
6efe: 2b0b cmp r3, #11
|
|
6f00: dc0c bgt.n 6f1c <_lv_style_get_opa+0x8a>
|
|
6f02: 3002 adds r0, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6f04: 3002 adds r0, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6f06: 5c23 ldrb r3, [r4, r0]
|
|
6f08: 2bff cmp r3, #255 ; 0xff
|
|
6f0a: d0ea beq.n 6ee2 <_lv_style_get_opa+0x50>
|
|
if(style->map[i] == id_to_find) {
|
|
6f0c: 429e cmp r6, r3
|
|
6f0e: d0d5 beq.n 6ebc <_lv_style_get_opa+0x2a>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
6f10: f003 030f and.w r3, r3, #15
|
|
6f14: 2b08 cmp r3, #8
|
|
6f16: dcf2 bgt.n 6efe <_lv_style_get_opa+0x6c>
|
|
6f18: 3002 adds r0, #2
|
|
6f1a: e7f3 b.n 6f04 <_lv_style_get_opa+0x72>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6f1c: 2b0d cmp r3, #13
|
|
6f1e: bfd4 ite le
|
|
6f20: 3001 addle r0, #1
|
|
else i += sizeof(const void *);
|
|
6f22: 3004 addgt r0, #4
|
|
6f24: e7ee b.n 6f04 <_lv_style_get_opa+0x72>
|
|
int16_t id_guess = -1;
|
|
6f26: f04f 37ff mov.w r7, #4294967295
|
|
6f2a: e7da b.n 6ee2 <_lv_style_get_opa+0x50>
|
|
if(style == NULL) return -1;
|
|
6f2c: f04f 30ff mov.w r0, #4294967295
|
|
6f30: 4770 bx lr
|
|
if(style->map == NULL) return -1;
|
|
6f32: f04f 30ff mov.w r0, #4294967295
|
|
6f36: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
return -1;
|
|
6f3a: f04f 30ff mov.w r0, #4294967295
|
|
}
|
|
6f3e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
|
|
00006f42 <_lv_style_get_color>:
|
|
if(style == NULL) return -1;
|
|
6f42: 2800 cmp r0, #0
|
|
6f44: d04d beq.n 6fe2 <_lv_style_get_color+0xa0>
|
|
{
|
|
6f46: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
6f4a: 4684 mov ip, r0
|
|
if(style->map == NULL) return -1;
|
|
6f4c: 6804 ldr r4, [r0, #0]
|
|
6f4e: 2c00 cmp r4, #0
|
|
6f50: d04a beq.n 6fe8 <_lv_style_get_color+0xa6>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
6f52: b2ce uxtb r6, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
6f54: 0a09 lsrs r1, r1, #8
|
|
6f56: 468e mov lr, r1
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6f58: 7823 ldrb r3, [r4, #0]
|
|
6f5a: 2bff cmp r3, #255 ; 0xff
|
|
6f5c: d03e beq.n 6fdc <_lv_style_get_color+0x9a>
|
|
6f5e: f04f 37ff mov.w r7, #4294967295
|
|
6f62: 46b8 mov r8, r7
|
|
6f64: 2000 movs r0, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6f66: f3ce 0e06 ubfx lr, lr, #0, #7
|
|
6f6a: e02a b.n 6fc2 <_lv_style_get_color+0x80>
|
|
attr_i.full = style->map[i + 1];
|
|
6f6c: 1825 adds r5, r4, r0
|
|
6f6e: 786d ldrb r5, [r5, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
6f70: ea81 0905 eor.w r9, r1, r5
|
|
6f74: f019 0f7f tst.w r9, #127 ; 0x7f
|
|
6f78: d00a beq.n 6f90 <_lv_style_get_color+0x4e>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
6f7a: f005 057f and.w r5, r5, #127 ; 0x7f
|
|
6f7e: ea35 090e bics.w r9, r5, lr
|
|
6f82: d120 bne.n 6fc6 <_lv_style_get_color+0x84>
|
|
if(attr_i.bits.state > weight) {
|
|
6f84: 4545 cmp r5, r8
|
|
weight = attr_i.bits.state;
|
|
6f86: bfc4 itt gt
|
|
6f88: fa0f f885 sxthgt.w r8, r5
|
|
id_guess = i;
|
|
6f8c: b207 sxthgt r7, r0
|
|
6f8e: e01a b.n 6fc6 <_lv_style_get_color+0x84>
|
|
return i;
|
|
6f90: 4607 mov r7, r0
|
|
if(id < 0) {
|
|
6f92: 2f00 cmp r7, #0
|
|
6f94: db2c blt.n 6ff0 <_lv_style_get_color+0xae>
|
|
_lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_color_t));
|
|
6f96: 1cbb adds r3, r7, #2
|
|
6f98: 18e0 adds r0, r4, r3
|
|
6f9a: 5ce3 ldrb r3, [r4, r3]
|
|
6f9c: 7013 strb r3, [r2, #0]
|
|
6f9e: 7843 ldrb r3, [r0, #1]
|
|
6fa0: 7053 strb r3, [r2, #1]
|
|
attr_act.full = style->map[id + 1];
|
|
6fa2: f8dc 0000 ldr.w r0, [ip]
|
|
6fa6: 4407 add r7, r0
|
|
6fa8: 7878 ldrb r0, [r7, #1]
|
|
return attr_act.bits.state & attr_goal.bits.state;
|
|
6faa: f3c1 0106 ubfx r1, r1, #0, #7
|
|
6fae: 4008 ands r0, r1
|
|
6fb0: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
6fb4: 2b0b cmp r3, #11
|
|
6fb6: dc0c bgt.n 6fd2 <_lv_style_get_color+0x90>
|
|
6fb8: 3002 adds r0, #2
|
|
i += sizeof(lv_style_property_t);
|
|
6fba: 3002 adds r0, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
6fbc: 5c23 ldrb r3, [r4, r0]
|
|
6fbe: 2bff cmp r3, #255 ; 0xff
|
|
6fc0: d0e7 beq.n 6f92 <_lv_style_get_color+0x50>
|
|
if(style->map[i] == id_to_find) {
|
|
6fc2: 429e cmp r6, r3
|
|
6fc4: d0d2 beq.n 6f6c <_lv_style_get_color+0x2a>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
6fc6: f003 030f and.w r3, r3, #15
|
|
6fca: 2b08 cmp r3, #8
|
|
6fcc: dcf2 bgt.n 6fb4 <_lv_style_get_color+0x72>
|
|
6fce: 3002 adds r0, #2
|
|
6fd0: e7f3 b.n 6fba <_lv_style_get_color+0x78>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
6fd2: 2b0d cmp r3, #13
|
|
6fd4: bfd4 ite le
|
|
6fd6: 3001 addle r0, #1
|
|
else i += sizeof(const void *);
|
|
6fd8: 3004 addgt r0, #4
|
|
6fda: e7ee b.n 6fba <_lv_style_get_color+0x78>
|
|
int16_t id_guess = -1;
|
|
6fdc: f04f 37ff mov.w r7, #4294967295
|
|
6fe0: e7d7 b.n 6f92 <_lv_style_get_color+0x50>
|
|
if(style == NULL) return -1;
|
|
6fe2: f04f 30ff mov.w r0, #4294967295
|
|
6fe6: 4770 bx lr
|
|
if(style->map == NULL) return -1;
|
|
6fe8: f04f 30ff mov.w r0, #4294967295
|
|
6fec: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
return -1;
|
|
6ff0: f04f 30ff mov.w r0, #4294967295
|
|
}
|
|
6ff4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
|
|
00006ff8 <_lv_style_get_ptr>:
|
|
if(style == NULL) return -1;
|
|
6ff8: 2800 cmp r0, #0
|
|
6ffa: d050 beq.n 709e <_lv_style_get_ptr+0xa6>
|
|
{
|
|
6ffc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
7000: 4607 mov r7, r0
|
|
if(style->map == NULL) return -1;
|
|
7002: 6804 ldr r4, [r0, #0]
|
|
7004: 2c00 cmp r4, #0
|
|
7006: d04d beq.n 70a4 <_lv_style_get_ptr+0xac>
|
|
uint8_t id_to_find = prop & 0xFF;
|
|
7008: b2ce uxtb r6, r1
|
|
attr.full = (prop >> 8) & 0xFF;
|
|
700a: 0a09 lsrs r1, r1, #8
|
|
700c: 468c mov ip, r1
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
700e: 7823 ldrb r3, [r4, #0]
|
|
7010: 2bff cmp r3, #255 ; 0xff
|
|
7012: d02d beq.n 7070 <_lv_style_get_ptr+0x78>
|
|
7014: f04f 3eff mov.w lr, #4294967295
|
|
7018: 46f0 mov r8, lr
|
|
701a: 2000 movs r0, #0
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
701c: f3cc 0c06 ubfx ip, ip, #0, #7
|
|
7020: e019 b.n 7056 <_lv_style_get_ptr+0x5e>
|
|
attr_i.full = style->map[i + 1];
|
|
7022: 1825 adds r5, r4, r0
|
|
7024: 786d ldrb r5, [r5, #1]
|
|
if(attr_i.bits.state == attr.bits.state) {
|
|
7026: ea81 0905 eor.w r9, r1, r5
|
|
702a: f019 0f7f tst.w r9, #127 ; 0x7f
|
|
702e: d022 beq.n 7076 <_lv_style_get_ptr+0x7e>
|
|
else if((attr_i.bits.state & (~attr.bits.state)) == 0) {
|
|
7030: f005 057f and.w r5, r5, #127 ; 0x7f
|
|
7034: ea35 090c bics.w r9, r5, ip
|
|
7038: d10f bne.n 705a <_lv_style_get_ptr+0x62>
|
|
if(attr_i.bits.state > weight) {
|
|
703a: 4545 cmp r5, r8
|
|
weight = attr_i.bits.state;
|
|
703c: bfc4 itt gt
|
|
703e: fa0f f885 sxthgt.w r8, r5
|
|
id_guess = i;
|
|
7042: fa0f fe80 sxthgt.w lr, r0
|
|
7046: e008 b.n 705a <_lv_style_get_ptr+0x62>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t);
|
|
7048: 2b0b cmp r3, #11
|
|
704a: dc0c bgt.n 7066 <_lv_style_get_ptr+0x6e>
|
|
704c: 3002 adds r0, #2
|
|
i += sizeof(lv_style_property_t);
|
|
704e: 3002 adds r0, #2
|
|
while(style->map[i] != _LV_STYLE_CLOSEING_PROP) {
|
|
7050: 5c23 ldrb r3, [r4, r0]
|
|
7052: 2bff cmp r3, #255 ; 0xff
|
|
7054: d00e beq.n 7074 <_lv_style_get_ptr+0x7c>
|
|
if(style->map[i] == id_to_find) {
|
|
7056: 429e cmp r6, r3
|
|
7058: d0e3 beq.n 7022 <_lv_style_get_ptr+0x2a>
|
|
if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t);
|
|
705a: f003 030f and.w r3, r3, #15
|
|
705e: 2b08 cmp r3, #8
|
|
7060: dcf2 bgt.n 7048 <_lv_style_get_ptr+0x50>
|
|
7062: 3002 adds r0, #2
|
|
7064: e7f3 b.n 704e <_lv_style_get_ptr+0x56>
|
|
else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t);
|
|
7066: 2b0d cmp r3, #13
|
|
7068: bfd4 ite le
|
|
706a: 3001 addle r0, #1
|
|
else i += sizeof(const void *);
|
|
706c: 3004 addgt r0, #4
|
|
706e: e7ee b.n 704e <_lv_style_get_ptr+0x56>
|
|
int16_t id_guess = -1;
|
|
7070: f04f 3eff mov.w lr, #4294967295
|
|
return id_guess;
|
|
7074: 4670 mov r0, lr
|
|
if(id < 0) {
|
|
7076: 2800 cmp r0, #0
|
|
7078: db18 blt.n 70ac <_lv_style_get_ptr+0xb4>
|
|
_lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(const void *));
|
|
707a: 4605 mov r5, r0
|
|
707c: 3001 adds r0, #1
|
|
707e: 1823 adds r3, r4, r0
|
|
7080: 1d14 adds r4, r2, #4
|
|
7082: f813 0f01 ldrb.w r0, [r3, #1]!
|
|
7086: f802 0b01 strb.w r0, [r2], #1
|
|
while(len) {
|
|
708a: 4294 cmp r4, r2
|
|
708c: d1f9 bne.n 7082 <_lv_style_get_ptr+0x8a>
|
|
attr_act.full = style->map[id + 1];
|
|
708e: 683b ldr r3, [r7, #0]
|
|
7090: 442b add r3, r5
|
|
7092: 7858 ldrb r0, [r3, #1]
|
|
return attr_act.bits.state & attr_goal.bits.state;
|
|
7094: f3c1 0106 ubfx r1, r1, #0, #7
|
|
7098: 4008 ands r0, r1
|
|
709a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
if(style == NULL) return -1;
|
|
709e: f04f 30ff mov.w r0, #4294967295
|
|
70a2: 4770 bx lr
|
|
if(style->map == NULL) return -1;
|
|
70a4: f04f 30ff mov.w r0, #4294967295
|
|
70a8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
return -1;
|
|
70ac: f04f 30ff mov.w r0, #4294967295
|
|
}
|
|
70b0: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
|
|
000070b4 <lv_style_list_get_local_style>:
|
|
if(!list->has_local) return NULL;
|
|
70b4: 7943 ldrb r3, [r0, #5]
|
|
70b6: f013 0f01 tst.w r3, #1
|
|
70ba: d006 beq.n 70ca <lv_style_list_get_local_style+0x16>
|
|
if(list->has_trans) return list->style_list[1];
|
|
70bc: f013 0f02 tst.w r3, #2
|
|
70c0: 6803 ldr r3, [r0, #0]
|
|
70c2: bf14 ite ne
|
|
70c4: 6858 ldrne r0, [r3, #4]
|
|
else return list->style_list[0];
|
|
70c6: 6818 ldreq r0, [r3, #0]
|
|
70c8: 4770 bx lr
|
|
if(!list->has_local) return NULL;
|
|
70ca: 2000 movs r0, #0
|
|
}
|
|
70cc: 4770 bx lr
|
|
|
|
000070ce <_lv_style_list_get_transition_style>:
|
|
if(!list->has_trans) return NULL;
|
|
70ce: 7943 ldrb r3, [r0, #5]
|
|
70d0: f013 0f02 tst.w r3, #2
|
|
return list->style_list[0];
|
|
70d4: bf1a itte ne
|
|
70d6: 6803 ldrne r3, [r0, #0]
|
|
70d8: 6818 ldrne r0, [r3, #0]
|
|
if(!list->has_trans) return NULL;
|
|
70da: 2000 moveq r0, #0
|
|
}
|
|
70dc: 4770 bx lr
|
|
...
|
|
|
|
000070e0 <_lv_style_list_reset>:
|
|
if(list == NULL) return;
|
|
70e0: 2800 cmp r0, #0
|
|
70e2: d02c beq.n 713e <_lv_style_list_reset+0x5e>
|
|
{
|
|
70e4: b538 push {r3, r4, r5, lr}
|
|
70e6: 4604 mov r4, r0
|
|
if(list->has_local) {
|
|
70e8: 7943 ldrb r3, [r0, #5]
|
|
70ea: f013 0f01 tst.w r3, #1
|
|
70ee: d008 beq.n 7102 <_lv_style_list_reset+0x22>
|
|
lv_style_t * local = lv_style_list_get_local_style(list);
|
|
70f0: 4b13 ldr r3, [pc, #76] ; (7140 <_lv_style_list_reset+0x60>)
|
|
70f2: 4798 blx r3
|
|
if(local) {
|
|
70f4: 4605 mov r5, r0
|
|
70f6: b120 cbz r0, 7102 <_lv_style_list_reset+0x22>
|
|
lv_style_reset(local);
|
|
70f8: 4b12 ldr r3, [pc, #72] ; (7144 <_lv_style_list_reset+0x64>)
|
|
70fa: 4798 blx r3
|
|
lv_mem_free(local);
|
|
70fc: 4628 mov r0, r5
|
|
70fe: 4b12 ldr r3, [pc, #72] ; (7148 <_lv_style_list_reset+0x68>)
|
|
7100: 4798 blx r3
|
|
if(list->has_trans) {
|
|
7102: 7963 ldrb r3, [r4, #5]
|
|
7104: f013 0f02 tst.w r3, #2
|
|
7108: d009 beq.n 711e <_lv_style_list_reset+0x3e>
|
|
lv_style_t * trans = _lv_style_list_get_transition_style(list);
|
|
710a: 4620 mov r0, r4
|
|
710c: 4b0f ldr r3, [pc, #60] ; (714c <_lv_style_list_reset+0x6c>)
|
|
710e: 4798 blx r3
|
|
if(trans) {
|
|
7110: 4605 mov r5, r0
|
|
7112: b120 cbz r0, 711e <_lv_style_list_reset+0x3e>
|
|
lv_style_reset(trans);
|
|
7114: 4b0b ldr r3, [pc, #44] ; (7144 <_lv_style_list_reset+0x64>)
|
|
7116: 4798 blx r3
|
|
lv_mem_free(trans);
|
|
7118: 4628 mov r0, r5
|
|
711a: 4b0b ldr r3, [pc, #44] ; (7148 <_lv_style_list_reset+0x68>)
|
|
711c: 4798 blx r3
|
|
if(list->style_cnt > 0) lv_mem_free(list->style_list);
|
|
711e: 7923 ldrb r3, [r4, #4]
|
|
7120: b94b cbnz r3, 7136 <_lv_style_list_reset+0x56>
|
|
list->style_list = NULL;
|
|
7122: 2200 movs r2, #0
|
|
7124: 6022 str r2, [r4, #0]
|
|
list->style_cnt = 0;
|
|
7126: 7122 strb r2, [r4, #4]
|
|
list->has_local = 0;
|
|
7128: 7963 ldrb r3, [r4, #5]
|
|
list->skip_trans = 0;
|
|
712a: f003 03fc and.w r3, r3, #252 ; 0xfc
|
|
712e: f362 0382 bfi r3, r2, #2, #1
|
|
7132: 7163 strb r3, [r4, #5]
|
|
7134: bd38 pop {r3, r4, r5, pc}
|
|
if(list->style_cnt > 0) lv_mem_free(list->style_list);
|
|
7136: 6820 ldr r0, [r4, #0]
|
|
7138: 4b03 ldr r3, [pc, #12] ; (7148 <_lv_style_list_reset+0x68>)
|
|
713a: 4798 blx r3
|
|
713c: e7f1 b.n 7122 <_lv_style_list_reset+0x42>
|
|
713e: 4770 bx lr
|
|
7140: 000070b5 .word 0x000070b5
|
|
7144: 0000674d .word 0x0000674d
|
|
7148: 000124ad .word 0x000124ad
|
|
714c: 000070cf .word 0x000070cf
|
|
|
|
00007150 <lv_style_list_copy>:
|
|
{
|
|
7150: b570 push {r4, r5, r6, lr}
|
|
7152: 4605 mov r5, r0
|
|
7154: 460c mov r4, r1
|
|
_lv_style_list_reset(list_dest);
|
|
7156: 4b2c ldr r3, [pc, #176] ; (7208 <lv_style_list_copy+0xb8>)
|
|
7158: 4798 blx r3
|
|
if(list_src->style_list == NULL) return;
|
|
715a: 6823 ldr r3, [r4, #0]
|
|
715c: 2b00 cmp r3, #0
|
|
715e: d041 beq.n 71e4 <lv_style_list_copy+0x94>
|
|
if(list_src->has_local == 0) {
|
|
7160: 7963 ldrb r3, [r4, #5]
|
|
7162: f013 0f01 tst.w r3, #1
|
|
7166: d120 bne.n 71aa <lv_style_list_copy+0x5a>
|
|
if(list_src->has_trans) {
|
|
7168: f013 0f02 tst.w r3, #2
|
|
716c: d010 beq.n 7190 <lv_style_list_copy+0x40>
|
|
list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *));
|
|
716e: 7920 ldrb r0, [r4, #4]
|
|
7170: 3801 subs r0, #1
|
|
7172: 0080 lsls r0, r0, #2
|
|
7174: 4b25 ldr r3, [pc, #148] ; (720c <lv_style_list_copy+0xbc>)
|
|
7176: 4798 blx r3
|
|
7178: 6028 str r0, [r5, #0]
|
|
_lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *));
|
|
717a: 7922 ldrb r2, [r4, #4]
|
|
717c: 3a01 subs r2, #1
|
|
717e: 6821 ldr r1, [r4, #0]
|
|
7180: 0092 lsls r2, r2, #2
|
|
7182: 3104 adds r1, #4
|
|
7184: 4b22 ldr r3, [pc, #136] ; (7210 <lv_style_list_copy+0xc0>)
|
|
7186: 4798 blx r3
|
|
list_dest->style_cnt = list_src->style_cnt - 1;
|
|
7188: 7923 ldrb r3, [r4, #4]
|
|
718a: 3b01 subs r3, #1
|
|
718c: 712b strb r3, [r5, #4]
|
|
718e: bd70 pop {r4, r5, r6, pc}
|
|
list_dest->style_list = lv_mem_alloc(list_src->style_cnt * sizeof(lv_style_t *));
|
|
7190: 7920 ldrb r0, [r4, #4]
|
|
7192: 0080 lsls r0, r0, #2
|
|
7194: 4b1d ldr r3, [pc, #116] ; (720c <lv_style_list_copy+0xbc>)
|
|
7196: 4798 blx r3
|
|
7198: 6028 str r0, [r5, #0]
|
|
_lv_memcpy(list_dest->style_list, list_src->style_list, list_src->style_cnt * sizeof(lv_style_t *));
|
|
719a: 7922 ldrb r2, [r4, #4]
|
|
719c: 0092 lsls r2, r2, #2
|
|
719e: 6821 ldr r1, [r4, #0]
|
|
71a0: 4b1b ldr r3, [pc, #108] ; (7210 <lv_style_list_copy+0xc0>)
|
|
71a2: 4798 blx r3
|
|
list_dest->style_cnt = list_src->style_cnt;
|
|
71a4: 7923 ldrb r3, [r4, #4]
|
|
71a6: 712b strb r3, [r5, #4]
|
|
71a8: bd70 pop {r4, r5, r6, pc}
|
|
if(list_src->has_trans) {
|
|
71aa: f013 0f02 tst.w r3, #2
|
|
71ae: d01a beq.n 71e6 <lv_style_list_copy+0x96>
|
|
list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 2) * sizeof(lv_style_t *));
|
|
71b0: 7920 ldrb r0, [r4, #4]
|
|
71b2: 3802 subs r0, #2
|
|
71b4: 0080 lsls r0, r0, #2
|
|
71b6: 4b15 ldr r3, [pc, #84] ; (720c <lv_style_list_copy+0xbc>)
|
|
71b8: 4798 blx r3
|
|
71ba: 6028 str r0, [r5, #0]
|
|
_lv_memcpy(list_dest->style_list, list_src->style_list + 2, (list_src->style_cnt - 2) * sizeof(lv_style_t *));
|
|
71bc: 7922 ldrb r2, [r4, #4]
|
|
71be: 3a02 subs r2, #2
|
|
71c0: 6821 ldr r1, [r4, #0]
|
|
71c2: 0092 lsls r2, r2, #2
|
|
71c4: 3108 adds r1, #8
|
|
71c6: 4b12 ldr r3, [pc, #72] ; (7210 <lv_style_list_copy+0xc0>)
|
|
71c8: 4798 blx r3
|
|
list_dest->style_cnt = list_src->style_cnt - 2;
|
|
71ca: 7923 ldrb r3, [r4, #4]
|
|
71cc: 3b02 subs r3, #2
|
|
71ce: 712b strb r3, [r5, #4]
|
|
lv_style_t * local_style = get_alloc_local_style(list_dest);
|
|
71d0: 4628 mov r0, r5
|
|
71d2: 4d10 ldr r5, [pc, #64] ; (7214 <lv_style_list_copy+0xc4>)
|
|
71d4: 47a8 blx r5
|
|
71d6: 4606 mov r6, r0
|
|
lv_style_copy(local_style, get_alloc_local_style((lv_style_list_t *)list_src));
|
|
71d8: 4620 mov r0, r4
|
|
71da: 47a8 blx r5
|
|
71dc: 4601 mov r1, r0
|
|
71de: 4630 mov r0, r6
|
|
71e0: 4b0d ldr r3, [pc, #52] ; (7218 <lv_style_list_copy+0xc8>)
|
|
71e2: 4798 blx r3
|
|
71e4: bd70 pop {r4, r5, r6, pc}
|
|
list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *));
|
|
71e6: 7920 ldrb r0, [r4, #4]
|
|
71e8: 3801 subs r0, #1
|
|
71ea: 0080 lsls r0, r0, #2
|
|
71ec: 4b07 ldr r3, [pc, #28] ; (720c <lv_style_list_copy+0xbc>)
|
|
71ee: 4798 blx r3
|
|
71f0: 6028 str r0, [r5, #0]
|
|
_lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *));
|
|
71f2: 7922 ldrb r2, [r4, #4]
|
|
71f4: 3a01 subs r2, #1
|
|
71f6: 6821 ldr r1, [r4, #0]
|
|
71f8: 0092 lsls r2, r2, #2
|
|
71fa: 3104 adds r1, #4
|
|
71fc: 4b04 ldr r3, [pc, #16] ; (7210 <lv_style_list_copy+0xc0>)
|
|
71fe: 4798 blx r3
|
|
list_dest->style_cnt = list_src->style_cnt - 1;
|
|
7200: 7923 ldrb r3, [r4, #4]
|
|
7202: 3b01 subs r3, #1
|
|
7204: 712b strb r3, [r5, #4]
|
|
7206: e7e3 b.n 71d0 <lv_style_list_copy+0x80>
|
|
7208: 000070e1 .word 0x000070e1
|
|
720c: 000123c5 .word 0x000123c5
|
|
7210: 0001263d .word 0x0001263d
|
|
7214: 00006695 .word 0x00006695
|
|
7218: 000067a1 .word 0x000067a1
|
|
|
|
0000721c <_lv_style_list_add_trans_style>:
|
|
{
|
|
721c: b530 push {r4, r5, lr}
|
|
721e: b083 sub sp, #12
|
|
7220: 4604 mov r4, r0
|
|
if(list->has_trans) return _lv_style_list_get_transition_style(list);
|
|
7222: 7943 ldrb r3, [r0, #5]
|
|
7224: f013 0f02 tst.w r3, #2
|
|
7228: d005 beq.n 7236 <_lv_style_list_add_trans_style+0x1a>
|
|
722a: 4b1d ldr r3, [pc, #116] ; (72a0 <_lv_style_list_add_trans_style+0x84>)
|
|
722c: 4798 blx r3
|
|
722e: 4605 mov r5, r0
|
|
}
|
|
7230: 4628 mov r0, r5
|
|
7232: b003 add sp, #12
|
|
7234: bd30 pop {r4, r5, pc}
|
|
lv_style_t * trans_style = lv_mem_alloc(sizeof(lv_style_t));
|
|
7236: 2004 movs r0, #4
|
|
7238: 4b1a ldr r3, [pc, #104] ; (72a4 <_lv_style_list_add_trans_style+0x88>)
|
|
723a: 4798 blx r3
|
|
723c: 4605 mov r5, r0
|
|
LV_ASSERT_MEM(trans_style);
|
|
723e: 4b1a ldr r3, [pc, #104] ; (72a8 <_lv_style_list_add_trans_style+0x8c>)
|
|
7240: 4798 blx r3
|
|
7242: b1a8 cbz r0, 7270 <_lv_style_list_add_trans_style+0x54>
|
|
if(trans_style == NULL) {
|
|
7244: b315 cbz r5, 728c <_lv_style_list_add_trans_style+0x70>
|
|
lv_style_init(trans_style);
|
|
7246: 4628 mov r0, r5
|
|
7248: 4b18 ldr r3, [pc, #96] ; (72ac <_lv_style_list_add_trans_style+0x90>)
|
|
724a: 4798 blx r3
|
|
_lv_style_list_add_style(list, trans_style);
|
|
724c: 4629 mov r1, r5
|
|
724e: 4620 mov r0, r4
|
|
7250: 4b17 ldr r3, [pc, #92] ; (72b0 <_lv_style_list_add_trans_style+0x94>)
|
|
7252: 4798 blx r3
|
|
list->has_trans = 1;
|
|
7254: 7963 ldrb r3, [r4, #5]
|
|
7256: f043 0302 orr.w r3, r3, #2
|
|
725a: 7163 strb r3, [r4, #5]
|
|
if(list->has_local) {
|
|
725c: f013 0f01 tst.w r3, #1
|
|
7260: d0e6 beq.n 7230 <_lv_style_list_add_trans_style+0x14>
|
|
lv_style_t * tmp = list->style_list[0];
|
|
7262: 6823 ldr r3, [r4, #0]
|
|
7264: 681a ldr r2, [r3, #0]
|
|
list->style_list[0] = list->style_list[1];
|
|
7266: 6859 ldr r1, [r3, #4]
|
|
7268: 6019 str r1, [r3, #0]
|
|
list->style_list[1] = tmp;
|
|
726a: 6823 ldr r3, [r4, #0]
|
|
726c: 605a str r2, [r3, #4]
|
|
726e: e7df b.n 7230 <_lv_style_list_add_trans_style+0x14>
|
|
LV_ASSERT_MEM(trans_style);
|
|
7270: 4b10 ldr r3, [pc, #64] ; (72b4 <_lv_style_list_add_trans_style+0x98>)
|
|
7272: 9300 str r3, [sp, #0]
|
|
7274: f240 22cd movw r2, #717 ; 0x2cd
|
|
7278: 490f ldr r1, [pc, #60] ; (72b8 <_lv_style_list_add_trans_style+0x9c>)
|
|
727a: 2003 movs r0, #3
|
|
727c: 4c0f ldr r4, [pc, #60] ; (72bc <_lv_style_list_add_trans_style+0xa0>)
|
|
727e: 47a0 blx r4
|
|
7280: 462a mov r2, r5
|
|
7282: 2300 movs r3, #0
|
|
7284: 480e ldr r0, [pc, #56] ; (72c0 <_lv_style_list_add_trans_style+0xa4>)
|
|
7286: 490f ldr r1, [pc, #60] ; (72c4 <_lv_style_list_add_trans_style+0xa8>)
|
|
7288: 4788 blx r1
|
|
728a: e7fe b.n 728a <_lv_style_list_add_trans_style+0x6e>
|
|
LV_LOG_WARN("lv_style_list_add_trans_style: couldn't create transition style");
|
|
728c: 4b0e ldr r3, [pc, #56] ; (72c8 <_lv_style_list_add_trans_style+0xac>)
|
|
728e: 9300 str r3, [sp, #0]
|
|
7290: 4b08 ldr r3, [pc, #32] ; (72b4 <_lv_style_list_add_trans_style+0x98>)
|
|
7292: f240 22cf movw r2, #719 ; 0x2cf
|
|
7296: 4908 ldr r1, [pc, #32] ; (72b8 <_lv_style_list_add_trans_style+0x9c>)
|
|
7298: 2002 movs r0, #2
|
|
729a: 4c08 ldr r4, [pc, #32] ; (72bc <_lv_style_list_add_trans_style+0xa0>)
|
|
729c: 47a0 blx r4
|
|
return NULL;
|
|
729e: e7c7 b.n 7230 <_lv_style_list_add_trans_style+0x14>
|
|
72a0: 000070cf .word 0x000070cf
|
|
72a4: 000123c5 .word 0x000123c5
|
|
72a8: 00002299 .word 0x00002299
|
|
72ac: 000064c1 .word 0x000064c1
|
|
72b0: 000065c1 .word 0x000065c1
|
|
72b4: 00024b04 .word 0x00024b04
|
|
72b8: 00024b24 .word 0x00024b24
|
|
72bc: 00012245 .word 0x00012245
|
|
72c0: 00023fc0 .word 0x00023fc0
|
|
72c4: 000022a1 .word 0x000022a1
|
|
72c8: 00024bec .word 0x00024bec
|
|
|
|
000072cc <_lv_style_list_get_int>:
|
|
if(list == NULL) return LV_RES_INV;
|
|
72cc: 2800 cmp r0, #0
|
|
72ce: d059 beq.n 7384 <_lv_style_list_get_int+0xb8>
|
|
{
|
|
72d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
72d4: b083 sub sp, #12
|
|
72d6: 4605 mov r5, r0
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
72d8: 6803 ldr r3, [r0, #0]
|
|
72da: 2b00 cmp r3, #0
|
|
72dc: d054 beq.n 7388 <_lv_style_list_get_int+0xbc>
|
|
int16_t weight_goal = attr.full;
|
|
72de: ea4f 2811 mov.w r8, r1, lsr #8
|
|
lv_style_int_t value_act = 0;
|
|
72e2: 2300 movs r3, #0
|
|
72e4: f8ad 3006 strh.w r3, [sp, #6]
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
72e8: 7900 ldrb r0, [r0, #4]
|
|
72ea: 2800 cmp r0, #0
|
|
72ec: d042 beq.n 7374 <_lv_style_list_get_int+0xa8>
|
|
72ee: 4693 mov fp, r2
|
|
72f0: 4689 mov r9, r1
|
|
72f2: 461c mov r4, r3
|
|
72f4: f04f 36ff mov.w r6, #4294967295
|
|
72f8: 469a mov sl, r3
|
|
int16_t weight_act = _lv_style_get_int(class, prop, &value_act);
|
|
72fa: 4f24 ldr r7, [pc, #144] ; (738c <_lv_style_list_get_int+0xc0>)
|
|
72fc: e01c b.n 7338 <_lv_style_list_get_int+0x6c>
|
|
72fe: 4650 mov r0, sl
|
|
7300: f10d 0206 add.w r2, sp, #6
|
|
7304: 4649 mov r1, r9
|
|
7306: 47b8 blx r7
|
|
if(weight_act == weight_goal) {
|
|
7308: 4580 cmp r8, r0
|
|
730a: d027 beq.n 735c <_lv_style_list_get_int+0x90>
|
|
else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) {
|
|
730c: 796b ldrb r3, [r5, #5]
|
|
730e: f013 0f02 tst.w r3, #2
|
|
7312: d005 beq.n 7320 <_lv_style_list_get_int+0x54>
|
|
7314: 2800 cmp r0, #0
|
|
7316: db03 blt.n 7320 <_lv_style_list_get_int+0x54>
|
|
7318: b914 cbnz r4, 7320 <_lv_style_list_get_int+0x54>
|
|
731a: f013 0f04 tst.w r3, #4
|
|
731e: d023 beq.n 7368 <_lv_style_list_get_int+0x9c>
|
|
else if(weight_act > weight) {
|
|
7320: 42b0 cmp r0, r6
|
|
7322: dd04 ble.n 732e <_lv_style_list_get_int+0x62>
|
|
*res = value_act;
|
|
7324: f8bd 3006 ldrh.w r3, [sp, #6]
|
|
7328: f8ab 3000 strh.w r3, [fp]
|
|
weight = weight_act;
|
|
732c: 4606 mov r6, r0
|
|
732e: 3401 adds r4, #1
|
|
7330: b224 sxth r4, r4
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
7332: 7928 ldrb r0, [r5, #4]
|
|
7334: 4284 cmp r4, r0
|
|
7336: da1f bge.n 7378 <_lv_style_list_get_int+0xac>
|
|
lv_style_t * class = lv_style_list_get_style(list, ci);
|
|
7338: b2e2 uxtb r2, r4
|
|
if(list->has_trans && list->skip_trans) id++;
|
|
733a: 796b ldrb r3, [r5, #5]
|
|
733c: f003 0306 and.w r3, r3, #6
|
|
7340: 2b06 cmp r3, #6
|
|
7342: bf04 itt eq
|
|
7344: 3201 addeq r2, #1
|
|
7346: b2d2 uxtbeq r2, r2
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
7348: 2800 cmp r0, #0
|
|
734a: d0d8 beq.n 72fe <_lv_style_list_get_int+0x32>
|
|
734c: 4282 cmp r2, r0
|
|
734e: d203 bcs.n 7358 <_lv_style_list_get_int+0x8c>
|
|
return list->style_list[id];
|
|
7350: 682b ldr r3, [r5, #0]
|
|
7352: f853 0022 ldr.w r0, [r3, r2, lsl #2]
|
|
7356: e7d3 b.n 7300 <_lv_style_list_get_int+0x34>
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
7358: 4650 mov r0, sl
|
|
735a: e7d1 b.n 7300 <_lv_style_list_get_int+0x34>
|
|
*res = value_act;
|
|
735c: f8bd 3006 ldrh.w r3, [sp, #6]
|
|
7360: f8ab 3000 strh.w r3, [fp]
|
|
return LV_RES_OK;
|
|
7364: 2001 movs r0, #1
|
|
7366: e00a b.n 737e <_lv_style_list_get_int+0xb2>
|
|
*res = value_act;
|
|
7368: f8bd 3006 ldrh.w r3, [sp, #6]
|
|
736c: f8ab 3000 strh.w r3, [fp]
|
|
return LV_RES_OK;
|
|
7370: 2001 movs r0, #1
|
|
7372: e004 b.n 737e <_lv_style_list_get_int+0xb2>
|
|
int16_t weight = -1;
|
|
7374: f04f 36ff mov.w r6, #4294967295
|
|
if(weight >= 0) return LV_RES_OK;
|
|
7378: 43f0 mvns r0, r6
|
|
if(list == NULL) return LV_RES_INV;
|
|
737a: f3c0 30c0 ubfx r0, r0, #15, #1
|
|
}
|
|
737e: b003 add sp, #12
|
|
7380: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(list == NULL) return LV_RES_INV;
|
|
7384: 2000 movs r0, #0
|
|
7386: 4770 bx lr
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
7388: 2000 movs r0, #0
|
|
738a: e7f8 b.n 737e <_lv_style_list_get_int+0xb2>
|
|
738c: 00006ddd .word 0x00006ddd
|
|
|
|
00007390 <_lv_style_list_get_color>:
|
|
if(list == NULL) return LV_RES_INV;
|
|
7390: 2800 cmp r0, #0
|
|
7392: d058 beq.n 7446 <_lv_style_list_get_color+0xb6>
|
|
{
|
|
7394: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
7398: b083 sub sp, #12
|
|
739a: 4605 mov r5, r0
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
739c: 6803 ldr r3, [r0, #0]
|
|
739e: 2b00 cmp r3, #0
|
|
73a0: d053 beq.n 744a <_lv_style_list_get_color+0xba>
|
|
int16_t weight_goal = attr.full;
|
|
73a2: ea4f 2811 mov.w r8, r1, lsr #8
|
|
lv_color_t value_act = { 0 };
|
|
73a6: 2300 movs r3, #0
|
|
73a8: f8ad 3004 strh.w r3, [sp, #4]
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
73ac: 7900 ldrb r0, [r0, #4]
|
|
73ae: 2800 cmp r0, #0
|
|
73b0: d041 beq.n 7436 <_lv_style_list_get_color+0xa6>
|
|
73b2: 4693 mov fp, r2
|
|
73b4: 4689 mov r9, r1
|
|
73b6: 461c mov r4, r3
|
|
73b8: f04f 36ff mov.w r6, #4294967295
|
|
73bc: 469a mov sl, r3
|
|
int16_t weight_act = _lv_style_get_color(class, prop, &value_act);
|
|
73be: 4f24 ldr r7, [pc, #144] ; (7450 <_lv_style_list_get_color+0xc0>)
|
|
73c0: e01b b.n 73fa <_lv_style_list_get_color+0x6a>
|
|
73c2: 4650 mov r0, sl
|
|
73c4: aa01 add r2, sp, #4
|
|
73c6: 4649 mov r1, r9
|
|
73c8: 47b8 blx r7
|
|
if(weight_act == weight_goal) {
|
|
73ca: 4580 cmp r8, r0
|
|
73cc: d027 beq.n 741e <_lv_style_list_get_color+0x8e>
|
|
else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) {
|
|
73ce: 796b ldrb r3, [r5, #5]
|
|
73d0: f013 0f02 tst.w r3, #2
|
|
73d4: d005 beq.n 73e2 <_lv_style_list_get_color+0x52>
|
|
73d6: 2800 cmp r0, #0
|
|
73d8: db03 blt.n 73e2 <_lv_style_list_get_color+0x52>
|
|
73da: b914 cbnz r4, 73e2 <_lv_style_list_get_color+0x52>
|
|
73dc: f013 0f04 tst.w r3, #4
|
|
73e0: d023 beq.n 742a <_lv_style_list_get_color+0x9a>
|
|
else if(weight_act > weight) {
|
|
73e2: 42b0 cmp r0, r6
|
|
73e4: dd04 ble.n 73f0 <_lv_style_list_get_color+0x60>
|
|
*res = value_act;
|
|
73e6: f8bd 3004 ldrh.w r3, [sp, #4]
|
|
73ea: f8ab 3000 strh.w r3, [fp]
|
|
weight = weight_act;
|
|
73ee: 4606 mov r6, r0
|
|
73f0: 3401 adds r4, #1
|
|
73f2: b224 sxth r4, r4
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
73f4: 7928 ldrb r0, [r5, #4]
|
|
73f6: 4284 cmp r4, r0
|
|
73f8: da1f bge.n 743a <_lv_style_list_get_color+0xaa>
|
|
lv_style_t * class = lv_style_list_get_style(list, ci);
|
|
73fa: b2e2 uxtb r2, r4
|
|
if(list->has_trans && list->skip_trans) id++;
|
|
73fc: 796b ldrb r3, [r5, #5]
|
|
73fe: f003 0306 and.w r3, r3, #6
|
|
7402: 2b06 cmp r3, #6
|
|
7404: bf04 itt eq
|
|
7406: 3201 addeq r2, #1
|
|
7408: b2d2 uxtbeq r2, r2
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
740a: 2800 cmp r0, #0
|
|
740c: d0d9 beq.n 73c2 <_lv_style_list_get_color+0x32>
|
|
740e: 4282 cmp r2, r0
|
|
7410: d203 bcs.n 741a <_lv_style_list_get_color+0x8a>
|
|
return list->style_list[id];
|
|
7412: 682b ldr r3, [r5, #0]
|
|
7414: f853 0022 ldr.w r0, [r3, r2, lsl #2]
|
|
7418: e7d4 b.n 73c4 <_lv_style_list_get_color+0x34>
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
741a: 4650 mov r0, sl
|
|
741c: e7d2 b.n 73c4 <_lv_style_list_get_color+0x34>
|
|
*res = value_act;
|
|
741e: f8bd 3004 ldrh.w r3, [sp, #4]
|
|
7422: f8ab 3000 strh.w r3, [fp]
|
|
return LV_RES_OK;
|
|
7426: 2001 movs r0, #1
|
|
7428: e00a b.n 7440 <_lv_style_list_get_color+0xb0>
|
|
*res = value_act;
|
|
742a: f8bd 3004 ldrh.w r3, [sp, #4]
|
|
742e: f8ab 3000 strh.w r3, [fp]
|
|
return LV_RES_OK;
|
|
7432: 2001 movs r0, #1
|
|
7434: e004 b.n 7440 <_lv_style_list_get_color+0xb0>
|
|
int16_t weight = -1;
|
|
7436: f04f 36ff mov.w r6, #4294967295
|
|
if(weight >= 0) return LV_RES_OK;
|
|
743a: 43f0 mvns r0, r6
|
|
if(list == NULL) return LV_RES_INV;
|
|
743c: f3c0 30c0 ubfx r0, r0, #15, #1
|
|
}
|
|
7440: b003 add sp, #12
|
|
7442: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(list == NULL) return LV_RES_INV;
|
|
7446: 2000 movs r0, #0
|
|
7448: 4770 bx lr
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
744a: 2000 movs r0, #0
|
|
744c: e7f8 b.n 7440 <_lv_style_list_get_color+0xb0>
|
|
744e: bf00 nop
|
|
7450: 00006f43 .word 0x00006f43
|
|
|
|
00007454 <_lv_style_list_get_opa>:
|
|
if(list == NULL) return LV_RES_INV;
|
|
7454: 2800 cmp r0, #0
|
|
7456: d059 beq.n 750c <_lv_style_list_get_opa+0xb8>
|
|
{
|
|
7458: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
745c: b083 sub sp, #12
|
|
745e: 4605 mov r5, r0
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
7460: 6803 ldr r3, [r0, #0]
|
|
7462: 2b00 cmp r3, #0
|
|
7464: d054 beq.n 7510 <_lv_style_list_get_opa+0xbc>
|
|
int16_t weight_goal = attr.full;
|
|
7466: ea4f 2811 mov.w r8, r1, lsr #8
|
|
lv_opa_t value_act = LV_OPA_TRANSP;
|
|
746a: 2300 movs r3, #0
|
|
746c: f88d 3007 strb.w r3, [sp, #7]
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
7470: 7900 ldrb r0, [r0, #4]
|
|
7472: 2800 cmp r0, #0
|
|
7474: d042 beq.n 74fc <_lv_style_list_get_opa+0xa8>
|
|
7476: 4693 mov fp, r2
|
|
7478: 4689 mov r9, r1
|
|
747a: 461c mov r4, r3
|
|
747c: f04f 36ff mov.w r6, #4294967295
|
|
7480: 469a mov sl, r3
|
|
int16_t weight_act = _lv_style_get_opa(class, prop, &value_act);
|
|
7482: 4f24 ldr r7, [pc, #144] ; (7514 <_lv_style_list_get_opa+0xc0>)
|
|
7484: e01c b.n 74c0 <_lv_style_list_get_opa+0x6c>
|
|
7486: 4650 mov r0, sl
|
|
7488: f10d 0207 add.w r2, sp, #7
|
|
748c: 4649 mov r1, r9
|
|
748e: 47b8 blx r7
|
|
if(weight_act == weight_goal) {
|
|
7490: 4580 cmp r8, r0
|
|
7492: d027 beq.n 74e4 <_lv_style_list_get_opa+0x90>
|
|
else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) {
|
|
7494: 796b ldrb r3, [r5, #5]
|
|
7496: f013 0f02 tst.w r3, #2
|
|
749a: d005 beq.n 74a8 <_lv_style_list_get_opa+0x54>
|
|
749c: 2800 cmp r0, #0
|
|
749e: db03 blt.n 74a8 <_lv_style_list_get_opa+0x54>
|
|
74a0: b914 cbnz r4, 74a8 <_lv_style_list_get_opa+0x54>
|
|
74a2: f013 0f04 tst.w r3, #4
|
|
74a6: d023 beq.n 74f0 <_lv_style_list_get_opa+0x9c>
|
|
else if(weight_act > weight) {
|
|
74a8: 42b0 cmp r0, r6
|
|
74aa: dd04 ble.n 74b6 <_lv_style_list_get_opa+0x62>
|
|
*res = value_act;
|
|
74ac: f89d 3007 ldrb.w r3, [sp, #7]
|
|
74b0: f88b 3000 strb.w r3, [fp]
|
|
weight = weight_act;
|
|
74b4: 4606 mov r6, r0
|
|
74b6: 3401 adds r4, #1
|
|
74b8: b224 sxth r4, r4
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
74ba: 7928 ldrb r0, [r5, #4]
|
|
74bc: 4284 cmp r4, r0
|
|
74be: da1f bge.n 7500 <_lv_style_list_get_opa+0xac>
|
|
lv_style_t * class = lv_style_list_get_style(list, ci);
|
|
74c0: b2e2 uxtb r2, r4
|
|
if(list->has_trans && list->skip_trans) id++;
|
|
74c2: 796b ldrb r3, [r5, #5]
|
|
74c4: f003 0306 and.w r3, r3, #6
|
|
74c8: 2b06 cmp r3, #6
|
|
74ca: bf04 itt eq
|
|
74cc: 3201 addeq r2, #1
|
|
74ce: b2d2 uxtbeq r2, r2
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
74d0: 2800 cmp r0, #0
|
|
74d2: d0d8 beq.n 7486 <_lv_style_list_get_opa+0x32>
|
|
74d4: 4282 cmp r2, r0
|
|
74d6: d203 bcs.n 74e0 <_lv_style_list_get_opa+0x8c>
|
|
return list->style_list[id];
|
|
74d8: 682b ldr r3, [r5, #0]
|
|
74da: f853 0022 ldr.w r0, [r3, r2, lsl #2]
|
|
74de: e7d3 b.n 7488 <_lv_style_list_get_opa+0x34>
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
74e0: 4650 mov r0, sl
|
|
74e2: e7d1 b.n 7488 <_lv_style_list_get_opa+0x34>
|
|
*res = value_act;
|
|
74e4: f89d 3007 ldrb.w r3, [sp, #7]
|
|
74e8: f88b 3000 strb.w r3, [fp]
|
|
return LV_RES_OK;
|
|
74ec: 2001 movs r0, #1
|
|
74ee: e00a b.n 7506 <_lv_style_list_get_opa+0xb2>
|
|
*res = value_act;
|
|
74f0: f89d 3007 ldrb.w r3, [sp, #7]
|
|
74f4: f88b 3000 strb.w r3, [fp]
|
|
return LV_RES_OK;
|
|
74f8: 2001 movs r0, #1
|
|
74fa: e004 b.n 7506 <_lv_style_list_get_opa+0xb2>
|
|
int16_t weight = -1;
|
|
74fc: f04f 36ff mov.w r6, #4294967295
|
|
if(weight >= 0) return LV_RES_OK;
|
|
7500: 43f0 mvns r0, r6
|
|
if(list == NULL) return LV_RES_INV;
|
|
7502: f3c0 30c0 ubfx r0, r0, #15, #1
|
|
}
|
|
7506: b003 add sp, #12
|
|
7508: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(list == NULL) return LV_RES_INV;
|
|
750c: 2000 movs r0, #0
|
|
750e: 4770 bx lr
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
7510: 2000 movs r0, #0
|
|
7512: e7f8 b.n 7506 <_lv_style_list_get_opa+0xb2>
|
|
7514: 00006e93 .word 0x00006e93
|
|
|
|
00007518 <_lv_style_list_get_ptr>:
|
|
if(list == NULL) return LV_RES_INV;
|
|
7518: 2800 cmp r0, #0
|
|
751a: d052 beq.n 75c2 <_lv_style_list_get_ptr+0xaa>
|
|
{
|
|
751c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
7520: b083 sub sp, #12
|
|
7522: 4605 mov r5, r0
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
7524: 6803 ldr r3, [r0, #0]
|
|
7526: 2b00 cmp r3, #0
|
|
7528: d04d beq.n 75c6 <_lv_style_list_get_ptr+0xae>
|
|
int16_t weight_goal = attr.full;
|
|
752a: ea4f 2811 mov.w r8, r1, lsr #8
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
752e: 7900 ldrb r0, [r0, #4]
|
|
7530: 2800 cmp r0, #0
|
|
7532: d03e beq.n 75b2 <_lv_style_list_get_ptr+0x9a>
|
|
7534: 4693 mov fp, r2
|
|
7536: 4689 mov r9, r1
|
|
7538: 2400 movs r4, #0
|
|
753a: f04f 36ff mov.w r6, #4294967295
|
|
753e: 46a2 mov sl, r4
|
|
int16_t weight_act = _lv_style_get_ptr(class, prop, &value_act);
|
|
7540: 4f22 ldr r7, [pc, #136] ; (75cc <_lv_style_list_get_ptr+0xb4>)
|
|
7542: e01a b.n 757a <_lv_style_list_get_ptr+0x62>
|
|
7544: 4650 mov r0, sl
|
|
7546: aa01 add r2, sp, #4
|
|
7548: 4649 mov r1, r9
|
|
754a: 47b8 blx r7
|
|
if(weight_act == weight_goal) {
|
|
754c: 4580 cmp r8, r0
|
|
754e: d026 beq.n 759e <_lv_style_list_get_ptr+0x86>
|
|
else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) {
|
|
7550: 796b ldrb r3, [r5, #5]
|
|
7552: f013 0f02 tst.w r3, #2
|
|
7556: d005 beq.n 7564 <_lv_style_list_get_ptr+0x4c>
|
|
7558: 2800 cmp r0, #0
|
|
755a: db03 blt.n 7564 <_lv_style_list_get_ptr+0x4c>
|
|
755c: b914 cbnz r4, 7564 <_lv_style_list_get_ptr+0x4c>
|
|
755e: f013 0f04 tst.w r3, #4
|
|
7562: d021 beq.n 75a8 <_lv_style_list_get_ptr+0x90>
|
|
else if(weight_act > weight) {
|
|
7564: 42b0 cmp r0, r6
|
|
7566: dd03 ble.n 7570 <_lv_style_list_get_ptr+0x58>
|
|
*res = value_act;
|
|
7568: 9b01 ldr r3, [sp, #4]
|
|
756a: f8cb 3000 str.w r3, [fp]
|
|
weight = weight_act;
|
|
756e: 4606 mov r6, r0
|
|
7570: 3401 adds r4, #1
|
|
7572: b224 sxth r4, r4
|
|
for(ci = 0; ci < list->style_cnt; ci++) {
|
|
7574: 7928 ldrb r0, [r5, #4]
|
|
7576: 4284 cmp r4, r0
|
|
7578: da1d bge.n 75b6 <_lv_style_list_get_ptr+0x9e>
|
|
lv_style_t * class = lv_style_list_get_style(list, ci);
|
|
757a: b2e2 uxtb r2, r4
|
|
if(list->has_trans && list->skip_trans) id++;
|
|
757c: 796b ldrb r3, [r5, #5]
|
|
757e: f003 0306 and.w r3, r3, #6
|
|
7582: 2b06 cmp r3, #6
|
|
7584: bf04 itt eq
|
|
7586: 3201 addeq r2, #1
|
|
7588: b2d2 uxtbeq r2, r2
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
758a: 2800 cmp r0, #0
|
|
758c: d0da beq.n 7544 <_lv_style_list_get_ptr+0x2c>
|
|
758e: 4282 cmp r2, r0
|
|
7590: d203 bcs.n 759a <_lv_style_list_get_ptr+0x82>
|
|
return list->style_list[id];
|
|
7592: 682b ldr r3, [r5, #0]
|
|
7594: f853 0022 ldr.w r0, [r3, r2, lsl #2]
|
|
7598: e7d5 b.n 7546 <_lv_style_list_get_ptr+0x2e>
|
|
if(list->style_cnt == 0 || id >= list->style_cnt) return NULL;
|
|
759a: 4650 mov r0, sl
|
|
759c: e7d3 b.n 7546 <_lv_style_list_get_ptr+0x2e>
|
|
*res = value_act;
|
|
759e: 9b01 ldr r3, [sp, #4]
|
|
75a0: f8cb 3000 str.w r3, [fp]
|
|
return LV_RES_OK;
|
|
75a4: 2001 movs r0, #1
|
|
75a6: e009 b.n 75bc <_lv_style_list_get_ptr+0xa4>
|
|
*res = value_act;
|
|
75a8: 9b01 ldr r3, [sp, #4]
|
|
75aa: f8cb 3000 str.w r3, [fp]
|
|
return LV_RES_OK;
|
|
75ae: 2001 movs r0, #1
|
|
75b0: e004 b.n 75bc <_lv_style_list_get_ptr+0xa4>
|
|
int16_t weight = -1;
|
|
75b2: f04f 36ff mov.w r6, #4294967295
|
|
if(weight >= 0) return LV_RES_OK;
|
|
75b6: 43f0 mvns r0, r6
|
|
if(list == NULL) return LV_RES_INV;
|
|
75b8: f3c0 30c0 ubfx r0, r0, #15, #1
|
|
}
|
|
75bc: b003 add sp, #12
|
|
75be: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(list == NULL) return LV_RES_INV;
|
|
75c2: 2000 movs r0, #0
|
|
75c4: 4770 bx lr
|
|
if(list->style_list == NULL) return LV_RES_INV;
|
|
75c6: 2000 movs r0, #0
|
|
75c8: e7f8 b.n 75bc <_lv_style_list_get_ptr+0xa4>
|
|
75ca: bf00 nop
|
|
75cc: 00006ff9 .word 0x00006ff9
|
|
|
|
000075d0 <color_blend_true_color_additive>:
|
|
}
|
|
}
|
|
}
|
|
|
|
static inline lv_color_t color_blend_true_color_additive(lv_color_t fg, lv_color_t bg, lv_opa_t opa)
|
|
{
|
|
75d0: b5f0 push {r4, r5, r6, r7, lr}
|
|
75d2: f001 0e1f and.w lr, r1, #31
|
|
75d6: f3c1 1645 ubfx r6, r1, #5, #6
|
|
75da: f3c1 21c4 ubfx r1, r1, #11, #5
|
|
|
|
if(opa <= LV_OPA_MIN) return bg;
|
|
75de: 2a05 cmp r2, #5
|
|
75e0: d93f bls.n 7662 <color_blend_true_color_additive+0x92>
|
|
uint32_t tmp;
|
|
#if LV_COLOR_DEPTH == 1
|
|
tmp = bg.full + fg.full;
|
|
fg.full = LV_MATH_MIN(tmp, 1);
|
|
#else
|
|
tmp = bg.ch.red + fg.ch.red;
|
|
75e2: f3c0 24c4 ubfx r4, r0, #11, #5
|
|
75e6: 440c add r4, r1
|
|
#if LV_COLOR_DEPTH == 8
|
|
fg.ch.red = LV_MATH_MIN(tmp, 7);
|
|
#elif LV_COLOR_DEPTH == 16
|
|
fg.ch.red = LV_MATH_MIN(tmp, 31);
|
|
75e8: 2c1f cmp r4, #31
|
|
75ea: bf28 it cs
|
|
75ec: 241f movcs r4, #31
|
|
75ee: f004 041f and.w r4, r4, #31
|
|
|
|
#if LV_COLOR_DEPTH == 8
|
|
fg.ch.green = LV_MATH_MIN(tmp, 7);
|
|
#elif LV_COLOR_DEPTH == 16
|
|
#if LV_COLOR_16_SWAP == 0
|
|
tmp = bg.ch.green + fg.ch.green;
|
|
75f2: f3c0 1345 ubfx r3, r0, #5, #6
|
|
75f6: 4433 add r3, r6
|
|
fg.ch.green = LV_MATH_MIN(tmp, 63);
|
|
75f8: 2b3f cmp r3, #63 ; 0x3f
|
|
75fa: bf28 it cs
|
|
75fc: 233f movcs r3, #63 ; 0x3f
|
|
75fe: f003 053f and.w r5, r3, #63 ; 0x3f
|
|
|
|
#elif LV_COLOR_DEPTH == 32
|
|
fg.ch.green = LV_MATH_MIN(tmp, 255);
|
|
#endif
|
|
|
|
tmp = bg.ch.blue + fg.ch.blue;
|
|
7602: f000 001f and.w r0, r0, #31
|
|
7606: 4470 add r0, lr
|
|
#if LV_COLOR_DEPTH == 8
|
|
fg.ch.blue = LV_MATH_MIN(tmp, 4);
|
|
#elif LV_COLOR_DEPTH == 16
|
|
fg.ch.blue = LV_MATH_MIN(tmp, 31);
|
|
7608: 281f cmp r0, #31
|
|
760a: bf28 it cs
|
|
760c: 201f movcs r0, #31
|
|
760e: f000 031f and.w r3, r0, #31
|
|
#elif LV_COLOR_DEPTH == 32
|
|
fg.ch.blue = LV_MATH_MIN(tmp, 255);
|
|
#endif
|
|
#endif
|
|
|
|
if(opa == LV_OPA_COVER) return fg;
|
|
7612: 2aff cmp r2, #255 ; 0xff
|
|
7614: d02e beq.n 7674 <color_blend_true_color_additive+0xa4>
|
|
LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix)
|
|
{
|
|
lv_color_t ret;
|
|
#if LV_COLOR_DEPTH != 1
|
|
/*LV_COLOR_DEPTH == 8, 16 or 32*/
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7616: f1c2 07ff rsb r7, r2, #255 ; 0xff
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
761a: fb07 f00e mul.w r0, r7, lr
|
|
761e: fb02 0003 mla r0, r2, r3, r0
|
|
7622: eb00 2300 add.w r3, r0, r0, lsl #8
|
|
7626: eb00 10c3 add.w r0, r0, r3, lsl #7
|
|
762a: 0dc3 lsrs r3, r0, #23
|
|
762c: f04f 0000 mov.w r0, #0
|
|
7630: f363 0004 bfi r0, r3, #0, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7634: fb07 f306 mul.w r3, r7, r6
|
|
7638: fb02 3305 mla r3, r2, r5, r3
|
|
763c: eb03 2503 add.w r5, r3, r3, lsl #8
|
|
7640: eb03 13c5 add.w r3, r3, r5, lsl #7
|
|
7644: 0ddb lsrs r3, r3, #23
|
|
7646: f363 104a bfi r0, r3, #5, #6
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
764a: fb07 f101 mul.w r1, r7, r1
|
|
764e: fb02 1204 mla r2, r2, r4, r1
|
|
7652: eb02 2302 add.w r3, r2, r2, lsl #8
|
|
7656: eb02 12c3 add.w r2, r2, r3, lsl #7
|
|
765a: 0dd2 lsrs r2, r2, #23
|
|
765c: f362 20cf bfi r0, r2, #11, #5
|
|
|
|
return lv_color_mix(fg, bg, opa);
|
|
}
|
|
7660: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(opa <= LV_OPA_MIN) return bg;
|
|
7662: f04f 0000 mov.w r0, #0
|
|
7666: f36e 0004 bfi r0, lr, #0, #5
|
|
766a: f366 104a bfi r0, r6, #5, #6
|
|
766e: f361 20cf bfi r0, r1, #11, #5
|
|
7672: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(opa == LV_OPA_COVER) return fg;
|
|
7674: f04f 0000 mov.w r0, #0
|
|
7678: f363 0004 bfi r0, r3, #0, #5
|
|
767c: f365 104a bfi r0, r5, #5, #6
|
|
7680: f364 20cf bfi r0, r4, #11, #5
|
|
7684: bdf0 pop {r4, r5, r6, r7, pc}
|
|
|
|
00007686 <color_blend_true_color_subtractive>:
|
|
|
|
static inline lv_color_t color_blend_true_color_subtractive(lv_color_t fg, lv_color_t bg, lv_opa_t opa)
|
|
{
|
|
7686: b5f0 push {r4, r5, r6, r7, lr}
|
|
7688: f001 0e1f and.w lr, r1, #31
|
|
768c: f3c1 1645 ubfx r6, r1, #5, #6
|
|
7690: f3c1 21c4 ubfx r1, r1, #11, #5
|
|
|
|
if(opa <= LV_OPA_MIN) return bg;
|
|
7694: 2a05 cmp r2, #5
|
|
7696: d93d bls.n 7714 <color_blend_true_color_subtractive+0x8e>
|
|
|
|
int32_t tmp;
|
|
tmp = bg.ch.red - fg.ch.red;
|
|
7698: f3c0 24c4 ubfx r4, r0, #11, #5
|
|
769c: 1b0c subs r4, r1, r4
|
|
fg.ch.red = LV_MATH_MAX(tmp, 0);
|
|
769e: ea24 74e4 bic.w r4, r4, r4, asr #31
|
|
76a2: f004 041f and.w r4, r4, #31
|
|
|
|
#if LV_COLOR_16_SWAP == 0
|
|
tmp = bg.ch.green - fg.ch.green;
|
|
76a6: f3c0 1345 ubfx r3, r0, #5, #6
|
|
76aa: 1af3 subs r3, r6, r3
|
|
fg.ch.green = LV_MATH_MAX(tmp, 0);
|
|
76ac: ea23 73e3 bic.w r3, r3, r3, asr #31
|
|
76b0: f003 053f and.w r5, r3, #63 ; 0x3f
|
|
tmp = LV_MATH_MAX(tmp, 0);
|
|
fg.ch.green_h = tmp >> 3;
|
|
fg.ch.green_l = tmp & 0x7;
|
|
#endif
|
|
|
|
tmp = bg.ch.blue - fg.ch.blue;
|
|
76b4: f000 001f and.w r0, r0, #31
|
|
76b8: ebae 0000 sub.w r0, lr, r0
|
|
fg.ch.blue = LV_MATH_MAX(tmp, 0);
|
|
76bc: ea20 70e0 bic.w r0, r0, r0, asr #31
|
|
76c0: f000 031f and.w r3, r0, #31
|
|
|
|
if(opa == LV_OPA_COVER) return fg;
|
|
76c4: 2aff cmp r2, #255 ; 0xff
|
|
76c6: d02e beq.n 7726 <color_blend_true_color_subtractive+0xa0>
|
|
76c8: f1c2 07ff rsb r7, r2, #255 ; 0xff
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
76cc: fb07 f00e mul.w r0, r7, lr
|
|
76d0: fb02 0003 mla r0, r2, r3, r0
|
|
76d4: eb00 2300 add.w r3, r0, r0, lsl #8
|
|
76d8: eb00 10c3 add.w r0, r0, r3, lsl #7
|
|
76dc: 0dc3 lsrs r3, r0, #23
|
|
76de: f04f 0000 mov.w r0, #0
|
|
76e2: f363 0004 bfi r0, r3, #0, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
76e6: fb07 f306 mul.w r3, r7, r6
|
|
76ea: fb02 3305 mla r3, r2, r5, r3
|
|
76ee: eb03 2503 add.w r5, r3, r3, lsl #8
|
|
76f2: eb03 13c5 add.w r3, r3, r5, lsl #7
|
|
76f6: 0ddb lsrs r3, r3, #23
|
|
76f8: f363 104a bfi r0, r3, #5, #6
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
76fc: fb07 f101 mul.w r1, r7, r1
|
|
7700: fb02 1204 mla r2, r2, r4, r1
|
|
7704: eb02 2302 add.w r3, r2, r2, lsl #8
|
|
7708: eb02 12c3 add.w r2, r2, r3, lsl #7
|
|
770c: 0dd2 lsrs r2, r2, #23
|
|
770e: f362 20cf bfi r0, r2, #11, #5
|
|
|
|
return lv_color_mix(fg, bg, opa);
|
|
}
|
|
7712: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(opa <= LV_OPA_MIN) return bg;
|
|
7714: f04f 0000 mov.w r0, #0
|
|
7718: f36e 0004 bfi r0, lr, #0, #5
|
|
771c: f366 104a bfi r0, r6, #5, #6
|
|
7720: f361 20cf bfi r0, r1, #11, #5
|
|
7724: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(opa == LV_OPA_COVER) return fg;
|
|
7726: f04f 0000 mov.w r0, #0
|
|
772a: f363 0004 bfi r0, r3, #0, #5
|
|
772e: f365 104a bfi r0, r5, #5, #6
|
|
7732: f364 20cf bfi r0, r4, #11, #5
|
|
7736: bdf0 pop {r4, r5, r6, r7, pc}
|
|
|
|
00007738 <_lv_blend_fill>:
|
|
{
|
|
7738: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
773c: b093 sub sp, #76 ; 0x4c
|
|
773e: f89d 4070 ldrb.w r4, [sp, #112] ; 0x70
|
|
7742: f89d b074 ldrb.w fp, [sp, #116] ; 0x74
|
|
7746: f89d 9078 ldrb.w r9, [sp, #120] ; 0x78
|
|
if(opa < LV_OPA_MIN) return;
|
|
774a: f1bb 0f04 cmp.w fp, #4
|
|
774e: d900 bls.n 7752 <_lv_blend_fill+0x1a>
|
|
if(mask_res == LV_DRAW_MASK_RES_TRANSP) return;
|
|
7750: b914 cbnz r4, 7758 <_lv_blend_fill+0x20>
|
|
}
|
|
7752: b013 add sp, #76 ; 0x4c
|
|
7754: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
7758: 9308 str r3, [sp, #32]
|
|
775a: f8ad 2024 strh.w r2, [sp, #36] ; 0x24
|
|
775e: 460e mov r6, r1
|
|
7760: 4605 mov r5, r0
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
7762: 4bba ldr r3, [pc, #744] ; (7a4c <_lv_blend_fill+0x314>)
|
|
7764: 4798 blx r3
|
|
7766: 4680 mov r8, r0
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
7768: 4bb9 ldr r3, [pc, #740] ; (7a50 <_lv_blend_fill+0x318>)
|
|
776a: 4798 blx r3
|
|
776c: 4607 mov r7, r0
|
|
lv_color_t * disp_buf = vdb->buf_act;
|
|
776e: 6882 ldr r2, [r0, #8]
|
|
7770: 9206 str r2, [sp, #24]
|
|
is_common = _lv_area_intersect(&draw_area, clip_area, fill_area);
|
|
7772: 4632 mov r2, r6
|
|
7774: 4629 mov r1, r5
|
|
7776: a810 add r0, sp, #64 ; 0x40
|
|
7778: 4bb6 ldr r3, [pc, #728] ; (7a54 <_lv_blend_fill+0x31c>)
|
|
777a: 4798 blx r3
|
|
if(!is_common) return;
|
|
777c: 2800 cmp r0, #0
|
|
777e: d0e8 beq.n 7752 <_lv_blend_fill+0x1a>
|
|
draw_area.x1 -= disp_area->x1;
|
|
7780: 8a3a ldrh r2, [r7, #16]
|
|
7782: f8bd 3040 ldrh.w r3, [sp, #64] ; 0x40
|
|
7786: 1a9b subs r3, r3, r2
|
|
7788: b299 uxth r1, r3
|
|
778a: 460d mov r5, r1
|
|
778c: 910a str r1, [sp, #40] ; 0x28
|
|
778e: b208 sxth r0, r1
|
|
7790: 900b str r0, [sp, #44] ; 0x2c
|
|
7792: f8ad 0040 strh.w r0, [sp, #64] ; 0x40
|
|
draw_area.y1 -= disp_area->y1;
|
|
7796: 8a7b ldrh r3, [r7, #18]
|
|
7798: f8bd 1042 ldrh.w r1, [sp, #66] ; 0x42
|
|
779c: 1ac9 subs r1, r1, r3
|
|
779e: fa0f fc81 sxth.w ip, r1
|
|
77a2: f8ad c042 strh.w ip, [sp, #66] ; 0x42
|
|
draw_area.x2 -= disp_area->x1;
|
|
77a6: f8bd 0044 ldrh.w r0, [sp, #68] ; 0x44
|
|
77aa: 1a80 subs r0, r0, r2
|
|
77ac: b280 uxth r0, r0
|
|
77ae: f8ad 0044 strh.w r0, [sp, #68] ; 0x44
|
|
draw_area.y2 -= disp_area->y1;
|
|
77b2: f8bd e046 ldrh.w lr, [sp, #70] ; 0x46
|
|
77b6: ebae 0e03 sub.w lr, lr, r3
|
|
77ba: fa0f fe8e sxth.w lr, lr
|
|
77be: f8ad e046 strh.w lr, [sp, #70] ; 0x46
|
|
if(mask && disp->driver.antialiasing == 0)
|
|
77c2: 9a08 ldr r2, [sp, #32]
|
|
77c4: b1aa cbz r2, 77f2 <_lv_blend_fill+0xba>
|
|
77c6: f898 3008 ldrb.w r3, [r8, #8]
|
|
77ca: f013 0f01 tst.w r3, #1
|
|
77ce: d110 bne.n 77f2 <_lv_blend_fill+0xba>
|
|
* @param area_p pointer to an area
|
|
* @return the width of the area (if x1 == x2 -> width = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
77d0: 1c41 adds r1, r0, #1
|
|
77d2: 1b49 subs r1, r1, r5
|
|
77d4: b209 sxth r1, r1
|
|
for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP;
|
|
77d6: 2900 cmp r1, #0
|
|
77d8: dd0b ble.n 77f2 <_lv_blend_fill+0xba>
|
|
77da: 4613 mov r3, r2
|
|
77dc: 4411 add r1, r2
|
|
77de: 781a ldrb r2, [r3, #0]
|
|
77e0: 2a80 cmp r2, #128 ; 0x80
|
|
77e2: f04f 32ff mov.w r2, #4294967295
|
|
77e6: bf98 it ls
|
|
77e8: 2200 movls r2, #0
|
|
77ea: f803 2b01 strb.w r2, [r3], #1
|
|
77ee: 428b cmp r3, r1
|
|
77f0: d1f5 bne.n 77de <_lv_blend_fill+0xa6>
|
|
if(disp->driver.set_px_cb) {
|
|
77f2: f8d8 3014 ldr.w r3, [r8, #20]
|
|
77f6: 2b00 cmp r3, #0
|
|
77f8: d077 beq.n 78ea <_lv_blend_fill+0x1b2>
|
|
77fa: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
77fe: 4b93 ldr r3, [pc, #588] ; (7a4c <_lv_blend_fill+0x314>)
|
|
7800: 4798 blx r3
|
|
7802: 4605 mov r5, r0
|
|
7804: 8abb ldrh r3, [r7, #20]
|
|
7806: 3301 adds r3, #1
|
|
7808: 8a3a ldrh r2, [r7, #16]
|
|
780a: 1a9b subs r3, r3, r2
|
|
780c: b21b sxth r3, r3
|
|
780e: 9307 str r3, [sp, #28]
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) {
|
|
7810: 2c01 cmp r4, #1
|
|
7812: d03e beq.n 7892 <_lv_blend_fill+0x15a>
|
|
const lv_opa_t * mask_tmp = mask - draw_area->x1;
|
|
7814: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40
|
|
7818: 9b08 ldr r3, [sp, #32]
|
|
781a: 1a9f subs r7, r3, r2
|
|
781c: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44
|
|
7820: 3301 adds r3, #1
|
|
7822: 1a9b subs r3, r3, r2
|
|
7824: b21b sxth r3, r3
|
|
7826: 9308 str r3, [sp, #32]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
7828: f9bd a042 ldrsh.w sl, [sp, #66] ; 0x42
|
|
782c: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
7830: 459a cmp sl, r3
|
|
7832: dc8e bgt.n 7752 <_lv_blend_fill+0x1a>
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
7834: f9bd 6040 ldrsh.w r6, [sp, #64] ; 0x40
|
|
7838: 4634 mov r4, r6
|
|
783a: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44
|
|
783e: 429e cmp r6, r3
|
|
7840: dc1e bgt.n 7880 <_lv_blend_fill+0x148>
|
|
7842: 443e add r6, r7
|
|
disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color,
|
|
7844: fa0f f98a sxth.w r9, sl
|
|
7848: 9605 str r6, [sp, #20]
|
|
784a: 464b mov r3, r9
|
|
784c: 46b9 mov r9, r7
|
|
784e: 461f mov r7, r3
|
|
(uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8);
|
|
7850: 9a05 ldr r2, [sp, #20]
|
|
7852: f812 3b01 ldrb.w r3, [r2], #1
|
|
7856: 9205 str r2, [sp, #20]
|
|
7858: fb03 f30b mul.w r3, r3, fp
|
|
disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color,
|
|
785c: f3c3 2307 ubfx r3, r3, #8, #8
|
|
7860: 9302 str r3, [sp, #8]
|
|
7862: f8ad 8004 strh.w r8, [sp, #4]
|
|
7866: 9700 str r7, [sp, #0]
|
|
7868: b223 sxth r3, r4
|
|
786a: 9a07 ldr r2, [sp, #28]
|
|
786c: 9906 ldr r1, [sp, #24]
|
|
786e: 4628 mov r0, r5
|
|
7870: 696e ldr r6, [r5, #20]
|
|
7872: 47b0 blx r6
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
7874: 3401 adds r4, #1
|
|
7876: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44
|
|
787a: 429c cmp r4, r3
|
|
787c: dde8 ble.n 7850 <_lv_blend_fill+0x118>
|
|
787e: 464f mov r7, r9
|
|
7880: 9b08 ldr r3, [sp, #32]
|
|
7882: 441f add r7, r3
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
7884: f10a 0a01 add.w sl, sl, #1
|
|
7888: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
788c: 459a cmp sl, r3
|
|
788e: ddd1 ble.n 7834 <_lv_blend_fill+0xfc>
|
|
7890: e75f b.n 7752 <_lv_blend_fill+0x1a>
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
7892: f9bd 9042 ldrsh.w r9, [sp, #66] ; 0x42
|
|
7896: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
789a: 4599 cmp r9, r3
|
|
789c: f73f af59 bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
78a0: f8dd a01c ldr.w sl, [sp, #28]
|
|
78a4: 465e mov r6, fp
|
|
78a6: f8dd b018 ldr.w fp, [sp, #24]
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
78aa: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40
|
|
78ae: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44
|
|
78b2: 429c cmp r4, r3
|
|
78b4: dc12 bgt.n 78dc <_lv_blend_fill+0x1a4>
|
|
disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, opa);
|
|
78b6: fa0f f789 sxth.w r7, r9
|
|
78ba: 9705 str r7, [sp, #20]
|
|
78bc: 9602 str r6, [sp, #8]
|
|
78be: f8ad 8004 strh.w r8, [sp, #4]
|
|
78c2: 9b05 ldr r3, [sp, #20]
|
|
78c4: 9300 str r3, [sp, #0]
|
|
78c6: b223 sxth r3, r4
|
|
78c8: 4652 mov r2, sl
|
|
78ca: 4659 mov r1, fp
|
|
78cc: 4628 mov r0, r5
|
|
78ce: 696f ldr r7, [r5, #20]
|
|
78d0: 47b8 blx r7
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
78d2: 3401 adds r4, #1
|
|
78d4: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44
|
|
78d8: 429c cmp r4, r3
|
|
78da: ddef ble.n 78bc <_lv_blend_fill+0x184>
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
78dc: f109 0901 add.w r9, r9, #1
|
|
78e0: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
78e4: 4599 cmp r9, r3
|
|
78e6: dde0 ble.n 78aa <_lv_blend_fill+0x172>
|
|
78e8: e733 b.n 7752 <_lv_blend_fill+0x1a>
|
|
else if(mode == LV_BLEND_MODE_NORMAL) {
|
|
78ea: f1b9 0f00 cmp.w r9, #0
|
|
78ee: f040 83a0 bne.w 8032 <_lv_blend_fill+0x8fa>
|
|
78f2: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24
|
|
78f6: f8ad 301c strh.w r3, [sp, #28]
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
78fa: 4b54 ldr r3, [pc, #336] ; (7a4c <_lv_blend_fill+0x314>)
|
|
78fc: 4798 blx r3
|
|
78fe: 4606 mov r6, r0
|
|
7900: 8abb ldrh r3, [r7, #20]
|
|
7902: 3301 adds r3, #1
|
|
7904: 8a3f ldrh r7, [r7, #16]
|
|
7906: 1bdf subs r7, r3, r7
|
|
7908: b23f sxth r7, r7
|
|
790a: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40
|
|
790e: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44
|
|
7912: 3301 adds r3, #1
|
|
7914: 1a9b subs r3, r3, r2
|
|
7916: b21b sxth r3, r3
|
|
7918: 930b str r3, [sp, #44] ; 0x2c
|
|
int32_t draw_area_w = lv_area_get_width(draw_area);
|
|
791a: 461d mov r5, r3
|
|
* @param area_p pointer to an area
|
|
* @return the height of the area (if y1 == y2 -> height = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
791c: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46
|
|
7920: f9bd 3042 ldrsh.w r3, [sp, #66] ; 0x42
|
|
7924: 1c41 adds r1, r0, #1
|
|
7926: 1ac9 subs r1, r1, r3
|
|
int32_t draw_area_h = lv_area_get_height(draw_area);
|
|
7928: b209 sxth r1, r1
|
|
792a: 910c str r1, [sp, #48] ; 0x30
|
|
lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1;
|
|
792c: 930a str r3, [sp, #40] ; 0x28
|
|
792e: fb03 2207 mla r2, r3, r7, r2
|
|
7932: 9906 ldr r1, [sp, #24]
|
|
7934: eb01 0142 add.w r1, r1, r2, lsl #1
|
|
7938: 9105 str r1, [sp, #20]
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) {
|
|
793a: 2c01 cmp r4, #1
|
|
793c: d029 beq.n 7992 <_lv_blend_fill+0x25a>
|
|
if(opa > LV_OPA_MAX) {
|
|
793e: f1bb 0ffa cmp.w fp, #250 ; 0xfa
|
|
7942: f200 8108 bhi.w 7b56 <_lv_blend_fill+0x41e>
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
7946: 4283 cmp r3, r0
|
|
7948: f73f af03 bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
last_dest_color.full = disp_buf_first[0].full;
|
|
794c: 9b06 ldr r3, [sp, #24]
|
|
794e: f833 3012 ldrh.w r3, [r3, r2, lsl #1]
|
|
7952: f8bd 6024 ldrh.w r6, [sp, #36] ; 0x24
|
|
7956: f3c6 2cc4 ubfx ip, r6, #11, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
795a: f3c6 1245 ubfx r2, r6, #5, #6
|
|
795e: 4610 mov r0, r2
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7960: f006 021f and.w r2, r6, #31
|
|
7964: 4614 mov r4, r2
|
|
disp_buf_first += disp_w;
|
|
7966: 007a lsls r2, r7, #1
|
|
7968: 920c str r2, [sp, #48] ; 0x30
|
|
796a: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
796c: 9908 ldr r1, [sp, #32]
|
|
796e: 3901 subs r1, #1
|
|
7970: 9106 str r1, [sp, #24]
|
|
7972: 0052 lsls r2, r2, #1
|
|
7974: 920e str r2, [sp, #56] ; 0x38
|
|
7976: 4619 mov r1, r3
|
|
7978: f04f 0e00 mov.w lr, #0
|
|
797c: 4672 mov r2, lr
|
|
if(opa_tmp == LV_OPA_COVER) last_res_color = color;
|
|
797e: b2b6 uxth r6, r6
|
|
7980: 9608 str r6, [sp, #32]
|
|
if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa :
|
|
7982: f8cd b024 str.w fp, [sp, #36] ; 0x24
|
|
7986: 950d str r5, [sp, #52] ; 0x34
|
|
7988: 46a1 mov r9, r4
|
|
798a: f8cd b01c str.w fp, [sp, #28]
|
|
798e: 4683 mov fp, r0
|
|
7990: e345 b.n 801e <_lv_blend_fill+0x8e6>
|
|
if(opa > LV_OPA_MAX) {
|
|
7992: f1bb 0ffa cmp.w fp, #250 ; 0xfa
|
|
7996: d925 bls.n 79e4 <_lv_blend_fill+0x2ac>
|
|
if(disp->driver.gpu_fill_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) {
|
|
7998: 6a73 ldr r3, [r6, #36] ; 0x24
|
|
799a: b123 cbz r3, 79a6 <_lv_blend_fill+0x26e>
|
|
799c: a810 add r0, sp, #64 ; 0x40
|
|
799e: 4b2e ldr r3, [pc, #184] ; (7a58 <_lv_blend_fill+0x320>)
|
|
79a0: 4798 blx r3
|
|
79a2: 28f0 cmp r0, #240 ; 0xf0
|
|
79a4: d813 bhi.n 79ce <_lv_blend_fill+0x296>
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
79a6: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
79a8: 2b00 cmp r3, #0
|
|
79aa: f77f aed2 ble.w 7752 <_lv_blend_fill+0x1a>
|
|
disp_buf_first += disp_w;
|
|
79ae: 007f lsls r7, r7, #1
|
|
79b0: 2400 movs r4, #0
|
|
lv_color_fill(disp_buf_first, color, draw_area_w);
|
|
79b2: 4d2a ldr r5, [pc, #168] ; (7a5c <_lv_blend_fill+0x324>)
|
|
79b4: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30
|
|
79b8: 9e05 ldr r6, [sp, #20]
|
|
79ba: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
79bc: f8bd 101c ldrh.w r1, [sp, #28]
|
|
79c0: 4630 mov r0, r6
|
|
79c2: 47a8 blx r5
|
|
disp_buf_first += disp_w;
|
|
79c4: 443e add r6, r7
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
79c6: 3401 adds r4, #1
|
|
79c8: 45a0 cmp r8, r4
|
|
79ca: d1f6 bne.n 79ba <_lv_blend_fill+0x282>
|
|
79cc: e6c1 b.n 7752 <_lv_blend_fill+0x1a>
|
|
disp->driver.gpu_fill_cb(&disp->driver, disp_buf, disp_w, draw_area, color);
|
|
79ce: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24
|
|
79d2: f8ad 3000 strh.w r3, [sp]
|
|
79d6: 6a74 ldr r4, [r6, #36] ; 0x24
|
|
79d8: ab10 add r3, sp, #64 ; 0x40
|
|
79da: 463a mov r2, r7
|
|
79dc: 9906 ldr r1, [sp, #24]
|
|
79de: 4630 mov r0, r6
|
|
79e0: 47a0 blx r4
|
|
79e2: e6b6 b.n 7752 <_lv_blend_fill+0x1a>
|
|
if(disp->driver.gpu_blend_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) {
|
|
79e4: 6a33 ldr r3, [r6, #32]
|
|
79e6: 2b00 cmp r3, #0
|
|
79e8: d03c beq.n 7a64 <_lv_blend_fill+0x32c>
|
|
79ea: a810 add r0, sp, #64 ; 0x40
|
|
79ec: 4b1a ldr r3, [pc, #104] ; (7a58 <_lv_blend_fill+0x320>)
|
|
79ee: 4798 blx r3
|
|
79f0: 28f0 cmp r0, #240 ; 0xf0
|
|
79f2: d937 bls.n 7a64 <_lv_blend_fill+0x32c>
|
|
for(x = 0; x < draw_area_w ; x++) blend_buf[x].full = color.full;
|
|
79f4: 990b ldr r1, [sp, #44] ; 0x2c
|
|
79f6: 2900 cmp r1, #0
|
|
79f8: dd0c ble.n 7a14 <_lv_blend_fill+0x2dc>
|
|
79fa: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24
|
|
79fe: 4a18 ldr r2, [pc, #96] ; (7a60 <_lv_blend_fill+0x328>)
|
|
7a00: 1e93 subs r3, r2, #2
|
|
7a02: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000
|
|
7a06: 3901 subs r1, #1
|
|
7a08: eb02 0241 add.w r2, r2, r1, lsl #1
|
|
7a0c: f823 8f02 strh.w r8, [r3, #2]!
|
|
7a10: 429a cmp r2, r3
|
|
7a12: d1fb bne.n 7a0c <_lv_blend_fill+0x2d4>
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
7a14: f9bd 5042 ldrsh.w r5, [sp, #66] ; 0x42
|
|
7a18: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
7a1c: 429d cmp r5, r3
|
|
7a1e: f73f ae98 bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
disp_buf_first += disp_w;
|
|
7a22: ea4f 0847 mov.w r8, r7, lsl #1
|
|
disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, blend_buf, draw_area_w, opa);
|
|
7a26: f8df a038 ldr.w sl, [pc, #56] ; 7a60 <_lv_blend_fill+0x328>
|
|
7a2a: f8dd 9014 ldr.w r9, [sp, #20]
|
|
7a2e: 465c mov r4, fp
|
|
7a30: 9400 str r4, [sp, #0]
|
|
7a32: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
7a34: 4652 mov r2, sl
|
|
7a36: 4649 mov r1, r9
|
|
7a38: 4630 mov r0, r6
|
|
7a3a: 6a37 ldr r7, [r6, #32]
|
|
7a3c: 47b8 blx r7
|
|
disp_buf_first += disp_w;
|
|
7a3e: 44c1 add r9, r8
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
7a40: 3501 adds r5, #1
|
|
7a42: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
7a46: 429d cmp r5, r3
|
|
7a48: ddf2 ble.n 7a30 <_lv_blend_fill+0x2f8>
|
|
7a4a: e682 b.n 7752 <_lv_blend_fill+0x1a>
|
|
7a4c: 00005f51 .word 0x00005f51
|
|
7a50: 00010fc5 .word 0x00010fc5
|
|
7a54: 00011501 .word 0x00011501
|
|
7a58: 000114e5 .word 0x000114e5
|
|
7a5c: 00011b23 .word 0x00011b23
|
|
7a60: 20002690 .word 0x20002690
|
|
lv_color_t last_dest_color = LV_COLOR_BLACK;
|
|
7a64: f04f 0e00 mov.w lr, #0
|
|
7a68: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24
|
|
7a6c: f002 091f and.w r9, r2, #31
|
|
7a70: f3c2 1845 ubfx r8, r2, #5, #6
|
|
7a74: f3c2 2cc4 ubfx ip, r2, #11, #5
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7a78: fb0b f30c mul.w r3, fp, ip
|
|
7a7c: eb03 2103 add.w r1, r3, r3, lsl #8
|
|
7a80: eb03 13c1 add.w r3, r3, r1, lsl #7
|
|
7a84: f3c3 51c4 ubfx r1, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7a88: fb0b f308 mul.w r3, fp, r8
|
|
7a8c: eb03 2403 add.w r4, r3, r3, lsl #8
|
|
7a90: eb03 13c4 add.w r3, r3, r4, lsl #7
|
|
7a94: f3c3 54c5 ubfx r4, r3, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7a98: fb0b f309 mul.w r3, fp, r9
|
|
7a9c: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
7aa0: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
7aa4: f3c3 52c4 ubfx r2, r3, #23, #5
|
|
}
|
|
|
|
LV_ATTRIBUTE_FAST_MEM static inline void lv_color_premult(lv_color_t c, uint8_t mix, uint16_t * out)
|
|
{
|
|
#if LV_COLOR_DEPTH != 1
|
|
out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix;
|
|
7aa8: fa1f f38b uxth.w r3, fp
|
|
7aac: fb0c fc03 mul.w ip, ip, r3
|
|
out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix;
|
|
7ab0: fb08 f803 mul.w r8, r8, r3
|
|
out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix;
|
|
7ab4: fb09 f903 mul.w r9, r9, r3
|
|
lv_opa_t opa_inv = 255 - opa;
|
|
7ab8: ea6f 030b mvn.w r3, fp
|
|
7abc: b2db uxtb r3, r3
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
7abe: 980c ldr r0, [sp, #48] ; 0x30
|
|
7ac0: 2800 cmp r0, #0
|
|
7ac2: f77f ae46 ble.w 7752 <_lv_blend_fill+0x1a>
|
|
disp_buf_first += disp_w;
|
|
7ac6: 0078 lsls r0, r7, #1
|
|
7ac8: 9007 str r0, [sp, #28]
|
|
7aca: 980b ldr r0, [sp, #44] ; 0x2c
|
|
7acc: 0040 lsls r0, r0, #1
|
|
7ace: 9008 str r0, [sp, #32]
|
|
7ad0: 2000 movs r0, #0
|
|
7ad2: 9006 str r0, [sp, #24]
|
|
LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix_premult(uint16_t * premult_c1, lv_color_t c2, uint8_t mix)
|
|
{
|
|
lv_color_t ret;
|
|
#if LV_COLOR_DEPTH != 1
|
|
/*LV_COLOR_DEPTH == 8, 16 or 32*/
|
|
LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8);
|
|
7ad4: b29f uxth r7, r3
|
|
7ad6: e036 b.n 7b46 <_lv_blend_fill+0x40e>
|
|
disp_buf_first[x] = last_res_color;
|
|
7ad8: 7830 ldrb r0, [r6, #0]
|
|
7ada: f362 0004 bfi r0, r2, #0, #5
|
|
7ade: 7030 strb r0, [r6, #0]
|
|
7ae0: 8830 ldrh r0, [r6, #0]
|
|
7ae2: f364 104a bfi r0, r4, #5, #6
|
|
7ae6: 8030 strh r0, [r6, #0]
|
|
7ae8: 0a00 lsrs r0, r0, #8
|
|
7aea: f361 00c7 bfi r0, r1, #3, #5
|
|
7aee: 7070 strb r0, [r6, #1]
|
|
7af0: 3302 adds r3, #2
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
7af2: 459b cmp fp, r3
|
|
7af4: d01c beq.n 7b30 <_lv_blend_fill+0x3f8>
|
|
if(last_dest_color.full != disp_buf_first[x].full) {
|
|
7af6: 461e mov r6, r3
|
|
7af8: fa1f f08e uxth.w r0, lr
|
|
7afc: f8b3 a000 ldrh.w sl, [r3]
|
|
7b00: 4550 cmp r0, sl
|
|
7b02: d0e9 beq.n 7ad8 <_lv_blend_fill+0x3a0>
|
|
last_dest_color = disp_buf_first[x];
|
|
7b04: f8b3 e000 ldrh.w lr, [r3]
|
|
7b08: 7859 ldrb r1, [r3, #1]
|
|
7b0a: 08c9 lsrs r1, r1, #3
|
|
7b0c: fb01 c107 mla r1, r1, r7, ip
|
|
7b10: f3c1 2104 ubfx r1, r1, #8, #5
|
|
LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8);
|
|
7b14: f3ce 1445 ubfx r4, lr, #5, #6
|
|
7b18: fb04 8407 mla r4, r4, r7, r8
|
|
7b1c: f3c4 2405 ubfx r4, r4, #8, #6
|
|
LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8);
|
|
7b20: 781a ldrb r2, [r3, #0]
|
|
7b22: f002 021f and.w r2, r2, #31
|
|
7b26: fb02 9207 mla r2, r2, r7, r9
|
|
7b2a: f3c2 2204 ubfx r2, r2, #8, #5
|
|
7b2e: e7d3 b.n 7ad8 <_lv_blend_fill+0x3a0>
|
|
disp_buf_first += disp_w;
|
|
7b30: 9b05 ldr r3, [sp, #20]
|
|
7b32: 9807 ldr r0, [sp, #28]
|
|
7b34: 4403 add r3, r0
|
|
7b36: 9305 str r3, [sp, #20]
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
7b38: 9b06 ldr r3, [sp, #24]
|
|
7b3a: 3301 adds r3, #1
|
|
7b3c: 9306 str r3, [sp, #24]
|
|
7b3e: 980c ldr r0, [sp, #48] ; 0x30
|
|
7b40: 4298 cmp r0, r3
|
|
7b42: f43f ae06 beq.w 7752 <_lv_blend_fill+0x1a>
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
7b46: 2d00 cmp r5, #0
|
|
7b48: ddf2 ble.n 7b30 <_lv_blend_fill+0x3f8>
|
|
7b4a: 9805 ldr r0, [sp, #20]
|
|
7b4c: 4603 mov r3, r0
|
|
7b4e: 9e08 ldr r6, [sp, #32]
|
|
7b50: eb00 0b06 add.w fp, r0, r6
|
|
7b54: e7cf b.n 7af6 <_lv_blend_fill+0x3be>
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
7b56: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
7b58: 2b00 cmp r3, #0
|
|
7b5a: f77f adfa ble.w 7752 <_lv_blend_fill+0x1a>
|
|
int32_t x_end4 = draw_area_w - 4;
|
|
7b5e: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
7b60: 3b04 subs r3, #4
|
|
7b62: 930d str r3, [sp, #52] ; 0x34
|
|
disp_buf_first += disp_w;
|
|
7b64: 007b lsls r3, r7, #1
|
|
7b66: 930f str r3, [sp, #60] ; 0x3c
|
|
7b68: 2300 movs r3, #0
|
|
7b6a: 930a str r3, [sp, #40] ; 0x28
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7b6c: f8bd 201c ldrh.w r2, [sp, #28]
|
|
7b70: f3c2 2cc4 ubfx ip, r2, #11, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7b74: f3c2 1e45 ubfx lr, r2, #5, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7b78: f3c2 0304 ubfx r3, r2, #0, #5
|
|
7b7c: 9306 str r3, [sp, #24]
|
|
7b7e: e1de b.n 7f3e <_lv_blend_fill+0x806>
|
|
FILL_NORMAL_MASK_PX(x, color)
|
|
7b80: f8bd 301c ldrh.w r3, [sp, #28]
|
|
7b84: 803b strh r3, [r7, #0]
|
|
7b86: 4643 mov r3, r8
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
7b88: 3101 adds r1, #1
|
|
7b8a: 428d cmp r5, r1
|
|
7b8c: f000 834c beq.w 8228 <_lv_blend_fill+0xaf0>
|
|
7b90: 3702 adds r7, #2
|
|
7b92: f018 0f03 tst.w r8, #3
|
|
7b96: f000 8355 beq.w 8244 <_lv_blend_fill+0xb0c>
|
|
FILL_NORMAL_MASK_PX(x, color)
|
|
7b9a: f818 3b01 ldrb.w r3, [r8], #1
|
|
7b9e: 2b00 cmp r3, #0
|
|
7ba0: d0f1 beq.n 7b86 <_lv_blend_fill+0x44e>
|
|
7ba2: 2bff cmp r3, #255 ; 0xff
|
|
7ba4: d0ec beq.n 7b80 <_lv_blend_fill+0x448>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7ba6: f1c3 09ff rsb r9, r3, #255 ; 0xff
|
|
7baa: 787a ldrb r2, [r7, #1]
|
|
7bac: 08d2 lsrs r2, r2, #3
|
|
7bae: fb09 f202 mul.w r2, r9, r2
|
|
7bb2: fb03 220c mla r2, r3, ip, r2
|
|
7bb6: eb02 2002 add.w r0, r2, r2, lsl #8
|
|
7bba: eb02 12c0 add.w r2, r2, r0, lsl #7
|
|
7bbe: f3c2 52c4 ubfx r2, r2, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7bc2: 8838 ldrh r0, [r7, #0]
|
|
7bc4: f3c0 1045 ubfx r0, r0, #5, #6
|
|
7bc8: fb09 f000 mul.w r0, r9, r0
|
|
7bcc: fb03 000e mla r0, r3, lr, r0
|
|
7bd0: eb00 2600 add.w r6, r0, r0, lsl #8
|
|
7bd4: eb00 10c6 add.w r0, r0, r6, lsl #7
|
|
7bd8: f3c0 50c5 ubfx r0, r0, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7bdc: 783e ldrb r6, [r7, #0]
|
|
7bde: f006 0a1f and.w sl, r6, #31
|
|
7be2: fb09 f90a mul.w r9, r9, sl
|
|
7be6: fb03 9304 mla r3, r3, r4, r9
|
|
7bea: eb03 2903 add.w r9, r3, r3, lsl #8
|
|
7bee: eb03 13c9 add.w r3, r3, r9, lsl #7
|
|
7bf2: 0ddb lsrs r3, r3, #23
|
|
7bf4: f363 0604 bfi r6, r3, #0, #5
|
|
7bf8: 703e strb r6, [r7, #0]
|
|
7bfa: 883b ldrh r3, [r7, #0]
|
|
7bfc: f360 134a bfi r3, r0, #5, #6
|
|
7c00: 803b strh r3, [r7, #0]
|
|
7c02: 0a1b lsrs r3, r3, #8
|
|
7c04: f362 03c7 bfi r3, r2, #3, #5
|
|
7c08: 707b strb r3, [r7, #1]
|
|
7c0a: e7bc b.n 7b86 <_lv_blend_fill+0x44e>
|
|
disp_buf_first[x] = color;
|
|
7c0c: f8bd 401c ldrh.w r4, [sp, #28]
|
|
7c10: f820 4c06 strh.w r4, [r0, #-6]
|
|
disp_buf_first[x + 1] = color;
|
|
7c14: f820 4c04 strh.w r4, [r0, #-4]
|
|
disp_buf_first[x + 2] = color;
|
|
7c18: f820 4c02 strh.w r4, [r0, #-2]
|
|
disp_buf_first[x + 3] = color;
|
|
7c1c: 8004 strh r4, [r0, #0]
|
|
for(; x <= x_end4; x += 4) {
|
|
7c1e: 3104 adds r1, #4
|
|
7c20: 3304 adds r3, #4
|
|
7c22: 3008 adds r0, #8
|
|
7c24: 428f cmp r7, r1
|
|
7c26: f2c0 8129 blt.w 7e7c <_lv_blend_fill+0x744>
|
|
7c2a: 461a mov r2, r3
|
|
if(*mask32) {
|
|
7c2c: f853 4c04 ldr.w r4, [r3, #-4]
|
|
7c30: 2c00 cmp r4, #0
|
|
7c32: d0f4 beq.n 7c1e <_lv_blend_fill+0x4e6>
|
|
if((*mask32) == 0xFFFFFFFF) {
|
|
7c34: f1b4 3fff cmp.w r4, #4294967295
|
|
7c38: d0e8 beq.n 7c0c <_lv_blend_fill+0x4d4>
|
|
FILL_NORMAL_MASK_PX(x, color)
|
|
7c3a: f813 8c04 ldrb.w r8, [r3, #-4]
|
|
7c3e: f1b8 0f00 cmp.w r8, #0
|
|
7c42: d03f beq.n 7cc4 <_lv_blend_fill+0x58c>
|
|
7c44: f1b8 0fff cmp.w r8, #255 ; 0xff
|
|
7c48: f000 8105 beq.w 7e56 <_lv_blend_fill+0x71e>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7c4c: f1c8 06ff rsb r6, r8, #255 ; 0xff
|
|
7c50: f810 4c05 ldrb.w r4, [r0, #-5]
|
|
7c54: 08e4 lsrs r4, r4, #3
|
|
7c56: fb06 f404 mul.w r4, r6, r4
|
|
7c5a: fb08 440c mla r4, r8, ip, r4
|
|
7c5e: eb04 2504 add.w r5, r4, r4, lsl #8
|
|
7c62: eb04 14c5 add.w r4, r4, r5, lsl #7
|
|
7c66: f3c4 54c4 ubfx r4, r4, #23, #5
|
|
7c6a: 9409 str r4, [sp, #36] ; 0x24
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7c6c: f830 5c06 ldrh.w r5, [r0, #-6]
|
|
7c70: f3c5 1545 ubfx r5, r5, #5, #6
|
|
7c74: fb06 f505 mul.w r5, r6, r5
|
|
7c78: fb08 550e mla r5, r8, lr, r5
|
|
7c7c: eb05 2905 add.w r9, r5, r5, lsl #8
|
|
7c80: eb05 15c9 add.w r5, r5, r9, lsl #7
|
|
7c84: f3c5 55c5 ubfx r5, r5, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7c88: f810 9c06 ldrb.w r9, [r0, #-6]
|
|
7c8c: f009 0b1f and.w fp, r9, #31
|
|
7c90: fb06 f60b mul.w r6, r6, fp
|
|
7c94: 9c06 ldr r4, [sp, #24]
|
|
7c96: fb08 6804 mla r8, r8, r4, r6
|
|
7c9a: eb08 2608 add.w r6, r8, r8, lsl #8
|
|
7c9e: eb08 16c6 add.w r6, r8, r6, lsl #7
|
|
7ca2: 0df6 lsrs r6, r6, #23
|
|
7ca4: f366 0904 bfi r9, r6, #0, #5
|
|
7ca8: f800 9c06 strb.w r9, [r0, #-6]
|
|
7cac: f830 6c06 ldrh.w r6, [r0, #-6]
|
|
7cb0: f365 164a bfi r6, r5, #5, #6
|
|
7cb4: f820 6c06 strh.w r6, [r0, #-6]
|
|
7cb8: 0a36 lsrs r6, r6, #8
|
|
7cba: 9c09 ldr r4, [sp, #36] ; 0x24
|
|
7cbc: f364 06c7 bfi r6, r4, #3, #5
|
|
7cc0: f800 6c05 strb.w r6, [r0, #-5]
|
|
FILL_NORMAL_MASK_PX(x + 1, color)
|
|
7cc4: f812 8c03 ldrb.w r8, [r2, #-3]
|
|
7cc8: f1b8 0f00 cmp.w r8, #0
|
|
7ccc: d03f beq.n 7d4e <_lv_blend_fill+0x616>
|
|
7cce: f1b8 0fff cmp.w r8, #255 ; 0xff
|
|
7cd2: f000 80c5 beq.w 7e60 <_lv_blend_fill+0x728>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7cd6: f1c8 06ff rsb r6, r8, #255 ; 0xff
|
|
7cda: f810 4c03 ldrb.w r4, [r0, #-3]
|
|
7cde: 08e4 lsrs r4, r4, #3
|
|
7ce0: fb06 f404 mul.w r4, r6, r4
|
|
7ce4: fb08 440c mla r4, r8, ip, r4
|
|
7ce8: eb04 2504 add.w r5, r4, r4, lsl #8
|
|
7cec: eb04 14c5 add.w r4, r4, r5, lsl #7
|
|
7cf0: f3c4 54c4 ubfx r4, r4, #23, #5
|
|
7cf4: 9409 str r4, [sp, #36] ; 0x24
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7cf6: f830 5c04 ldrh.w r5, [r0, #-4]
|
|
7cfa: f3c5 1545 ubfx r5, r5, #5, #6
|
|
7cfe: fb06 f505 mul.w r5, r6, r5
|
|
7d02: fb08 550e mla r5, r8, lr, r5
|
|
7d06: eb05 2905 add.w r9, r5, r5, lsl #8
|
|
7d0a: eb05 15c9 add.w r5, r5, r9, lsl #7
|
|
7d0e: f3c5 55c5 ubfx r5, r5, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7d12: f810 9c04 ldrb.w r9, [r0, #-4]
|
|
7d16: f009 0b1f and.w fp, r9, #31
|
|
7d1a: fb06 f60b mul.w r6, r6, fp
|
|
7d1e: 9c06 ldr r4, [sp, #24]
|
|
7d20: fb08 6804 mla r8, r8, r4, r6
|
|
7d24: eb08 2608 add.w r6, r8, r8, lsl #8
|
|
7d28: eb08 16c6 add.w r6, r8, r6, lsl #7
|
|
7d2c: 0df6 lsrs r6, r6, #23
|
|
7d2e: f366 0904 bfi r9, r6, #0, #5
|
|
7d32: f800 9c04 strb.w r9, [r0, #-4]
|
|
7d36: f830 6c04 ldrh.w r6, [r0, #-4]
|
|
7d3a: f365 164a bfi r6, r5, #5, #6
|
|
7d3e: f820 6c04 strh.w r6, [r0, #-4]
|
|
7d42: 0a36 lsrs r6, r6, #8
|
|
7d44: 9c09 ldr r4, [sp, #36] ; 0x24
|
|
7d46: f364 06c7 bfi r6, r4, #3, #5
|
|
7d4a: f800 6c03 strb.w r6, [r0, #-3]
|
|
FILL_NORMAL_MASK_PX(x + 2, color)
|
|
7d4e: f812 8c02 ldrb.w r8, [r2, #-2]
|
|
7d52: f1b8 0f00 cmp.w r8, #0
|
|
7d56: d03f beq.n 7dd8 <_lv_blend_fill+0x6a0>
|
|
7d58: f1b8 0fff cmp.w r8, #255 ; 0xff
|
|
7d5c: f000 8085 beq.w 7e6a <_lv_blend_fill+0x732>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7d60: f1c8 06ff rsb r6, r8, #255 ; 0xff
|
|
7d64: f810 4c01 ldrb.w r4, [r0, #-1]
|
|
7d68: 08e4 lsrs r4, r4, #3
|
|
7d6a: fb06 f404 mul.w r4, r6, r4
|
|
7d6e: fb08 440c mla r4, r8, ip, r4
|
|
7d72: eb04 2504 add.w r5, r4, r4, lsl #8
|
|
7d76: eb04 14c5 add.w r4, r4, r5, lsl #7
|
|
7d7a: f3c4 54c4 ubfx r4, r4, #23, #5
|
|
7d7e: 9409 str r4, [sp, #36] ; 0x24
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7d80: f830 5c02 ldrh.w r5, [r0, #-2]
|
|
7d84: f3c5 1545 ubfx r5, r5, #5, #6
|
|
7d88: fb06 f505 mul.w r5, r6, r5
|
|
7d8c: fb08 550e mla r5, r8, lr, r5
|
|
7d90: eb05 2905 add.w r9, r5, r5, lsl #8
|
|
7d94: eb05 15c9 add.w r5, r5, r9, lsl #7
|
|
7d98: f3c5 55c5 ubfx r5, r5, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7d9c: f810 9c02 ldrb.w r9, [r0, #-2]
|
|
7da0: f009 0b1f and.w fp, r9, #31
|
|
7da4: fb06 f60b mul.w r6, r6, fp
|
|
7da8: 9c06 ldr r4, [sp, #24]
|
|
7daa: fb08 6804 mla r8, r8, r4, r6
|
|
7dae: eb08 2608 add.w r6, r8, r8, lsl #8
|
|
7db2: eb08 16c6 add.w r6, r8, r6, lsl #7
|
|
7db6: 0df6 lsrs r6, r6, #23
|
|
7db8: f366 0904 bfi r9, r6, #0, #5
|
|
7dbc: f800 9c02 strb.w r9, [r0, #-2]
|
|
7dc0: f830 6c02 ldrh.w r6, [r0, #-2]
|
|
7dc4: f365 164a bfi r6, r5, #5, #6
|
|
7dc8: f820 6c02 strh.w r6, [r0, #-2]
|
|
7dcc: 0a36 lsrs r6, r6, #8
|
|
7dce: 9c09 ldr r4, [sp, #36] ; 0x24
|
|
7dd0: f364 06c7 bfi r6, r4, #3, #5
|
|
7dd4: f800 6c01 strb.w r6, [r0, #-1]
|
|
FILL_NORMAL_MASK_PX(x + 3, color)
|
|
7dd8: f812 8c01 ldrb.w r8, [r2, #-1]
|
|
7ddc: f1b8 0f00 cmp.w r8, #0
|
|
7de0: f43f af1d beq.w 7c1e <_lv_blend_fill+0x4e6>
|
|
7de4: f1b8 0fff cmp.w r8, #255 ; 0xff
|
|
7de8: d044 beq.n 7e74 <_lv_blend_fill+0x73c>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7dea: f1c8 06ff rsb r6, r8, #255 ; 0xff
|
|
7dee: 7844 ldrb r4, [r0, #1]
|
|
7df0: 08e4 lsrs r4, r4, #3
|
|
7df2: fb06 f404 mul.w r4, r6, r4
|
|
7df6: fb08 440c mla r4, r8, ip, r4
|
|
7dfa: eb04 2504 add.w r5, r4, r4, lsl #8
|
|
7dfe: eb04 14c5 add.w r4, r4, r5, lsl #7
|
|
7e02: f3c4 5bc4 ubfx fp, r4, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7e06: 8805 ldrh r5, [r0, #0]
|
|
7e08: f3c5 1545 ubfx r5, r5, #5, #6
|
|
7e0c: fb06 f505 mul.w r5, r6, r5
|
|
7e10: fb08 550e mla r5, r8, lr, r5
|
|
7e14: eb05 2905 add.w r9, r5, r5, lsl #8
|
|
7e18: eb05 15c9 add.w r5, r5, r9, lsl #7
|
|
7e1c: f3c5 55c5 ubfx r5, r5, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7e20: f890 9000 ldrb.w r9, [r0]
|
|
7e24: f009 0a1f and.w sl, r9, #31
|
|
7e28: fb06 f60a mul.w r6, r6, sl
|
|
7e2c: 9c06 ldr r4, [sp, #24]
|
|
7e2e: fb08 6804 mla r8, r8, r4, r6
|
|
7e32: eb08 2608 add.w r6, r8, r8, lsl #8
|
|
7e36: eb08 16c6 add.w r6, r8, r6, lsl #7
|
|
7e3a: 0df6 lsrs r6, r6, #23
|
|
7e3c: f366 0904 bfi r9, r6, #0, #5
|
|
7e40: f880 9000 strb.w r9, [r0]
|
|
7e44: 8806 ldrh r6, [r0, #0]
|
|
7e46: f365 164a bfi r6, r5, #5, #6
|
|
7e4a: 8006 strh r6, [r0, #0]
|
|
7e4c: 0a36 lsrs r6, r6, #8
|
|
7e4e: f36b 06c7 bfi r6, fp, #3, #5
|
|
7e52: 7046 strb r6, [r0, #1]
|
|
7e54: e6e3 b.n 7c1e <_lv_blend_fill+0x4e6>
|
|
FILL_NORMAL_MASK_PX(x, color)
|
|
7e56: f8bd 401c ldrh.w r4, [sp, #28]
|
|
7e5a: f820 4c06 strh.w r4, [r0, #-6]
|
|
7e5e: e731 b.n 7cc4 <_lv_blend_fill+0x58c>
|
|
FILL_NORMAL_MASK_PX(x + 1, color)
|
|
7e60: f8bd 401c ldrh.w r4, [sp, #28]
|
|
7e64: f820 4c04 strh.w r4, [r0, #-4]
|
|
7e68: e771 b.n 7d4e <_lv_blend_fill+0x616>
|
|
FILL_NORMAL_MASK_PX(x + 2, color)
|
|
7e6a: f8bd 401c ldrh.w r4, [sp, #28]
|
|
7e6e: f820 4c02 strh.w r4, [r0, #-2]
|
|
7e72: e7b1 b.n 7dd8 <_lv_blend_fill+0x6a0>
|
|
FILL_NORMAL_MASK_PX(x + 3, color)
|
|
7e74: f8bd 401c ldrh.w r4, [sp, #28]
|
|
7e78: 8004 strh r4, [r0, #0]
|
|
7e7a: e6d0 b.n 7c1e <_lv_blend_fill+0x4e6>
|
|
7e7c: 9d0e ldr r5, [sp, #56] ; 0x38
|
|
for(; x < draw_area_w ; x++) {
|
|
7e7e: 428d cmp r5, r1
|
|
7e80: dd4e ble.n 7f20 <_lv_blend_fill+0x7e8>
|
|
7e82: 1e54 subs r4, r2, #1
|
|
7e84: 9b05 ldr r3, [sp, #20]
|
|
7e86: eb03 0841 add.w r8, r3, r1, lsl #1
|
|
7e8a: 9e06 ldr r6, [sp, #24]
|
|
7e8c: e008 b.n 7ea0 <_lv_blend_fill+0x768>
|
|
FILL_NORMAL_MASK_PX(x, color)
|
|
7e8e: f8bd 301c ldrh.w r3, [sp, #28]
|
|
7e92: f8a8 3000 strh.w r3, [r8]
|
|
for(; x < draw_area_w ; x++) {
|
|
7e96: 3101 adds r1, #1
|
|
7e98: f108 0802 add.w r8, r8, #2
|
|
7e9c: 428d cmp r5, r1
|
|
7e9e: dd3f ble.n 7f20 <_lv_blend_fill+0x7e8>
|
|
FILL_NORMAL_MASK_PX(x, color)
|
|
7ea0: f814 3f01 ldrb.w r3, [r4, #1]!
|
|
7ea4: 2b00 cmp r3, #0
|
|
7ea6: d0f6 beq.n 7e96 <_lv_blend_fill+0x75e>
|
|
7ea8: 2bff cmp r3, #255 ; 0xff
|
|
7eaa: d0f0 beq.n 7e8e <_lv_blend_fill+0x756>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7eac: f1c3 09ff rsb r9, r3, #255 ; 0xff
|
|
7eb0: f898 2001 ldrb.w r2, [r8, #1]
|
|
7eb4: 08d2 lsrs r2, r2, #3
|
|
7eb6: fb09 f202 mul.w r2, r9, r2
|
|
7eba: fb03 220c mla r2, r3, ip, r2
|
|
7ebe: eb02 2002 add.w r0, r2, r2, lsl #8
|
|
7ec2: eb02 12c0 add.w r2, r2, r0, lsl #7
|
|
7ec6: f3c2 52c4 ubfx r2, r2, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7eca: f8b8 0000 ldrh.w r0, [r8]
|
|
7ece: f3c0 1045 ubfx r0, r0, #5, #6
|
|
7ed2: fb09 f000 mul.w r0, r9, r0
|
|
7ed6: fb03 000e mla r0, r3, lr, r0
|
|
7eda: eb00 2700 add.w r7, r0, r0, lsl #8
|
|
7ede: eb00 10c7 add.w r0, r0, r7, lsl #7
|
|
7ee2: f3c0 50c5 ubfx r0, r0, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7ee6: f898 7000 ldrb.w r7, [r8]
|
|
7eea: f007 0a1f and.w sl, r7, #31
|
|
7eee: fb09 f90a mul.w r9, r9, sl
|
|
7ef2: fb03 9306 mla r3, r3, r6, r9
|
|
7ef6: eb03 2903 add.w r9, r3, r3, lsl #8
|
|
7efa: eb03 13c9 add.w r3, r3, r9, lsl #7
|
|
7efe: 0ddb lsrs r3, r3, #23
|
|
7f00: f363 0704 bfi r7, r3, #0, #5
|
|
7f04: f888 7000 strb.w r7, [r8]
|
|
7f08: f8b8 3000 ldrh.w r3, [r8]
|
|
7f0c: f360 134a bfi r3, r0, #5, #6
|
|
7f10: f8a8 3000 strh.w r3, [r8]
|
|
7f14: 0a1b lsrs r3, r3, #8
|
|
7f16: f362 03c7 bfi r3, r2, #3, #5
|
|
7f1a: f888 3001 strb.w r3, [r8, #1]
|
|
7f1e: e7ba b.n 7e96 <_lv_blend_fill+0x75e>
|
|
disp_buf_first += disp_w;
|
|
7f20: 9b05 ldr r3, [sp, #20]
|
|
7f22: 9a0f ldr r2, [sp, #60] ; 0x3c
|
|
7f24: 4413 add r3, r2
|
|
7f26: 9305 str r3, [sp, #20]
|
|
7f28: 9b08 ldr r3, [sp, #32]
|
|
7f2a: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
7f2c: 4413 add r3, r2
|
|
7f2e: 9308 str r3, [sp, #32]
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
7f30: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
7f32: 3301 adds r3, #1
|
|
7f34: 930a str r3, [sp, #40] ; 0x28
|
|
7f36: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
7f38: 429a cmp r2, r3
|
|
7f3a: f43f ac0a beq.w 7752 <_lv_blend_fill+0x1a>
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
7f3e: 2d00 cmp r5, #0
|
|
7f40: f340 8170 ble.w 8224 <_lv_blend_fill+0xaec>
|
|
7f44: 9a08 ldr r2, [sp, #32]
|
|
7f46: f012 0f03 tst.w r2, #3
|
|
7f4a: f000 8179 beq.w 8240 <_lv_blend_fill+0xb08>
|
|
7f4e: 9f05 ldr r7, [sp, #20]
|
|
7f50: 4690 mov r8, r2
|
|
7f52: 2100 movs r1, #0
|
|
7f54: 9c06 ldr r4, [sp, #24]
|
|
7f56: e620 b.n 7b9a <_lv_blend_fill+0x462>
|
|
if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) {
|
|
7f58: 2aff cmp r2, #255 ; 0xff
|
|
7f5a: d002 beq.n 7f62 <_lv_blend_fill+0x82a>
|
|
if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa :
|
|
7f5c: f8dd e024 ldr.w lr, [sp, #36] ; 0x24
|
|
7f60: e004 b.n 7f6c <_lv_blend_fill+0x834>
|
|
7f62: f8dd e024 ldr.w lr, [sp, #36] ; 0x24
|
|
if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) {
|
|
7f66: 882a ldrh r2, [r5, #0]
|
|
7f68: 429a cmp r2, r3
|
|
7f6a: d032 beq.n 7fd2 <_lv_blend_fill+0x89a>
|
|
if(opa_tmp == LV_OPA_COVER) last_res_color = color;
|
|
7f6c: f1be 0fff cmp.w lr, #255 ; 0xff
|
|
7f70: d042 beq.n 7ff8 <_lv_blend_fill+0x8c0>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
7f72: f1ce 04ff rsb r4, lr, #255 ; 0xff
|
|
7f76: 786b ldrb r3, [r5, #1]
|
|
7f78: 08db lsrs r3, r3, #3
|
|
7f7a: fb0e f20c mul.w r2, lr, ip
|
|
7f7e: fb04 2303 mla r3, r4, r3, r2
|
|
7f82: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
7f86: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
7f8a: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
7f8e: 882a ldrh r2, [r5, #0]
|
|
7f90: f3c2 1245 ubfx r2, r2, #5, #6
|
|
7f94: fb0b f10e mul.w r1, fp, lr
|
|
7f98: fb04 1202 mla r2, r4, r2, r1
|
|
7f9c: eb02 2102 add.w r1, r2, r2, lsl #8
|
|
7fa0: eb02 12c1 add.w r2, r2, r1, lsl #7
|
|
7fa4: f3c2 52c5 ubfx r2, r2, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
7fa8: 7829 ldrb r1, [r5, #0]
|
|
7faa: f001 011f and.w r1, r1, #31
|
|
7fae: fb09 f60e mul.w r6, r9, lr
|
|
7fb2: fb04 6101 mla r1, r4, r1, r6
|
|
7fb6: eb01 2601 add.w r6, r1, r1, lsl #8
|
|
7fba: eb01 11c6 add.w r1, r1, r6, lsl #7
|
|
7fbe: 0dc9 lsrs r1, r1, #23
|
|
7fc0: f361 0a04 bfi sl, r1, #0, #5
|
|
7fc4: f362 1a4a bfi sl, r2, #5, #6
|
|
7fc8: f363 2acf bfi sl, r3, #11, #5
|
|
7fcc: fa1f f18a uxth.w r1, sl
|
|
last_dest_color.full = disp_buf_first[x].full;
|
|
7fd0: 882b ldrh r3, [r5, #0]
|
|
disp_buf_first[x] = last_res_color;
|
|
7fd2: 8029 strh r1, [r5, #0]
|
|
7fd4: 4602 mov r2, r0
|
|
7fd6: 3502 adds r5, #2
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
7fd8: 45a8 cmp r8, r5
|
|
7fda: d00f beq.n 7ffc <_lv_blend_fill+0x8c4>
|
|
if(*mask_tmp_x) {
|
|
7fdc: f817 0f01 ldrb.w r0, [r7, #1]!
|
|
7fe0: 2800 cmp r0, #0
|
|
7fe2: d0f8 beq.n 7fd6 <_lv_blend_fill+0x89e>
|
|
if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa :
|
|
7fe4: 4290 cmp r0, r2
|
|
7fe6: d0be beq.n 7f66 <_lv_blend_fill+0x82e>
|
|
7fe8: 28ff cmp r0, #255 ; 0xff
|
|
7fea: d0b5 beq.n 7f58 <_lv_blend_fill+0x820>
|
|
(uint32_t)((uint32_t)(*mask_tmp_x) * opa) >> 8;
|
|
7fec: 9b07 ldr r3, [sp, #28]
|
|
7fee: fb03 fe00 mul.w lr, r3, r0
|
|
if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa :
|
|
7ff2: f3ce 2e07 ubfx lr, lr, #8, #8
|
|
7ff6: e7b9 b.n 7f6c <_lv_blend_fill+0x834>
|
|
if(opa_tmp == LV_OPA_COVER) last_res_color = color;
|
|
7ff8: 9908 ldr r1, [sp, #32]
|
|
7ffa: e7e9 b.n 7fd0 <_lv_blend_fill+0x898>
|
|
disp_buf_first += disp_w;
|
|
7ffc: 9805 ldr r0, [sp, #20]
|
|
7ffe: 9c0c ldr r4, [sp, #48] ; 0x30
|
|
8000: 4420 add r0, r4
|
|
8002: 9005 str r0, [sp, #20]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
8004: 980a ldr r0, [sp, #40] ; 0x28
|
|
8006: 3001 adds r0, #1
|
|
8008: 4604 mov r4, r0
|
|
800a: 900a str r0, [sp, #40] ; 0x28
|
|
800c: 9806 ldr r0, [sp, #24]
|
|
800e: 9d0b ldr r5, [sp, #44] ; 0x2c
|
|
8010: 4428 add r0, r5
|
|
8012: 9006 str r0, [sp, #24]
|
|
8014: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46
|
|
8018: 4284 cmp r4, r0
|
|
801a: f73f ab9a bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
801e: 980d ldr r0, [sp, #52] ; 0x34
|
|
8020: 2800 cmp r0, #0
|
|
8022: ddeb ble.n 7ffc <_lv_blend_fill+0x8c4>
|
|
8024: 9805 ldr r0, [sp, #20]
|
|
8026: 4605 mov r5, r0
|
|
8028: 9c0e ldr r4, [sp, #56] ; 0x38
|
|
802a: eb00 0804 add.w r8, r0, r4
|
|
802e: 9f06 ldr r7, [sp, #24]
|
|
8030: e7d4 b.n 7fdc <_lv_blend_fill+0x8a4>
|
|
8032: f8bd 5024 ldrh.w r5, [sp, #36] ; 0x24
|
|
switch(mode) {
|
|
8036: f1b9 0f01 cmp.w r9, #1
|
|
803a: d040 beq.n 80be <_lv_blend_fill+0x986>
|
|
803c: f1b9 0f02 cmp.w r9, #2
|
|
8040: d132 bne.n 80a8 <_lv_blend_fill+0x970>
|
|
blend_fp = color_blend_true_color_subtractive;
|
|
8042: 4b83 ldr r3, [pc, #524] ; (8250 <_lv_blend_fill+0xb18>)
|
|
8044: 9305 str r3, [sp, #20]
|
|
8046: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24
|
|
804a: f002 081f and.w r8, r2, #31
|
|
804e: f3c2 1645 ubfx r6, r2, #5, #6
|
|
8052: f3c2 23c4 ubfx r3, r2, #11, #5
|
|
8056: 4699 mov r9, r3
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
8058: 8aba ldrh r2, [r7, #20]
|
|
805a: 3201 adds r2, #1
|
|
805c: 8a3b ldrh r3, [r7, #16]
|
|
805e: 1ad3 subs r3, r2, r3
|
|
8060: b21f sxth r7, r3
|
|
lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1;
|
|
8062: f8cd c024 str.w ip, [sp, #36] ; 0x24
|
|
8066: fb0c f307 mul.w r3, ip, r7
|
|
806a: 9a06 ldr r2, [sp, #24]
|
|
806c: eb02 0243 add.w r2, r2, r3, lsl #1
|
|
8070: 9207 str r2, [sp, #28]
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) {
|
|
8072: 2c01 cmp r4, #1
|
|
8074: d026 beq.n 80c4 <_lv_blend_fill+0x98c>
|
|
8076: 3001 adds r0, #1
|
|
8078: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
807a: 1a80 subs r0, r0, r2
|
|
807c: b202 sxth r2, r0
|
|
807e: 920c str r2, [sp, #48] ; 0x30
|
|
const lv_opa_t * mask_tmp = mask - draw_area->x1;
|
|
8080: 9a08 ldr r2, [sp, #32]
|
|
8082: 990b ldr r1, [sp, #44] ; 0x2c
|
|
8084: 1a52 subs r2, r2, r1
|
|
8086: 9208 str r2, [sp, #32]
|
|
last_dest_color.full = disp_buf_tmp[0].full;
|
|
8088: 9a06 ldr r2, [sp, #24]
|
|
808a: f832 2013 ldrh.w r2, [r2, r3, lsl #1]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
808e: 45f4 cmp ip, lr
|
|
8090: f73f ab5f bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
disp_buf_tmp += disp_w;
|
|
8094: 007b lsls r3, r7, #1
|
|
8096: 930b str r3, [sp, #44] ; 0x2c
|
|
8098: 4610 mov r0, r2
|
|
809a: 2100 movs r1, #0
|
|
lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : (uint32_t)((uint32_t)mask_tmp[x] * opa) >> 8;
|
|
809c: f8cd b018 str.w fp, [sp, #24]
|
|
80a0: f8cd b028 str.w fp, [sp, #40] ; 0x28
|
|
80a4: 46cb mov fp, r9
|
|
80a6: e0b0 b.n 820a <_lv_blend_fill+0xad2>
|
|
LV_LOG_WARN("fill_blended: unsupported blend mode");
|
|
80a8: 4b6a ldr r3, [pc, #424] ; (8254 <_lv_blend_fill+0xb1c>)
|
|
80aa: 9300 str r3, [sp, #0]
|
|
80ac: 4b6a ldr r3, [pc, #424] ; (8258 <_lv_blend_fill+0xb20>)
|
|
80ae: f44f 7204 mov.w r2, #528 ; 0x210
|
|
80b2: 496a ldr r1, [pc, #424] ; (825c <_lv_blend_fill+0xb24>)
|
|
80b4: 2002 movs r0, #2
|
|
80b6: 4c6a ldr r4, [pc, #424] ; (8260 <_lv_blend_fill+0xb28>)
|
|
80b8: 47a0 blx r4
|
|
80ba: f7ff bb4a b.w 7752 <_lv_blend_fill+0x1a>
|
|
blend_fp = color_blend_true_color_additive;
|
|
80be: 4b69 ldr r3, [pc, #420] ; (8264 <_lv_blend_fill+0xb2c>)
|
|
80c0: 9305 str r3, [sp, #20]
|
|
80c2: e7c0 b.n 8046 <_lv_blend_fill+0x90e>
|
|
lv_color_t last_dest_color = LV_COLOR_BLACK;
|
|
80c4: f04f 0a00 mov.w sl, #0
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
80c8: fb0b f309 mul.w r3, fp, r9
|
|
80cc: eb03 2003 add.w r0, r3, r3, lsl #8
|
|
80d0: eb03 13c0 add.w r3, r3, r0, lsl #7
|
|
80d4: f3c3 50c4 ubfx r0, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
80d8: fb0b f306 mul.w r3, fp, r6
|
|
80dc: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
80e0: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
80e4: f3c3 52c5 ubfx r2, r3, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
80e8: fb0b f308 mul.w r3, fp, r8
|
|
80ec: eb03 2103 add.w r1, r3, r3, lsl #8
|
|
80f0: eb03 13c1 add.w r3, r3, r1, lsl #7
|
|
80f4: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
80f8: 45f4 cmp ip, lr
|
|
80fa: f73f ab2a bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
disp_buf_tmp += disp_w;
|
|
80fe: 0079 lsls r1, r7, #1
|
|
8100: 9108 str r1, [sp, #32]
|
|
8102: f8cd b018 str.w fp, [sp, #24]
|
|
8106: 46cb mov fp, r9
|
|
8108: e03a b.n 8180 <_lv_blend_fill+0xa48>
|
|
disp_buf_tmp[x] = last_res_color;
|
|
810a: 7821 ldrb r1, [r4, #0]
|
|
810c: f363 0104 bfi r1, r3, #0, #5
|
|
8110: 7021 strb r1, [r4, #0]
|
|
8112: 8821 ldrh r1, [r4, #0]
|
|
8114: f362 114a bfi r1, r2, #5, #6
|
|
8118: 8021 strh r1, [r4, #0]
|
|
811a: 0a09 lsrs r1, r1, #8
|
|
811c: f360 01c7 bfi r1, r0, #3, #5
|
|
8120: 7061 strb r1, [r4, #1]
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
8122: f109 0901 add.w r9, r9, #1
|
|
8126: 3702 adds r7, #2
|
|
8128: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44
|
|
812c: 4589 cmp r9, r1
|
|
812e: dc1a bgt.n 8166 <_lv_blend_fill+0xa2e>
|
|
if(last_dest_color.full != disp_buf_tmp[x].full) {
|
|
8130: 463c mov r4, r7
|
|
8132: fa1f f18a uxth.w r1, sl
|
|
8136: f8b7 e000 ldrh.w lr, [r7]
|
|
813a: 4571 cmp r1, lr
|
|
813c: d0e5 beq.n 810a <_lv_blend_fill+0x9d2>
|
|
last_dest_color = disp_buf_tmp[x];
|
|
813e: f8b7 a000 ldrh.w sl, [r7]
|
|
last_res_color = blend_fp(color, disp_buf_tmp[x], opa);
|
|
8142: f368 0504 bfi r5, r8, #0, #5
|
|
8146: f366 154a bfi r5, r6, #5, #6
|
|
814a: f36b 25cf bfi r5, fp, #11, #5
|
|
814e: 9a06 ldr r2, [sp, #24]
|
|
8150: 4651 mov r1, sl
|
|
8152: 4628 mov r0, r5
|
|
8154: 9b05 ldr r3, [sp, #20]
|
|
8156: 4798 blx r3
|
|
8158: f000 031f and.w r3, r0, #31
|
|
815c: f3c0 1245 ubfx r2, r0, #5, #6
|
|
8160: f3c0 20c4 ubfx r0, r0, #11, #5
|
|
8164: e7d1 b.n 810a <_lv_blend_fill+0x9d2>
|
|
disp_buf_tmp += disp_w;
|
|
8166: 9907 ldr r1, [sp, #28]
|
|
8168: 9c08 ldr r4, [sp, #32]
|
|
816a: 4421 add r1, r4
|
|
816c: 9107 str r1, [sp, #28]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
816e: 9909 ldr r1, [sp, #36] ; 0x24
|
|
8170: 3101 adds r1, #1
|
|
8172: 460c mov r4, r1
|
|
8174: 9109 str r1, [sp, #36] ; 0x24
|
|
8176: f9bd 1046 ldrsh.w r1, [sp, #70] ; 0x46
|
|
817a: 428c cmp r4, r1
|
|
817c: f73f aae9 bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
8180: f9bd 7040 ldrsh.w r7, [sp, #64] ; 0x40
|
|
8184: 46b9 mov r9, r7
|
|
8186: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44
|
|
818a: 428f cmp r7, r1
|
|
818c: dceb bgt.n 8166 <_lv_blend_fill+0xa2e>
|
|
818e: 9907 ldr r1, [sp, #28]
|
|
8190: eb01 0747 add.w r7, r1, r7, lsl #1
|
|
8194: e7cc b.n 8130 <_lv_blend_fill+0x9f8>
|
|
lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : (uint32_t)((uint32_t)mask_tmp[x] * opa) >> 8;
|
|
8196: 2bf9 cmp r3, #249 ; 0xf9
|
|
8198: bf9d ittte ls
|
|
819a: 9a0a ldrls r2, [sp, #40] ; 0x28
|
|
819c: 4353 mulls r3, r2
|
|
819e: f3c3 2207 ubfxls r2, r3, #8, #8
|
|
81a2: 9a06 ldrhi r2, [sp, #24]
|
|
last_res_color = blend_fp(color, disp_buf_tmp[x], opa_tmp);
|
|
81a4: f368 0504 bfi r5, r8, #0, #5
|
|
81a8: f366 154a bfi r5, r6, #5, #6
|
|
81ac: f36b 25cf bfi r5, fp, #11, #5
|
|
81b0: 8821 ldrh r1, [r4, #0]
|
|
81b2: 4628 mov r0, r5
|
|
81b4: 9b05 ldr r3, [sp, #20]
|
|
81b6: 4798 blx r3
|
|
81b8: b280 uxth r0, r0
|
|
last_mask = mask_tmp[x];
|
|
81ba: f89a 1000 ldrb.w r1, [sl]
|
|
last_dest_color.full = disp_buf_tmp[x].full;
|
|
81be: 8822 ldrh r2, [r4, #0]
|
|
disp_buf_tmp[x] = last_res_color;
|
|
81c0: 8020 strh r0, [r4, #0]
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
81c2: f109 0901 add.w r9, r9, #1
|
|
81c6: 3701 adds r7, #1
|
|
81c8: 3402 adds r4, #2
|
|
81ca: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44
|
|
81ce: 4599 cmp r9, r3
|
|
81d0: dc0a bgt.n 81e8 <_lv_blend_fill+0xab0>
|
|
81d2: 46ba mov sl, r7
|
|
if(mask_tmp[x] == 0) continue;
|
|
81d4: 783b ldrb r3, [r7, #0]
|
|
81d6: 2b00 cmp r3, #0
|
|
81d8: d0f3 beq.n 81c2 <_lv_blend_fill+0xa8a>
|
|
if(mask_tmp[x] != last_mask || last_dest_color.full != disp_buf_tmp[x].full) {
|
|
81da: 428b cmp r3, r1
|
|
81dc: d1db bne.n 8196 <_lv_blend_fill+0xa5e>
|
|
81de: f8b4 e000 ldrh.w lr, [r4]
|
|
81e2: 4596 cmp lr, r2
|
|
81e4: d1d7 bne.n 8196 <_lv_blend_fill+0xa5e>
|
|
81e6: e7eb b.n 81c0 <_lv_blend_fill+0xa88>
|
|
disp_buf_tmp += disp_w;
|
|
81e8: 9b07 ldr r3, [sp, #28]
|
|
81ea: 9c0b ldr r4, [sp, #44] ; 0x2c
|
|
81ec: 4423 add r3, r4
|
|
81ee: 9307 str r3, [sp, #28]
|
|
81f0: 9b08 ldr r3, [sp, #32]
|
|
81f2: 9c0c ldr r4, [sp, #48] ; 0x30
|
|
81f4: 4423 add r3, r4
|
|
81f6: 9308 str r3, [sp, #32]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
81f8: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
81fa: 3301 adds r3, #1
|
|
81fc: 461c mov r4, r3
|
|
81fe: 9309 str r3, [sp, #36] ; 0x24
|
|
8200: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
8204: 429c cmp r4, r3
|
|
8206: f73f aaa4 bgt.w 7752 <_lv_blend_fill+0x1a>
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
820a: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40
|
|
820e: 46a1 mov r9, r4
|
|
8210: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44
|
|
8214: 429c cmp r4, r3
|
|
8216: dce7 bgt.n 81e8 <_lv_blend_fill+0xab0>
|
|
8218: 9b08 ldr r3, [sp, #32]
|
|
821a: 191f adds r7, r3, r4
|
|
821c: 9b07 ldr r3, [sp, #28]
|
|
821e: eb03 0444 add.w r4, r3, r4, lsl #1
|
|
8222: e7d6 b.n 81d2 <_lv_blend_fill+0xa9a>
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
8224: 9b08 ldr r3, [sp, #32]
|
|
8226: 2100 movs r1, #0
|
|
for(; x <= x_end4; x += 4) {
|
|
8228: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
822a: 428a cmp r2, r1
|
|
822c: f6ff ae78 blt.w 7f20 <_lv_blend_fill+0x7e8>
|
|
8230: 3304 adds r3, #4
|
|
8232: 1cc8 adds r0, r1, #3
|
|
8234: 9a05 ldr r2, [sp, #20]
|
|
8236: eb02 0040 add.w r0, r2, r0, lsl #1
|
|
823a: 950e str r5, [sp, #56] ; 0x38
|
|
823c: 9f0d ldr r7, [sp, #52] ; 0x34
|
|
823e: e4f4 b.n 7c2a <_lv_blend_fill+0x4f2>
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
8240: 9b08 ldr r3, [sp, #32]
|
|
8242: 2100 movs r1, #0
|
|
for(; x <= x_end4; x += 4) {
|
|
8244: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
8246: 428a cmp r2, r1
|
|
8248: daf2 bge.n 8230 <_lv_blend_fill+0xaf8>
|
|
824a: 461a mov r2, r3
|
|
824c: e619 b.n 7e82 <_lv_blend_fill+0x74a>
|
|
824e: bf00 nop
|
|
8250: 00007687 .word 0x00007687
|
|
8254: 00024c78 .word 0x00024c78
|
|
8258: 00024c2c .word 0x00024c2c
|
|
825c: 00024c48 .word 0x00024c48
|
|
8260: 00012245 .word 0x00012245
|
|
8264: 000075d1 .word 0x000075d1
|
|
|
|
00008268 <_lv_blend_map>:
|
|
{
|
|
8268: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
826c: b091 sub sp, #68 ; 0x44
|
|
826e: f89d 4068 ldrb.w r4, [sp, #104] ; 0x68
|
|
8272: f89d a06c ldrb.w sl, [sp, #108] ; 0x6c
|
|
8276: f89d 5070 ldrb.w r5, [sp, #112] ; 0x70
|
|
if(opa < LV_OPA_MIN) return;
|
|
827a: f1ba 0f04 cmp.w sl, #4
|
|
827e: d900 bls.n 8282 <_lv_blend_map+0x1a>
|
|
if(mask_res == LV_DRAW_MASK_RES_TRANSP) return;
|
|
8280: b914 cbnz r4, 8288 <_lv_blend_map+0x20>
|
|
}
|
|
8282: b011 add sp, #68 ; 0x44
|
|
8284: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
8288: 9304 str r3, [sp, #16]
|
|
828a: 9207 str r2, [sp, #28]
|
|
828c: 460f mov r7, r1
|
|
828e: 4601 mov r1, r0
|
|
is_common = _lv_area_intersect(&draw_area, clip_area, map_area);
|
|
8290: 463a mov r2, r7
|
|
8292: a80e add r0, sp, #56 ; 0x38
|
|
8294: 4bbc ldr r3, [pc, #752] ; (8588 <_lv_blend_map+0x320>)
|
|
8296: 4798 blx r3
|
|
if(!is_common) return;
|
|
8298: 2800 cmp r0, #0
|
|
829a: d0f2 beq.n 8282 <_lv_blend_map+0x1a>
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
829c: 4bbb ldr r3, [pc, #748] ; (858c <_lv_blend_map+0x324>)
|
|
829e: 4798 blx r3
|
|
82a0: 4680 mov r8, r0
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
82a2: 4bbb ldr r3, [pc, #748] ; (8590 <_lv_blend_map+0x328>)
|
|
82a4: 4798 blx r3
|
|
82a6: 4606 mov r6, r0
|
|
lv_color_t * disp_buf = vdb->buf_act;
|
|
82a8: 6883 ldr r3, [r0, #8]
|
|
82aa: 9305 str r3, [sp, #20]
|
|
draw_area.x1 -= disp_area->x1;
|
|
82ac: 8a02 ldrh r2, [r0, #16]
|
|
82ae: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38
|
|
82b2: 1a9b subs r3, r3, r2
|
|
82b4: b29b uxth r3, r3
|
|
82b6: 9306 str r3, [sp, #24]
|
|
82b8: f9bd c018 ldrsh.w ip, [sp, #24]
|
|
82bc: f8ad c038 strh.w ip, [sp, #56] ; 0x38
|
|
draw_area.y1 -= disp_area->y1;
|
|
82c0: 8a43 ldrh r3, [r0, #18]
|
|
82c2: f8bd b03a ldrh.w fp, [sp, #58] ; 0x3a
|
|
82c6: ebab 0b03 sub.w fp, fp, r3
|
|
82ca: fa1f fb8b uxth.w fp, fp
|
|
82ce: fa0f fe8b sxth.w lr, fp
|
|
82d2: f8ad e03a strh.w lr, [sp, #58] ; 0x3a
|
|
draw_area.x2 -= disp_area->x1;
|
|
82d6: f8bd 103c ldrh.w r1, [sp, #60] ; 0x3c
|
|
82da: 1a89 subs r1, r1, r2
|
|
82dc: b289 uxth r1, r1
|
|
82de: f8ad 103c strh.w r1, [sp, #60] ; 0x3c
|
|
draw_area.y2 -= disp_area->y1;
|
|
82e2: f8bd 003e ldrh.w r0, [sp, #62] ; 0x3e
|
|
82e6: 1ac0 subs r0, r0, r3
|
|
82e8: b280 uxth r0, r0
|
|
82ea: b202 sxth r2, r0
|
|
82ec: 9208 str r2, [sp, #32]
|
|
82ee: f8ad 203e strh.w r2, [sp, #62] ; 0x3e
|
|
if(mask && disp->driver.antialiasing == 0)
|
|
82f2: 9a04 ldr r2, [sp, #16]
|
|
82f4: b1d2 cbz r2, 832c <_lv_blend_map+0xc4>
|
|
82f6: f898 3008 ldrb.w r3, [r8, #8]
|
|
82fa: f013 0f01 tst.w r3, #1
|
|
82fe: d115 bne.n 832c <_lv_blend_map+0xc4>
|
|
8300: f101 0901 add.w r9, r1, #1
|
|
8304: 9b06 ldr r3, [sp, #24]
|
|
8306: eba9 0903 sub.w r9, r9, r3
|
|
830a: fa0f f989 sxth.w r9, r9
|
|
for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP;
|
|
830e: f1b9 0f00 cmp.w r9, #0
|
|
8312: dd0b ble.n 832c <_lv_blend_map+0xc4>
|
|
8314: 4613 mov r3, r2
|
|
8316: 4491 add r9, r2
|
|
8318: 781a ldrb r2, [r3, #0]
|
|
831a: 2a80 cmp r2, #128 ; 0x80
|
|
831c: f04f 32ff mov.w r2, #4294967295
|
|
8320: bf98 it ls
|
|
8322: 2200 movls r2, #0
|
|
8324: f803 2b01 strb.w r2, [r3], #1
|
|
8328: 454b cmp r3, r9
|
|
832a: d1f5 bne.n 8318 <_lv_blend_map+0xb0>
|
|
if(disp->driver.set_px_cb) {
|
|
832c: f8d8 3014 ldr.w r3, [r8, #20]
|
|
8330: 2b00 cmp r3, #0
|
|
8332: f000 80a9 beq.w 8488 <_lv_blend_map+0x220>
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
8336: 4b95 ldr r3, [pc, #596] ; (858c <_lv_blend_map+0x324>)
|
|
8338: 4798 blx r3
|
|
833a: 4605 mov r5, r0
|
|
833c: f9b6 0010 ldrsh.w r0, [r6, #16]
|
|
8340: 8ab3 ldrh r3, [r6, #20]
|
|
8342: 3301 adds r3, #1
|
|
8344: 1a1b subs r3, r3, r0
|
|
8346: b21b sxth r3, r3
|
|
8348: 9306 str r3, [sp, #24]
|
|
834a: f9bd 1038 ldrsh.w r1, [sp, #56] ; 0x38
|
|
834e: f9b7 2000 ldrsh.w r2, [r7]
|
|
8352: f8b7 9004 ldrh.w r9, [r7, #4]
|
|
8356: f109 0901 add.w r9, r9, #1
|
|
835a: eba9 0902 sub.w r9, r9, r2
|
|
835e: fa0f f989 sxth.w r9, r9
|
|
const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1));
|
|
8362: f9bd e03a ldrsh.w lr, [sp, #58] ; 0x3a
|
|
8366: f9b7 3002 ldrsh.w r3, [r7, #2]
|
|
836a: f9b6 6012 ldrsh.w r6, [r6, #18]
|
|
836e: 1b9b subs r3, r3, r6
|
|
8370: ebae 0303 sub.w r3, lr, r3
|
|
map_buf_tmp += (draw_area->x1 - (map_area->x1 - disp_area->x1));
|
|
8374: 1a12 subs r2, r2, r0
|
|
8376: 1a8a subs r2, r1, r2
|
|
map_buf_tmp -= draw_area->x1;
|
|
8378: fb09 2303 mla r3, r9, r3, r2
|
|
837c: ea4f 0b41 mov.w fp, r1, lsl #1
|
|
8380: ebcb 0b43 rsb fp, fp, r3, lsl #1
|
|
8384: 9b07 ldr r3, [sp, #28]
|
|
8386: 445b add r3, fp
|
|
8388: 469b mov fp, r3
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) {
|
|
838a: 2c01 cmp r4, #1
|
|
838c: d046 beq.n 841c <_lv_blend_map+0x1b4>
|
|
const lv_opa_t * mask_tmp = mask - draw_area->x1;
|
|
838e: 9b04 ldr r3, [sp, #16]
|
|
8390: 1a5b subs r3, r3, r1
|
|
8392: 9307 str r3, [sp, #28]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
8394: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8398: 459e cmp lr, r3
|
|
839a: f73f af72 bgt.w 8282 <_lv_blend_map+0x1a>
|
|
839e: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
map_buf_tmp += map_w;
|
|
83a2: ea4f 0249 mov.w r2, r9, lsl #1
|
|
83a6: 9208 str r2, [sp, #32]
|
|
83a8: 3301 adds r3, #1
|
|
83aa: 1a59 subs r1, r3, r1
|
|
mask_tmp += draw_area_w;
|
|
83ac: b20b sxth r3, r1
|
|
83ae: 9309 str r3, [sp, #36] ; 0x24
|
|
83b0: 46f1 mov r9, lr
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
83b2: f9bd 6038 ldrsh.w r6, [sp, #56] ; 0x38
|
|
83b6: 4634 mov r4, r6
|
|
83b8: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
83bc: 429e cmp r6, r3
|
|
83be: dc20 bgt.n 8402 <_lv_blend_map+0x19a>
|
|
83c0: 9b07 ldr r3, [sp, #28]
|
|
83c2: eb03 0806 add.w r8, r3, r6
|
|
83c6: eb0b 0646 add.w r6, fp, r6, lsl #1
|
|
disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x],
|
|
83ca: fa0f f789 sxth.w r7, r9
|
|
83ce: 9604 str r6, [sp, #16]
|
|
(uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8);
|
|
83d0: f818 3b01 ldrb.w r3, [r8], #1
|
|
83d4: fb03 f30a mul.w r3, r3, sl
|
|
disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x],
|
|
83d8: f3c3 2307 ubfx r3, r3, #8, #8
|
|
83dc: 9302 str r3, [sp, #8]
|
|
83de: 9a04 ldr r2, [sp, #16]
|
|
83e0: f832 3b02 ldrh.w r3, [r2], #2
|
|
83e4: 9204 str r2, [sp, #16]
|
|
83e6: f8ad 3004 strh.w r3, [sp, #4]
|
|
83ea: 9700 str r7, [sp, #0]
|
|
83ec: b223 sxth r3, r4
|
|
83ee: 9a06 ldr r2, [sp, #24]
|
|
83f0: 9905 ldr r1, [sp, #20]
|
|
83f2: 4628 mov r0, r5
|
|
83f4: 696e ldr r6, [r5, #20]
|
|
83f6: 47b0 blx r6
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
83f8: 3401 adds r4, #1
|
|
83fa: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
83fe: 429c cmp r4, r3
|
|
8400: dde6 ble.n 83d0 <_lv_blend_map+0x168>
|
|
8402: 9b07 ldr r3, [sp, #28]
|
|
8404: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
8406: 4413 add r3, r2
|
|
8408: 9307 str r3, [sp, #28]
|
|
map_buf_tmp += map_w;
|
|
840a: 9b08 ldr r3, [sp, #32]
|
|
840c: 449b add fp, r3
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
840e: f109 0901 add.w r9, r9, #1
|
|
8412: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8416: 4599 cmp r9, r3
|
|
8418: ddcb ble.n 83b2 <_lv_blend_map+0x14a>
|
|
841a: e732 b.n 8282 <_lv_blend_map+0x1a>
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
841c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8420: 4573 cmp r3, lr
|
|
8422: f6ff af2e blt.w 8282 <_lv_blend_map+0x1a>
|
|
map_buf_tmp += map_w;
|
|
8426: ea4f 0949 mov.w r9, r9, lsl #1
|
|
842a: 46f0 mov r8, lr
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
842c: f9bd 7038 ldrsh.w r7, [sp, #56] ; 0x38
|
|
8430: 463c mov r4, r7
|
|
8432: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
8436: 429f cmp r7, r3
|
|
8438: dc1e bgt.n 8478 <_lv_blend_map+0x210>
|
|
843a: eb0b 0747 add.w r7, fp, r7, lsl #1
|
|
disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], opa);
|
|
843e: fa0f f688 sxth.w r6, r8
|
|
8442: 9704 str r7, [sp, #16]
|
|
8444: 4633 mov r3, r6
|
|
8446: 4656 mov r6, sl
|
|
8448: 46ca mov sl, r9
|
|
844a: 4699 mov r9, r3
|
|
844c: 9602 str r6, [sp, #8]
|
|
844e: 9a04 ldr r2, [sp, #16]
|
|
8450: f832 3b02 ldrh.w r3, [r2], #2
|
|
8454: 9204 str r2, [sp, #16]
|
|
8456: f8ad 3004 strh.w r3, [sp, #4]
|
|
845a: f8cd 9000 str.w r9, [sp]
|
|
845e: b223 sxth r3, r4
|
|
8460: 9a06 ldr r2, [sp, #24]
|
|
8462: 9905 ldr r1, [sp, #20]
|
|
8464: 4628 mov r0, r5
|
|
8466: 696f ldr r7, [r5, #20]
|
|
8468: 47b8 blx r7
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
846a: 3401 adds r4, #1
|
|
846c: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
8470: 429c cmp r4, r3
|
|
8472: ddeb ble.n 844c <_lv_blend_map+0x1e4>
|
|
8474: 46d1 mov r9, sl
|
|
8476: 46b2 mov sl, r6
|
|
map_buf_tmp += map_w;
|
|
8478: 44cb add fp, r9
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
847a: f108 0801 add.w r8, r8, #1
|
|
847e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8482: 4598 cmp r8, r3
|
|
8484: ddd2 ble.n 842c <_lv_blend_map+0x1c4>
|
|
8486: e6fc b.n 8282 <_lv_blend_map+0x1a>
|
|
else if(mode == LV_BLEND_MODE_NORMAL) {
|
|
8488: 2d00 cmp r5, #0
|
|
848a: f040 8399 bne.w 8bc0 <_lv_blend_map+0x958>
|
|
848e: f9b6 3010 ldrsh.w r3, [r6, #16]
|
|
8492: f8b6 8014 ldrh.w r8, [r6, #20]
|
|
8496: f108 0801 add.w r8, r8, #1
|
|
849a: eba8 0803 sub.w r8, r8, r3
|
|
849e: fa0f f888 sxth.w r8, r8
|
|
84a2: 3101 adds r1, #1
|
|
84a4: 9a06 ldr r2, [sp, #24]
|
|
84a6: 1a89 subs r1, r1, r2
|
|
84a8: b20a sxth r2, r1
|
|
84aa: 9209 str r2, [sp, #36] ; 0x24
|
|
int32_t draw_area_w = lv_area_get_width(draw_area);
|
|
84ac: 4615 mov r5, r2
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
84ae: 3001 adds r0, #1
|
|
84b0: eba0 0b0b sub.w fp, r0, fp
|
|
int32_t draw_area_h = lv_area_get_height(draw_area);
|
|
84b4: fa0f f28b sxth.w r2, fp
|
|
84b8: 9208 str r2, [sp, #32]
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
84ba: f9b7 1000 ldrsh.w r1, [r7]
|
|
84be: f8b7 9004 ldrh.w r9, [r7, #4]
|
|
84c2: f109 0901 add.w r9, r9, #1
|
|
84c6: eba9 0901 sub.w r9, r9, r1
|
|
84ca: fa0f f989 sxth.w r9, r9
|
|
lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1;
|
|
84ce: fb0e c208 mla r2, lr, r8, ip
|
|
84d2: 9805 ldr r0, [sp, #20]
|
|
84d4: eb00 0242 add.w r2, r0, r2, lsl #1
|
|
84d8: 9205 str r2, [sp, #20]
|
|
const lv_color_t * map_buf_first = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1));
|
|
84da: f9b7 2002 ldrsh.w r2, [r7, #2]
|
|
84de: f9b6 0012 ldrsh.w r0, [r6, #18]
|
|
84e2: 1a12 subs r2, r2, r0
|
|
84e4: ebae 0e02 sub.w lr, lr, r2
|
|
map_buf_first += (draw_area->x1 - (map_area->x1 - disp_area->x1));
|
|
84e8: 1acb subs r3, r1, r3
|
|
84ea: ebac 0303 sub.w r3, ip, r3
|
|
84ee: fb09 330e mla r3, r9, lr, r3
|
|
84f2: 9a07 ldr r2, [sp, #28]
|
|
84f4: eb02 0343 add.w r3, r2, r3, lsl #1
|
|
84f8: 9306 str r3, [sp, #24]
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
84fa: 4b24 ldr r3, [pc, #144] ; (858c <_lv_blend_map+0x324>)
|
|
84fc: 4798 blx r3
|
|
84fe: 4606 mov r6, r0
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) {
|
|
8500: 2c01 cmp r4, #1
|
|
8502: d01b beq.n 853c <_lv_blend_map+0x2d4>
|
|
if(opa > LV_OPA_MAX) {
|
|
8504: f1ba 0ffa cmp.w sl, #250 ; 0xfa
|
|
8508: f200 80c5 bhi.w 8696 <_lv_blend_map+0x42e>
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
850c: 9b08 ldr r3, [sp, #32]
|
|
850e: 2b00 cmp r3, #0
|
|
8510: f77f aeb7 ble.w 8282 <_lv_blend_map+0x1a>
|
|
disp_buf_first += disp_w;
|
|
8514: ea4f 0348 mov.w r3, r8, lsl #1
|
|
8518: 930a str r3, [sp, #40] ; 0x28
|
|
map_buf_first += map_w;
|
|
851a: ea4f 0349 mov.w r3, r9, lsl #1
|
|
851e: 930b str r3, [sp, #44] ; 0x2c
|
|
8520: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
8522: 9a04 ldr r2, [sp, #16]
|
|
8524: 3a01 subs r2, #1
|
|
8526: 9204 str r2, [sp, #16]
|
|
8528: 005b lsls r3, r3, #1
|
|
852a: 930d str r3, [sp, #52] ; 0x34
|
|
852c: f04f 0b00 mov.w fp, #0
|
|
lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8);
|
|
8530: f8cd a01c str.w sl, [sp, #28]
|
|
8534: 950c str r5, [sp, #48] ; 0x30
|
|
8536: f8dd 9018 ldr.w r9, [sp, #24]
|
|
853a: e336 b.n 8baa <_lv_blend_map+0x942>
|
|
if(disp->driver.gpu_blend_cb && (lv_area_get_size(draw_area) > GPU_SIZE_LIMIT)) {
|
|
853c: 6a03 ldr r3, [r0, #32]
|
|
853e: b35b cbz r3, 8598 <_lv_blend_map+0x330>
|
|
8540: a80e add r0, sp, #56 ; 0x38
|
|
8542: 4b14 ldr r3, [pc, #80] ; (8594 <_lv_blend_map+0x32c>)
|
|
8544: 4798 blx r3
|
|
8546: 28f0 cmp r0, #240 ; 0xf0
|
|
8548: d926 bls.n 8598 <_lv_blend_map+0x330>
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
854a: f9bd 503a ldrsh.w r5, [sp, #58] ; 0x3a
|
|
854e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8552: 429d cmp r5, r3
|
|
8554: f73f ae95 bgt.w 8282 <_lv_blend_map+0x1a>
|
|
disp_buf_first += disp_w;
|
|
8558: ea4f 0848 mov.w r8, r8, lsl #1
|
|
map_buf_first += map_w;
|
|
855c: ea4f 0949 mov.w r9, r9, lsl #1
|
|
8560: f8dd b014 ldr.w fp, [sp, #20]
|
|
8564: 9f06 ldr r7, [sp, #24]
|
|
disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, map_buf_first, draw_area_w, opa);
|
|
8566: f8cd a000 str.w sl, [sp]
|
|
856a: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
856c: 463a mov r2, r7
|
|
856e: 4659 mov r1, fp
|
|
8570: 4630 mov r0, r6
|
|
8572: 6a34 ldr r4, [r6, #32]
|
|
8574: 47a0 blx r4
|
|
disp_buf_first += disp_w;
|
|
8576: 44c3 add fp, r8
|
|
map_buf_first += map_w;
|
|
8578: 444f add r7, r9
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
857a: 3501 adds r5, #1
|
|
857c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8580: 429d cmp r5, r3
|
|
8582: ddf0 ble.n 8566 <_lv_blend_map+0x2fe>
|
|
8584: e67d b.n 8282 <_lv_blend_map+0x1a>
|
|
8586: bf00 nop
|
|
8588: 00011501 .word 0x00011501
|
|
858c: 00005f51 .word 0x00005f51
|
|
8590: 00010fc5 .word 0x00010fc5
|
|
8594: 000114e5 .word 0x000114e5
|
|
if(opa > LV_OPA_MAX) {
|
|
8598: f1ba 0ffa cmp.w sl, #250 ; 0xfa
|
|
859c: d810 bhi.n 85c0 <_lv_blend_map+0x358>
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
859e: 9b08 ldr r3, [sp, #32]
|
|
85a0: 2b00 cmp r3, #0
|
|
85a2: f77f ae6e ble.w 8282 <_lv_blend_map+0x1a>
|
|
disp_buf_first += disp_w;
|
|
85a6: ea4f 0348 mov.w r3, r8, lsl #1
|
|
85aa: 9304 str r3, [sp, #16]
|
|
map_buf_first += map_w;
|
|
85ac: ea4f 0949 mov.w r9, r9, lsl #1
|
|
85b0: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
85b2: ea4f 0b43 mov.w fp, r3, lsl #1
|
|
85b6: f04f 0800 mov.w r8, #0
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
85ba: f1ca 0eff rsb lr, sl, #255 ; 0xff
|
|
85be: e026 b.n 860e <_lv_blend_map+0x3a6>
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
85c0: 9b08 ldr r3, [sp, #32]
|
|
85c2: 2b00 cmp r3, #0
|
|
85c4: f77f ae5d ble.w 8282 <_lv_blend_map+0x1a>
|
|
_lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t));
|
|
85c8: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
85ca: 0056 lsls r6, r2, #1
|
|
disp_buf_first += disp_w;
|
|
85cc: ea4f 0848 mov.w r8, r8, lsl #1
|
|
map_buf_first += map_w;
|
|
85d0: ea4f 0949 mov.w r9, r9, lsl #1
|
|
85d4: 2400 movs r4, #0
|
|
_lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t));
|
|
85d6: 4d66 ldr r5, [pc, #408] ; (8770 <_lv_blend_map+0x508>)
|
|
85d8: 469b mov fp, r3
|
|
85da: 9f05 ldr r7, [sp, #20]
|
|
85dc: f8dd a018 ldr.w sl, [sp, #24]
|
|
85e0: 4632 mov r2, r6
|
|
85e2: 4651 mov r1, sl
|
|
85e4: 4638 mov r0, r7
|
|
85e6: 47a8 blx r5
|
|
disp_buf_first += disp_w;
|
|
85e8: 4447 add r7, r8
|
|
map_buf_first += map_w;
|
|
85ea: 44ca add sl, r9
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
85ec: 3401 adds r4, #1
|
|
85ee: 45a3 cmp fp, r4
|
|
85f0: d1f6 bne.n 85e0 <_lv_blend_map+0x378>
|
|
85f2: e646 b.n 8282 <_lv_blend_map+0x1a>
|
|
disp_buf_first += disp_w;
|
|
85f4: 9b05 ldr r3, [sp, #20]
|
|
85f6: 9a04 ldr r2, [sp, #16]
|
|
85f8: 4413 add r3, r2
|
|
85fa: 9305 str r3, [sp, #20]
|
|
map_buf_first += map_w;
|
|
85fc: 9b06 ldr r3, [sp, #24]
|
|
85fe: 444b add r3, r9
|
|
8600: 9306 str r3, [sp, #24]
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
8602: f108 0801 add.w r8, r8, #1
|
|
8606: 9b08 ldr r3, [sp, #32]
|
|
8608: 4543 cmp r3, r8
|
|
860a: f43f ae3a beq.w 8282 <_lv_blend_map+0x1a>
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
860e: 2d00 cmp r5, #0
|
|
8610: ddf0 ble.n 85f4 <_lv_blend_map+0x38c>
|
|
8612: 9b06 ldr r3, [sp, #24]
|
|
8614: 461f mov r7, r3
|
|
8616: 9c05 ldr r4, [sp, #20]
|
|
8618: eb03 0c0b add.w ip, r3, fp
|
|
861c: 787b ldrb r3, [r7, #1]
|
|
861e: 08db lsrs r3, r3, #3
|
|
8620: 7862 ldrb r2, [r4, #1]
|
|
8622: 08d2 lsrs r2, r2, #3
|
|
8624: fb0e f202 mul.w r2, lr, r2
|
|
8628: fb0a 2303 mla r3, sl, r3, r2
|
|
862c: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
8630: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
8634: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
8638: 883a ldrh r2, [r7, #0]
|
|
863a: f3c2 1245 ubfx r2, r2, #5, #6
|
|
863e: 8821 ldrh r1, [r4, #0]
|
|
8640: f3c1 1145 ubfx r1, r1, #5, #6
|
|
8644: fb0e f101 mul.w r1, lr, r1
|
|
8648: fb0a 1202 mla r2, sl, r2, r1
|
|
864c: eb02 2102 add.w r1, r2, r2, lsl #8
|
|
8650: eb02 12c1 add.w r2, r2, r1, lsl #7
|
|
8654: f3c2 52c5 ubfx r2, r2, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
8658: f817 1b02 ldrb.w r1, [r7], #2
|
|
865c: f001 011f and.w r1, r1, #31
|
|
8660: 7820 ldrb r0, [r4, #0]
|
|
8662: f000 061f and.w r6, r0, #31
|
|
8666: fb0e f606 mul.w r6, lr, r6
|
|
866a: fb0a 6101 mla r1, sl, r1, r6
|
|
866e: eb01 2601 add.w r6, r1, r1, lsl #8
|
|
8672: eb01 11c6 add.w r1, r1, r6, lsl #7
|
|
8676: 0dc9 lsrs r1, r1, #23
|
|
disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa);
|
|
8678: f361 0004 bfi r0, r1, #0, #5
|
|
867c: 7020 strb r0, [r4, #0]
|
|
867e: 8821 ldrh r1, [r4, #0]
|
|
8680: f362 114a bfi r1, r2, #5, #6
|
|
8684: 8021 strh r1, [r4, #0]
|
|
8686: 0a09 lsrs r1, r1, #8
|
|
8688: f363 01c7 bfi r1, r3, #3, #5
|
|
868c: 7061 strb r1, [r4, #1]
|
|
868e: 3402 adds r4, #2
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
8690: 45bc cmp ip, r7
|
|
8692: d1c3 bne.n 861c <_lv_blend_map+0x3b4>
|
|
8694: e7ae b.n 85f4 <_lv_blend_map+0x38c>
|
|
int32_t x_end4 = draw_area_w - 4;
|
|
8696: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
8698: 3b04 subs r3, #4
|
|
869a: 930a str r3, [sp, #40] ; 0x28
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
869c: 9b08 ldr r3, [sp, #32]
|
|
869e: 2b00 cmp r3, #0
|
|
86a0: f77f adef ble.w 8282 <_lv_blend_map+0x1a>
|
|
disp_buf_first += disp_w;
|
|
86a4: ea4f 0348 mov.w r3, r8, lsl #1
|
|
86a8: 930c str r3, [sp, #48] ; 0x30
|
|
map_buf_first += map_w;
|
|
86aa: ea4f 0349 mov.w r3, r9, lsl #1
|
|
86ae: 930d str r3, [sp, #52] ; 0x34
|
|
86b0: 2300 movs r3, #0
|
|
86b2: 9307 str r3, [sp, #28]
|
|
86b4: e365 b.n 8d82 <_lv_blend_map+0xb1a>
|
|
MAP_NORMAL_MASK_PX(x)
|
|
86b6: f8b8 3000 ldrh.w r3, [r8]
|
|
86ba: f8ae 3000 strh.w r3, [lr]
|
|
86be: 4663 mov r3, ip
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
86c0: 3101 adds r1, #1
|
|
86c2: 428d cmp r5, r1
|
|
86c4: f000 8347 beq.w 8d56 <_lv_blend_map+0xaee>
|
|
86c8: f108 0802 add.w r8, r8, #2
|
|
86cc: f10e 0e02 add.w lr, lr, #2
|
|
86d0: f01c 0f03 tst.w ip, #3
|
|
86d4: f000 832d beq.w 8d32 <_lv_blend_map+0xaca>
|
|
MAP_NORMAL_MASK_PX(x)
|
|
86d8: f81c 4b01 ldrb.w r4, [ip], #1
|
|
86dc: 2c00 cmp r4, #0
|
|
86de: d0ee beq.n 86be <_lv_blend_map+0x456>
|
|
86e0: 2cff cmp r4, #255 ; 0xff
|
|
86e2: d0e8 beq.n 86b6 <_lv_blend_map+0x44e>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
86e4: f1c4 06ff rsb r6, r4, #255 ; 0xff
|
|
86e8: f898 3001 ldrb.w r3, [r8, #1]
|
|
86ec: 08db lsrs r3, r3, #3
|
|
86ee: f89e 2001 ldrb.w r2, [lr, #1]
|
|
86f2: 08d2 lsrs r2, r2, #3
|
|
86f4: fb06 f202 mul.w r2, r6, r2
|
|
86f8: fb04 2303 mla r3, r4, r3, r2
|
|
86fc: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
8700: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
8704: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
8708: f8b8 0000 ldrh.w r0, [r8]
|
|
870c: f3c0 1045 ubfx r0, r0, #5, #6
|
|
8710: f8be 2000 ldrh.w r2, [lr]
|
|
8714: f3c2 1245 ubfx r2, r2, #5, #6
|
|
8718: fb06 f202 mul.w r2, r6, r2
|
|
871c: fb04 2000 mla r0, r4, r0, r2
|
|
8720: eb00 2200 add.w r2, r0, r0, lsl #8
|
|
8724: eb00 10c2 add.w r0, r0, r2, lsl #7
|
|
8728: f3c0 50c5 ubfx r0, r0, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
872c: f898 2000 ldrb.w r2, [r8]
|
|
8730: f002 021f and.w r2, r2, #31
|
|
8734: f89e 7000 ldrb.w r7, [lr]
|
|
8738: f007 091f and.w r9, r7, #31
|
|
873c: fb06 f609 mul.w r6, r6, r9
|
|
8740: fb04 6202 mla r2, r4, r2, r6
|
|
8744: eb02 2402 add.w r4, r2, r2, lsl #8
|
|
8748: eb02 12c4 add.w r2, r2, r4, lsl #7
|
|
874c: 0dd2 lsrs r2, r2, #23
|
|
874e: 463c mov r4, r7
|
|
8750: f362 0404 bfi r4, r2, #0, #5
|
|
8754: f88e 4000 strb.w r4, [lr]
|
|
8758: f8be 2000 ldrh.w r2, [lr]
|
|
875c: f360 124a bfi r2, r0, #5, #6
|
|
8760: f8ae 2000 strh.w r2, [lr]
|
|
8764: 0a12 lsrs r2, r2, #8
|
|
8766: f363 02c7 bfi r2, r3, #3, #5
|
|
876a: f88e 2001 strb.w r2, [lr, #1]
|
|
876e: e7a6 b.n 86be <_lv_blend_map+0x456>
|
|
8770: 0001263d .word 0x0001263d
|
|
disp_buf_first[x] = map_buf_first[x];
|
|
8774: f834 5c06 ldrh.w r5, [r4, #-6]
|
|
8778: f820 5c06 strh.w r5, [r0, #-6]
|
|
disp_buf_first[x + 1] = map_buf_first[x + 1];
|
|
877c: f834 5c04 ldrh.w r5, [r4, #-4]
|
|
8780: f820 5c04 strh.w r5, [r0, #-4]
|
|
disp_buf_first[x + 2] = map_buf_first[x + 2];
|
|
8784: f834 5c02 ldrh.w r5, [r4, #-2]
|
|
8788: f820 5c02 strh.w r5, [r0, #-2]
|
|
disp_buf_first[x + 3] = map_buf_first[x + 3];
|
|
878c: 8825 ldrh r5, [r4, #0]
|
|
878e: 8005 strh r5, [r0, #0]
|
|
for(; x < x_end4; x += 4) {
|
|
8790: 3104 adds r1, #4
|
|
8792: 3304 adds r3, #4
|
|
8794: 3408 adds r4, #8
|
|
8796: 3008 adds r0, #8
|
|
8798: 458e cmp lr, r1
|
|
879a: f340 8147 ble.w 8a2c <_lv_blend_map+0x7c4>
|
|
879e: 461a mov r2, r3
|
|
if(*mask32) {
|
|
87a0: f853 5c04 ldr.w r5, [r3, #-4]
|
|
87a4: 2d00 cmp r5, #0
|
|
87a6: d0f3 beq.n 8790 <_lv_blend_map+0x528>
|
|
if((*mask32) == 0xFFFFFFFF) {
|
|
87a8: f1b5 3fff cmp.w r5, #4294967295
|
|
87ac: d0e2 beq.n 8774 <_lv_blend_map+0x50c>
|
|
MAP_NORMAL_MASK_PX(x)
|
|
87ae: f813 cc04 ldrb.w ip, [r3, #-4]
|
|
87b2: f1bc 0f00 cmp.w ip, #0
|
|
87b6: d047 beq.n 8848 <_lv_blend_map+0x5e0>
|
|
87b8: f1bc 0fff cmp.w ip, #255 ; 0xff
|
|
87bc: f000 8124 beq.w 8a08 <_lv_blend_map+0x7a0>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
87c0: f1cc 09ff rsb r9, ip, #255 ; 0xff
|
|
87c4: f814 5c05 ldrb.w r5, [r4, #-5]
|
|
87c8: 08ed lsrs r5, r5, #3
|
|
87ca: f810 6c05 ldrb.w r6, [r0, #-5]
|
|
87ce: 08f6 lsrs r6, r6, #3
|
|
87d0: fb09 f606 mul.w r6, r9, r6
|
|
87d4: fb0c 6505 mla r5, ip, r5, r6
|
|
87d8: eb05 2605 add.w r6, r5, r5, lsl #8
|
|
87dc: eb05 15c6 add.w r5, r5, r6, lsl #7
|
|
87e0: f3c5 55c4 ubfx r5, r5, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
87e4: f834 6c06 ldrh.w r6, [r4, #-6]
|
|
87e8: f3c6 1645 ubfx r6, r6, #5, #6
|
|
87ec: f830 7c06 ldrh.w r7, [r0, #-6]
|
|
87f0: f3c7 1745 ubfx r7, r7, #5, #6
|
|
87f4: fb09 f707 mul.w r7, r9, r7
|
|
87f8: fb0c 7606 mla r6, ip, r6, r7
|
|
87fc: eb06 2706 add.w r7, r6, r6, lsl #8
|
|
8800: eb06 16c7 add.w r6, r6, r7, lsl #7
|
|
8804: f3c6 56c5 ubfx r6, r6, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
8808: f814 7c06 ldrb.w r7, [r4, #-6]
|
|
880c: f007 071f and.w r7, r7, #31
|
|
8810: f810 8c06 ldrb.w r8, [r0, #-6]
|
|
8814: f008 0b1f and.w fp, r8, #31
|
|
8818: fb09 f90b mul.w r9, r9, fp
|
|
881c: fb0c 9707 mla r7, ip, r7, r9
|
|
8820: eb07 2c07 add.w ip, r7, r7, lsl #8
|
|
8824: eb07 17cc add.w r7, r7, ip, lsl #7
|
|
8828: 0dff lsrs r7, r7, #23
|
|
882a: f367 0804 bfi r8, r7, #0, #5
|
|
882e: f800 8c06 strb.w r8, [r0, #-6]
|
|
8832: f830 7c06 ldrh.w r7, [r0, #-6]
|
|
8836: f366 174a bfi r7, r6, #5, #6
|
|
883a: f820 7c06 strh.w r7, [r0, #-6]
|
|
883e: 0a3f lsrs r7, r7, #8
|
|
8840: f365 07c7 bfi r7, r5, #3, #5
|
|
8844: f800 7c05 strb.w r7, [r0, #-5]
|
|
MAP_NORMAL_MASK_PX(x + 1)
|
|
8848: f812 cc03 ldrb.w ip, [r2, #-3]
|
|
884c: f1bc 0f00 cmp.w ip, #0
|
|
8850: d047 beq.n 88e2 <_lv_blend_map+0x67a>
|
|
8852: f1bc 0fff cmp.w ip, #255 ; 0xff
|
|
8856: f000 80dc beq.w 8a12 <_lv_blend_map+0x7aa>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
885a: f1cc 09ff rsb r9, ip, #255 ; 0xff
|
|
885e: f814 5c03 ldrb.w r5, [r4, #-3]
|
|
8862: 08ed lsrs r5, r5, #3
|
|
8864: f810 6c03 ldrb.w r6, [r0, #-3]
|
|
8868: 08f6 lsrs r6, r6, #3
|
|
886a: fb09 f606 mul.w r6, r9, r6
|
|
886e: fb0c 6505 mla r5, ip, r5, r6
|
|
8872: eb05 2605 add.w r6, r5, r5, lsl #8
|
|
8876: eb05 15c6 add.w r5, r5, r6, lsl #7
|
|
887a: f3c5 55c4 ubfx r5, r5, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
887e: f834 6c04 ldrh.w r6, [r4, #-4]
|
|
8882: f3c6 1645 ubfx r6, r6, #5, #6
|
|
8886: f830 7c04 ldrh.w r7, [r0, #-4]
|
|
888a: f3c7 1745 ubfx r7, r7, #5, #6
|
|
888e: fb09 f707 mul.w r7, r9, r7
|
|
8892: fb0c 7606 mla r6, ip, r6, r7
|
|
8896: eb06 2706 add.w r7, r6, r6, lsl #8
|
|
889a: eb06 16c7 add.w r6, r6, r7, lsl #7
|
|
889e: f3c6 56c5 ubfx r6, r6, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
88a2: f814 7c04 ldrb.w r7, [r4, #-4]
|
|
88a6: f007 071f and.w r7, r7, #31
|
|
88aa: f810 8c04 ldrb.w r8, [r0, #-4]
|
|
88ae: f008 0b1f and.w fp, r8, #31
|
|
88b2: fb09 f90b mul.w r9, r9, fp
|
|
88b6: fb0c 9707 mla r7, ip, r7, r9
|
|
88ba: eb07 2c07 add.w ip, r7, r7, lsl #8
|
|
88be: eb07 17cc add.w r7, r7, ip, lsl #7
|
|
88c2: 0dff lsrs r7, r7, #23
|
|
88c4: f367 0804 bfi r8, r7, #0, #5
|
|
88c8: f800 8c04 strb.w r8, [r0, #-4]
|
|
88cc: f830 7c04 ldrh.w r7, [r0, #-4]
|
|
88d0: f366 174a bfi r7, r6, #5, #6
|
|
88d4: f820 7c04 strh.w r7, [r0, #-4]
|
|
88d8: 0a3f lsrs r7, r7, #8
|
|
88da: f365 07c7 bfi r7, r5, #3, #5
|
|
88de: f800 7c03 strb.w r7, [r0, #-3]
|
|
MAP_NORMAL_MASK_PX(x + 2)
|
|
88e2: f812 cc02 ldrb.w ip, [r2, #-2]
|
|
88e6: f1bc 0f00 cmp.w ip, #0
|
|
88ea: d047 beq.n 897c <_lv_blend_map+0x714>
|
|
88ec: f1bc 0fff cmp.w ip, #255 ; 0xff
|
|
88f0: f000 8094 beq.w 8a1c <_lv_blend_map+0x7b4>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
88f4: f1cc 09ff rsb r9, ip, #255 ; 0xff
|
|
88f8: f814 5c01 ldrb.w r5, [r4, #-1]
|
|
88fc: 08ed lsrs r5, r5, #3
|
|
88fe: f810 6c01 ldrb.w r6, [r0, #-1]
|
|
8902: 08f6 lsrs r6, r6, #3
|
|
8904: fb09 f606 mul.w r6, r9, r6
|
|
8908: fb0c 6505 mla r5, ip, r5, r6
|
|
890c: eb05 2605 add.w r6, r5, r5, lsl #8
|
|
8910: eb05 15c6 add.w r5, r5, r6, lsl #7
|
|
8914: f3c5 55c4 ubfx r5, r5, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
8918: f834 6c02 ldrh.w r6, [r4, #-2]
|
|
891c: f3c6 1645 ubfx r6, r6, #5, #6
|
|
8920: f830 7c02 ldrh.w r7, [r0, #-2]
|
|
8924: f3c7 1745 ubfx r7, r7, #5, #6
|
|
8928: fb09 f707 mul.w r7, r9, r7
|
|
892c: fb0c 7606 mla r6, ip, r6, r7
|
|
8930: eb06 2706 add.w r7, r6, r6, lsl #8
|
|
8934: eb06 16c7 add.w r6, r6, r7, lsl #7
|
|
8938: f3c6 56c5 ubfx r6, r6, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
893c: f814 7c02 ldrb.w r7, [r4, #-2]
|
|
8940: f007 071f and.w r7, r7, #31
|
|
8944: f810 8c02 ldrb.w r8, [r0, #-2]
|
|
8948: f008 0b1f and.w fp, r8, #31
|
|
894c: fb09 f90b mul.w r9, r9, fp
|
|
8950: fb0c 9707 mla r7, ip, r7, r9
|
|
8954: eb07 2c07 add.w ip, r7, r7, lsl #8
|
|
8958: eb07 17cc add.w r7, r7, ip, lsl #7
|
|
895c: 0dff lsrs r7, r7, #23
|
|
895e: f367 0804 bfi r8, r7, #0, #5
|
|
8962: f800 8c02 strb.w r8, [r0, #-2]
|
|
8966: f830 7c02 ldrh.w r7, [r0, #-2]
|
|
896a: f366 174a bfi r7, r6, #5, #6
|
|
896e: f820 7c02 strh.w r7, [r0, #-2]
|
|
8972: 0a3f lsrs r7, r7, #8
|
|
8974: f365 07c7 bfi r7, r5, #3, #5
|
|
8978: f800 7c01 strb.w r7, [r0, #-1]
|
|
MAP_NORMAL_MASK_PX(x + 3)
|
|
897c: f812 8c01 ldrb.w r8, [r2, #-1]
|
|
8980: f1b8 0f00 cmp.w r8, #0
|
|
8984: f43f af04 beq.w 8790 <_lv_blend_map+0x528>
|
|
8988: f1b8 0fff cmp.w r8, #255 ; 0xff
|
|
898c: d04b beq.n 8a26 <_lv_blend_map+0x7be>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
898e: f1c8 09ff rsb r9, r8, #255 ; 0xff
|
|
8992: 7865 ldrb r5, [r4, #1]
|
|
8994: 08ed lsrs r5, r5, #3
|
|
8996: 7846 ldrb r6, [r0, #1]
|
|
8998: 08f6 lsrs r6, r6, #3
|
|
899a: fb09 f606 mul.w r6, r9, r6
|
|
899e: fb08 6505 mla r5, r8, r5, r6
|
|
89a2: eb05 2605 add.w r6, r5, r5, lsl #8
|
|
89a6: eb05 15c6 add.w r5, r5, r6, lsl #7
|
|
89aa: f3c5 55c4 ubfx r5, r5, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
89ae: 8826 ldrh r6, [r4, #0]
|
|
89b0: f3c6 1645 ubfx r6, r6, #5, #6
|
|
89b4: 8807 ldrh r7, [r0, #0]
|
|
89b6: f3c7 1745 ubfx r7, r7, #5, #6
|
|
89ba: fb09 f707 mul.w r7, r9, r7
|
|
89be: fb08 7606 mla r6, r8, r6, r7
|
|
89c2: eb06 2706 add.w r7, r6, r6, lsl #8
|
|
89c6: eb06 16c7 add.w r6, r6, r7, lsl #7
|
|
89ca: f3c6 56c5 ubfx r6, r6, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
89ce: 7827 ldrb r7, [r4, #0]
|
|
89d0: f007 071f and.w r7, r7, #31
|
|
89d4: f890 c000 ldrb.w ip, [r0]
|
|
89d8: f00c 0a1f and.w sl, ip, #31
|
|
89dc: fb09 f90a mul.w r9, r9, sl
|
|
89e0: fb08 9707 mla r7, r8, r7, r9
|
|
89e4: eb07 2807 add.w r8, r7, r7, lsl #8
|
|
89e8: eb07 17c8 add.w r7, r7, r8, lsl #7
|
|
89ec: 0dff lsrs r7, r7, #23
|
|
89ee: f367 0c04 bfi ip, r7, #0, #5
|
|
89f2: f880 c000 strb.w ip, [r0]
|
|
89f6: 8807 ldrh r7, [r0, #0]
|
|
89f8: f366 174a bfi r7, r6, #5, #6
|
|
89fc: 8007 strh r7, [r0, #0]
|
|
89fe: 0a3f lsrs r7, r7, #8
|
|
8a00: f365 07c7 bfi r7, r5, #3, #5
|
|
8a04: 7047 strb r7, [r0, #1]
|
|
8a06: e6c3 b.n 8790 <_lv_blend_map+0x528>
|
|
MAP_NORMAL_MASK_PX(x)
|
|
8a08: f834 5c06 ldrh.w r5, [r4, #-6]
|
|
8a0c: f820 5c06 strh.w r5, [r0, #-6]
|
|
8a10: e71a b.n 8848 <_lv_blend_map+0x5e0>
|
|
MAP_NORMAL_MASK_PX(x + 1)
|
|
8a12: f834 5c04 ldrh.w r5, [r4, #-4]
|
|
8a16: f820 5c04 strh.w r5, [r0, #-4]
|
|
8a1a: e762 b.n 88e2 <_lv_blend_map+0x67a>
|
|
MAP_NORMAL_MASK_PX(x + 2)
|
|
8a1c: f834 5c02 ldrh.w r5, [r4, #-2]
|
|
8a20: f820 5c02 strh.w r5, [r0, #-2]
|
|
8a24: e7aa b.n 897c <_lv_blend_map+0x714>
|
|
MAP_NORMAL_MASK_PX(x + 3)
|
|
8a26: 8825 ldrh r5, [r4, #0]
|
|
8a28: 8005 strh r5, [r0, #0]
|
|
8a2a: e6b1 b.n 8790 <_lv_blend_map+0x528>
|
|
8a2c: 9d0b ldr r5, [sp, #44] ; 0x2c
|
|
for(; x < draw_area_w ; x++) {
|
|
8a2e: 428d cmp r5, r1
|
|
8a30: f340 8194 ble.w 8d5c <_lv_blend_map+0xaf4>
|
|
8a34: 1e56 subs r6, r2, #1
|
|
8a36: ea4f 0c41 mov.w ip, r1, lsl #1
|
|
8a3a: 9b06 ldr r3, [sp, #24]
|
|
8a3c: eb03 080c add.w r8, r3, ip
|
|
8a40: 9b05 ldr r3, [sp, #20]
|
|
8a42: 449c add ip, r3
|
|
8a44: e00b b.n 8a5e <_lv_blend_map+0x7f6>
|
|
MAP_NORMAL_MASK_PX(x)
|
|
8a46: f8b8 3000 ldrh.w r3, [r8]
|
|
8a4a: f8ac 3000 strh.w r3, [ip]
|
|
for(; x < draw_area_w ; x++) {
|
|
8a4e: 3101 adds r1, #1
|
|
8a50: f108 0802 add.w r8, r8, #2
|
|
8a54: f10c 0c02 add.w ip, ip, #2
|
|
8a58: 428d cmp r5, r1
|
|
8a5a: f340 817f ble.w 8d5c <_lv_blend_map+0xaf4>
|
|
MAP_NORMAL_MASK_PX(x)
|
|
8a5e: f816 4f01 ldrb.w r4, [r6, #1]!
|
|
8a62: 2c00 cmp r4, #0
|
|
8a64: d0f3 beq.n 8a4e <_lv_blend_map+0x7e6>
|
|
8a66: 2cff cmp r4, #255 ; 0xff
|
|
8a68: d0ed beq.n 8a46 <_lv_blend_map+0x7de>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
8a6a: f1c4 07ff rsb r7, r4, #255 ; 0xff
|
|
8a6e: f898 3001 ldrb.w r3, [r8, #1]
|
|
8a72: 08db lsrs r3, r3, #3
|
|
8a74: f89c 2001 ldrb.w r2, [ip, #1]
|
|
8a78: 08d2 lsrs r2, r2, #3
|
|
8a7a: fb07 f202 mul.w r2, r7, r2
|
|
8a7e: fb04 2303 mla r3, r4, r3, r2
|
|
8a82: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
8a86: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
8a8a: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
8a8e: f8b8 0000 ldrh.w r0, [r8]
|
|
8a92: f3c0 1045 ubfx r0, r0, #5, #6
|
|
8a96: f8bc 2000 ldrh.w r2, [ip]
|
|
8a9a: f3c2 1245 ubfx r2, r2, #5, #6
|
|
8a9e: fb07 f202 mul.w r2, r7, r2
|
|
8aa2: fb04 2000 mla r0, r4, r0, r2
|
|
8aa6: eb00 2200 add.w r2, r0, r0, lsl #8
|
|
8aaa: eb00 10c2 add.w r0, r0, r2, lsl #7
|
|
8aae: f3c0 50c5 ubfx r0, r0, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
8ab2: f898 2000 ldrb.w r2, [r8]
|
|
8ab6: f002 021f and.w r2, r2, #31
|
|
8aba: f89c e000 ldrb.w lr, [ip]
|
|
8abe: f00e 091f and.w r9, lr, #31
|
|
8ac2: fb07 f709 mul.w r7, r7, r9
|
|
8ac6: fb04 7202 mla r2, r4, r2, r7
|
|
8aca: eb02 2402 add.w r4, r2, r2, lsl #8
|
|
8ace: eb02 12c4 add.w r2, r2, r4, lsl #7
|
|
8ad2: 0dd2 lsrs r2, r2, #23
|
|
8ad4: 4674 mov r4, lr
|
|
8ad6: f362 0404 bfi r4, r2, #0, #5
|
|
8ada: f88c 4000 strb.w r4, [ip]
|
|
8ade: f8bc 2000 ldrh.w r2, [ip]
|
|
8ae2: f360 124a bfi r2, r0, #5, #6
|
|
8ae6: f8ac 2000 strh.w r2, [ip]
|
|
8aea: 0a12 lsrs r2, r2, #8
|
|
8aec: f363 02c7 bfi r2, r3, #3, #5
|
|
8af0: f88c 2001 strb.w r2, [ip, #1]
|
|
8af4: e7ab b.n 8a4e <_lv_blend_map+0x7e6>
|
|
8af6: 3702 adds r7, #2
|
|
8af8: 3602 adds r6, #2
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
8afa: 4547 cmp r7, r8
|
|
8afc: d045 beq.n 8b8a <_lv_blend_map+0x922>
|
|
if(mask[x]) {
|
|
8afe: f81c 1f01 ldrb.w r1, [ip, #1]!
|
|
8b02: 2900 cmp r1, #0
|
|
8b04: d0f7 beq.n 8af6 <_lv_blend_map+0x88e>
|
|
lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8);
|
|
8b06: 29f9 cmp r1, #249 ; 0xf9
|
|
8b08: bf9a itte ls
|
|
8b0a: fb01 f10a mulls.w r1, r1, sl
|
|
8b0e: f3c1 2407 ubfxls r4, r1, #8, #8
|
|
8b12: 9c07 ldrhi r4, [sp, #28]
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
8b14: f1c4 05ff rsb r5, r4, #255 ; 0xff
|
|
8b18: 787b ldrb r3, [r7, #1]
|
|
8b1a: 08db lsrs r3, r3, #3
|
|
8b1c: 7872 ldrb r2, [r6, #1]
|
|
8b1e: 08d2 lsrs r2, r2, #3
|
|
8b20: fb05 f202 mul.w r2, r5, r2
|
|
8b24: fb04 2303 mla r3, r4, r3, r2
|
|
8b28: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
8b2c: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
8b30: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
8b34: 883a ldrh r2, [r7, #0]
|
|
8b36: f3c2 1245 ubfx r2, r2, #5, #6
|
|
8b3a: 8831 ldrh r1, [r6, #0]
|
|
8b3c: f3c1 1145 ubfx r1, r1, #5, #6
|
|
8b40: fb05 f101 mul.w r1, r5, r1
|
|
8b44: fb04 1202 mla r2, r4, r2, r1
|
|
8b48: eb02 2102 add.w r1, r2, r2, lsl #8
|
|
8b4c: eb02 12c1 add.w r2, r2, r1, lsl #7
|
|
8b50: f3c2 52c5 ubfx r2, r2, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
8b54: 7839 ldrb r1, [r7, #0]
|
|
8b56: f001 011f and.w r1, r1, #31
|
|
8b5a: 7830 ldrb r0, [r6, #0]
|
|
8b5c: f000 0e1f and.w lr, r0, #31
|
|
8b60: fb05 f50e mul.w r5, r5, lr
|
|
8b64: fb04 5101 mla r1, r4, r1, r5
|
|
8b68: eb01 2401 add.w r4, r1, r1, lsl #8
|
|
8b6c: eb01 11c4 add.w r1, r1, r4, lsl #7
|
|
8b70: 0dc9 lsrs r1, r1, #23
|
|
disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa_tmp);
|
|
8b72: f361 0004 bfi r0, r1, #0, #5
|
|
8b76: 7030 strb r0, [r6, #0]
|
|
8b78: 8831 ldrh r1, [r6, #0]
|
|
8b7a: f362 114a bfi r1, r2, #5, #6
|
|
8b7e: 8031 strh r1, [r6, #0]
|
|
8b80: 0a09 lsrs r1, r1, #8
|
|
8b82: f363 01c7 bfi r1, r3, #3, #5
|
|
8b86: 7071 strb r1, [r6, #1]
|
|
8b88: e7b5 b.n 8af6 <_lv_blend_map+0x88e>
|
|
disp_buf_first += disp_w;
|
|
8b8a: 9b05 ldr r3, [sp, #20]
|
|
8b8c: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
8b8e: 4413 add r3, r2
|
|
8b90: 9305 str r3, [sp, #20]
|
|
map_buf_first += map_w;
|
|
8b92: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
8b94: 4499 add r9, r3
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
8b96: f10b 0b01 add.w fp, fp, #1
|
|
8b9a: 9b04 ldr r3, [sp, #16]
|
|
8b9c: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
8b9e: 4413 add r3, r2
|
|
8ba0: 9304 str r3, [sp, #16]
|
|
8ba2: 9b08 ldr r3, [sp, #32]
|
|
8ba4: 455b cmp r3, fp
|
|
8ba6: f43f ab6c beq.w 8282 <_lv_blend_map+0x1a>
|
|
for(x = 0; x < draw_area_w; x++) {
|
|
8baa: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
8bac: 2b00 cmp r3, #0
|
|
8bae: ddec ble.n 8b8a <_lv_blend_map+0x922>
|
|
8bb0: 464f mov r7, r9
|
|
8bb2: 9e05 ldr r6, [sp, #20]
|
|
8bb4: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
8bb6: eb09 0803 add.w r8, r9, r3
|
|
8bba: f8dd c010 ldr.w ip, [sp, #16]
|
|
8bbe: e79e b.n 8afe <_lv_blend_map+0x896>
|
|
switch(mode) {
|
|
8bc0: 2d01 cmp r5, #1
|
|
8bc2: d049 beq.n 8c58 <_lv_blend_map+0x9f0>
|
|
8bc4: 2d02 cmp r5, #2
|
|
8bc6: d13c bne.n 8c42 <_lv_blend_map+0x9da>
|
|
blend_fp = color_blend_true_color_subtractive;
|
|
8bc8: f8df 81e0 ldr.w r8, [pc, #480] ; 8dac <_lv_blend_map+0xb44>
|
|
8bcc: f9b6 3010 ldrsh.w r3, [r6, #16]
|
|
8bd0: 9309 str r3, [sp, #36] ; 0x24
|
|
8bd2: 8ab0 ldrh r0, [r6, #20]
|
|
8bd4: 3001 adds r0, #1
|
|
8bd6: 1ac0 subs r0, r0, r3
|
|
8bd8: b200 sxth r0, r0
|
|
8bda: f9b7 2000 ldrsh.w r2, [r7]
|
|
8bde: 88bb ldrh r3, [r7, #4]
|
|
8be0: 3301 adds r3, #1
|
|
8be2: 1a9b subs r3, r3, r2
|
|
8be4: b21d sxth r5, r3
|
|
lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1;
|
|
8be6: 46f1 mov r9, lr
|
|
8be8: fb0e fb00 mul.w fp, lr, r0
|
|
8bec: 9b05 ldr r3, [sp, #20]
|
|
8bee: eb03 0b4b add.w fp, r3, fp, lsl #1
|
|
const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1));
|
|
8bf2: f9b7 3002 ldrsh.w r3, [r7, #2]
|
|
8bf6: f9b6 6012 ldrsh.w r6, [r6, #18]
|
|
8bfa: 1b9f subs r7, r3, r6
|
|
8bfc: ebae 0707 sub.w r7, lr, r7
|
|
8c00: fb05 f707 mul.w r7, r5, r7
|
|
8c04: 9b07 ldr r3, [sp, #28]
|
|
8c06: eb03 0747 add.w r7, r3, r7, lsl #1
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) {
|
|
8c0a: 2c01 cmp r4, #1
|
|
8c0c: d027 beq.n 8c5e <_lv_blend_map+0x9f6>
|
|
const lv_opa_t * mask_tmp = mask - draw_area->x1;
|
|
8c0e: 9b04 ldr r3, [sp, #16]
|
|
8c10: eba3 030c sub.w r3, r3, ip
|
|
8c14: 461a mov r2, r3
|
|
map_buf_tmp -= draw_area->x1;
|
|
8c16: eba7 034c sub.w r3, r7, ip, lsl #1
|
|
8c1a: 9304 str r3, [sp, #16]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
8c1c: 9b08 ldr r3, [sp, #32]
|
|
8c1e: 459e cmp lr, r3
|
|
8c20: f73f ab2f bgt.w 8282 <_lv_blend_map+0x1a>
|
|
disp_buf_tmp += disp_w;
|
|
8c24: 0043 lsls r3, r0, #1
|
|
8c26: 9307 str r3, [sp, #28]
|
|
map_buf_tmp += map_w;
|
|
8c28: 006b lsls r3, r5, #1
|
|
8c2a: 9308 str r3, [sp, #32]
|
|
lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8);
|
|
8c2c: f8cd a014 str.w sl, [sp, #20]
|
|
8c30: 1c4b adds r3, r1, #1
|
|
8c32: 9906 ldr r1, [sp, #24]
|
|
8c34: 1a5b subs r3, r3, r1
|
|
mask_tmp += draw_area_w;
|
|
8c36: b21b sxth r3, r3
|
|
8c38: 9309 str r3, [sp, #36] ; 0x24
|
|
8c3a: f8cd a018 str.w sl, [sp, #24]
|
|
8c3e: 4692 mov sl, r2
|
|
8c40: e066 b.n 8d10 <_lv_blend_map+0xaa8>
|
|
LV_LOG_WARN("fill_blended: unsupported blend mode");
|
|
8c42: 4b56 ldr r3, [pc, #344] ; (8d9c <_lv_blend_map+0xb34>)
|
|
8c44: 9300 str r3, [sp, #0]
|
|
8c46: 4b56 ldr r3, [pc, #344] ; (8da0 <_lv_blend_map+0xb38>)
|
|
8c48: f240 3253 movw r2, #851 ; 0x353
|
|
8c4c: 4955 ldr r1, [pc, #340] ; (8da4 <_lv_blend_map+0xb3c>)
|
|
8c4e: 2002 movs r0, #2
|
|
8c50: 4c55 ldr r4, [pc, #340] ; (8da8 <_lv_blend_map+0xb40>)
|
|
8c52: 47a0 blx r4
|
|
8c54: f7ff bb15 b.w 8282 <_lv_blend_map+0x1a>
|
|
blend_fp = color_blend_true_color_additive;
|
|
8c58: f8df 8154 ldr.w r8, [pc, #340] ; 8db0 <_lv_blend_map+0xb48>
|
|
8c5c: e7b6 b.n 8bcc <_lv_blend_map+0x964>
|
|
map_buf_tmp -= draw_area->x1;
|
|
8c5e: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
8c60: 1a9b subs r3, r3, r2
|
|
8c62: eb07 0743 add.w r7, r7, r3, lsl #1
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
8c66: 9b08 ldr r3, [sp, #32]
|
|
8c68: 459e cmp lr, r3
|
|
8c6a: f73f ab0a bgt.w 8282 <_lv_blend_map+0x1a>
|
|
disp_buf_tmp += disp_w;
|
|
8c6e: 0043 lsls r3, r0, #1
|
|
8c70: 9304 str r3, [sp, #16]
|
|
map_buf_tmp += map_w;
|
|
8c72: 006b lsls r3, r5, #1
|
|
8c74: 9305 str r3, [sp, #20]
|
|
8c76: 463b mov r3, r7
|
|
8c78: 4647 mov r7, r8
|
|
8c7a: 4698 mov r8, r3
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
8c7c: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38
|
|
8c80: 461c mov r4, r3
|
|
8c82: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c
|
|
8c86: 4293 cmp r3, r2
|
|
8c88: dc10 bgt.n 8cac <_lv_blend_map+0xa44>
|
|
8c8a: 005b lsls r3, r3, #1
|
|
8c8c: eb0b 0503 add.w r5, fp, r3
|
|
8c90: eb08 0603 add.w r6, r8, r3
|
|
disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa);
|
|
8c94: 4652 mov r2, sl
|
|
8c96: 8829 ldrh r1, [r5, #0]
|
|
8c98: f836 0b02 ldrh.w r0, [r6], #2
|
|
8c9c: 47b8 blx r7
|
|
8c9e: f825 0b02 strh.w r0, [r5], #2
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
8ca2: 3401 adds r4, #1
|
|
8ca4: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
8ca8: 429c cmp r4, r3
|
|
8caa: ddf3 ble.n 8c94 <_lv_blend_map+0xa2c>
|
|
disp_buf_tmp += disp_w;
|
|
8cac: 9b04 ldr r3, [sp, #16]
|
|
8cae: 449b add fp, r3
|
|
map_buf_tmp += map_w;
|
|
8cb0: 9b05 ldr r3, [sp, #20]
|
|
8cb2: 4498 add r8, r3
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
8cb4: f109 0901 add.w r9, r9, #1
|
|
8cb8: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8cbc: 4599 cmp r9, r3
|
|
8cbe: dddd ble.n 8c7c <_lv_blend_map+0xa14>
|
|
8cc0: f7ff badf b.w 8282 <_lv_blend_map+0x1a>
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
8cc4: 3501 adds r5, #1
|
|
8cc6: 3602 adds r6, #2
|
|
8cc8: 3402 adds r4, #2
|
|
8cca: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
8cce: 429d cmp r5, r3
|
|
8cd0: dc0f bgt.n 8cf2 <_lv_blend_map+0xa8a>
|
|
if(mask_tmp[x] == 0) continue;
|
|
8cd2: f817 3b01 ldrb.w r3, [r7], #1
|
|
8cd6: 2b00 cmp r3, #0
|
|
8cd8: d0f4 beq.n 8cc4 <_lv_blend_map+0xa5c>
|
|
lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8);
|
|
8cda: 2bf9 cmp r3, #249 ; 0xf9
|
|
8cdc: bf9d ittte ls
|
|
8cde: 9a06 ldrls r2, [sp, #24]
|
|
8ce0: 4353 mulls r3, r2
|
|
8ce2: f3c3 2207 ubfxls r2, r3, #8, #8
|
|
8ce6: 9a05 ldrhi r2, [sp, #20]
|
|
disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa_tmp);
|
|
8ce8: 8831 ldrh r1, [r6, #0]
|
|
8cea: 8820 ldrh r0, [r4, #0]
|
|
8cec: 47c0 blx r8
|
|
8cee: 8030 strh r0, [r6, #0]
|
|
8cf0: e7e8 b.n 8cc4 <_lv_blend_map+0xa5c>
|
|
disp_buf_tmp += disp_w;
|
|
8cf2: 9b07 ldr r3, [sp, #28]
|
|
8cf4: 449b add fp, r3
|
|
8cf6: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
8cf8: 449a add sl, r3
|
|
map_buf_tmp += map_w;
|
|
8cfa: 9b04 ldr r3, [sp, #16]
|
|
8cfc: 9a08 ldr r2, [sp, #32]
|
|
8cfe: 4413 add r3, r2
|
|
8d00: 9304 str r3, [sp, #16]
|
|
for(y = draw_area->y1; y <= draw_area->y2; y++) {
|
|
8d02: f109 0901 add.w r9, r9, #1
|
|
8d06: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
8d0a: 4599 cmp r9, r3
|
|
8d0c: f73f aab9 bgt.w 8282 <_lv_blend_map+0x1a>
|
|
for(x = draw_area->x1; x <= draw_area->x2; x++) {
|
|
8d10: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38
|
|
8d14: 461d mov r5, r3
|
|
8d16: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c
|
|
8d1a: 4293 cmp r3, r2
|
|
8d1c: dce9 bgt.n 8cf2 <_lv_blend_map+0xa8a>
|
|
8d1e: eb0a 0703 add.w r7, sl, r3
|
|
8d22: 005b lsls r3, r3, #1
|
|
8d24: eb0b 0603 add.w r6, fp, r3
|
|
8d28: 9a04 ldr r2, [sp, #16]
|
|
8d2a: 18d4 adds r4, r2, r3
|
|
8d2c: e7d1 b.n 8cd2 <_lv_blend_map+0xa6a>
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
8d2e: 9b04 ldr r3, [sp, #16]
|
|
8d30: 2100 movs r1, #0
|
|
for(; x < x_end4; x += 4) {
|
|
8d32: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
8d34: 428a cmp r2, r1
|
|
8d36: dd0a ble.n 8d4e <_lv_blend_map+0xae6>
|
|
8d38: 3304 adds r3, #4
|
|
8d3a: 1cc8 adds r0, r1, #3
|
|
8d3c: 0040 lsls r0, r0, #1
|
|
8d3e: 9a06 ldr r2, [sp, #24]
|
|
8d40: 1814 adds r4, r2, r0
|
|
8d42: 9a05 ldr r2, [sp, #20]
|
|
8d44: 4410 add r0, r2
|
|
8d46: 950b str r5, [sp, #44] ; 0x2c
|
|
8d48: f8dd e028 ldr.w lr, [sp, #40] ; 0x28
|
|
8d4c: e527 b.n 879e <_lv_blend_map+0x536>
|
|
8d4e: 461a mov r2, r3
|
|
8d50: e670 b.n 8a34 <_lv_blend_map+0x7cc>
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
8d52: 9b04 ldr r3, [sp, #16]
|
|
8d54: 2100 movs r1, #0
|
|
for(; x < x_end4; x += 4) {
|
|
8d56: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
8d58: 4291 cmp r1, r2
|
|
8d5a: dbed blt.n 8d38 <_lv_blend_map+0xad0>
|
|
disp_buf_first += disp_w;
|
|
8d5c: 9b05 ldr r3, [sp, #20]
|
|
8d5e: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
8d60: 4413 add r3, r2
|
|
8d62: 9305 str r3, [sp, #20]
|
|
8d64: 9b04 ldr r3, [sp, #16]
|
|
8d66: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
8d68: 4413 add r3, r2
|
|
8d6a: 9304 str r3, [sp, #16]
|
|
map_buf_first += map_w;
|
|
8d6c: 9b06 ldr r3, [sp, #24]
|
|
8d6e: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
8d70: 4413 add r3, r2
|
|
8d72: 9306 str r3, [sp, #24]
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
8d74: 9b07 ldr r3, [sp, #28]
|
|
8d76: 3301 adds r3, #1
|
|
8d78: 9307 str r3, [sp, #28]
|
|
8d7a: 9a08 ldr r2, [sp, #32]
|
|
8d7c: 429a cmp r2, r3
|
|
8d7e: f43f aa80 beq.w 8282 <_lv_blend_map+0x1a>
|
|
for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) {
|
|
8d82: 2d00 cmp r5, #0
|
|
8d84: dde5 ble.n 8d52 <_lv_blend_map+0xaea>
|
|
8d86: 9a04 ldr r2, [sp, #16]
|
|
8d88: f012 0f03 tst.w r2, #3
|
|
8d8c: d0cf beq.n 8d2e <_lv_blend_map+0xac6>
|
|
8d8e: f8dd 8018 ldr.w r8, [sp, #24]
|
|
8d92: f8dd e014 ldr.w lr, [sp, #20]
|
|
8d96: 4694 mov ip, r2
|
|
8d98: 2100 movs r1, #0
|
|
8d9a: e49d b.n 86d8 <_lv_blend_map+0x470>
|
|
8d9c: 00024c78 .word 0x00024c78
|
|
8da0: 00024c3c .word 0x00024c3c
|
|
8da4: 00024c48 .word 0x00024c48
|
|
8da8: 00012245 .word 0x00012245
|
|
8dac: 00007687 .word 0x00007687
|
|
8db0: 000075d1 .word 0x000075d1
|
|
|
|
00008db4 <lv_draw_map>:
|
|
* @param antialias anti-alias transformations (rotate, zoom) or not
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area,
|
|
const uint8_t * map_p,
|
|
lv_draw_img_dsc_t * draw_dsc, bool chroma_key, bool alpha_byte)
|
|
{
|
|
8db4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
8db8: b0bd sub sp, #244 ; 0xf4
|
|
8dba: 901b str r0, [sp, #108] ; 0x6c
|
|
8dbc: 9123 str r1, [sp, #140] ; 0x8c
|
|
8dbe: 4617 mov r7, r2
|
|
8dc0: 9308 str r3, [sp, #32]
|
|
8dc2: f89d 3118 ldrb.w r3, [sp, #280] ; 0x118
|
|
8dc6: 930a str r3, [sp, #40] ; 0x28
|
|
8dc8: f89d 311c ldrb.w r3, [sp, #284] ; 0x11c
|
|
8dcc: 9306 str r3, [sp, #24]
|
|
8dce: 1e4b subs r3, r1, #1
|
|
8dd0: 1dc8 adds r0, r1, #7
|
|
* @param src pointer to the source buffer
|
|
* @param len number of byte to copy
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len)
|
|
{
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
8dd2: aa3a add r2, sp, #232 ; 0xe8
|
|
const uint8_t * s8 = (const uint8_t *)src;
|
|
|
|
while(len) {
|
|
*d8 = *s8;
|
|
8dd4: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
8dd8: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
8ddc: 4283 cmp r3, r0
|
|
8dde: d1f9 bne.n 8dd4 <lv_draw_map+0x20>
|
|
/* Use the clip area as draw area*/
|
|
lv_area_t draw_area;
|
|
lv_area_copy(&draw_area, clip_area);
|
|
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
8de0: 4ba3 ldr r3, [pc, #652] ; (9070 <lv_draw_map+0x2bc>)
|
|
8de2: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
8de4: 4ba3 ldr r3, [pc, #652] ; (9074 <lv_draw_map+0x2c0>)
|
|
8de6: 4798 blx r3
|
|
8de8: 9018 str r0, [sp, #96] ; 0x60
|
|
const lv_area_t * disp_area = &vdb->area;
|
|
|
|
/* Now `draw_area` has absolute coordinates.
|
|
* Make it relative to `disp_area` to simplify draw to `disp_buf`*/
|
|
draw_area.x1 -= disp_area->x1;
|
|
8dea: 8a01 ldrh r1, [r0, #16]
|
|
8dec: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8
|
|
8df0: 1a5b subs r3, r3, r1
|
|
8df2: f8ad 30e8 strh.w r3, [sp, #232] ; 0xe8
|
|
draw_area.y1 -= disp_area->y1;
|
|
8df6: 8a42 ldrh r2, [r0, #18]
|
|
8df8: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea
|
|
8dfc: 1a9b subs r3, r3, r2
|
|
8dfe: f8ad 30ea strh.w r3, [sp, #234] ; 0xea
|
|
draw_area.x2 -= disp_area->x1;
|
|
8e02: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec
|
|
8e06: 1a5b subs r3, r3, r1
|
|
8e08: f8ad 30ec strh.w r3, [sp, #236] ; 0xec
|
|
draw_area.y2 -= disp_area->y1;
|
|
8e0c: f8bd 30ee ldrh.w r3, [sp, #238] ; 0xee
|
|
8e10: 1a9b subs r3, r3, r2
|
|
8e12: f8ad 30ee strh.w r3, [sp, #238] ; 0xee
|
|
|
|
uint8_t other_mask_cnt = lv_draw_mask_get_cnt();
|
|
8e16: 4b98 ldr r3, [pc, #608] ; (9078 <lv_draw_map+0x2c4>)
|
|
8e18: 4798 blx r3
|
|
|
|
/*The simplest case just copy the pixels into the VDB*/
|
|
if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE &&
|
|
8e1a: 9019 str r0, [sp, #100] ; 0x64
|
|
8e1c: b930 cbnz r0, 8e2c <lv_draw_map+0x78>
|
|
8e1e: 9a08 ldr r2, [sp, #32]
|
|
8e20: 8853 ldrh r3, [r2, #2]
|
|
8e22: b91b cbnz r3, 8e2c <lv_draw_map+0x78>
|
|
8e24: 8913 ldrh r3, [r2, #8]
|
|
8e26: f5b3 7f80 cmp.w r3, #256 ; 0x100
|
|
8e2a: d071 beq.n 8f10 <lv_draw_map+0x15c>
|
|
draw_dsc->blend_mode);
|
|
}
|
|
/*In the other cases every pixel need to be checked one-by-one*/
|
|
else {
|
|
/*The pixel size in byte is different if an alpha byte is added too*/
|
|
uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t);
|
|
8e2c: 9b06 ldr r3, [sp, #24]
|
|
8e2e: 2b00 cmp r3, #0
|
|
8e30: bf14 ite ne
|
|
8e32: f04f 0b03 movne.w fp, #3
|
|
8e36: f04f 0b02 moveq.w fp, #2
|
|
8e3a: 991b ldr r1, [sp, #108] ; 0x6c
|
|
8e3c: 460b mov r3, r1
|
|
8e3e: f9b1 2000 ldrsh.w r2, [r1]
|
|
8e42: 888d ldrh r5, [r1, #4]
|
|
8e44: 3501 adds r5, #1
|
|
8e46: 1aad subs r5, r5, r2
|
|
8e48: b22d sxth r5, r5
|
|
|
|
/*Go to the first displayed pixel of the map*/
|
|
int32_t map_w = lv_area_get_width(map_area);
|
|
const uint8_t * map_buf_tmp = map_p;
|
|
map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte;
|
|
8e4a: f9bd 00ea ldrsh.w r0, [sp, #234] ; 0xea
|
|
8e4e: 9e18 ldr r6, [sp, #96] ; 0x60
|
|
8e50: f9b6 1012 ldrsh.w r1, [r6, #18]
|
|
8e54: 46d8 mov r8, fp
|
|
map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte;
|
|
8e56: f9bd 40e8 ldrsh.w r4, [sp, #232] ; 0xe8
|
|
8e5a: f9b6 6010 ldrsh.w r6, [r6, #16]
|
|
map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte;
|
|
8e5e: f9b3 3002 ldrsh.w r3, [r3, #2]
|
|
8e62: 1a5b subs r3, r3, r1
|
|
8e64: 1ac3 subs r3, r0, r3
|
|
map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte;
|
|
8e66: 1b92 subs r2, r2, r6
|
|
8e68: 1aa2 subs r2, r4, r2
|
|
8e6a: fb05 2303 mla r3, r5, r3, r2
|
|
8e6e: fb03 730b mla r3, r3, fp, r7
|
|
8e72: 9314 str r3, [sp, #80] ; 0x50
|
|
uint32_t px_i = 0;
|
|
|
|
const uint8_t * map_px;
|
|
|
|
lv_area_t blend_area;
|
|
blend_area.x1 = draw_area.x1 + disp_area->x1;
|
|
8e74: b2a4 uxth r4, r4
|
|
8e76: 19a2 adds r2, r4, r6
|
|
8e78: b292 uxth r2, r2
|
|
8e7a: f8ad 2098 strh.w r2, [sp, #152] ; 0x98
|
|
8e7e: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec
|
|
8e82: 3301 adds r3, #1
|
|
8e84: 1b1b subs r3, r3, r4
|
|
8e86: b29b uxth r3, r3
|
|
8e88: b21c sxth r4, r3
|
|
8e8a: 9416 str r4, [sp, #88] ; 0x58
|
|
blend_area.x2 = blend_area.x1 + lv_area_get_width(&draw_area) - 1;
|
|
8e8c: 3b01 subs r3, #1
|
|
8e8e: 4413 add r3, r2
|
|
8e90: f8ad 309c strh.w r3, [sp, #156] ; 0x9c
|
|
blend_area.y1 = disp_area->y1 + draw_area.y1;
|
|
8e94: b280 uxth r0, r0
|
|
8e96: 1843 adds r3, r0, r1
|
|
8e98: b21b sxth r3, r3
|
|
8e9a: f8ad 309a strh.w r3, [sp, #154] ; 0x9a
|
|
blend_area.y2 = blend_area.y1;
|
|
8e9e: f8ad 309e strh.w r3, [sp, #158] ; 0x9e
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
8ea2: f8bd 60ee ldrh.w r6, [sp, #238] ; 0xee
|
|
8ea6: 3601 adds r6, #1
|
|
8ea8: 1a36 subs r6, r6, r0
|
|
8eaa: b236 sxth r6, r6
|
|
|
|
lv_coord_t draw_area_h = lv_area_get_height(&draw_area);
|
|
lv_coord_t draw_area_w = lv_area_get_width(&draw_area);
|
|
|
|
#if LV_USE_IMG_TRANSFORM
|
|
bool transform = draw_dsc->angle != 0 || draw_dsc->zoom != LV_IMG_ZOOM_NONE ? true : false;
|
|
8eac: 9908 ldr r1, [sp, #32]
|
|
8eae: 884b ldrh r3, [r1, #2]
|
|
8eb0: 2b00 cmp r3, #0
|
|
8eb2: f040 8353 bne.w 955c <lv_draw_map+0x7a8>
|
|
8eb6: 890b ldrh r3, [r1, #8]
|
|
8eb8: f5b3 7280 subs.w r2, r3, #256 ; 0x100
|
|
8ebc: bf18 it ne
|
|
8ebe: 2201 movne r2, #1
|
|
8ec0: 9205 str r2, [sp, #20]
|
|
#else
|
|
bool transform = false;
|
|
#endif
|
|
/*Simple ARGB image. Handle it as special case because it's very common*/
|
|
if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) {
|
|
8ec2: 9a19 ldr r2, [sp, #100] ; 0x64
|
|
8ec4: 2a00 cmp r2, #0
|
|
8ec6: f040 8370 bne.w 95aa <lv_draw_map+0x7f6>
|
|
8eca: f5b3 7f80 cmp.w r3, #256 ; 0x100
|
|
8ece: f040 8349 bne.w 9564 <lv_draw_map+0x7b0>
|
|
8ed2: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
8ed4: b923 cbnz r3, 8ee0 <lv_draw_map+0x12c>
|
|
8ed6: 7a8b ldrb r3, [r1, #10]
|
|
8ed8: b913 cbnz r3, 8ee0 <lv_draw_map+0x12c>
|
|
8eda: 9b06 ldr r3, [sp, #24]
|
|
8edc: 2b00 cmp r3, #0
|
|
8ede: d131 bne.n 8f44 <lv_draw_map+0x190>
|
|
_lv_mem_buf_release(map2);
|
|
}
|
|
/*Most complicated case: transform or other mask or chroma keyed*/
|
|
else {
|
|
/*Build the image and a mask line-by-line*/
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
8ee0: a83a add r0, sp, #232 ; 0xe8
|
|
8ee2: 4b66 ldr r3, [pc, #408] ; (907c <lv_draw_map+0x2c8>)
|
|
8ee4: 4798 blx r3
|
|
8ee6: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0
|
|
8eea: f240 80ac bls.w 9046 <lv_draw_map+0x292>
|
|
lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t));
|
|
8eee: f44f 7070 mov.w r0, #960 ; 0x3c0
|
|
8ef2: 4c63 ldr r4, [pc, #396] ; (9080 <lv_draw_map+0x2cc>)
|
|
8ef4: 47a0 blx r4
|
|
8ef6: 901a str r0, [sp, #104] ; 0x68
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size);
|
|
8ef8: f44f 70f0 mov.w r0, #480 ; 0x1e0
|
|
8efc: 47a0 blx r4
|
|
8efe: 9017 str r0, [sp, #92] ; 0x5c
|
|
|
|
#if LV_USE_IMG_TRANSFORM
|
|
lv_img_transform_dsc_t trans_dsc;
|
|
_lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t));
|
|
8f00: 2148 movs r1, #72 ; 0x48
|
|
8f02: a828 add r0, sp, #160 ; 0xa0
|
|
8f04: 4b5f ldr r3, [pc, #380] ; (9084 <lv_draw_map+0x2d0>)
|
|
8f06: 4798 blx r3
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
8f08: f44f 73f0 mov.w r3, #480 ; 0x1e0
|
|
8f0c: 931c str r3, [sp, #112] ; 0x70
|
|
8f0e: e0e4 b.n 90da <lv_draw_map+0x326>
|
|
if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE &&
|
|
8f10: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
8f12: 2b00 cmp r3, #0
|
|
8f14: d18a bne.n 8e2c <lv_draw_map+0x78>
|
|
chroma_key == false && alpha_byte == false && draw_dsc->recolor_opa == LV_OPA_TRANSP) {
|
|
8f16: 9b06 ldr r3, [sp, #24]
|
|
8f18: b98b cbnz r3, 8f3e <lv_draw_map+0x18a>
|
|
8f1a: 7a93 ldrb r3, [r2, #10]
|
|
8f1c: b113 cbz r3, 8f24 <lv_draw_map+0x170>
|
|
uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t);
|
|
8f1e: f04f 0b02 mov.w fp, #2
|
|
8f22: e78a b.n 8e3a <lv_draw_map+0x86>
|
|
_lv_blend_map(clip_area, map_area, (lv_color_t *)map_p, NULL, LV_DRAW_MASK_RES_FULL_COVER, draw_dsc->opa,
|
|
8f24: 7b93 ldrb r3, [r2, #14]
|
|
8f26: 9302 str r3, [sp, #8]
|
|
8f28: 7813 ldrb r3, [r2, #0]
|
|
8f2a: 9301 str r3, [sp, #4]
|
|
8f2c: 2301 movs r3, #1
|
|
8f2e: 9300 str r3, [sp, #0]
|
|
8f30: 2300 movs r3, #0
|
|
8f32: 463a mov r2, r7
|
|
8f34: 991b ldr r1, [sp, #108] ; 0x6c
|
|
8f36: 9823 ldr r0, [sp, #140] ; 0x8c
|
|
8f38: 4c53 ldr r4, [pc, #332] ; (9088 <lv_draw_map+0x2d4>)
|
|
8f3a: 47a0 blx r4
|
|
8f3c: e30b b.n 9556 <lv_draw_map+0x7a2>
|
|
uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t);
|
|
8f3e: f04f 0b03 mov.w fp, #3
|
|
8f42: e77a b.n 8e3a <lv_draw_map+0x86>
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
8f44: a83a add r0, sp, #232 ; 0xe8
|
|
8f46: 4b4d ldr r3, [pc, #308] ; (907c <lv_draw_map+0x2c8>)
|
|
8f48: 4798 blx r3
|
|
8f4a: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0
|
|
8f4e: d814 bhi.n 8f7a <lv_draw_map+0x1c6>
|
|
8f50: a83a add r0, sp, #232 ; 0xe8
|
|
8f52: 4b4a ldr r3, [pc, #296] ; (907c <lv_draw_map+0x2c8>)
|
|
8f54: 4798 blx r3
|
|
8f56: 4681 mov r9, r0
|
|
lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t));
|
|
8f58: ea4f 0049 mov.w r0, r9, lsl #1
|
|
8f5c: 4c48 ldr r4, [pc, #288] ; (9080 <lv_draw_map+0x2cc>)
|
|
8f5e: 47a0 blx r4
|
|
8f60: 4682 mov sl, r0
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size);
|
|
8f62: 4648 mov r0, r9
|
|
8f64: 47a0 blx r4
|
|
8f66: 4604 mov r4, r0
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
8f68: 9605 str r6, [sp, #20]
|
|
8f6a: 2e00 cmp r6, #0
|
|
8f6c: dd4f ble.n 900e <lv_draw_map+0x25a>
|
|
map_buf_tmp += map_w * px_size_byte;
|
|
8f6e: fb08 f805 mul.w r8, r8, r5
|
|
8f72: 2500 movs r5, #0
|
|
8f74: 46ac mov ip, r5
|
|
8f76: 9e14 ldr r6, [sp, #80] ; 0x50
|
|
8f78: e025 b.n 8fc6 <lv_draw_map+0x212>
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
8f7a: f44f 79f0 mov.w r9, #480 ; 0x1e0
|
|
8f7e: e7eb b.n 8f58 <lv_draw_map+0x1a4>
|
|
8f80: 445b add r3, fp
|
|
8f82: 3702 adds r7, #2
|
|
for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) {
|
|
8f84: 4596 cmp lr, r2
|
|
8f86: d00a beq.n 8f9e <lv_draw_map+0x1ea>
|
|
lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1];
|
|
8f88: 7899 ldrb r1, [r3, #2]
|
|
mask_buf[px_i] = px_opa;
|
|
8f8a: f802 1b01 strb.w r1, [r2], #1
|
|
if(px_opa) {
|
|
8f8e: 2900 cmp r1, #0
|
|
8f90: d0f6 beq.n 8f80 <lv_draw_map+0x1cc>
|
|
map2[px_i].full = map_px[0] + (map_px[1] << 8);
|
|
8f92: 7858 ldrb r0, [r3, #1]
|
|
8f94: 7819 ldrb r1, [r3, #0]
|
|
8f96: eb01 2100 add.w r1, r1, r0, lsl #8
|
|
8f9a: 8039 strh r1, [r7, #0]
|
|
8f9c: e7f0 b.n 8f80 <lv_draw_map+0x1cc>
|
|
map_buf_tmp += map_w * px_size_byte;
|
|
8f9e: 4446 add r6, r8
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
8fa0: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec
|
|
8fa4: 3301 adds r3, #1
|
|
8fa6: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8
|
|
8faa: 1a9b subs r3, r3, r2
|
|
if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) {
|
|
8fac: fa0c f383 sxtah r3, ip, r3
|
|
8fb0: 4599 cmp r9, r3
|
|
8fb2: d914 bls.n 8fde <lv_draw_map+0x22a>
|
|
blend_area.y2 ++;
|
|
8fb4: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e
|
|
8fb8: 3301 adds r3, #1
|
|
8fba: f8ad 309e strh.w r3, [sp, #158] ; 0x9e
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
8fbe: 3501 adds r5, #1
|
|
8fc0: 9b05 ldr r3, [sp, #20]
|
|
8fc2: 429d cmp r5, r3
|
|
8fc4: d023 beq.n 900e <lv_draw_map+0x25a>
|
|
for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) {
|
|
8fc6: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
8fc8: 2b00 cmp r3, #0
|
|
8fca: dde8 ble.n 8f9e <lv_draw_map+0x1ea>
|
|
8fcc: eb04 020c add.w r2, r4, ip
|
|
8fd0: eb0a 074c add.w r7, sl, ip, lsl #1
|
|
8fd4: 449c add ip, r3
|
|
8fd6: eb04 0e0c add.w lr, r4, ip
|
|
8fda: 4633 mov r3, r6
|
|
8fdc: e7d4 b.n 8f88 <lv_draw_map+0x1d4>
|
|
_lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode);
|
|
8fde: 9a08 ldr r2, [sp, #32]
|
|
8fe0: 7b93 ldrb r3, [r2, #14]
|
|
8fe2: 9302 str r3, [sp, #8]
|
|
8fe4: 7813 ldrb r3, [r2, #0]
|
|
8fe6: 9301 str r3, [sp, #4]
|
|
8fe8: 2302 movs r3, #2
|
|
8fea: 9300 str r3, [sp, #0]
|
|
8fec: 4623 mov r3, r4
|
|
8fee: 4652 mov r2, sl
|
|
8ff0: a926 add r1, sp, #152 ; 0x98
|
|
8ff2: 9823 ldr r0, [sp, #140] ; 0x8c
|
|
8ff4: 4f24 ldr r7, [pc, #144] ; (9088 <lv_draw_map+0x2d4>)
|
|
8ff6: 47b8 blx r7
|
|
blend_area.y1 = blend_area.y2 + 1;
|
|
8ff8: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e
|
|
8ffc: 3301 adds r3, #1
|
|
8ffe: b21b sxth r3, r3
|
|
9000: f8ad 309a strh.w r3, [sp, #154] ; 0x9a
|
|
blend_area.y2 = blend_area.y1;
|
|
9004: f8ad 309e strh.w r3, [sp, #158] ; 0x9e
|
|
px_i = 0;
|
|
9008: f04f 0c00 mov.w ip, #0
|
|
900c: e7d7 b.n 8fbe <lv_draw_map+0x20a>
|
|
if(blend_area.y1 != blend_area.y2) {
|
|
900e: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e
|
|
9012: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a
|
|
9016: 429a cmp r2, r3
|
|
9018: d00f beq.n 903a <lv_draw_map+0x286>
|
|
blend_area.y2--;
|
|
901a: 3b01 subs r3, #1
|
|
901c: f8ad 309e strh.w r3, [sp, #158] ; 0x9e
|
|
_lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode);
|
|
9020: 9a08 ldr r2, [sp, #32]
|
|
9022: 7b93 ldrb r3, [r2, #14]
|
|
9024: 9302 str r3, [sp, #8]
|
|
9026: 7813 ldrb r3, [r2, #0]
|
|
9028: 9301 str r3, [sp, #4]
|
|
902a: 2302 movs r3, #2
|
|
902c: 9300 str r3, [sp, #0]
|
|
902e: 4623 mov r3, r4
|
|
9030: 4652 mov r2, sl
|
|
9032: a926 add r1, sp, #152 ; 0x98
|
|
9034: 9823 ldr r0, [sp, #140] ; 0x8c
|
|
9036: 4d14 ldr r5, [pc, #80] ; (9088 <lv_draw_map+0x2d4>)
|
|
9038: 47a8 blx r5
|
|
_lv_mem_buf_release(mask_buf);
|
|
903a: 4620 mov r0, r4
|
|
903c: 4c13 ldr r4, [pc, #76] ; (908c <lv_draw_map+0x2d8>)
|
|
903e: 47a0 blx r4
|
|
_lv_mem_buf_release(map2);
|
|
9040: 4650 mov r0, sl
|
|
9042: 47a0 blx r4
|
|
if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) {
|
|
9044: e287 b.n 9556 <lv_draw_map+0x7a2>
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
9046: a83a add r0, sp, #232 ; 0xe8
|
|
9048: 4b0c ldr r3, [pc, #48] ; (907c <lv_draw_map+0x2c8>)
|
|
904a: 4798 blx r3
|
|
904c: 901c str r0, [sp, #112] ; 0x70
|
|
lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t));
|
|
904e: 9b1c ldr r3, [sp, #112] ; 0x70
|
|
9050: 0058 lsls r0, r3, #1
|
|
9052: 4c0b ldr r4, [pc, #44] ; (9080 <lv_draw_map+0x2cc>)
|
|
9054: 47a0 blx r4
|
|
9056: 901a str r0, [sp, #104] ; 0x68
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size);
|
|
9058: 981c ldr r0, [sp, #112] ; 0x70
|
|
905a: 47a0 blx r4
|
|
905c: 9017 str r0, [sp, #92] ; 0x5c
|
|
_lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t));
|
|
905e: 2148 movs r1, #72 ; 0x48
|
|
9060: a828 add r0, sp, #160 ; 0xa0
|
|
9062: 4b08 ldr r3, [pc, #32] ; (9084 <lv_draw_map+0x2d0>)
|
|
9064: 4798 blx r3
|
|
if(transform) {
|
|
9066: 9b05 ldr r3, [sp, #20]
|
|
9068: 2b00 cmp r3, #0
|
|
906a: d036 beq.n 90da <lv_draw_map+0x326>
|
|
906c: e291 b.n 9592 <lv_draw_map+0x7de>
|
|
906e: bf00 nop
|
|
9070: 00005f51 .word 0x00005f51
|
|
9074: 00010fc5 .word 0x00010fc5
|
|
9078: 0000bead .word 0x0000bead
|
|
907c: 000114e5 .word 0x000114e5
|
|
9080: 00012925 .word 0x00012925
|
|
9084: 00012b1f .word 0x00012b1f
|
|
9088: 00008269 .word 0x00008269
|
|
908c: 00012559 .word 0x00012559
|
|
lv_img_cf_t cf = LV_IMG_CF_TRUE_COLOR;
|
|
if(alpha_byte) cf = LV_IMG_CF_TRUE_COLOR_ALPHA;
|
|
9090: 2205 movs r2, #5
|
|
else if(chroma_key) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED;
|
|
|
|
trans_dsc.cfg.angle = draw_dsc->angle;
|
|
9092: 9808 ldr r0, [sp, #32]
|
|
9094: 8843 ldrh r3, [r0, #2]
|
|
9096: f8ad 30ac strh.w r3, [sp, #172] ; 0xac
|
|
trans_dsc.cfg.zoom = draw_dsc->zoom;
|
|
909a: 8903 ldrh r3, [r0, #8]
|
|
909c: f8ad 30ae strh.w r3, [sp, #174] ; 0xae
|
|
trans_dsc.cfg.src = map_p;
|
|
90a0: 9728 str r7, [sp, #160] ; 0xa0
|
|
trans_dsc.cfg.src_w = map_w;
|
|
90a2: f8ad 50a4 strh.w r5, [sp, #164] ; 0xa4
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
90a6: 991b ldr r1, [sp, #108] ; 0x6c
|
|
90a8: 88cb ldrh r3, [r1, #6]
|
|
90aa: 3301 adds r3, #1
|
|
90ac: 8849 ldrh r1, [r1, #2]
|
|
90ae: 1a5b subs r3, r3, r1
|
|
trans_dsc.cfg.src_h = lv_area_get_height(map_area);;
|
|
90b0: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6
|
|
trans_dsc.cfg.cf = cf;
|
|
90b4: f88d 20b2 strb.w r2, [sp, #178] ; 0xb2
|
|
trans_dsc.cfg.pivot_x = draw_dsc->pivot.x;
|
|
90b8: 8883 ldrh r3, [r0, #4]
|
|
90ba: f8ad 30a8 strh.w r3, [sp, #168] ; 0xa8
|
|
trans_dsc.cfg.pivot_y = draw_dsc->pivot.y;
|
|
90be: 88c3 ldrh r3, [r0, #6]
|
|
90c0: f8ad 30aa strh.w r3, [sp, #170] ; 0xaa
|
|
trans_dsc.cfg.color = draw_dsc->recolor;
|
|
90c4: 8983 ldrh r3, [r0, #12]
|
|
90c6: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0
|
|
trans_dsc.cfg.antialias = draw_dsc->antialias;
|
|
90ca: 7bc3 ldrb r3, [r0, #15]
|
|
90cc: f3c3 0300 ubfx r3, r3, #0, #1
|
|
90d0: f88d 30b3 strb.w r3, [sp, #179] ; 0xb3
|
|
|
|
_lv_img_buf_transform_init(&trans_dsc);
|
|
90d4: a828 add r0, sp, #160 ; 0xa0
|
|
90d6: 4b93 ldr r3, [pc, #588] ; (9324 <lv_draw_map+0x570>)
|
|
90d8: 4798 blx r3
|
|
}
|
|
#endif
|
|
uint16_t recolor_premult[3] = {0};
|
|
lv_opa_t recolor_opa_inv = 255 - draw_dsc->recolor_opa;
|
|
90da: 9808 ldr r0, [sp, #32]
|
|
90dc: 7a83 ldrb r3, [r0, #10]
|
|
90de: 43da mvns r2, r3
|
|
90e0: b2d2 uxtb r2, r2
|
|
90e2: 9212 str r2, [sp, #72] ; 0x48
|
|
if(draw_dsc->recolor_opa != 0) {
|
|
90e4: b303 cbz r3, 9128 <lv_draw_map+0x374>
|
|
out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix;
|
|
90e6: b29b uxth r3, r3
|
|
90e8: 7b42 ldrb r2, [r0, #13]
|
|
90ea: 08d2 lsrs r2, r2, #3
|
|
90ec: fb02 f203 mul.w r2, r2, r3
|
|
90f0: 9210 str r2, [sp, #64] ; 0x40
|
|
out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix;
|
|
90f2: 8982 ldrh r2, [r0, #12]
|
|
90f4: f3c2 1245 ubfx r2, r2, #5, #6
|
|
90f8: fb02 f203 mul.w r2, r2, r3
|
|
90fc: 9211 str r2, [sp, #68] ; 0x44
|
|
out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix;
|
|
90fe: 7b02 ldrb r2, [r0, #12]
|
|
9100: f002 021f and.w r2, r2, #31
|
|
9104: fb02 f303 mul.w r3, r2, r3
|
|
9108: 9313 str r3, [sp, #76] ; 0x4c
|
|
lv_color_premult(draw_dsc->recolor, draw_dsc->recolor_opa, recolor_premult);
|
|
}
|
|
|
|
lv_draw_mask_res_t mask_res;
|
|
mask_res = (alpha_byte || chroma_key || draw_dsc->angle ||
|
|
910a: 9b06 ldr r3, [sp, #24]
|
|
910c: b98b cbnz r3, 9132 <lv_draw_map+0x37e>
|
|
910e: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
9110: bb53 cbnz r3, 9168 <lv_draw_map+0x3b4>
|
|
9112: 9a08 ldr r2, [sp, #32]
|
|
9114: 8853 ldrh r3, [r2, #2]
|
|
9116: bb53 cbnz r3, 916e <lv_draw_map+0x3ba>
|
|
9118: 8913 ldrh r3, [r2, #8]
|
|
911a: f5b3 7f80 cmp.w r3, #256 ; 0x100
|
|
911e: bf14 ite ne
|
|
9120: 2302 movne r3, #2
|
|
9122: 2301 moveq r3, #1
|
|
9124: 931d str r3, [sp, #116] ; 0x74
|
|
9126: e006 b.n 9136 <lv_draw_map+0x382>
|
|
uint16_t recolor_premult[3] = {0};
|
|
9128: 2300 movs r3, #0
|
|
912a: 9313 str r3, [sp, #76] ; 0x4c
|
|
912c: 9311 str r3, [sp, #68] ; 0x44
|
|
912e: 9310 str r3, [sp, #64] ; 0x40
|
|
9130: e7eb b.n 910a <lv_draw_map+0x356>
|
|
mask_res = (alpha_byte || chroma_key || draw_dsc->angle ||
|
|
9132: 2302 movs r3, #2
|
|
9134: 931d str r3, [sp, #116] ; 0x74
|
|
draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER;
|
|
|
|
|
|
/*Prepare the `mask_buf`if there are other masks*/
|
|
if(other_mask_cnt) {
|
|
9136: 9b19 ldr r3, [sp, #100] ; 0x64
|
|
9138: b9e3 cbnz r3, 9174 <lv_draw_map+0x3c0>
|
|
}
|
|
|
|
int32_t x;
|
|
int32_t y;
|
|
#if LV_USE_IMG_TRANSFORM
|
|
int32_t rot_y = disp_area->y1 + draw_area.y1 - map_area->y1;
|
|
913a: 9b18 ldr r3, [sp, #96] ; 0x60
|
|
913c: f9b3 3012 ldrsh.w r3, [r3, #18]
|
|
9140: f9bd 20ea ldrsh.w r2, [sp, #234] ; 0xea
|
|
9144: 4413 add r3, r2
|
|
9146: 9a1b ldr r2, [sp, #108] ; 0x6c
|
|
9148: f9b2 2002 ldrsh.w r2, [r2, #2]
|
|
914c: 1a9b subs r3, r3, r2
|
|
914e: 9322 str r3, [sp, #136] ; 0x88
|
|
#endif
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
9150: 961f str r6, [sp, #124] ; 0x7c
|
|
9152: 2e00 cmp r6, #0
|
|
9154: f340 81e4 ble.w 9520 <lv_draw_map+0x76c>
|
|
else if(mask_res_sub == LV_DRAW_MASK_RES_CHANGED) {
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
}
|
|
}
|
|
|
|
map_buf_tmp += map_w * px_size_byte;
|
|
9158: fb08 f305 mul.w r3, r8, r5
|
|
915c: 931e str r3, [sp, #120] ; 0x78
|
|
915e: 2300 movs r3, #0
|
|
9160: 930e str r3, [sp, #56] ; 0x38
|
|
9162: 930f str r3, [sp, #60] ; 0x3c
|
|
}
|
|
}
|
|
else {
|
|
pxi = 0; /*unused*/
|
|
px_size = 0; /*unused*/
|
|
dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color);
|
|
9164: 46d1 mov r9, sl
|
|
9166: e154 b.n 9412 <lv_draw_map+0x65e>
|
|
mask_res = (alpha_byte || chroma_key || draw_dsc->angle ||
|
|
9168: 2302 movs r3, #2
|
|
916a: 931d str r3, [sp, #116] ; 0x74
|
|
916c: e7e3 b.n 9136 <lv_draw_map+0x382>
|
|
916e: 2302 movs r3, #2
|
|
9170: 931d str r3, [sp, #116] ; 0x74
|
|
9172: e7e0 b.n 9136 <lv_draw_map+0x382>
|
|
_lv_memset_ff(mask_buf, mask_buf_size);
|
|
9174: 991c ldr r1, [sp, #112] ; 0x70
|
|
9176: 9817 ldr r0, [sp, #92] ; 0x5c
|
|
9178: 4b6b ldr r3, [pc, #428] ; (9328 <lv_draw_map+0x574>)
|
|
917a: 4798 blx r3
|
|
917c: e7dd b.n 913a <lv_draw_map+0x386>
|
|
int32_t xt = x - dsc->cfg.pivot_x;
|
|
917e: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
9180: 442b add r3, r5
|
|
9182: b21b sxth r3, r3
|
|
9184: f9bd 20a8 ldrsh.w r2, [sp, #168] ; 0xa8
|
|
9188: 1a9b subs r3, r3, r2
|
|
int32_t yt = y - dsc->cfg.pivot_y;
|
|
918a: f9bd 20aa ldrsh.w r2, [sp, #170] ; 0xaa
|
|
918e: 990d ldr r1, [sp, #52] ; 0x34
|
|
9190: 1a8a subs r2, r1, r2
|
|
if(dsc->cfg.zoom == LV_IMG_ZOOM_NONE) {
|
|
9192: f8bd 10ae ldrh.w r1, [sp, #174] ; 0xae
|
|
9196: f5b1 7f80 cmp.w r1, #256 ; 0x100
|
|
919a: d056 beq.n 924a <lv_draw_map+0x496>
|
|
else if(dsc->cfg.angle == 0) {
|
|
919c: f9bd 10ac ldrsh.w r1, [sp, #172] ; 0xac
|
|
91a0: 2900 cmp r1, #0
|
|
91a2: d165 bne.n 9270 <lv_draw_map+0x4bc>
|
|
xt *= dsc->tmp.zoom_inv;
|
|
91a4: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6
|
|
xs = xt + dsc->tmp.pivot_x_256;
|
|
91a8: 9c31 ldr r4, [sp, #196] ; 0xc4
|
|
91aa: fb01 4303 mla r3, r1, r3, r4
|
|
91ae: 9309 str r3, [sp, #36] ; 0x24
|
|
ys = yt + dsc->tmp.pivot_y_256;
|
|
91b0: 9b32 ldr r3, [sp, #200] ; 0xc8
|
|
91b2: fb01 3302 mla r3, r1, r2, r3
|
|
91b6: 930b str r3, [sp, #44] ; 0x2c
|
|
int32_t xs_int = xs >> 8;
|
|
91b8: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
91ba: 121f asrs r7, r3, #8
|
|
if(xs_int >= dsc->cfg.src_w) return false;
|
|
91bc: f9bd 30a4 ldrsh.w r3, [sp, #164] ; 0xa4
|
|
91c0: 429f cmp r7, r3
|
|
91c2: f280 80ab bge.w 931c <lv_draw_map+0x568>
|
|
else if(xs_int < 0) return false;
|
|
91c6: 2f00 cmp r7, #0
|
|
91c8: f2c0 80a8 blt.w 931c <lv_draw_map+0x568>
|
|
int32_t ys_int = ys >> 8;
|
|
91cc: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
91ce: 1212 asrs r2, r2, #8
|
|
91d0: 4610 mov r0, r2
|
|
91d2: 9215 str r2, [sp, #84] ; 0x54
|
|
if(ys_int >= dsc->cfg.src_h) return false;
|
|
91d4: f9bd 20a6 ldrsh.w r2, [sp, #166] ; 0xa6
|
|
91d8: 4290 cmp r0, r2
|
|
91da: f280 809f bge.w 931c <lv_draw_map+0x568>
|
|
else if(ys_int < 0) return false;
|
|
91de: 2800 cmp r0, #0
|
|
91e0: f2c0 809c blt.w 931c <lv_draw_map+0x568>
|
|
if(dsc->tmp.native_color) {
|
|
91e4: f89d 20d4 ldrb.w r2, [sp, #212] ; 0xd4
|
|
91e8: f012 0f04 tst.w r2, #4
|
|
91ec: d06a beq.n 92c4 <lv_draw_map+0x510>
|
|
const uint8_t * src_u8 = (const uint8_t *)dsc->cfg.src;
|
|
91ee: 9928 ldr r1, [sp, #160] ; 0xa0
|
|
if(dsc->tmp.has_alpha == 0) {
|
|
91f0: f012 0f02 tst.w r2, #2
|
|
91f4: d155 bne.n 92a2 <lv_draw_map+0x4ee>
|
|
pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size;
|
|
91f6: fb03 7300 mla r3, r3, r0, r7
|
|
91fa: 005a lsls r2, r3, #1
|
|
_lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size);
|
|
91fc: 1888 adds r0, r1, r2
|
|
*d8 = *s8;
|
|
91fe: f811 3013 ldrb.w r3, [r1, r3, lsl #1]
|
|
9202: f88d 30b4 strb.w r3, [sp, #180] ; 0xb4
|
|
9206: 7843 ldrb r3, [r0, #1]
|
|
9208: f88d 30b5 strb.w r3, [sp, #181] ; 0xb5
|
|
px_size = LV_COLOR_SIZE >> 3;
|
|
920c: 2102 movs r1, #2
|
|
dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int);
|
|
}
|
|
|
|
if(dsc->tmp.chroma_keyed) {
|
|
920e: f89d 30d4 ldrb.w r3, [sp, #212] ; 0xd4
|
|
9212: f013 0f01 tst.w r3, #1
|
|
9216: d00d beq.n 9234 <lv_draw_map+0x480>
|
|
lv_color_t ct = LV_COLOR_TRANSP;
|
|
9218: 9b20 ldr r3, [sp, #128] ; 0x80
|
|
921a: f36f 0304 bfc r3, #0, #5
|
|
921e: f443 63fc orr.w r3, r3, #2016 ; 0x7e0
|
|
9222: f36f 23cf bfc r3, #11, #5
|
|
9226: f8ad 3080 strh.w r3, [sp, #128] ; 0x80
|
|
if(dsc->res.color.full == ct.full) return false;
|
|
922a: f8bd 00b4 ldrh.w r0, [sp, #180] ; 0xb4
|
|
922e: b29b uxth r3, r3
|
|
9230: 4298 cmp r0, r3
|
|
9232: d073 beq.n 931c <lv_draw_map+0x568>
|
|
}
|
|
|
|
if(dsc->cfg.antialias == false) return true;
|
|
9234: f89d 30b3 ldrb.w r3, [sp, #179] ; 0xb3
|
|
9238: 2b00 cmp r3, #0
|
|
923a: d159 bne.n 92f0 <lv_draw_map+0x53c>
|
|
mask_buf[px_i] = trans_dsc.res.opa;
|
|
923c: f89d 30b6 ldrb.w r3, [sp, #182] ; 0xb6
|
|
9240: f88a 3000 strb.w r3, [sl]
|
|
c.full = trans_dsc.res.color.full;
|
|
9244: f8bd 30b4 ldrh.w r3, [sp, #180] ; 0xb4
|
|
9248: e086 b.n 9358 <lv_draw_map+0x5a4>
|
|
xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_x_256;
|
|
924a: 9834 ldr r0, [sp, #208] ; 0xd0
|
|
924c: 9933 ldr r1, [sp, #204] ; 0xcc
|
|
924e: fb00 f403 mul.w r4, r0, r3
|
|
9252: fb01 4712 mls r7, r1, r2, r4
|
|
9256: 9c31 ldr r4, [sp, #196] ; 0xc4
|
|
9258: eb04 14e7 add.w r4, r4, r7, asr #7
|
|
925c: 9409 str r4, [sp, #36] ; 0x24
|
|
ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_y_256;
|
|
925e: fb00 f202 mul.w r2, r0, r2
|
|
9262: fb01 2303 mla r3, r1, r3, r2
|
|
9266: 9a32 ldr r2, [sp, #200] ; 0xc8
|
|
9268: eb02 13e3 add.w r3, r2, r3, asr #7
|
|
926c: 930b str r3, [sp, #44] ; 0x2c
|
|
926e: e7a3 b.n 91b8 <lv_draw_map+0x404>
|
|
xt *= dsc->tmp.zoom_inv;
|
|
9270: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6
|
|
9274: fb01 f303 mul.w r3, r1, r3
|
|
yt *= dsc->tmp.zoom_inv;
|
|
9278: fb01 f202 mul.w r2, r1, r2
|
|
xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_x_256;
|
|
927c: 9934 ldr r1, [sp, #208] ; 0xd0
|
|
927e: 9833 ldr r0, [sp, #204] ; 0xcc
|
|
9280: fb01 f403 mul.w r4, r1, r3
|
|
9284: fb00 4712 mls r7, r0, r2, r4
|
|
9288: 9c31 ldr r4, [sp, #196] ; 0xc4
|
|
928a: eb04 34e7 add.w r4, r4, r7, asr #15
|
|
928e: 9409 str r4, [sp, #36] ; 0x24
|
|
ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_y_256;
|
|
9290: fb01 f202 mul.w r2, r1, r2
|
|
9294: fb00 2303 mla r3, r0, r3, r2
|
|
9298: 9a32 ldr r2, [sp, #200] ; 0xc8
|
|
929a: eb02 33e3 add.w r3, r2, r3, asr #15
|
|
929e: 930b str r3, [sp, #44] ; 0x2c
|
|
92a0: e78a b.n 91b8 <lv_draw_map+0x404>
|
|
pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size;
|
|
92a2: 9a15 ldr r2, [sp, #84] ; 0x54
|
|
92a4: fb03 7302 mla r3, r3, r2, r7
|
|
92a8: eb03 0243 add.w r2, r3, r3, lsl #1
|
|
_lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size - 1);
|
|
92ac: 188b adds r3, r1, r2
|
|
92ae: 5c89 ldrb r1, [r1, r2]
|
|
92b0: f88d 10b4 strb.w r1, [sp, #180] ; 0xb4
|
|
92b4: 7859 ldrb r1, [r3, #1]
|
|
92b6: f88d 10b5 strb.w r1, [sp, #181] ; 0xb5
|
|
dsc->res.opa = src_u8[pxi + px_size - 1];
|
|
92ba: 789b ldrb r3, [r3, #2]
|
|
92bc: f88d 30b6 strb.w r3, [sp, #182] ; 0xb6
|
|
px_size = LV_IMG_PX_SIZE_ALPHA_BYTE;
|
|
92c0: 2103 movs r1, #3
|
|
92c2: e7a4 b.n 920e <lv_draw_map+0x45a>
|
|
dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color);
|
|
92c4: b239 sxth r1, r7
|
|
92c6: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54
|
|
92ca: f8bd 30b0 ldrh.w r3, [sp, #176] ; 0xb0
|
|
92ce: 9225 str r2, [sp, #148] ; 0x94
|
|
92d0: 9124 str r1, [sp, #144] ; 0x90
|
|
92d2: a82e add r0, sp, #184 ; 0xb8
|
|
92d4: 4c15 ldr r4, [pc, #84] ; (932c <lv_draw_map+0x578>)
|
|
92d6: 47a0 blx r4
|
|
92d8: f8ad 00b4 strh.w r0, [sp, #180] ; 0xb4
|
|
dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int);
|
|
92dc: 9a25 ldr r2, [sp, #148] ; 0x94
|
|
92de: 9924 ldr r1, [sp, #144] ; 0x90
|
|
92e0: a82e add r0, sp, #184 ; 0xb8
|
|
92e2: 4b13 ldr r3, [pc, #76] ; (9330 <lv_draw_map+0x57c>)
|
|
92e4: 4798 blx r3
|
|
92e6: f88d 00b6 strb.w r0, [sp, #182] ; 0xb6
|
|
pxi = 0; /*unused*/
|
|
92ea: 2200 movs r2, #0
|
|
px_size = 0; /*unused*/
|
|
92ec: 4611 mov r1, r2
|
|
92ee: e78e b.n 920e <lv_draw_map+0x45a>
|
|
|
|
dsc->tmp.xs = xs;
|
|
92f0: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24
|
|
92f4: f8ad 30d8 strh.w r3, [sp, #216] ; 0xd8
|
|
dsc->tmp.ys = ys;
|
|
92f8: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c
|
|
92fc: f8ad 30da strh.w r3, [sp, #218] ; 0xda
|
|
dsc->tmp.xs_int = xs_int;
|
|
9300: f8ad 70dc strh.w r7, [sp, #220] ; 0xdc
|
|
dsc->tmp.ys_int = ys_int;
|
|
9304: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54
|
|
9308: f8ad 30de strh.w r3, [sp, #222] ; 0xde
|
|
dsc->tmp.pxi = pxi;
|
|
930c: 9238 str r2, [sp, #224] ; 0xe0
|
|
dsc->tmp.px_size = px_size;
|
|
930e: f88d 10e4 strb.w r1, [sp, #228] ; 0xe4
|
|
|
|
bool ret;
|
|
ret = _lv_img_buf_transform_anti_alias(dsc);
|
|
9312: a828 add r0, sp, #160 ; 0xa0
|
|
9314: 4b07 ldr r3, [pc, #28] ; (9334 <lv_draw_map+0x580>)
|
|
9316: 4798 blx r3
|
|
if(ret == false) {
|
|
9318: 2800 cmp r0, #0
|
|
931a: d18f bne.n 923c <lv_draw_map+0x488>
|
|
mask_buf[px_i] = LV_OPA_TRANSP;
|
|
931c: 2300 movs r3, #0
|
|
931e: f88a 3000 strb.w r3, [sl]
|
|
continue;
|
|
9322: e03d b.n 93a0 <lv_draw_map+0x5ec>
|
|
9324: 0000eb35 .word 0x0000eb35
|
|
9328: 00012bd5 .word 0x00012bd5
|
|
932c: 0000e901 .word 0x0000e901
|
|
9330: 0000ea31 .word 0x0000ea31
|
|
9334: 0000ede5 .word 0x0000ede5
|
|
9338: 000007e0 .word 0x000007e0
|
|
mask_buf[px_i] = 0xFF;
|
|
933c: 23ff movs r3, #255 ; 0xff
|
|
933e: f88a 3000 strb.w r3, [sl]
|
|
c.full = map_px[0] + (map_px[1] << 8);
|
|
9342: 7872 ldrb r2, [r6, #1]
|
|
9344: 7833 ldrb r3, [r6, #0]
|
|
9346: eb03 2302 add.w r3, r3, r2, lsl #8
|
|
934a: b29b uxth r3, r3
|
|
if(chroma_key) {
|
|
934c: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
934e: b11a cbz r2, 9358 <lv_draw_map+0x5a4>
|
|
if(c.full == chroma_keyed_color.full) {
|
|
9350: f83f 201c ldrh.w r2, [pc, #-28] ; 9338 <lv_draw_map+0x584>
|
|
9354: 429a cmp r2, r3
|
|
9356: d036 beq.n 93c6 <lv_draw_map+0x612>
|
|
if(draw_dsc->recolor_opa != 0) {
|
|
9358: 9a08 ldr r2, [sp, #32]
|
|
935a: 7a92 ldrb r2, [r2, #10]
|
|
935c: b1ea cbz r2, 939a <lv_draw_map+0x5e6>
|
|
LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8);
|
|
935e: f8bd 2048 ldrh.w r2, [sp, #72] ; 0x48
|
|
9362: 0ad9 lsrs r1, r3, #11
|
|
9364: 9810 ldr r0, [sp, #64] ; 0x40
|
|
9366: fb01 0102 mla r1, r1, r2, r0
|
|
936a: f3c1 2104 ubfx r1, r1, #8, #5
|
|
LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8);
|
|
936e: f3c3 1045 ubfx r0, r3, #5, #6
|
|
9372: 9c11 ldr r4, [sp, #68] ; 0x44
|
|
9374: fb00 4002 mla r0, r0, r2, r4
|
|
9378: f3c0 2005 ubfx r0, r0, #8, #6
|
|
LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8);
|
|
937c: f003 031f and.w r3, r3, #31
|
|
9380: 9c13 ldr r4, [sp, #76] ; 0x4c
|
|
9382: fb03 4302 mla r3, r3, r2, r4
|
|
9386: f3c3 2307 ubfx r3, r3, #8, #8
|
|
938a: f363 0904 bfi r9, r3, #0, #5
|
|
938e: f360 194a bfi r9, r0, #5, #6
|
|
9392: f361 29cf bfi r9, r1, #11, #5
|
|
9396: fa1f f389 uxth.w r3, r9
|
|
map2[px_i].full = c.full;
|
|
939a: 9a07 ldr r2, [sp, #28]
|
|
939c: f822 3015 strh.w r3, [r2, r5, lsl #1]
|
|
for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) {
|
|
93a0: 3501 adds r5, #1
|
|
93a2: 445e add r6, fp
|
|
93a4: f10a 0a01 add.w sl, sl, #1
|
|
93a8: 4545 cmp r5, r8
|
|
93aa: d010 beq.n 93ce <lv_draw_map+0x61a>
|
|
if(transform) {
|
|
93ac: 9b05 ldr r3, [sp, #20]
|
|
93ae: 2b00 cmp r3, #0
|
|
93b0: f47f aee5 bne.w 917e <lv_draw_map+0x3ca>
|
|
if(alpha_byte) {
|
|
93b4: 9b06 ldr r3, [sp, #24]
|
|
93b6: 2b00 cmp r3, #0
|
|
93b8: d0c0 beq.n 933c <lv_draw_map+0x588>
|
|
lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1];
|
|
93ba: 78b3 ldrb r3, [r6, #2]
|
|
mask_buf[px_i] = px_opa;
|
|
93bc: f88a 3000 strb.w r3, [sl]
|
|
if(px_opa == 0) {
|
|
93c0: 2b00 cmp r3, #0
|
|
93c2: d0ed beq.n 93a0 <lv_draw_map+0x5ec>
|
|
93c4: e7bd b.n 9342 <lv_draw_map+0x58e>
|
|
mask_buf[px_i] = LV_OPA_TRANSP;
|
|
93c6: 2300 movs r3, #0
|
|
93c8: f88a 3000 strb.w r3, [sl]
|
|
continue;
|
|
93cc: e7e8 b.n 93a0 <lv_draw_map+0x5ec>
|
|
93ce: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
93d0: 9a0f ldr r2, [sp, #60] ; 0x3c
|
|
93d2: 189c adds r4, r3, r2
|
|
if(other_mask_cnt) {
|
|
93d4: 9b19 ldr r3, [sp, #100] ; 0x64
|
|
93d6: 2b00 cmp r3, #0
|
|
93d8: d13e bne.n 9458 <lv_draw_map+0x6a4>
|
|
map_buf_tmp += map_w * px_size_byte;
|
|
93da: 9b14 ldr r3, [sp, #80] ; 0x50
|
|
93dc: 9a1e ldr r2, [sp, #120] ; 0x78
|
|
93de: 4413 add r3, r2
|
|
93e0: 9314 str r3, [sp, #80] ; 0x50
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
93e2: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec
|
|
93e6: 3301 adds r3, #1
|
|
93e8: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8
|
|
93ec: 1a9b subs r3, r3, r2
|
|
if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) {
|
|
93ee: fa04 f383 sxtah r3, r4, r3
|
|
93f2: 9a1c ldr r2, [sp, #112] ; 0x70
|
|
93f4: 429a cmp r2, r3
|
|
93f6: d95c bls.n 94b2 <lv_draw_map+0x6fe>
|
|
blend_area.y2 ++;
|
|
93f8: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e
|
|
93fc: 3301 adds r3, #1
|
|
93fe: f8ad 309e strh.w r3, [sp, #158] ; 0x9e
|
|
9402: 940f str r4, [sp, #60] ; 0x3c
|
|
for(y = 0; y < draw_area_h; y++) {
|
|
9404: 9b0e ldr r3, [sp, #56] ; 0x38
|
|
9406: 3301 adds r3, #1
|
|
9408: 930e str r3, [sp, #56] ; 0x38
|
|
940a: 9a1f ldr r2, [sp, #124] ; 0x7c
|
|
940c: 4293 cmp r3, r2
|
|
940e: f000 8087 beq.w 9520 <lv_draw_map+0x76c>
|
|
int32_t rot_x = disp_area->x1 + draw_area.x1 - map_area->x1;
|
|
9412: 9b18 ldr r3, [sp, #96] ; 0x60
|
|
9414: f9b3 3010 ldrsh.w r3, [r3, #16]
|
|
9418: f9bd 20e8 ldrsh.w r2, [sp, #232] ; 0xe8
|
|
941c: 4413 add r3, r2
|
|
941e: 9a1b ldr r2, [sp, #108] ; 0x6c
|
|
9420: f9b2 2000 ldrsh.w r2, [r2]
|
|
9424: 1a9b subs r3, r3, r2
|
|
9426: 930c str r3, [sp, #48] ; 0x30
|
|
for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) {
|
|
9428: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
942a: 4698 mov r8, r3
|
|
942c: 2b00 cmp r3, #0
|
|
942e: dd11 ble.n 9454 <lv_draw_map+0x6a0>
|
|
9430: 9b17 ldr r3, [sp, #92] ; 0x5c
|
|
9432: 4619 mov r1, r3
|
|
9434: 9a0f ldr r2, [sp, #60] ; 0x3c
|
|
9436: eb01 0a02 add.w sl, r1, r2
|
|
943a: 9b1a ldr r3, [sp, #104] ; 0x68
|
|
943c: 4619 mov r1, r3
|
|
943e: eb01 0342 add.w r3, r1, r2, lsl #1
|
|
9442: 9307 str r3, [sp, #28]
|
|
9444: 9e14 ldr r6, [sp, #80] ; 0x50
|
|
9446: 2500 movs r5, #0
|
|
int32_t yt = y - dsc->cfg.pivot_y;
|
|
9448: 9b22 ldr r3, [sp, #136] ; 0x88
|
|
944a: 9a0e ldr r2, [sp, #56] ; 0x38
|
|
944c: 4413 add r3, r2
|
|
944e: b21b sxth r3, r3
|
|
9450: 930d str r3, [sp, #52] ; 0x34
|
|
9452: e7ab b.n 93ac <lv_draw_map+0x5f8>
|
|
9454: 9c0f ldr r4, [sp, #60] ; 0x3c
|
|
9456: e7bd b.n 93d4 <lv_draw_map+0x620>
|
|
mask_res_sub = lv_draw_mask_apply(mask_buf + px_i_start, draw_area.x1 + vdb->area.x1, y + draw_area.y1 + vdb->area.y1,
|
|
9458: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
945a: 9a17 ldr r2, [sp, #92] ; 0x5c
|
|
945c: 4413 add r3, r2
|
|
945e: 461e mov r6, r3
|
|
9460: f8bd 10e8 ldrh.w r1, [sp, #232] ; 0xe8
|
|
9464: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec
|
|
9468: 3301 adds r3, #1
|
|
946a: 1a5b subs r3, r3, r1
|
|
946c: f8bd 20ea ldrh.w r2, [sp, #234] ; 0xea
|
|
9470: 9d18 ldr r5, [sp, #96] ; 0x60
|
|
9472: 8a68 ldrh r0, [r5, #18]
|
|
9474: 4402 add r2, r0
|
|
9476: 980e ldr r0, [sp, #56] ; 0x38
|
|
9478: 4402 add r2, r0
|
|
947a: 8a28 ldrh r0, [r5, #16]
|
|
947c: 4401 add r1, r0
|
|
947e: b21b sxth r3, r3
|
|
9480: b212 sxth r2, r2
|
|
9482: b209 sxth r1, r1
|
|
9484: 4630 mov r0, r6
|
|
9486: 4d4e ldr r5, [pc, #312] ; (95c0 <lv_draw_map+0x80c>)
|
|
9488: 47a8 blx r5
|
|
if(mask_res_sub == LV_DRAW_MASK_RES_TRANSP) {
|
|
948a: b128 cbz r0, 9498 <lv_draw_map+0x6e4>
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
948c: 2802 cmp r0, #2
|
|
948e: 9a1d ldr r2, [sp, #116] ; 0x74
|
|
9490: bf08 it eq
|
|
9492: 4602 moveq r2, r0
|
|
9494: 921d str r2, [sp, #116] ; 0x74
|
|
9496: e7a0 b.n 93da <lv_draw_map+0x626>
|
|
9498: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec
|
|
949c: 3101 adds r1, #1
|
|
949e: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8
|
|
94a2: 1ac9 subs r1, r1, r3
|
|
_lv_memset_00(mask_buf + px_i_start, lv_area_get_width(&draw_area));
|
|
94a4: b209 sxth r1, r1
|
|
94a6: 4630 mov r0, r6
|
|
94a8: 4b46 ldr r3, [pc, #280] ; (95c4 <lv_draw_map+0x810>)
|
|
94aa: 4798 blx r3
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
94ac: 2302 movs r3, #2
|
|
94ae: 931d str r3, [sp, #116] ; 0x74
|
|
94b0: e793 b.n 93da <lv_draw_map+0x626>
|
|
}
|
|
else {
|
|
|
|
_lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode);
|
|
94b2: 9d08 ldr r5, [sp, #32]
|
|
94b4: 7bab ldrb r3, [r5, #14]
|
|
94b6: 9302 str r3, [sp, #8]
|
|
94b8: 782b ldrb r3, [r5, #0]
|
|
94ba: 9301 str r3, [sp, #4]
|
|
94bc: 9b1d ldr r3, [sp, #116] ; 0x74
|
|
94be: 9300 str r3, [sp, #0]
|
|
94c0: 9b17 ldr r3, [sp, #92] ; 0x5c
|
|
94c2: 9a1a ldr r2, [sp, #104] ; 0x68
|
|
94c4: a926 add r1, sp, #152 ; 0x98
|
|
94c6: 9823 ldr r0, [sp, #140] ; 0x8c
|
|
94c8: 4c3f ldr r4, [pc, #252] ; (95c8 <lv_draw_map+0x814>)
|
|
94ca: 47a0 blx r4
|
|
|
|
blend_area.y1 = blend_area.y2 + 1;
|
|
94cc: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e
|
|
94d0: 3301 adds r3, #1
|
|
94d2: b21b sxth r3, r3
|
|
94d4: f8ad 309a strh.w r3, [sp, #154] ; 0x9a
|
|
blend_area.y2 = blend_area.y1;
|
|
94d8: f8ad 309e strh.w r3, [sp, #158] ; 0x9e
|
|
|
|
px_i = 0;
|
|
mask_res = (alpha_byte || chroma_key || draw_dsc->angle ||
|
|
94dc: 9b06 ldr r3, [sp, #24]
|
|
94de: b95b cbnz r3, 94f8 <lv_draw_map+0x744>
|
|
94e0: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
94e2: b983 cbnz r3, 9506 <lv_draw_map+0x752>
|
|
94e4: 886b ldrh r3, [r5, #2]
|
|
94e6: b98b cbnz r3, 950c <lv_draw_map+0x758>
|
|
94e8: 892b ldrh r3, [r5, #8]
|
|
94ea: f5b3 7f80 cmp.w r3, #256 ; 0x100
|
|
94ee: bf14 ite ne
|
|
94f0: 2302 movne r3, #2
|
|
94f2: 2301 moveq r3, #1
|
|
94f4: 931d str r3, [sp, #116] ; 0x74
|
|
94f6: e001 b.n 94fc <lv_draw_map+0x748>
|
|
94f8: 2302 movs r3, #2
|
|
94fa: 931d str r3, [sp, #116] ; 0x74
|
|
draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER;
|
|
|
|
/*Prepare the `mask_buf`if there are other masks*/
|
|
if(other_mask_cnt) {
|
|
94fc: 9b19 ldr r3, [sp, #100] ; 0x64
|
|
94fe: b943 cbnz r3, 9512 <lv_draw_map+0x75e>
|
|
px_i = 0;
|
|
9500: 2300 movs r3, #0
|
|
9502: 930f str r3, [sp, #60] ; 0x3c
|
|
9504: e77e b.n 9404 <lv_draw_map+0x650>
|
|
mask_res = (alpha_byte || chroma_key || draw_dsc->angle ||
|
|
9506: 2302 movs r3, #2
|
|
9508: 931d str r3, [sp, #116] ; 0x74
|
|
950a: e7f7 b.n 94fc <lv_draw_map+0x748>
|
|
950c: 2302 movs r3, #2
|
|
950e: 931d str r3, [sp, #116] ; 0x74
|
|
9510: e7f4 b.n 94fc <lv_draw_map+0x748>
|
|
_lv_memset_ff(mask_buf, mask_buf_size);
|
|
9512: 991c ldr r1, [sp, #112] ; 0x70
|
|
9514: 9817 ldr r0, [sp, #92] ; 0x5c
|
|
9516: 4b2d ldr r3, [pc, #180] ; (95cc <lv_draw_map+0x818>)
|
|
9518: 4798 blx r3
|
|
px_i = 0;
|
|
951a: 2300 movs r3, #0
|
|
951c: 930f str r3, [sp, #60] ; 0x3c
|
|
951e: e771 b.n 9404 <lv_draw_map+0x650>
|
|
}
|
|
}
|
|
}
|
|
|
|
/*Flush the last part*/
|
|
if(blend_area.y1 != blend_area.y2) {
|
|
9520: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e
|
|
9524: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a
|
|
9528: 429a cmp r2, r3
|
|
952a: d00f beq.n 954c <lv_draw_map+0x798>
|
|
blend_area.y2--;
|
|
952c: 3b01 subs r3, #1
|
|
952e: f8ad 309e strh.w r3, [sp, #158] ; 0x9e
|
|
_lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode);
|
|
9532: 9a08 ldr r2, [sp, #32]
|
|
9534: 7b93 ldrb r3, [r2, #14]
|
|
9536: 9302 str r3, [sp, #8]
|
|
9538: 7813 ldrb r3, [r2, #0]
|
|
953a: 9301 str r3, [sp, #4]
|
|
953c: 9b1d ldr r3, [sp, #116] ; 0x74
|
|
953e: 9300 str r3, [sp, #0]
|
|
9540: 9b17 ldr r3, [sp, #92] ; 0x5c
|
|
9542: 9a1a ldr r2, [sp, #104] ; 0x68
|
|
9544: a926 add r1, sp, #152 ; 0x98
|
|
9546: 9823 ldr r0, [sp, #140] ; 0x8c
|
|
9548: 4c1f ldr r4, [pc, #124] ; (95c8 <lv_draw_map+0x814>)
|
|
954a: 47a0 blx r4
|
|
}
|
|
|
|
_lv_mem_buf_release(mask_buf);
|
|
954c: 9817 ldr r0, [sp, #92] ; 0x5c
|
|
954e: 4c20 ldr r4, [pc, #128] ; (95d0 <lv_draw_map+0x81c>)
|
|
9550: 47a0 blx r4
|
|
_lv_mem_buf_release(map2);
|
|
9552: 981a ldr r0, [sp, #104] ; 0x68
|
|
9554: 47a0 blx r4
|
|
}
|
|
}
|
|
}
|
|
9556: b03d add sp, #244 ; 0xf4
|
|
9558: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) {
|
|
955c: 9b19 ldr r3, [sp, #100] ; 0x64
|
|
955e: bb13 cbnz r3, 95a6 <lv_draw_map+0x7f2>
|
|
9560: 2301 movs r3, #1
|
|
9562: 9305 str r3, [sp, #20]
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
9564: a83a add r0, sp, #232 ; 0xe8
|
|
9566: 4b1b ldr r3, [pc, #108] ; (95d4 <lv_draw_map+0x820>)
|
|
9568: 4798 blx r3
|
|
956a: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0
|
|
956e: f67f ad6a bls.w 9046 <lv_draw_map+0x292>
|
|
lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t));
|
|
9572: f44f 7070 mov.w r0, #960 ; 0x3c0
|
|
9576: 4c18 ldr r4, [pc, #96] ; (95d8 <lv_draw_map+0x824>)
|
|
9578: 47a0 blx r4
|
|
957a: 901a str r0, [sp, #104] ; 0x68
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size);
|
|
957c: f44f 70f0 mov.w r0, #480 ; 0x1e0
|
|
9580: 47a0 blx r4
|
|
9582: 9017 str r0, [sp, #92] ; 0x5c
|
|
_lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t));
|
|
9584: 2148 movs r1, #72 ; 0x48
|
|
9586: a828 add r0, sp, #160 ; 0xa0
|
|
9588: 4b0e ldr r3, [pc, #56] ; (95c4 <lv_draw_map+0x810>)
|
|
958a: 4798 blx r3
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
958c: f44f 73f0 mov.w r3, #480 ; 0x1e0
|
|
9590: 931c str r3, [sp, #112] ; 0x70
|
|
if(alpha_byte) cf = LV_IMG_CF_TRUE_COLOR_ALPHA;
|
|
9592: 9b06 ldr r3, [sp, #24]
|
|
9594: 2b00 cmp r3, #0
|
|
9596: f47f ad7b bne.w 9090 <lv_draw_map+0x2dc>
|
|
else if(chroma_key) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED;
|
|
959a: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
959c: 2b00 cmp r3, #0
|
|
959e: bf0c ite eq
|
|
95a0: 2204 moveq r2, #4
|
|
95a2: 2206 movne r2, #6
|
|
95a4: e575 b.n 9092 <lv_draw_map+0x2de>
|
|
if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) {
|
|
95a6: 2301 movs r3, #1
|
|
95a8: 9305 str r3, [sp, #20]
|
|
uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area);
|
|
95aa: a83a add r0, sp, #232 ; 0xe8
|
|
95ac: 4b09 ldr r3, [pc, #36] ; (95d4 <lv_draw_map+0x820>)
|
|
95ae: 4798 blx r3
|
|
95b0: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0
|
|
95b4: f67f ad47 bls.w 9046 <lv_draw_map+0x292>
|
|
95b8: f44f 73f0 mov.w r3, #480 ; 0x1e0
|
|
95bc: 931c str r3, [sp, #112] ; 0x70
|
|
95be: e546 b.n 904e <lv_draw_map+0x29a>
|
|
95c0: 0000be05 .word 0x0000be05
|
|
95c4: 00012b1f .word 0x00012b1f
|
|
95c8: 00008269 .word 0x00008269
|
|
95cc: 00012bd5 .word 0x00012bd5
|
|
95d0: 00012559 .word 0x00012559
|
|
95d4: 000114e5 .word 0x000114e5
|
|
95d8: 00012925 .word 0x00012925
|
|
|
|
000095dc <show_error>:
|
|
|
|
static void show_error(const lv_area_t * coords, const lv_area_t * clip_area, const char * msg)
|
|
{
|
|
95dc: b570 push {r4, r5, r6, lr}
|
|
95de: b09e sub sp, #120 ; 0x78
|
|
95e0: 4604 mov r4, r0
|
|
95e2: 460d mov r5, r1
|
|
95e4: 4616 mov r6, r2
|
|
lv_draw_rect_dsc_t rect_dsc;
|
|
lv_draw_rect_dsc_init(&rect_dsc);
|
|
95e6: a809 add r0, sp, #36 ; 0x24
|
|
95e8: 4b0b ldr r3, [pc, #44] ; (9618 <show_error+0x3c>)
|
|
95ea: 4798 blx r3
|
|
rect_dsc.bg_color = LV_COLOR_WHITE;
|
|
95ec: 4b0b ldr r3, [pc, #44] ; (961c <show_error+0x40>)
|
|
95ee: 881b ldrh r3, [r3, #0]
|
|
95f0: f8ad 3026 strh.w r3, [sp, #38] ; 0x26
|
|
lv_draw_rect(coords, clip_area, &rect_dsc);
|
|
95f4: aa09 add r2, sp, #36 ; 0x24
|
|
95f6: 4629 mov r1, r5
|
|
95f8: 4620 mov r0, r4
|
|
95fa: 4b09 ldr r3, [pc, #36] ; (9620 <show_error+0x44>)
|
|
95fc: 4798 blx r3
|
|
|
|
lv_draw_label_dsc_t label_dsc;
|
|
lv_draw_label_dsc_init(&label_dsc);
|
|
95fe: a802 add r0, sp, #8
|
|
9600: 4b08 ldr r3, [pc, #32] ; (9624 <show_error+0x48>)
|
|
9602: 4798 blx r3
|
|
lv_draw_label(coords, clip_area, &label_dsc, msg, NULL);
|
|
9604: 2300 movs r3, #0
|
|
9606: 9300 str r3, [sp, #0]
|
|
9608: 4633 mov r3, r6
|
|
960a: aa02 add r2, sp, #8
|
|
960c: 4629 mov r1, r5
|
|
960e: 4620 mov r0, r4
|
|
9610: 4c05 ldr r4, [pc, #20] ; (9628 <show_error+0x4c>)
|
|
9612: 47a0 blx r4
|
|
}
|
|
9614: b01e add sp, #120 ; 0x78
|
|
9616: bd70 pop {r4, r5, r6, pc}
|
|
9618: 0000c251 .word 0x0000c251
|
|
961c: 00024ca0 .word 0x00024ca0
|
|
9620: 0000c319 .word 0x0000c319
|
|
9624: 000099b5 .word 0x000099b5
|
|
9628: 00009a0d .word 0x00009a0d
|
|
|
|
0000962c <lv_draw_img_dsc_init>:
|
|
{
|
|
962c: b510 push {r4, lr}
|
|
962e: 4604 mov r4, r0
|
|
_lv_memset_00(dsc, sizeof(lv_draw_img_dsc_t));
|
|
9630: 2110 movs r1, #16
|
|
9632: 4b0c ldr r3, [pc, #48] ; (9664 <lv_draw_img_dsc_init+0x38>)
|
|
9634: 4798 blx r3
|
|
dsc->recolor = LV_COLOR_BLACK;
|
|
9636: 7b23 ldrb r3, [r4, #12]
|
|
9638: f36f 0304 bfc r3, #0, #5
|
|
963c: 7323 strb r3, [r4, #12]
|
|
963e: 89a3 ldrh r3, [r4, #12]
|
|
9640: f36f 134a bfc r3, #5, #6
|
|
9644: 81a3 strh r3, [r4, #12]
|
|
9646: 0a1b lsrs r3, r3, #8
|
|
9648: f36f 03c7 bfc r3, #3, #5
|
|
964c: 7363 strb r3, [r4, #13]
|
|
dsc->opa = LV_OPA_COVER;
|
|
964e: 23ff movs r3, #255 ; 0xff
|
|
9650: 7023 strb r3, [r4, #0]
|
|
dsc->zoom = LV_IMG_ZOOM_NONE;
|
|
9652: f44f 7380 mov.w r3, #256 ; 0x100
|
|
9656: 8123 strh r3, [r4, #8]
|
|
dsc->antialias = LV_ANTIALIAS;
|
|
9658: 7be3 ldrb r3, [r4, #15]
|
|
965a: f043 0301 orr.w r3, r3, #1
|
|
965e: 73e3 strb r3, [r4, #15]
|
|
9660: bd10 pop {r4, pc}
|
|
9662: bf00 nop
|
|
9664: 00012b1f .word 0x00012b1f
|
|
|
|
00009668 <lv_img_cf_get_px_size>:
|
|
switch(cf) {
|
|
9668: 3804 subs r0, #4
|
|
966a: 280a cmp r0, #10
|
|
966c: d813 bhi.n 9696 <lv_img_cf_get_px_size+0x2e>
|
|
966e: e8df f000 tbb [pc, r0]
|
|
9672: 0806 .short 0x0806
|
|
9674: 0e0c0a06 .word 0x0e0c0a06
|
|
9678: 0e0c0a10 .word 0x0e0c0a10
|
|
967c: 10 .byte 0x10
|
|
967d: 00 .byte 0x00
|
|
px_size = LV_COLOR_SIZE;
|
|
967e: 2010 movs r0, #16
|
|
9680: 4770 bx lr
|
|
px_size = LV_IMG_PX_SIZE_ALPHA_BYTE << 3;
|
|
9682: 2018 movs r0, #24
|
|
break;
|
|
9684: 4770 bx lr
|
|
px_size = 1;
|
|
9686: 2001 movs r0, #1
|
|
break;
|
|
9688: 4770 bx lr
|
|
px_size = 2;
|
|
968a: 2002 movs r0, #2
|
|
break;
|
|
968c: 4770 bx lr
|
|
px_size = 4;
|
|
968e: 2004 movs r0, #4
|
|
break;
|
|
9690: 4770 bx lr
|
|
px_size = 8;
|
|
9692: 2008 movs r0, #8
|
|
break;
|
|
9694: 4770 bx lr
|
|
px_size = 0;
|
|
9696: 2000 movs r0, #0
|
|
}
|
|
9698: 4770 bx lr
|
|
|
|
0000969a <lv_img_cf_is_chroma_keyed>:
|
|
switch(cf) {
|
|
969a: 2803 cmp r0, #3
|
|
969c: d005 beq.n 96aa <lv_img_cf_is_chroma_keyed+0x10>
|
|
969e: d302 bcc.n 96a6 <lv_img_cf_is_chroma_keyed+0xc>
|
|
96a0: 3806 subs r0, #6
|
|
96a2: 2804 cmp r0, #4
|
|
96a4: d901 bls.n 96aa <lv_img_cf_is_chroma_keyed+0x10>
|
|
is_chroma_keyed = false;
|
|
96a6: 2000 movs r0, #0
|
|
96a8: 4770 bx lr
|
|
is_chroma_keyed = true;
|
|
96aa: 2001 movs r0, #1
|
|
}
|
|
96ac: 4770 bx lr
|
|
|
|
000096ae <lv_img_cf_has_alpha>:
|
|
switch(cf) {
|
|
96ae: 3802 subs r0, #2
|
|
96b0: 280c cmp r0, #12
|
|
96b2: d808 bhi.n 96c6 <lv_img_cf_has_alpha+0x18>
|
|
96b4: e8df f000 tbb [pc, r0]
|
|
96b8: 09070709 .word 0x09070709
|
|
96bc: 09090907 .word 0x09090907
|
|
96c0: 09090909 .word 0x09090909
|
|
96c4: 09 .byte 0x09
|
|
96c5: 00 .byte 0x00
|
|
has_alpha = false;
|
|
96c6: 2000 movs r0, #0
|
|
96c8: 4770 bx lr
|
|
has_alpha = true;
|
|
96ca: 2001 movs r0, #1
|
|
}
|
|
96cc: 4770 bx lr
|
|
...
|
|
|
|
000096d0 <lv_draw_img>:
|
|
{
|
|
96d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
96d4: b08f sub sp, #60 ; 0x3c
|
|
96d6: 4605 mov r5, r0
|
|
96d8: 460e mov r6, r1
|
|
if(src == NULL) {
|
|
96da: b13a cbz r2, 96ec <lv_draw_img+0x1c>
|
|
96dc: 461c mov r4, r3
|
|
96de: 4610 mov r0, r2
|
|
if(dsc->opa <= LV_OPA_MIN) return;
|
|
96e0: 781b ldrb r3, [r3, #0]
|
|
96e2: 2b05 cmp r3, #5
|
|
96e4: d810 bhi.n 9708 <lv_draw_img+0x38>
|
|
}
|
|
96e6: b00f add sp, #60 ; 0x3c
|
|
96e8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
LV_LOG_WARN("Image draw: src is NULL");
|
|
96ec: 4b84 ldr r3, [pc, #528] ; (9900 <lv_draw_img+0x230>)
|
|
96ee: 9300 str r3, [sp, #0]
|
|
96f0: 4b84 ldr r3, [pc, #528] ; (9904 <lv_draw_img+0x234>)
|
|
96f2: 224d movs r2, #77 ; 0x4d
|
|
96f4: 4984 ldr r1, [pc, #528] ; (9908 <lv_draw_img+0x238>)
|
|
96f6: 2002 movs r0, #2
|
|
96f8: 4c84 ldr r4, [pc, #528] ; (990c <lv_draw_img+0x23c>)
|
|
96fa: 47a0 blx r4
|
|
show_error(coords, mask, "No\ndata");
|
|
96fc: 4a84 ldr r2, [pc, #528] ; (9910 <lv_draw_img+0x240>)
|
|
96fe: 4631 mov r1, r6
|
|
9700: 4628 mov r0, r5
|
|
9702: 4b84 ldr r3, [pc, #528] ; (9914 <lv_draw_img+0x244>)
|
|
9704: 4798 blx r3
|
|
return;
|
|
9706: e7ee b.n 96e6 <lv_draw_img+0x16>
|
|
lv_img_cache_entry_t * cdsc = _lv_img_cache_open(src, draw_dsc->recolor);
|
|
9708: 89a1 ldrh r1, [r4, #12]
|
|
970a: 4b83 ldr r3, [pc, #524] ; (9918 <lv_draw_img+0x248>)
|
|
970c: 4798 blx r3
|
|
if(cdsc == NULL) return LV_RES_INV;
|
|
970e: 4607 mov r7, r0
|
|
9710: 2800 cmp r0, #0
|
|
9712: f000 80b5 beq.w 9880 <lv_draw_img+0x1b0>
|
|
bool chroma_keyed = lv_img_cf_is_chroma_keyed(cdsc->dec_dsc.header.cf);
|
|
9716: f890 900c ldrb.w r9, [r0, #12]
|
|
971a: f009 091f and.w r9, r9, #31
|
|
971e: 4648 mov r0, r9
|
|
9720: 4b7e ldr r3, [pc, #504] ; (991c <lv_draw_img+0x24c>)
|
|
9722: 4798 blx r3
|
|
9724: 4680 mov r8, r0
|
|
bool alpha_byte = lv_img_cf_has_alpha(cdsc->dec_dsc.header.cf);
|
|
9726: 4648 mov r0, r9
|
|
9728: 4b7d ldr r3, [pc, #500] ; (9920 <lv_draw_img+0x250>)
|
|
972a: 4798 blx r3
|
|
972c: 4681 mov r9, r0
|
|
if(cdsc->dec_dsc.error_msg != NULL) {
|
|
972e: 69bb ldr r3, [r7, #24]
|
|
9730: b16b cbz r3, 974e <lv_draw_img+0x7e>
|
|
LV_LOG_WARN("Image draw error");
|
|
9732: 4b7c ldr r3, [pc, #496] ; (9924 <lv_draw_img+0x254>)
|
|
9734: 9300 str r3, [sp, #0]
|
|
9736: 4b7c ldr r3, [pc, #496] ; (9928 <lv_draw_img+0x258>)
|
|
9738: 22f7 movs r2, #247 ; 0xf7
|
|
973a: 4973 ldr r1, [pc, #460] ; (9908 <lv_draw_img+0x238>)
|
|
973c: 2002 movs r0, #2
|
|
973e: 4c73 ldr r4, [pc, #460] ; (990c <lv_draw_img+0x23c>)
|
|
9740: 47a0 blx r4
|
|
show_error(coords, clip_area, cdsc->dec_dsc.error_msg);
|
|
9742: 69ba ldr r2, [r7, #24]
|
|
9744: 4631 mov r1, r6
|
|
9746: 4628 mov r0, r5
|
|
9748: 4b72 ldr r3, [pc, #456] ; (9914 <lv_draw_img+0x244>)
|
|
974a: 4798 blx r3
|
|
974c: e7cb b.n 96e6 <lv_draw_img+0x16>
|
|
else if(cdsc->dec_dsc.img_data) {
|
|
974e: 693b ldr r3, [r7, #16]
|
|
9750: 2b00 cmp r3, #0
|
|
9752: d049 beq.n 97e8 <lv_draw_img+0x118>
|
|
9754: 1e6b subs r3, r5, #1
|
|
9756: 1de8 adds r0, r5, #7
|
|
9758: aa0a add r2, sp, #40 ; 0x28
|
|
975a: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
975e: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
9762: 4298 cmp r0, r3
|
|
9764: d1f9 bne.n 975a <lv_draw_img+0x8a>
|
|
if(draw_dsc->angle || draw_dsc->zoom != LV_IMG_ZOOM_NONE) {
|
|
9766: 8863 ldrh r3, [r4, #2]
|
|
9768: b91b cbnz r3, 9772 <lv_draw_img+0xa2>
|
|
976a: 8922 ldrh r2, [r4, #8]
|
|
976c: f5b2 7f80 cmp.w r2, #256 ; 0x100
|
|
9770: d028 beq.n 97c4 <lv_draw_img+0xf4>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
9772: 88ea ldrh r2, [r5, #6]
|
|
9774: 3201 adds r2, #1
|
|
9776: 8869 ldrh r1, [r5, #2]
|
|
9778: 1a52 subs r2, r2, r1
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
977a: 88a9 ldrh r1, [r5, #4]
|
|
977c: 3101 adds r1, #1
|
|
977e: 8828 ldrh r0, [r5, #0]
|
|
9780: 1a09 subs r1, r1, r0
|
|
_lv_img_buf_get_transformed_area(&map_area_rot, w, h, draw_dsc->angle, draw_dsc->zoom, &draw_dsc->pivot);
|
|
9782: 1d20 adds r0, r4, #4
|
|
9784: 9001 str r0, [sp, #4]
|
|
9786: 8920 ldrh r0, [r4, #8]
|
|
9788: 9000 str r0, [sp, #0]
|
|
978a: b21b sxth r3, r3
|
|
978c: b212 sxth r2, r2
|
|
978e: b209 sxth r1, r1
|
|
9790: a80a add r0, sp, #40 ; 0x28
|
|
9792: f8df a1b8 ldr.w sl, [pc, #440] ; 994c <lv_draw_img+0x27c>
|
|
9796: 47d0 blx sl
|
|
map_area_rot.x1 += coords->x1;
|
|
9798: 882a ldrh r2, [r5, #0]
|
|
979a: f8bd 3028 ldrh.w r3, [sp, #40] ; 0x28
|
|
979e: 4413 add r3, r2
|
|
97a0: f8ad 3028 strh.w r3, [sp, #40] ; 0x28
|
|
map_area_rot.y1 += coords->y1;
|
|
97a4: 886b ldrh r3, [r5, #2]
|
|
97a6: f8bd 102a ldrh.w r1, [sp, #42] ; 0x2a
|
|
97aa: 4419 add r1, r3
|
|
97ac: f8ad 102a strh.w r1, [sp, #42] ; 0x2a
|
|
map_area_rot.x2 += coords->x1;
|
|
97b0: f8bd 102c ldrh.w r1, [sp, #44] ; 0x2c
|
|
97b4: 440a add r2, r1
|
|
97b6: f8ad 202c strh.w r2, [sp, #44] ; 0x2c
|
|
map_area_rot.y2 += coords->y1;
|
|
97ba: f8bd 202e ldrh.w r2, [sp, #46] ; 0x2e
|
|
97be: 4413 add r3, r2
|
|
97c0: f8ad 302e strh.w r3, [sp, #46] ; 0x2e
|
|
union_ok = _lv_area_intersect(&mask_com, clip_area, &map_area_rot);
|
|
97c4: aa0a add r2, sp, #40 ; 0x28
|
|
97c6: 4631 mov r1, r6
|
|
97c8: a80c add r0, sp, #48 ; 0x30
|
|
97ca: 4b58 ldr r3, [pc, #352] ; (992c <lv_draw_img+0x25c>)
|
|
97cc: 4798 blx r3
|
|
if(union_ok == false) {
|
|
97ce: 2800 cmp r0, #0
|
|
97d0: d089 beq.n 96e6 <lv_draw_img+0x16>
|
|
lv_draw_map(coords, &mask_com, cdsc->dec_dsc.img_data, draw_dsc, chroma_keyed, alpha_byte);
|
|
97d2: 693a ldr r2, [r7, #16]
|
|
97d4: f8cd 9004 str.w r9, [sp, #4]
|
|
97d8: f8cd 8000 str.w r8, [sp]
|
|
97dc: 4623 mov r3, r4
|
|
97de: a90c add r1, sp, #48 ; 0x30
|
|
97e0: 4628 mov r0, r5
|
|
97e2: 4c53 ldr r4, [pc, #332] ; (9930 <lv_draw_img+0x260>)
|
|
97e4: 47a0 blx r4
|
|
97e6: e77e b.n 96e6 <lv_draw_img+0x16>
|
|
union_ok = _lv_area_intersect(&mask_com, clip_area, coords);
|
|
97e8: 462a mov r2, r5
|
|
97ea: 4631 mov r1, r6
|
|
97ec: a808 add r0, sp, #32
|
|
97ee: 4b4f ldr r3, [pc, #316] ; (992c <lv_draw_img+0x25c>)
|
|
97f0: 4798 blx r3
|
|
if(union_ok == false) {
|
|
97f2: 2800 cmp r0, #0
|
|
97f4: f43f af77 beq.w 96e6 <lv_draw_img+0x16>
|
|
97f8: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24
|
|
97fc: 3301 adds r3, #1
|
|
97fe: f8bd 2020 ldrh.w r2, [sp, #32]
|
|
9802: 1a9b subs r3, r3, r2
|
|
9804: b21b sxth r3, r3
|
|
9806: 9303 str r3, [sp, #12]
|
|
uint8_t * buf = _lv_mem_buf_get(lv_area_get_width(&mask_com) *
|
|
9808: eb03 0043 add.w r0, r3, r3, lsl #1
|
|
980c: 4b49 ldr r3, [pc, #292] ; (9934 <lv_draw_img+0x264>)
|
|
980e: 4798 blx r3
|
|
9810: 9002 str r0, [sp, #8]
|
|
9812: f10d 021f add.w r2, sp, #31
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
9816: ab0a add r3, sp, #40 ; 0x28
|
|
while(len) {
|
|
9818: a80c add r0, sp, #48 ; 0x30
|
|
*d8 = *s8;
|
|
981a: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
981e: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
9822: 4283 cmp r3, r0
|
|
9824: d1f9 bne.n 981a <lv_draw_img+0x14a>
|
|
lv_area_set_height(&line, 1);
|
|
9826: 2101 movs r1, #1
|
|
9828: a80a add r0, sp, #40 ; 0x28
|
|
982a: 4b43 ldr r3, [pc, #268] ; (9938 <lv_draw_img+0x268>)
|
|
982c: 4798 blx r3
|
|
int32_t x = mask_com.x1 - coords->x1;
|
|
982e: f9bd 3020 ldrsh.w r3, [sp, #32]
|
|
9832: f9b5 2000 ldrsh.w r2, [r5]
|
|
int32_t y = mask_com.y1 - coords->y1;
|
|
9836: f9bd a022 ldrsh.w sl, [sp, #34] ; 0x22
|
|
983a: f9b5 1002 ldrsh.w r1, [r5, #2]
|
|
983e: ebaa 0101 sub.w r1, sl, r1
|
|
9842: 4608 mov r0, r1
|
|
for(row = mask_com.y1; row <= mask_com.y2; row++) {
|
|
9844: f9bd 1026 ldrsh.w r1, [sp, #38] ; 0x26
|
|
9848: 458a cmp sl, r1
|
|
984a: dc55 bgt.n 98f8 <lv_draw_img+0x228>
|
|
union_ok = _lv_area_intersect(&mask_line, clip_area, &line);
|
|
984c: f8df b0dc ldr.w fp, [pc, #220] ; 992c <lv_draw_img+0x25c>
|
|
read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf);
|
|
9850: 1a9b subs r3, r3, r2
|
|
9852: b21b sxth r3, r3
|
|
9854: 9305 str r3, [sp, #20]
|
|
9856: 9507 str r5, [sp, #28]
|
|
9858: 9406 str r4, [sp, #24]
|
|
985a: 4644 mov r4, r8
|
|
985c: 4680 mov r8, r0
|
|
985e: e023 b.n 98a8 <lv_draw_img+0x1d8>
|
|
9860: 9d07 ldr r5, [sp, #28]
|
|
lv_img_decoder_close(&cdsc->dec_dsc);
|
|
9862: 9804 ldr r0, [sp, #16]
|
|
9864: 4b35 ldr r3, [pc, #212] ; (993c <lv_draw_img+0x26c>)
|
|
9866: 4798 blx r3
|
|
LV_LOG_WARN("Image draw can't read the line");
|
|
9868: 4b35 ldr r3, [pc, #212] ; (9940 <lv_draw_img+0x270>)
|
|
986a: 9300 str r3, [sp, #0]
|
|
986c: 4b2e ldr r3, [pc, #184] ; (9928 <lv_draw_img+0x258>)
|
|
986e: f44f 729a mov.w r2, #308 ; 0x134
|
|
9872: 4925 ldr r1, [pc, #148] ; (9908 <lv_draw_img+0x238>)
|
|
9874: 2002 movs r0, #2
|
|
9876: 4c25 ldr r4, [pc, #148] ; (990c <lv_draw_img+0x23c>)
|
|
9878: 47a0 blx r4
|
|
_lv_mem_buf_release(buf);
|
|
987a: 9802 ldr r0, [sp, #8]
|
|
987c: 4b31 ldr r3, [pc, #196] ; (9944 <lv_draw_img+0x274>)
|
|
987e: 4798 blx r3
|
|
LV_LOG_WARN("Image draw error");
|
|
9880: 4b28 ldr r3, [pc, #160] ; (9924 <lv_draw_img+0x254>)
|
|
9882: 9300 str r3, [sp, #0]
|
|
9884: 4b1f ldr r3, [pc, #124] ; (9904 <lv_draw_img+0x234>)
|
|
9886: 2258 movs r2, #88 ; 0x58
|
|
9888: 491f ldr r1, [pc, #124] ; (9908 <lv_draw_img+0x238>)
|
|
988a: 2002 movs r0, #2
|
|
988c: 4c1f ldr r4, [pc, #124] ; (990c <lv_draw_img+0x23c>)
|
|
988e: 47a0 blx r4
|
|
show_error(coords, mask, "No\ndata");
|
|
9890: 4a1f ldr r2, [pc, #124] ; (9910 <lv_draw_img+0x240>)
|
|
9892: 4631 mov r1, r6
|
|
9894: 4628 mov r0, r5
|
|
9896: 4b1f ldr r3, [pc, #124] ; (9914 <lv_draw_img+0x244>)
|
|
9898: 4798 blx r3
|
|
return;
|
|
989a: e724 b.n 96e6 <lv_draw_img+0x16>
|
|
for(row = mask_com.y1; row <= mask_com.y2; row++) {
|
|
989c: f10a 0a01 add.w sl, sl, #1
|
|
98a0: f9bd 3026 ldrsh.w r3, [sp, #38] ; 0x26
|
|
98a4: 459a cmp sl, r3
|
|
98a6: dc27 bgt.n 98f8 <lv_draw_img+0x228>
|
|
union_ok = _lv_area_intersect(&mask_line, clip_area, &line);
|
|
98a8: aa0a add r2, sp, #40 ; 0x28
|
|
98aa: 4631 mov r1, r6
|
|
98ac: a80c add r0, sp, #48 ; 0x30
|
|
98ae: 47d8 blx fp
|
|
if(union_ok == false) continue;
|
|
98b0: 2800 cmp r0, #0
|
|
98b2: d0f3 beq.n 989c <lv_draw_img+0x1cc>
|
|
read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf);
|
|
98b4: 9704 str r7, [sp, #16]
|
|
98b6: 9b02 ldr r3, [sp, #8]
|
|
98b8: 9300 str r3, [sp, #0]
|
|
98ba: 9b03 ldr r3, [sp, #12]
|
|
98bc: fa0f f288 sxth.w r2, r8
|
|
98c0: 9905 ldr r1, [sp, #20]
|
|
98c2: 4638 mov r0, r7
|
|
98c4: 4d20 ldr r5, [pc, #128] ; (9948 <lv_draw_img+0x278>)
|
|
98c6: 47a8 blx r5
|
|
if(read_res != LV_RES_OK) {
|
|
98c8: 2801 cmp r0, #1
|
|
98ca: d1c9 bne.n 9860 <lv_draw_img+0x190>
|
|
lv_draw_map(&line, &mask_line, buf, draw_dsc, chroma_keyed, alpha_byte);
|
|
98cc: f8cd 9004 str.w r9, [sp, #4]
|
|
98d0: 9400 str r4, [sp, #0]
|
|
98d2: 9b06 ldr r3, [sp, #24]
|
|
98d4: 9a02 ldr r2, [sp, #8]
|
|
98d6: a90c add r1, sp, #48 ; 0x30
|
|
98d8: a80a add r0, sp, #40 ; 0x28
|
|
98da: 4d15 ldr r5, [pc, #84] ; (9930 <lv_draw_img+0x260>)
|
|
98dc: 47a8 blx r5
|
|
line.y1++;
|
|
98de: f8bd 302a ldrh.w r3, [sp, #42] ; 0x2a
|
|
98e2: 3301 adds r3, #1
|
|
98e4: f8ad 302a strh.w r3, [sp, #42] ; 0x2a
|
|
line.y2++;
|
|
98e8: f8bd 302e ldrh.w r3, [sp, #46] ; 0x2e
|
|
98ec: 3301 adds r3, #1
|
|
98ee: f8ad 302e strh.w r3, [sp, #46] ; 0x2e
|
|
y++;
|
|
98f2: f108 0801 add.w r8, r8, #1
|
|
98f6: e7d1 b.n 989c <lv_draw_img+0x1cc>
|
|
_lv_mem_buf_release(buf);
|
|
98f8: 9802 ldr r0, [sp, #8]
|
|
98fa: 4b12 ldr r3, [pc, #72] ; (9944 <lv_draw_img+0x274>)
|
|
98fc: 4798 blx r3
|
|
98fe: e6f2 b.n 96e6 <lv_draw_img+0x16>
|
|
9900: 00024cf4 .word 0x00024cf4
|
|
9904: 00024ca4 .word 0x00024ca4
|
|
9908: 00024cc4 .word 0x00024cc4
|
|
990c: 00012245 .word 0x00012245
|
|
9910: 00024d0c .word 0x00024d0c
|
|
9914: 000095dd .word 0x000095dd
|
|
9918: 0000f1e9 .word 0x0000f1e9
|
|
991c: 0000969b .word 0x0000969b
|
|
9920: 000096af .word 0x000096af
|
|
9924: 00024d14 .word 0x00024d14
|
|
9928: 00024cb0 .word 0x00024cb0
|
|
992c: 00011501 .word 0x00011501
|
|
9930: 00008db5 .word 0x00008db5
|
|
9934: 00012925 .word 0x00012925
|
|
9938: 000114db .word 0x000114db
|
|
993c: 0000ff1d .word 0x0000ff1d
|
|
9940: 00024d28 .word 0x00024d28
|
|
9944: 00012559 .word 0x00012559
|
|
9948: 0000fef9 .word 0x0000fef9
|
|
994c: 0000ec4d .word 0x0000ec4d
|
|
|
|
00009950 <lv_img_src_get_type>:
|
|
if(src == NULL) return img_src_type;
|
|
9950: b158 cbz r0, 996a <lv_img_src_get_type+0x1a>
|
|
if(u8_p[0] >= 0x20 && u8_p[0] <= 0x7F) {
|
|
9952: 7802 ldrb r2, [r0, #0]
|
|
9954: f1a2 0320 sub.w r3, r2, #32
|
|
9958: b2db uxtb r3, r3
|
|
995a: 2b5f cmp r3, #95 ; 0x5f
|
|
995c: d907 bls.n 996e <lv_img_src_get_type+0x1e>
|
|
else if(u8_p[0] >= 0x80) {
|
|
995e: b252 sxtb r2, r2
|
|
img_src_type = LV_IMG_SRC_VARIABLE; /*`lv_img_dsc_t` is design to the first byte < 0x20*/
|
|
9960: 2a00 cmp r2, #0
|
|
9962: bfb4 ite lt
|
|
9964: 2002 movlt r0, #2
|
|
9966: 2000 movge r0, #0
|
|
9968: 4770 bx lr
|
|
if(src == NULL) return img_src_type;
|
|
996a: 2003 movs r0, #3
|
|
996c: 4770 bx lr
|
|
img_src_type = LV_IMG_SRC_FILE; /*If it's an ASCII character then it's file name*/
|
|
996e: 2001 movs r0, #1
|
|
}
|
|
9970: 4770 bx lr
|
|
|
|
00009972 <hex_char_to_num>:
|
|
*/
|
|
static uint8_t hex_char_to_num(char hex)
|
|
{
|
|
uint8_t result = 0;
|
|
|
|
if(hex >= '0' && hex <= '9') {
|
|
9972: f1a0 0330 sub.w r3, r0, #48 ; 0x30
|
|
9976: b2db uxtb r3, r3
|
|
9978: 2b09 cmp r3, #9
|
|
997a: d917 bls.n 99ac <hex_char_to_num+0x3a>
|
|
result = hex - '0';
|
|
}
|
|
else {
|
|
if(hex >= 'a') hex -= 'a' - 'A'; /*Convert to upper case*/
|
|
997c: 2860 cmp r0, #96 ; 0x60
|
|
997e: bf84 itt hi
|
|
9980: 3820 subhi r0, #32
|
|
9982: b2c0 uxtbhi r0, r0
|
|
|
|
switch(hex) {
|
|
9984: 3841 subs r0, #65 ; 0x41
|
|
9986: 2805 cmp r0, #5
|
|
9988: d80e bhi.n 99a8 <hex_char_to_num+0x36>
|
|
998a: e8df f000 tbb [pc, r0]
|
|
998e: 0311 .short 0x0311
|
|
9990: 0b090705 .word 0x0b090705
|
|
case 'A':
|
|
result = 10;
|
|
break;
|
|
case 'B':
|
|
result = 11;
|
|
9994: 200b movs r0, #11
|
|
9996: 4770 bx lr
|
|
break;
|
|
case 'C':
|
|
result = 12;
|
|
9998: 200c movs r0, #12
|
|
break;
|
|
999a: 4770 bx lr
|
|
case 'D':
|
|
result = 13;
|
|
999c: 200d movs r0, #13
|
|
break;
|
|
999e: 4770 bx lr
|
|
case 'E':
|
|
result = 14;
|
|
99a0: 200e movs r0, #14
|
|
break;
|
|
99a2: 4770 bx lr
|
|
case 'F':
|
|
result = 15;
|
|
99a4: 200f movs r0, #15
|
|
break;
|
|
99a6: 4770 bx lr
|
|
default:
|
|
result = 0;
|
|
99a8: 2000 movs r0, #0
|
|
break;
|
|
99aa: 4770 bx lr
|
|
result = hex - '0';
|
|
99ac: 4618 mov r0, r3
|
|
99ae: 4770 bx lr
|
|
result = 10;
|
|
99b0: 200a movs r0, #10
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
99b2: 4770 bx lr
|
|
|
|
000099b4 <lv_draw_label_dsc_init>:
|
|
{
|
|
99b4: b510 push {r4, lr}
|
|
99b6: 4604 mov r4, r0
|
|
_lv_memset_00(dsc, sizeof(lv_draw_label_dsc_t));
|
|
99b8: 211c movs r1, #28
|
|
99ba: 4b12 ldr r3, [pc, #72] ; (9a04 <lv_draw_label_dsc_init+0x50>)
|
|
99bc: 4798 blx r3
|
|
dsc->opa = LV_OPA_COVER;
|
|
99be: 23ff movs r3, #255 ; 0xff
|
|
99c0: 7223 strb r3, [r4, #8]
|
|
dsc->color = LV_COLOR_BLACK;
|
|
99c2: 7823 ldrb r3, [r4, #0]
|
|
99c4: f36f 0304 bfc r3, #0, #5
|
|
99c8: 7023 strb r3, [r4, #0]
|
|
99ca: 8823 ldrh r3, [r4, #0]
|
|
99cc: f36f 134a bfc r3, #5, #6
|
|
99d0: 8023 strh r3, [r4, #0]
|
|
99d2: 0a1b lsrs r3, r3, #8
|
|
99d4: f36f 03c7 bfc r3, #3, #5
|
|
99d8: 7063 strb r3, [r4, #1]
|
|
dsc->font = LV_THEME_DEFAULT_FONT_NORMAL;
|
|
99da: 4b0b ldr r3, [pc, #44] ; (9a08 <lv_draw_label_dsc_init+0x54>)
|
|
99dc: 6063 str r3, [r4, #4]
|
|
dsc->sel_start = LV_DRAW_LABEL_NO_TXT_SEL;
|
|
99de: f64f 73ff movw r3, #65535 ; 0xffff
|
|
99e2: 81e3 strh r3, [r4, #14]
|
|
dsc->sel_end = LV_DRAW_LABEL_NO_TXT_SEL;
|
|
99e4: 8223 strh r3, [r4, #16]
|
|
dsc->sel_color = LV_COLOR_BLUE;
|
|
99e6: 78a3 ldrb r3, [r4, #2]
|
|
99e8: f043 031f orr.w r3, r3, #31
|
|
99ec: 70a3 strb r3, [r4, #2]
|
|
99ee: 8863 ldrh r3, [r4, #2]
|
|
99f0: f36f 134a bfc r3, #5, #6
|
|
99f4: 8063 strh r3, [r4, #2]
|
|
99f6: 0a1b lsrs r3, r3, #8
|
|
99f8: f36f 03c7 bfc r3, #3, #5
|
|
99fc: 70e3 strb r3, [r4, #3]
|
|
dsc->bidi_dir = LV_BIDI_DIR_LTR;
|
|
99fe: 2300 movs r3, #0
|
|
9a00: 75a3 strb r3, [r4, #22]
|
|
9a02: bd10 pop {r4, pc}
|
|
9a04: 00012b1f .word 0x00012b1f
|
|
9a08: 20000010 .word 0x20000010
|
|
|
|
00009a0c <lv_draw_label>:
|
|
{
|
|
9a0c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
9a10: b0d9 sub sp, #356 ; 0x164
|
|
9a12: 9c62 ldr r4, [sp, #392] ; 0x188
|
|
if(dsc->opa <= LV_OPA_MIN) return;
|
|
9a14: 7a15 ldrb r5, [r2, #8]
|
|
9a16: 2d05 cmp r5, #5
|
|
9a18: d901 bls.n 9a1e <lv_draw_label+0x12>
|
|
if(txt[0] == '\0') return;
|
|
9a1a: 781d ldrb r5, [r3, #0]
|
|
9a1c: b915 cbnz r5, 9a24 <lv_draw_label+0x18>
|
|
}
|
|
9a1e: b059 add sp, #356 ; 0x164
|
|
9a20: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
9a24: 930a str r3, [sp, #40] ; 0x28
|
|
9a26: 4693 mov fp, r2
|
|
9a28: 460a mov r2, r1
|
|
9a2a: 910d str r1, [sp, #52] ; 0x34
|
|
9a2c: 4605 mov r5, r0
|
|
9a2e: 9013 str r0, [sp, #76] ; 0x4c
|
|
const lv_font_t * font = dsc->font;
|
|
9a30: f8db 3004 ldr.w r3, [fp, #4]
|
|
9a34: 9305 str r3, [sp, #20]
|
|
bool clip_ok = _lv_area_intersect(&clipped_area, coords, mask);
|
|
9a36: 4601 mov r1, r0
|
|
9a38: a856 add r0, sp, #344 ; 0x158
|
|
9a3a: 4baa ldr r3, [pc, #680] ; (9ce4 <lv_draw_label+0x2d8>)
|
|
9a3c: 4798 blx r3
|
|
if(!clip_ok) return;
|
|
9a3e: 2800 cmp r0, #0
|
|
9a40: d0ed beq.n 9a1e <lv_draw_label+0x12>
|
|
if((dsc->flag & LV_TXT_FLAG_EXPAND) == 0) {
|
|
9a42: f89b 2017 ldrb.w r2, [fp, #23]
|
|
9a46: f012 0f02 tst.w r2, #2
|
|
9a4a: d121 bne.n 9a90 <lv_draw_label+0x84>
|
|
9a4c: 88ab ldrh r3, [r5, #4]
|
|
9a4e: 3301 adds r3, #1
|
|
9a50: 882a ldrh r2, [r5, #0]
|
|
9a52: 1a9b subs r3, r3, r2
|
|
w = lv_area_get_width(coords);
|
|
9a54: b21b sxth r3, r3
|
|
int32_t line_height_font = lv_font_get_line_height(font);
|
|
9a56: 9a05 ldr r2, [sp, #20]
|
|
9a58: f9b2 a008 ldrsh.w sl, [r2, #8]
|
|
int32_t line_height = line_height_font + dsc->line_space;
|
|
9a5c: f9bb 900a ldrsh.w r9, [fp, #10]
|
|
9a60: 44d1 add r9, sl
|
|
pos.x = coords->x1;
|
|
9a62: 9913 ldr r1, [sp, #76] ; 0x4c
|
|
9a64: f9b1 2000 ldrsh.w r2, [r1]
|
|
9a68: 921f str r2, [sp, #124] ; 0x7c
|
|
pos.y = coords->y1;
|
|
9a6a: f9b1 0002 ldrsh.w r0, [r1, #2]
|
|
x_ofs = dsc->ofs_x;
|
|
9a6e: f9bb 2012 ldrsh.w r2, [fp, #18]
|
|
9a72: 921a str r2, [sp, #104] ; 0x68
|
|
y_ofs = dsc->ofs_y;
|
|
9a74: f9bb 1014 ldrsh.w r1, [fp, #20]
|
|
pos.y += y_ofs;
|
|
9a78: 1842 adds r2, r0, r1
|
|
9a7a: b292 uxth r2, r2
|
|
9a7c: b215 sxth r5, r2
|
|
if(hint && y_ofs == 0 && coords->y1 < 0) {
|
|
9a7e: 2c00 cmp r4, #0
|
|
9a80: d04a beq.n 9b18 <lv_draw_label+0x10c>
|
|
9a82: 2900 cmp r1, #0
|
|
9a84: d14b bne.n 9b1e <lv_draw_label+0x112>
|
|
9a86: 2800 cmp r0, #0
|
|
9a88: db14 blt.n 9ab4 <lv_draw_label+0xa8>
|
|
pos.y += y_ofs;
|
|
9a8a: 950e str r5, [sp, #56] ; 0x38
|
|
uint32_t line_start = 0;
|
|
9a8c: 2600 movs r6, #0
|
|
9a8e: e029 b.n 9ae4 <lv_draw_label+0xd8>
|
|
_lv_txt_get_size(&p, txt, dsc->font, dsc->letter_space, dsc->line_space, LV_COORD_MAX,
|
|
9a90: f9bb 300c ldrsh.w r3, [fp, #12]
|
|
9a94: 9202 str r2, [sp, #8]
|
|
9a96: f647 4218 movw r2, #31768 ; 0x7c18
|
|
9a9a: 9201 str r2, [sp, #4]
|
|
9a9c: f9bb 200a ldrsh.w r2, [fp, #10]
|
|
9aa0: 9200 str r2, [sp, #0]
|
|
9aa2: f8db 2004 ldr.w r2, [fp, #4]
|
|
9aa6: 990a ldr r1, [sp, #40] ; 0x28
|
|
9aa8: a83a add r0, sp, #232 ; 0xe8
|
|
9aaa: 4d8f ldr r5, [pc, #572] ; (9ce8 <lv_draw_label+0x2dc>)
|
|
9aac: 47a8 blx r5
|
|
w = p.x;
|
|
9aae: f9bd 30e8 ldrsh.w r3, [sp, #232] ; 0xe8
|
|
9ab2: e7d0 b.n 9a56 <lv_draw_label+0x4a>
|
|
if(LV_MATH_ABS(hint->coord_y - coords->y1) > LV_LABEL_HINT_UPDATE_TH - 2 * line_height) {
|
|
9ab4: 68a1 ldr r1, [r4, #8]
|
|
9ab6: 1a08 subs r0, r1, r0
|
|
9ab8: ea80 71e0 eor.w r1, r0, r0, asr #31
|
|
9abc: eba1 71e0 sub.w r1, r1, r0, asr #31
|
|
9ac0: f5c9 7000 rsb r0, r9, #512 ; 0x200
|
|
9ac4: ebb1 0f40 cmp.w r1, r0, lsl #1
|
|
9ac8: dd05 ble.n 9ad6 <lv_draw_label+0xca>
|
|
hint->line_start = -1;
|
|
9aca: f04f 32ff mov.w r2, #4294967295
|
|
9ace: 6022 str r2, [r4, #0]
|
|
pos.y += y_ofs;
|
|
9ad0: 950e str r5, [sp, #56] ; 0x38
|
|
uint32_t line_start = 0;
|
|
9ad2: 2600 movs r6, #0
|
|
9ad4: e006 b.n 9ae4 <lv_draw_label+0xd8>
|
|
last_line_start = hint->line_start;
|
|
9ad6: 6826 ldr r6, [r4, #0]
|
|
if(hint && last_line_start >= 0) {
|
|
9ad8: 2e00 cmp r6, #0
|
|
9ada: db23 blt.n 9b24 <lv_draw_label+0x118>
|
|
pos.y += hint->y;
|
|
9adc: 6861 ldr r1, [r4, #4]
|
|
9ade: 440a add r2, r1
|
|
9ae0: b212 sxth r2, r2
|
|
9ae2: 920e str r2, [sp, #56] ; 0x38
|
|
uint32_t line_end = line_start + _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag);
|
|
9ae4: b21b sxth r3, r3
|
|
9ae6: 4619 mov r1, r3
|
|
9ae8: 9310 str r3, [sp, #64] ; 0x40
|
|
9aea: f9bb 200c ldrsh.w r2, [fp, #12]
|
|
9aee: f89b 3017 ldrb.w r3, [fp, #23]
|
|
9af2: 9300 str r3, [sp, #0]
|
|
9af4: 460b mov r3, r1
|
|
9af6: 9905 ldr r1, [sp, #20]
|
|
9af8: 980a ldr r0, [sp, #40] ; 0x28
|
|
9afa: 4430 add r0, r6
|
|
9afc: 4d7b ldr r5, [pc, #492] ; (9cec <lv_draw_label+0x2e0>)
|
|
9afe: 47a8 blx r5
|
|
9b00: 1983 adds r3, r0, r6
|
|
line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag);
|
|
9b02: 462f mov r7, r5
|
|
if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) {
|
|
9b04: f8df 81f8 ldr.w r8, [pc, #504] ; 9d00 <lv_draw_label+0x2f4>
|
|
9b08: 4631 mov r1, r6
|
|
9b0a: f8cd 9018 str.w r9, [sp, #24]
|
|
9b0e: 46d1 mov r9, sl
|
|
9b10: 9d0e ldr r5, [sp, #56] ; 0x38
|
|
9b12: 4626 mov r6, r4
|
|
9b14: 461c mov r4, r3
|
|
while(pos.y + line_height_font < mask->y1) {
|
|
9b16: e00f b.n 9b38 <lv_draw_label+0x12c>
|
|
pos.y += y_ofs;
|
|
9b18: 950e str r5, [sp, #56] ; 0x38
|
|
uint32_t line_start = 0;
|
|
9b1a: 2600 movs r6, #0
|
|
9b1c: e7e2 b.n 9ae4 <lv_draw_label+0xd8>
|
|
pos.y += y_ofs;
|
|
9b1e: 950e str r5, [sp, #56] ; 0x38
|
|
uint32_t line_start = 0;
|
|
9b20: 2600 movs r6, #0
|
|
9b22: e7df b.n 9ae4 <lv_draw_label+0xd8>
|
|
pos.y += y_ofs;
|
|
9b24: 950e str r5, [sp, #56] ; 0x38
|
|
uint32_t line_start = 0;
|
|
9b26: 2600 movs r6, #0
|
|
9b28: e7dc b.n 9ae4 <lv_draw_label+0xd8>
|
|
9b2a: 4621 mov r1, r4
|
|
if(txt[line_start] == '\0') return;
|
|
9b2c: f89a 3000 ldrb.w r3, [sl]
|
|
9b30: 2b00 cmp r3, #0
|
|
9b32: f43f af74 beq.w 9a1e <lv_draw_label+0x12>
|
|
line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag);
|
|
9b36: 4604 mov r4, r0
|
|
while(pos.y + line_height_font < mask->y1) {
|
|
9b38: eb05 0309 add.w r3, r5, r9
|
|
9b3c: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
9b3e: f9b2 2002 ldrsh.w r2, [r2, #2]
|
|
9b42: 4293 cmp r3, r2
|
|
9b44: da20 bge.n 9b88 <lv_draw_label+0x17c>
|
|
line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag);
|
|
9b46: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
9b48: eb03 0a04 add.w sl, r3, r4
|
|
9b4c: f9bb 200c ldrsh.w r2, [fp, #12]
|
|
9b50: f89b 3017 ldrb.w r3, [fp, #23]
|
|
9b54: 9300 str r3, [sp, #0]
|
|
9b56: 9b10 ldr r3, [sp, #64] ; 0x40
|
|
9b58: 9905 ldr r1, [sp, #20]
|
|
9b5a: 4650 mov r0, sl
|
|
9b5c: 47b8 blx r7
|
|
9b5e: 4420 add r0, r4
|
|
9b60: 9b06 ldr r3, [sp, #24]
|
|
9b62: 441d add r5, r3
|
|
9b64: b22d sxth r5, r5
|
|
if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) {
|
|
9b66: 2e00 cmp r6, #0
|
|
9b68: d0df beq.n 9b2a <lv_draw_label+0x11e>
|
|
9b6a: 4545 cmp r5, r8
|
|
9b6c: dbdd blt.n 9b2a <lv_draw_label+0x11e>
|
|
9b6e: 6833 ldr r3, [r6, #0]
|
|
9b70: 2b00 cmp r3, #0
|
|
9b72: dada bge.n 9b2a <lv_draw_label+0x11e>
|
|
hint->line_start = line_start;
|
|
9b74: 6034 str r4, [r6, #0]
|
|
hint->y = pos.y - coords->y1;
|
|
9b76: 9a13 ldr r2, [sp, #76] ; 0x4c
|
|
9b78: f9b2 3002 ldrsh.w r3, [r2, #2]
|
|
9b7c: 1aeb subs r3, r5, r3
|
|
9b7e: 6073 str r3, [r6, #4]
|
|
hint->coord_y = coords->y1;
|
|
9b80: f9b2 3002 ldrsh.w r3, [r2, #2]
|
|
9b84: 60b3 str r3, [r6, #8]
|
|
9b86: e7d0 b.n 9b2a <lv_draw_label+0x11e>
|
|
9b88: 460e mov r6, r1
|
|
9b8a: 9407 str r4, [sp, #28]
|
|
9b8c: f8dd 9018 ldr.w r9, [sp, #24]
|
|
9b90: 950e str r5, [sp, #56] ; 0x38
|
|
if(dsc->flag & LV_TXT_FLAG_CENTER) {
|
|
9b92: f89b 2017 ldrb.w r2, [fp, #23]
|
|
9b96: f012 0f04 tst.w r2, #4
|
|
9b9a: d12f bne.n 9bfc <lv_draw_label+0x1f0>
|
|
else if(dsc->flag & LV_TXT_FLAG_RIGHT) {
|
|
9b9c: f012 0f08 tst.w r2, #8
|
|
9ba0: d145 bne.n 9c2e <lv_draw_label+0x222>
|
|
lv_opa_t opa = dsc->opa;
|
|
9ba2: f89b 3008 ldrb.w r3, [fp, #8]
|
|
9ba6: 930b str r3, [sp, #44] ; 0x2c
|
|
uint16_t sel_start = dsc->sel_start;
|
|
9ba8: f8bb 700e ldrh.w r7, [fp, #14]
|
|
uint16_t sel_end = dsc->sel_end;
|
|
9bac: f8bb 3010 ldrh.w r3, [fp, #16]
|
|
9bb0: 4619 mov r1, r3
|
|
9bb2: 9308 str r3, [sp, #32]
|
|
if(sel_start > sel_end) {
|
|
9bb4: 429f cmp r7, r3
|
|
9bb6: d902 bls.n 9bbe <lv_draw_label+0x1b2>
|
|
9bb8: 463b mov r3, r7
|
|
sel_start = sel_end;
|
|
9bba: 460f mov r7, r1
|
|
sel_end = tmp;
|
|
9bbc: 9308 str r3, [sp, #32]
|
|
if((dsc->decor & LV_TEXT_DECOR_UNDERLINE) || (dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH)) {
|
|
9bbe: f89b 3018 ldrb.w r3, [fp, #24]
|
|
9bc2: f013 0f03 tst.w r3, #3
|
|
9bc6: d149 bne.n 9c5c <lv_draw_label+0x250>
|
|
lv_draw_rect_dsc_init(&draw_dsc_sel);
|
|
9bc8: a83d add r0, sp, #244 ; 0xf4
|
|
9bca: 4b49 ldr r3, [pc, #292] ; (9cf0 <lv_draw_label+0x2e4>)
|
|
9bcc: 4798 blx r3
|
|
draw_dsc_sel.bg_color = dsc->sel_color;
|
|
9bce: f8bb 3002 ldrh.w r3, [fp, #2]
|
|
9bd2: f8ad 30f6 strh.w r3, [sp, #246] ; 0xf6
|
|
9bd6: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
9bd8: 2bfa cmp r3, #250 ; 0xfa
|
|
9bda: bf88 it hi
|
|
9bdc: 23ff movhi r3, #255 ; 0xff
|
|
9bde: 9316 str r3, [sp, #88] ; 0x58
|
|
9be0: fa1f f389 uxth.w r3, r9
|
|
9be4: 9317 str r3, [sp, #92] ; 0x5c
|
|
9be6: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38
|
|
9bea: 9311 str r3, [sp, #68] ; 0x44
|
|
while(txt[line_start] != '\0') {
|
|
9bec: 9d1f ldr r5, [sp, #124] ; 0x7c
|
|
uint16_t par_start = 0;
|
|
9bee: 2300 movs r3, #0
|
|
9bf0: 9319 str r3, [sp, #100] ; 0x64
|
|
9bf2: 46ba mov sl, r7
|
|
9bf4: 46d8 mov r8, fp
|
|
9bf6: 46b3 mov fp, r6
|
|
while(txt[line_start] != '\0') {
|
|
9bf8: f000 bdd3 b.w a7a2 <lv_draw_label+0xd96>
|
|
line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag);
|
|
9bfc: f9bb 300c ldrsh.w r3, [fp, #12]
|
|
9c00: 1ba1 subs r1, r4, r6
|
|
9c02: 9200 str r2, [sp, #0]
|
|
9c04: 9a05 ldr r2, [sp, #20]
|
|
9c06: b289 uxth r1, r1
|
|
9c08: 980a ldr r0, [sp, #40] ; 0x28
|
|
9c0a: 4430 add r0, r6
|
|
9c0c: 4c39 ldr r4, [pc, #228] ; (9cf4 <lv_draw_label+0x2e8>)
|
|
9c0e: 47a0 blx r4
|
|
9c10: 9a13 ldr r2, [sp, #76] ; 0x4c
|
|
9c12: 8893 ldrh r3, [r2, #4]
|
|
9c14: 3301 adds r3, #1
|
|
9c16: 8812 ldrh r2, [r2, #0]
|
|
9c18: 1a9b subs r3, r3, r2
|
|
pos.x += (lv_area_get_width(coords) - line_width) / 2;
|
|
9c1a: b21b sxth r3, r3
|
|
9c1c: 1a18 subs r0, r3, r0
|
|
9c1e: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
9c22: 9b1f ldr r3, [sp, #124] ; 0x7c
|
|
9c24: eb03 0360 add.w r3, r3, r0, asr #1
|
|
9c28: b21b sxth r3, r3
|
|
9c2a: 931f str r3, [sp, #124] ; 0x7c
|
|
9c2c: e7b9 b.n 9ba2 <lv_draw_label+0x196>
|
|
line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag);
|
|
9c2e: f9bb 300c ldrsh.w r3, [fp, #12]
|
|
9c32: 9907 ldr r1, [sp, #28]
|
|
9c34: 1b89 subs r1, r1, r6
|
|
9c36: 9200 str r2, [sp, #0]
|
|
9c38: 9a05 ldr r2, [sp, #20]
|
|
9c3a: b289 uxth r1, r1
|
|
9c3c: 980a ldr r0, [sp, #40] ; 0x28
|
|
9c3e: 4430 add r0, r6
|
|
9c40: 4c2c ldr r4, [pc, #176] ; (9cf4 <lv_draw_label+0x2e8>)
|
|
9c42: 47a0 blx r4
|
|
9c44: 9a13 ldr r2, [sp, #76] ; 0x4c
|
|
9c46: 8893 ldrh r3, [r2, #4]
|
|
9c48: 3301 adds r3, #1
|
|
9c4a: 8812 ldrh r2, [r2, #0]
|
|
9c4c: 1a9b subs r3, r3, r2
|
|
pos.x += lv_area_get_width(coords) - line_width;
|
|
9c4e: b21b sxth r3, r3
|
|
9c50: 1a1b subs r3, r3, r0
|
|
9c52: 9a1f ldr r2, [sp, #124] ; 0x7c
|
|
9c54: 4413 add r3, r2
|
|
9c56: b21b sxth r3, r3
|
|
9c58: 931f str r3, [sp, #124] ; 0x7c
|
|
9c5a: e7a2 b.n 9ba2 <lv_draw_label+0x196>
|
|
lv_draw_line_dsc_init(&line_dsc);
|
|
9c5c: a853 add r0, sp, #332 ; 0x14c
|
|
9c5e: 4b26 ldr r3, [pc, #152] ; (9cf8 <lv_draw_label+0x2ec>)
|
|
9c60: 4798 blx r3
|
|
line_dsc.color = dsc->color;
|
|
9c62: f8bb 3000 ldrh.w r3, [fp]
|
|
9c66: f8ad 314c strh.w r3, [sp, #332] ; 0x14c
|
|
line_dsc.width = (dsc->font->line_height + 5) / 10; /*+5 for rounding*/
|
|
9c6a: f8db 3004 ldr.w r3, [fp, #4]
|
|
9c6e: f9b3 3008 ldrsh.w r3, [r3, #8]
|
|
9c72: 3305 adds r3, #5
|
|
9c74: 4a21 ldr r2, [pc, #132] ; (9cfc <lv_draw_label+0x2f0>)
|
|
9c76: fb82 1203 smull r1, r2, r2, r3
|
|
9c7a: 17db asrs r3, r3, #31
|
|
9c7c: ebc3 03a2 rsb r3, r3, r2, asr #2
|
|
9c80: f8ad 314e strh.w r3, [sp, #334] ; 0x14e
|
|
line_dsc.opa = dsc->opa;
|
|
9c84: f89b 3008 ldrb.w r3, [fp, #8]
|
|
9c88: f88d 3154 strb.w r3, [sp, #340] ; 0x154
|
|
line_dsc.blend_mode = dsc->blend_mode;
|
|
9c8c: f89d 3155 ldrb.w r3, [sp, #341] ; 0x155
|
|
9c90: f89b 2019 ldrb.w r2, [fp, #25]
|
|
9c94: f362 0301 bfi r3, r2, #0, #2
|
|
9c98: f88d 3155 strb.w r3, [sp, #341] ; 0x155
|
|
9c9c: e794 b.n 9bc8 <lv_draw_label+0x1bc>
|
|
uint16_t logical_char_pos = 0;
|
|
9c9e: 2500 movs r5, #0
|
|
9ca0: e0aa b.n 9df8 <lv_draw_label+0x3ec>
|
|
9ca2: 2500 movs r5, #0
|
|
9ca4: e0a8 b.n 9df8 <lv_draw_label+0x3ec>
|
|
if(cmd_state == CMD_STATE_WAIT) { /*Start char*/
|
|
9ca6: 9b06 ldr r3, [sp, #24]
|
|
9ca8: b92b cbnz r3, 9cb6 <lv_draw_label+0x2aa>
|
|
par_start = i;
|
|
9caa: f8bd 3148 ldrh.w r3, [sp, #328] ; 0x148
|
|
9cae: 9319 str r3, [sp, #100] ; 0x64
|
|
cmd_state = CMD_STATE_PAR;
|
|
9cb0: 2301 movs r3, #1
|
|
9cb2: 9306 str r3, [sp, #24]
|
|
continue;
|
|
9cb4: e08a b.n 9dcc <lv_draw_label+0x3c0>
|
|
else if(cmd_state == CMD_STATE_PAR) { /*Other start char in parameter escaped cmd. char */
|
|
9cb6: 9b06 ldr r3, [sp, #24]
|
|
9cb8: 2b01 cmp r3, #1
|
|
9cba: f000 85f1 beq.w a8a0 <lv_draw_label+0xe94>
|
|
else if(cmd_state == CMD_STATE_IN) { /*Command end */
|
|
9cbe: 2b02 cmp r3, #2
|
|
9cc0: f000 8533 beq.w a72a <lv_draw_label+0xd1e>
|
|
lv_color_t color = dsc->color;
|
|
9cc4: f8b8 6000 ldrh.w r6, [r8]
|
|
9cc8: e0b5 b.n 9e36 <lv_draw_label+0x42a>
|
|
if(letter == ' ') {
|
|
9cca: 2c20 cmp r4, #32
|
|
9ccc: d17e bne.n 9dcc <lv_draw_label+0x3c0>
|
|
if(i - par_start == LABEL_RECOLOR_PAR_LENGTH + 1) {
|
|
9cce: 9b52 ldr r3, [sp, #328] ; 0x148
|
|
9cd0: 9a19 ldr r2, [sp, #100] ; 0x64
|
|
9cd2: 1a9b subs r3, r3, r2
|
|
9cd4: 2b07 cmp r3, #7
|
|
9cd6: d015 beq.n 9d04 <lv_draw_label+0x2f8>
|
|
recolor.full = dsc->color.full;
|
|
9cd8: f8b8 3000 ldrh.w r3, [r8]
|
|
9cdc: 930c str r3, [sp, #48] ; 0x30
|
|
cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/
|
|
9cde: 2302 movs r3, #2
|
|
9ce0: 9306 str r3, [sp, #24]
|
|
9ce2: e073 b.n 9dcc <lv_draw_label+0x3c0>
|
|
9ce4: 00011501 .word 0x00011501
|
|
9ce8: 00014065 .word 0x00014065
|
|
9cec: 00013d99 .word 0x00013d99
|
|
9cf0: 0000c251 .word 0x0000c251
|
|
9cf4: 00013fc5 .word 0x00013fc5
|
|
9cf8: 0000a8c9 .word 0x0000a8c9
|
|
9cfc: 66666667 .word 0x66666667
|
|
9d00: fffffc00 .word 0xfffffc00
|
|
_lv_memcpy_small(buf, &bidi_txt[par_start], LABEL_RECOLOR_PAR_LENGTH);
|
|
9d04: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
9d06: 1898 adds r0, r3, r2
|
|
9d08: 1e43 subs r3, r0, #1
|
|
9d0a: 3005 adds r0, #5
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
9d0c: aa3a add r2, sp, #232 ; 0xe8
|
|
*d8 = *s8;
|
|
9d0e: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
9d12: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
9d16: 4283 cmp r3, r0
|
|
9d18: d1f9 bne.n 9d0e <lv_draw_label+0x302>
|
|
r = (hex_char_to_num(buf[0]) << 4) + hex_char_to_num(buf[1]);
|
|
9d1a: f89d 00e8 ldrb.w r0, [sp, #232] ; 0xe8
|
|
9d1e: 4c8c ldr r4, [pc, #560] ; (9f50 <lv_draw_label+0x544>)
|
|
9d20: 47a0 blx r4
|
|
9d22: 4605 mov r5, r0
|
|
9d24: f89d 00e9 ldrb.w r0, [sp, #233] ; 0xe9
|
|
9d28: 47a0 blx r4
|
|
9d2a: eb00 1505 add.w r5, r0, r5, lsl #4
|
|
g = (hex_char_to_num(buf[2]) << 4) + hex_char_to_num(buf[3]);
|
|
9d2e: f89d 00ea ldrb.w r0, [sp, #234] ; 0xea
|
|
9d32: 47a0 blx r4
|
|
9d34: 4606 mov r6, r0
|
|
9d36: f89d 00eb ldrb.w r0, [sp, #235] ; 0xeb
|
|
9d3a: 47a0 blx r4
|
|
9d3c: eb00 1606 add.w r6, r0, r6, lsl #4
|
|
b = (hex_char_to_num(buf[4]) << 4) + hex_char_to_num(buf[5]);
|
|
9d40: f89d 00ec ldrb.w r0, [sp, #236] ; 0xec
|
|
9d44: 47a0 blx r4
|
|
9d46: 4607 mov r7, r0
|
|
9d48: f89d 00ed ldrb.w r0, [sp, #237] ; 0xed
|
|
9d4c: 47a0 blx r4
|
|
9d4e: eb00 1307 add.w r3, r0, r7, lsl #4
|
|
#define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/
|
|
#endif
|
|
|
|
static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b)
|
|
{
|
|
return LV_COLOR_MAKE(r, g, b);
|
|
9d52: f3c3 03c4 ubfx r3, r3, #3, #5
|
|
9d56: 9a2e ldr r2, [sp, #184] ; 0xb8
|
|
9d58: f363 0204 bfi r2, r3, #0, #5
|
|
9d5c: 4613 mov r3, r2
|
|
9d5e: f3c6 0685 ubfx r6, r6, #2, #6
|
|
9d62: f366 134a bfi r3, r6, #5, #6
|
|
9d66: f3c5 05c4 ubfx r5, r5, #3, #5
|
|
9d6a: f365 23cf bfi r3, r5, #11, #5
|
|
9d6e: f8ad 30b8 strh.w r3, [sp, #184] ; 0xb8
|
|
9d72: b29b uxth r3, r3
|
|
9d74: 930c str r3, [sp, #48] ; 0x30
|
|
cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/
|
|
9d76: 2302 movs r3, #2
|
|
9d78: 9306 str r3, [sp, #24]
|
|
9d7a: e027 b.n 9dcc <lv_draw_label+0x3c0>
|
|
sel_coords.x1 = pos.x;
|
|
9d7c: f8ad a0e8 strh.w sl, [sp, #232] ; 0xe8
|
|
sel_coords.y1 = pos.y;
|
|
9d80: 9a0e ldr r2, [sp, #56] ; 0x38
|
|
9d82: f8ad 20ea strh.w r2, [sp, #234] ; 0xea
|
|
sel_coords.x2 = pos.x + letter_w + dsc->letter_space - 1;
|
|
9d86: f8b8 300c ldrh.w r3, [r8, #12]
|
|
9d8a: 3b01 subs r3, #1
|
|
9d8c: 4453 add r3, sl
|
|
9d8e: 4403 add r3, r0
|
|
9d90: f8ad 30ec strh.w r3, [sp, #236] ; 0xec
|
|
sel_coords.y2 = pos.y + line_height - 1;
|
|
9d94: 9b17 ldr r3, [sp, #92] ; 0x5c
|
|
9d96: 3b01 subs r3, #1
|
|
9d98: 4413 add r3, r2
|
|
9d9a: f8ad 30ee strh.w r3, [sp, #238] ; 0xee
|
|
lv_draw_rect(&sel_coords, mask, &draw_dsc_sel);
|
|
9d9e: aa3d add r2, sp, #244 ; 0xf4
|
|
9da0: 990d ldr r1, [sp, #52] ; 0x34
|
|
9da2: a83a add r0, sp, #232 ; 0xe8
|
|
9da4: 4b6b ldr r3, [pc, #428] ; (9f54 <lv_draw_label+0x548>)
|
|
9da6: 4798 blx r3
|
|
9da8: e056 b.n 9e58 <lv_draw_label+0x44c>
|
|
LV_LOG_WARN("lv_draw_letter: font is NULL");
|
|
9daa: 4b6b ldr r3, [pc, #428] ; (9f58 <lv_draw_label+0x54c>)
|
|
9dac: 9300 str r3, [sp, #0]
|
|
9dae: 4b6b ldr r3, [pc, #428] ; (9f5c <lv_draw_label+0x550>)
|
|
9db0: f240 1297 movw r2, #407 ; 0x197
|
|
9db4: 496a ldr r1, [pc, #424] ; (9f60 <lv_draw_label+0x554>)
|
|
9db6: 2002 movs r0, #2
|
|
9db8: 4c6a ldr r4, [pc, #424] ; (9f64 <lv_draw_label+0x558>)
|
|
9dba: 47a0 blx r4
|
|
if(letter_w > 0) {
|
|
9dbc: 2f00 cmp r7, #0
|
|
9dbe: dd05 ble.n 9dcc <lv_draw_label+0x3c0>
|
|
pos.x += letter_w + dsc->letter_space;
|
|
9dc0: f8b8 300c ldrh.w r3, [r8, #12]
|
|
9dc4: 4453 add r3, sl
|
|
9dc6: 443b add r3, r7
|
|
9dc8: fa0f fa83 sxth.w sl, r3
|
|
while(i < line_end - line_start) {
|
|
9dcc: 9952 ldr r1, [sp, #328] ; 0x148
|
|
9dce: 9b07 ldr r3, [sp, #28]
|
|
9dd0: eba3 030b sub.w r3, r3, fp
|
|
9dd4: 428b cmp r3, r1
|
|
9dd6: f240 84ac bls.w a732 <lv_draw_label+0xd26>
|
|
if(sel_start != 0xFFFF && sel_end != 0xFFFF) {
|
|
9dda: f64f 73ff movw r3, #65535 ; 0xffff
|
|
9dde: 4599 cmp r9, r3
|
|
9de0: f43f af5d beq.w 9c9e <lv_draw_label+0x292>
|
|
9de4: 9a08 ldr r2, [sp, #32]
|
|
9de6: 429a cmp r2, r3
|
|
9de8: f43f af5b beq.w 9ca2 <lv_draw_label+0x296>
|
|
logical_char_pos = _lv_txt_encoded_get_char_id(txt, line_start + i);
|
|
9dec: 4459 add r1, fp
|
|
9dee: 980a ldr r0, [sp, #40] ; 0x28
|
|
9df0: 4b5d ldr r3, [pc, #372] ; (9f68 <lv_draw_label+0x55c>)
|
|
9df2: 681b ldr r3, [r3, #0]
|
|
9df4: 4798 blx r3
|
|
9df6: b285 uxth r5, r0
|
|
uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i);
|
|
9df8: 4e5c ldr r6, [pc, #368] ; (9f6c <lv_draw_label+0x560>)
|
|
9dfa: 6833 ldr r3, [r6, #0]
|
|
9dfc: a952 add r1, sp, #328 ; 0x148
|
|
9dfe: 9f09 ldr r7, [sp, #36] ; 0x24
|
|
9e00: 4638 mov r0, r7
|
|
9e02: 4798 blx r3
|
|
9e04: 4604 mov r4, r0
|
|
uint32_t letter_next = _lv_txt_encoded_next(&bidi_txt[i], NULL);
|
|
9e06: 6833 ldr r3, [r6, #0]
|
|
9e08: 2100 movs r1, #0
|
|
9e0a: 9852 ldr r0, [sp, #328] ; 0x148
|
|
9e0c: 4438 add r0, r7
|
|
9e0e: 4798 blx r3
|
|
if((dsc->flag & LV_TXT_FLAG_RECOLOR) != 0) {
|
|
9e10: f898 3017 ldrb.w r3, [r8, #23]
|
|
9e14: f013 0f01 tst.w r3, #1
|
|
9e18: d006 beq.n 9e28 <lv_draw_label+0x41c>
|
|
if(letter == (uint32_t)LV_TXT_COLOR_CMD[0]) {
|
|
9e1a: 2c23 cmp r4, #35 ; 0x23
|
|
9e1c: f43f af43 beq.w 9ca6 <lv_draw_label+0x29a>
|
|
if(cmd_state == CMD_STATE_PAR) {
|
|
9e20: 9b06 ldr r3, [sp, #24]
|
|
9e22: 2b01 cmp r3, #1
|
|
9e24: f43f af51 beq.w 9cca <lv_draw_label+0x2be>
|
|
lv_color_t color = dsc->color;
|
|
9e28: f8b8 6000 ldrh.w r6, [r8]
|
|
if(cmd_state == CMD_STATE_IN) color = recolor;
|
|
9e2c: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
9e2e: 9a06 ldr r2, [sp, #24]
|
|
9e30: 2a02 cmp r2, #2
|
|
9e32: bf08 it eq
|
|
9e34: 461e moveq r6, r3
|
|
letter_w = lv_font_get_glyph_width(font, letter, letter_next);
|
|
9e36: 4602 mov r2, r0
|
|
9e38: 4621 mov r1, r4
|
|
9e3a: 9805 ldr r0, [sp, #20]
|
|
9e3c: 4b4c ldr r3, [pc, #304] ; (9f70 <lv_draw_label+0x564>)
|
|
9e3e: 4798 blx r3
|
|
9e40: 4607 mov r7, r0
|
|
if(sel_start != 0xFFFF && sel_end != 0xFFFF) {
|
|
9e42: f64f 73ff movw r3, #65535 ; 0xffff
|
|
9e46: 4599 cmp r9, r3
|
|
9e48: d006 beq.n 9e58 <lv_draw_label+0x44c>
|
|
9e4a: 9908 ldr r1, [sp, #32]
|
|
9e4c: 4299 cmp r1, r3
|
|
9e4e: d003 beq.n 9e58 <lv_draw_label+0x44c>
|
|
if(logical_char_pos >= sel_start && logical_char_pos < sel_end) {
|
|
9e50: 45a9 cmp r9, r5
|
|
9e52: d801 bhi.n 9e58 <lv_draw_label+0x44c>
|
|
9e54: 42a9 cmp r1, r5
|
|
9e56: d891 bhi.n 9d7c <lv_draw_label+0x370>
|
|
if(opa < LV_OPA_MIN) return;
|
|
9e58: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
9e5a: 2b04 cmp r3, #4
|
|
9e5c: d9ae bls.n 9dbc <lv_draw_label+0x3b0>
|
|
if(font_p == NULL) {
|
|
9e5e: 9b05 ldr r3, [sp, #20]
|
|
9e60: 2b00 cmp r3, #0
|
|
9e62: d0a2 beq.n 9daa <lv_draw_label+0x39e>
|
|
lv_draw_letter(&pos, mask, font, letter, color, opa, dsc->blend_mode);
|
|
9e64: f898 3019 ldrb.w r3, [r8, #25]
|
|
9e68: 930f str r3, [sp, #60] ; 0x3c
|
|
bool g_ret = lv_font_get_glyph_dsc(font_p, &g, letter, '\0');
|
|
9e6a: 2300 movs r3, #0
|
|
9e6c: 4622 mov r2, r4
|
|
9e6e: a93a add r1, sp, #232 ; 0xe8
|
|
9e70: 9805 ldr r0, [sp, #20]
|
|
9e72: 4d40 ldr r5, [pc, #256] ; (9f74 <lv_draw_label+0x568>)
|
|
9e74: 47a8 blx r5
|
|
if(g_ret == false) {
|
|
9e76: b958 cbnz r0, 9e90 <lv_draw_label+0x484>
|
|
if(letter >= 0x20) {
|
|
9e78: 2c1f cmp r4, #31
|
|
9e7a: d99f bls.n 9dbc <lv_draw_label+0x3b0>
|
|
LV_LOG_WARN("lv_draw_letter: glyph dsc. not found");
|
|
9e7c: 4b3e ldr r3, [pc, #248] ; (9f78 <lv_draw_label+0x56c>)
|
|
9e7e: 9300 str r3, [sp, #0]
|
|
9e80: 4b36 ldr r3, [pc, #216] ; (9f5c <lv_draw_label+0x550>)
|
|
9e82: f240 12a1 movw r2, #417 ; 0x1a1
|
|
9e86: 4936 ldr r1, [pc, #216] ; (9f60 <lv_draw_label+0x554>)
|
|
9e88: 2002 movs r0, #2
|
|
9e8a: 4c36 ldr r4, [pc, #216] ; (9f64 <lv_draw_label+0x558>)
|
|
9e8c: 47a0 blx r4
|
|
9e8e: e795 b.n 9dbc <lv_draw_label+0x3b0>
|
|
if((g.box_h == 0) && (g.box_w == 0)) return;
|
|
9e90: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec
|
|
9e94: b91a cbnz r2, 9e9e <lv_draw_label+0x492>
|
|
9e96: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea
|
|
9e9a: 2b00 cmp r3, #0
|
|
9e9c: d08e beq.n 9dbc <lv_draw_label+0x3b0>
|
|
int32_t pos_x = pos_p->x + g.ofs_x;
|
|
9e9e: f9bd 50ee ldrsh.w r5, [sp, #238] ; 0xee
|
|
9ea2: 4455 add r5, sl
|
|
if(pos_x + g.box_w < clip_area->x1 ||
|
|
9ea4: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea
|
|
9ea8: 442b add r3, r5
|
|
9eaa: 980d ldr r0, [sp, #52] ; 0x34
|
|
9eac: f9b0 1000 ldrsh.w r1, [r0]
|
|
9eb0: 428b cmp r3, r1
|
|
9eb2: db83 blt.n 9dbc <lv_draw_label+0x3b0>
|
|
pos_x > clip_area->x2 ||
|
|
9eb4: f9b0 3004 ldrsh.w r3, [r0, #4]
|
|
if(pos_x + g.box_w < clip_area->x1 ||
|
|
9eb8: 429d cmp r5, r3
|
|
9eba: f73f af7f bgt.w 9dbc <lv_draw_label+0x3b0>
|
|
int32_t pos_y = pos_p->y + (font_p->line_height - font_p->base_line) - g.box_h - g.ofs_y;
|
|
9ebe: 9b05 ldr r3, [sp, #20]
|
|
9ec0: f9b3 1008 ldrsh.w r1, [r3, #8]
|
|
9ec4: f9b3 300a ldrsh.w r3, [r3, #10]
|
|
9ec8: 1acb subs r3, r1, r3
|
|
9eca: 990e ldr r1, [sp, #56] ; 0x38
|
|
9ecc: 440b add r3, r1
|
|
9ece: 1a99 subs r1, r3, r2
|
|
9ed0: f9bd 30f0 ldrsh.w r3, [sp, #240] ; 0xf0
|
|
9ed4: 1acb subs r3, r1, r3
|
|
pos_y + g.box_h < clip_area->y1 ||
|
|
9ed6: 9315 str r3, [sp, #84] ; 0x54
|
|
9ed8: 441a add r2, r3
|
|
9eda: f9b0 3002 ldrsh.w r3, [r0, #2]
|
|
pos_x > clip_area->x2 ||
|
|
9ede: 429a cmp r2, r3
|
|
9ee0: f6ff af6c blt.w 9dbc <lv_draw_label+0x3b0>
|
|
pos_y > clip_area->y2) {
|
|
9ee4: f9b0 3006 ldrsh.w r3, [r0, #6]
|
|
pos_y + g.box_h < clip_area->y1 ||
|
|
9ee8: 9915 ldr r1, [sp, #84] ; 0x54
|
|
9eea: 4299 cmp r1, r3
|
|
9eec: f73f af66 bgt.w 9dbc <lv_draw_label+0x3b0>
|
|
const uint8_t * map_p = lv_font_get_glyph_bitmap(font_p, letter);
|
|
9ef0: 4621 mov r1, r4
|
|
9ef2: 9805 ldr r0, [sp, #20]
|
|
9ef4: 4b21 ldr r3, [pc, #132] ; (9f7c <lv_draw_label+0x570>)
|
|
9ef6: 4798 blx r3
|
|
if(map_p == NULL) {
|
|
9ef8: 4686 mov lr, r0
|
|
9efa: b1f0 cbz r0, 9f3a <lv_draw_label+0x52e>
|
|
if(font_p->subpx) {
|
|
9efc: 9b05 ldr r3, [sp, #20]
|
|
9efe: 7b1b ldrb r3, [r3, #12]
|
|
9f00: f013 0f03 tst.w r3, #3
|
|
9f04: f000 825e beq.w a3c4 <lv_draw_label+0x9b8>
|
|
draw_letter_subpx(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode);
|
|
9f08: b22b sxth r3, r5
|
|
9f0a: 9318 str r3, [sp, #96] ; 0x60
|
|
9f0c: f9bd 3054 ldrsh.w r3, [sp, #84] ; 0x54
|
|
9f10: 931d str r3, [sp, #116] ; 0x74
|
|
uint32_t bpp = g->bpp;
|
|
9f12: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2
|
|
9f16: 9312 str r3, [sp, #72] ; 0x48
|
|
if(bpp == 3) bpp = 4;
|
|
9f18: 2b03 cmp r3, #3
|
|
9f1a: f000 80ff beq.w a11c <lv_draw_label+0x710>
|
|
switch(bpp) {
|
|
9f1e: 3b01 subs r3, #1
|
|
9f20: 2b07 cmp r3, #7
|
|
9f22: f200 8102 bhi.w a12a <lv_draw_label+0x71e>
|
|
9f26: e8df f013 tbh [pc, r3, lsl #1]
|
|
9f2a: 010a .short 0x010a
|
|
9f2c: 0100002d .word 0x0100002d
|
|
9f30: 010000fb .word 0x010000fb
|
|
9f34: 01000100 .word 0x01000100
|
|
9f38: 0111 .short 0x0111
|
|
LV_LOG_WARN("lv_draw_letter: character's bitmap not found");
|
|
9f3a: 4b11 ldr r3, [pc, #68] ; (9f80 <lv_draw_label+0x574>)
|
|
9f3c: 9300 str r3, [sp, #0]
|
|
9f3e: 4b07 ldr r3, [pc, #28] ; (9f5c <lv_draw_label+0x550>)
|
|
9f40: f240 12b7 movw r2, #439 ; 0x1b7
|
|
9f44: 4906 ldr r1, [pc, #24] ; (9f60 <lv_draw_label+0x554>)
|
|
9f46: 2002 movs r0, #2
|
|
9f48: 4c06 ldr r4, [pc, #24] ; (9f64 <lv_draw_label+0x558>)
|
|
9f4a: 47a0 blx r4
|
|
9f4c: e736 b.n 9dbc <lv_draw_label+0x3b0>
|
|
9f4e: bf00 nop
|
|
9f50: 00009973 .word 0x00009973
|
|
9f54: 0000c319 .word 0x0000c319
|
|
9f58: 00024ed0 .word 0x00024ed0
|
|
9f5c: 00024e60 .word 0x00024e60
|
|
9f60: 00024ea0 .word 0x00024ea0
|
|
9f64: 00012245 .word 0x00012245
|
|
9f68: 20000064 .word 0x20000064
|
|
9f6c: 20000058 .word 0x20000058
|
|
9f70: 00010049 .word 0x00010049
|
|
9f74: 00010041 .word 0x00010041
|
|
9f78: 00024ef0 .word 0x00024ef0
|
|
9f7c: 00010039 .word 0x00010039
|
|
9f80: 00024f18 .word 0x00024f18
|
|
bitmask_init = 0xC0;
|
|
9f84: 23c0 movs r3, #192 ; 0xc0
|
|
9f86: 931b str r3, [sp, #108] ; 0x6c
|
|
bpp_opa_table = _lv_bpp2_opa_table;
|
|
9f88: 4bac ldr r3, [pc, #688] ; (a23c <lv_draw_label+0x830>)
|
|
9f8a: 9320 str r3, [sp, #128] ; 0x80
|
|
int32_t box_w = g->box_w;
|
|
9f8c: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea
|
|
9f90: 931e str r3, [sp, #120] ; 0x78
|
|
int32_t box_h = g->box_h;
|
|
9f92: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec
|
|
int32_t width_bit = box_w * bpp; /*Letter width in bits*/
|
|
9f96: 9a12 ldr r2, [sp, #72] ; 0x48
|
|
9f98: fb02 f203 mul.w r2, r2, r3
|
|
int32_t col_start = pos_x >= clip_area->x1 ? 0 : (clip_area->x1 - pos_x) * 3;
|
|
9f9c: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
9f9e: f9b3 3000 ldrsh.w r3, [r3]
|
|
9fa2: 9c18 ldr r4, [sp, #96] ; 0x60
|
|
9fa4: 429c cmp r4, r3
|
|
9fa6: bfba itte lt
|
|
9fa8: 1b1b sublt r3, r3, r4
|
|
9faa: eb03 0343 addlt.w r3, r3, r3, lsl #1
|
|
9fae: 2300 movge r3, #0
|
|
9fb0: 9327 str r3, [sp, #156] ; 0x9c
|
|
int32_t col_end = pos_x + box_w / 3 <= clip_area->x2 ? box_w : (clip_area->x2 - pos_x + 1) * 3;
|
|
9fb2: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
9fb4: f9b3 3004 ldrsh.w r3, [r3, #4]
|
|
9fb8: 981e ldr r0, [sp, #120] ; 0x78
|
|
9fba: 4604 mov r4, r0
|
|
9fbc: 48a0 ldr r0, [pc, #640] ; (a240 <lv_draw_label+0x834>)
|
|
9fbe: fb80 4004 smull r4, r0, r0, r4
|
|
9fc2: 9c18 ldr r4, [sp, #96] ; 0x60
|
|
9fc4: 4420 add r0, r4
|
|
9fc6: 4298 cmp r0, r3
|
|
9fc8: bfc3 ittte gt
|
|
9fca: 1b1b subgt r3, r3, r4
|
|
9fcc: 3301 addgt r3, #1
|
|
9fce: eb03 0343 addgt.w r3, r3, r3, lsl #1
|
|
9fd2: 9b1e ldrle r3, [sp, #120] ; 0x78
|
|
9fd4: 9314 str r3, [sp, #80] ; 0x50
|
|
int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y;
|
|
9fd6: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
9fd8: f9b3 3002 ldrsh.w r3, [r3, #2]
|
|
9fdc: 9c1d ldr r4, [sp, #116] ; 0x74
|
|
9fde: 429c cmp r4, r3
|
|
9fe0: bfb4 ite lt
|
|
9fe2: 1b1b sublt r3, r3, r4
|
|
9fe4: 2300 movge r3, #0
|
|
9fe6: 9325 str r3, [sp, #148] ; 0x94
|
|
int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1;
|
|
9fe8: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
9fea: f9b3 3006 ldrsh.w r3, [r3, #6]
|
|
9fee: 9c1d ldr r4, [sp, #116] ; 0x74
|
|
9ff0: 1908 adds r0, r1, r4
|
|
9ff2: 4298 cmp r0, r3
|
|
9ff4: f340 80b1 ble.w a15a <lv_draw_label+0x74e>
|
|
9ff8: 1b1b subs r3, r3, r4
|
|
9ffa: 3301 adds r3, #1
|
|
9ffc: 9328 str r3, [sp, #160] ; 0xa0
|
|
9ffe: f006 031f and.w r3, r6, #31
|
|
a002: 9322 str r3, [sp, #136] ; 0x88
|
|
a004: f3c6 1345 ubfx r3, r6, #5, #6
|
|
a008: 9324 str r3, [sp, #144] ; 0x90
|
|
a00a: f3c6 23c4 ubfx r3, r6, #11, #5
|
|
a00e: 9323 str r3, [sp, #140] ; 0x8c
|
|
int32_t bit_ofs = (row_start * width_bit) + (col_start * bpp);
|
|
a010: 9b12 ldr r3, [sp, #72] ; 0x48
|
|
a012: 4618 mov r0, r3
|
|
a014: 9b27 ldr r3, [sp, #156] ; 0x9c
|
|
a016: fb00 f303 mul.w r3, r0, r3
|
|
a01a: 9825 ldr r0, [sp, #148] ; 0x94
|
|
a01c: fb00 3202 mla r2, r0, r2, r3
|
|
map_p += bit_ofs >> 3;
|
|
a020: eb0e 06e2 add.w r6, lr, r2, asr #3
|
|
a024: 9631 str r6, [sp, #196] ; 0xc4
|
|
col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */
|
|
a026: f002 0607 and.w r6, r2, #7
|
|
int32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : g->box_w * g->box_h;
|
|
a02a: 981e ldr r0, [sp, #120] ; 0x78
|
|
a02c: fb01 f100 mul.w r1, r1, r0
|
|
a030: f5b1 7ff0 cmp.w r1, #480 ; 0x1e0
|
|
a034: bfa8 it ge
|
|
a036: f44f 71f0 movge.w r1, #480 ; 0x1e0
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size);
|
|
a03a: 9129 str r1, [sp, #164] ; 0xa4
|
|
a03c: 4608 mov r0, r1
|
|
a03e: 4c81 ldr r4, [pc, #516] ; (a244 <lv_draw_label+0x838>)
|
|
a040: 47a0 blx r4
|
|
a042: 9021 str r0, [sp, #132] ; 0x84
|
|
lv_color_t * color_buf = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t));
|
|
a044: 9929 ldr r1, [sp, #164] ; 0xa4
|
|
a046: 0048 lsls r0, r1, #1
|
|
a048: 47a0 blx r4
|
|
a04a: 9030 str r0, [sp, #192] ; 0xc0
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
a04c: 4b7e ldr r3, [pc, #504] ; (a248 <lv_draw_label+0x83c>)
|
|
a04e: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
a050: 4b7e ldr r3, [pc, #504] ; (a24c <lv_draw_label+0x840>)
|
|
a052: 4798 blx r3
|
|
a054: f9b0 4010 ldrsh.w r4, [r0, #16]
|
|
a058: 8a83 ldrh r3, [r0, #20]
|
|
a05a: 3301 adds r3, #1
|
|
a05c: 1b1b subs r3, r3, r4
|
|
int32_t vdb_width = lv_area_get_width(&vdb->area);
|
|
a05e: b219 sxth r1, r3
|
|
a060: 9126 str r1, [sp, #152] ; 0x98
|
|
lv_color_t * vdb_buf_tmp = vdb->buf_act;
|
|
a062: 6881 ldr r1, [r0, #8]
|
|
vdb_buf_tmp += (row_start * vdb_width) + col_start / 3;
|
|
a064: 9b27 ldr r3, [sp, #156] ; 0x9c
|
|
a066: 4a76 ldr r2, [pc, #472] ; (a240 <lv_draw_label+0x834>)
|
|
a068: fb82 e203 smull lr, r2, r2, r3
|
|
a06c: eba2 72e3 sub.w r2, r2, r3, asr #31
|
|
vdb_buf_tmp += ((pos_y - vdb->area.y1) * vdb_width) + pos_x - vdb->area.x1;
|
|
a070: f9b0 3012 ldrsh.w r3, [r0, #18]
|
|
a074: 981d ldr r0, [sp, #116] ; 0x74
|
|
a076: 1ac3 subs r3, r0, r3
|
|
a078: 9826 ldr r0, [sp, #152] ; 0x98
|
|
a07a: 4686 mov lr, r0
|
|
a07c: 9818 ldr r0, [sp, #96] ; 0x60
|
|
a07e: fb0e 0303 mla r3, lr, r3, r0
|
|
a082: 1b1b subs r3, r3, r4
|
|
vdb_buf_tmp += (row_start * vdb_width) + col_start / 3;
|
|
a084: 9c25 ldr r4, [sp, #148] ; 0x94
|
|
a086: fb0e 2004 mla r0, lr, r4, r2
|
|
a08a: 4403 add r3, r0
|
|
a08c: eb01 0143 add.w r1, r1, r3, lsl #1
|
|
a090: 9118 str r1, [sp, #96] ; 0x60
|
|
map_area.x1 = col_start / 3 + pos_x;
|
|
a092: b2ad uxth r5, r5
|
|
a094: 442a add r2, r5
|
|
a096: f8ad 20e0 strh.w r2, [sp, #224] ; 0xe0
|
|
map_area.x2 = col_end / 3 + pos_x - 1;
|
|
a09a: 9a14 ldr r2, [sp, #80] ; 0x50
|
|
a09c: 4696 mov lr, r2
|
|
a09e: 4968 ldr r1, [pc, #416] ; (a240 <lv_draw_label+0x834>)
|
|
a0a0: fb81 e30e smull lr, r3, r1, lr
|
|
a0a4: eba3 73e2 sub.w r3, r3, r2, asr #31
|
|
a0a8: 3d01 subs r5, #1
|
|
a0aa: 442b add r3, r5
|
|
a0ac: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4
|
|
map_area.y1 = row_start + pos_y;
|
|
a0b0: 9d15 ldr r5, [sp, #84] ; 0x54
|
|
a0b2: 4425 add r5, r4
|
|
a0b4: b22b sxth r3, r5
|
|
a0b6: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2
|
|
map_area.y2 = map_area.y1;
|
|
a0ba: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
uint8_t other_mask_cnt = lv_draw_mask_get_cnt();
|
|
a0be: 4b64 ldr r3, [pc, #400] ; (a250 <lv_draw_label+0x844>)
|
|
a0c0: 4798 blx r3
|
|
a0c2: 902a str r0, [sp, #168] ; 0xa8
|
|
for(row = row_start ; row < row_end; row++) {
|
|
a0c4: 9d28 ldr r5, [sp, #160] ; 0xa0
|
|
a0c6: 42ac cmp r4, r5
|
|
a0c8: f280 8161 bge.w a38e <lv_draw_label+0x982>
|
|
if((int32_t) mask_p + (col_end - col_start) < mask_buf_size) {
|
|
a0cc: 9914 ldr r1, [sp, #80] ; 0x50
|
|
a0ce: 9a27 ldr r2, [sp, #156] ; 0x9c
|
|
a0d0: 1a8c subs r4, r1, r2
|
|
a0d2: 942b str r4, [sp, #172] ; 0xac
|
|
col_bit += ((box_w - col_end) + col_start) * bpp;
|
|
a0d4: 9d1e ldr r5, [sp, #120] ; 0x78
|
|
a0d6: 1a6b subs r3, r5, r1
|
|
a0d8: 4413 add r3, r2
|
|
a0da: 9912 ldr r1, [sp, #72] ; 0x48
|
|
a0dc: fb01 f303 mul.w r3, r1, r3
|
|
a0e0: 932c str r3, [sp, #176] ; 0xb0
|
|
vdb_buf_tmp += vdb_width - (col_end - col_start) / 3;
|
|
a0e2: 4a57 ldr r2, [pc, #348] ; (a240 <lv_draw_label+0x834>)
|
|
a0e4: fb82 2304 smull r2, r3, r2, r4
|
|
a0e8: ebc3 73e4 rsb r3, r3, r4, asr #31
|
|
a0ec: 9826 ldr r0, [sp, #152] ; 0x98
|
|
a0ee: 4403 add r3, r0
|
|
a0f0: 005b lsls r3, r3, #1
|
|
a0f2: 932d str r3, [sp, #180] ; 0xb4
|
|
a0f4: 2300 movs r3, #0
|
|
a0f6: 9326 str r3, [sp, #152] ; 0x98
|
|
col_bit = 0;
|
|
a0f8: 9315 str r3, [sp, #84] ; 0x54
|
|
a0fa: f8cd b0c8 str.w fp, [sp, #200] ; 0xc8
|
|
a0fe: f8cd 90cc str.w r9, [sp, #204] ; 0xcc
|
|
a102: 9734 str r7, [sp, #208] ; 0xd0
|
|
a104: f8dd 9060 ldr.w r9, [sp, #96] ; 0x60
|
|
a108: f8dd b0c4 ldr.w fp, [sp, #196] ; 0xc4
|
|
a10c: f8cd a0c4 str.w sl, [sp, #196] ; 0xc4
|
|
a110: f8dd a0c0 ldr.w sl, [sp, #192] ; 0xc0
|
|
a114: f8cd 80d4 str.w r8, [sp, #212] ; 0xd4
|
|
a118: 4688 mov r8, r1
|
|
a11a: e0ea b.n a2f2 <lv_draw_label+0x8e6>
|
|
if(bpp == 3) bpp = 4;
|
|
a11c: 2304 movs r3, #4
|
|
a11e: 9312 str r3, [sp, #72] ; 0x48
|
|
bitmask_init = 0xF0;
|
|
a120: 23f0 movs r3, #240 ; 0xf0
|
|
a122: 931b str r3, [sp, #108] ; 0x6c
|
|
bpp_opa_table = _lv_bpp4_opa_table;
|
|
a124: 4b4b ldr r3, [pc, #300] ; (a254 <lv_draw_label+0x848>)
|
|
a126: 9320 str r3, [sp, #128] ; 0x80
|
|
a128: e730 b.n 9f8c <lv_draw_label+0x580>
|
|
LV_LOG_WARN("lv_draw_letter: invalid bpp not found");
|
|
a12a: 4b4b ldr r3, [pc, #300] ; (a258 <lv_draw_label+0x84c>)
|
|
a12c: 9300 str r3, [sp, #0]
|
|
a12e: 4b4b ldr r3, [pc, #300] ; (a25c <lv_draw_label+0x850>)
|
|
a130: f240 227a movw r2, #634 ; 0x27a
|
|
a134: 494a ldr r1, [pc, #296] ; (a260 <lv_draw_label+0x854>)
|
|
a136: 2002 movs r0, #2
|
|
a138: 4c4a ldr r4, [pc, #296] ; (a264 <lv_draw_label+0x858>)
|
|
a13a: 47a0 blx r4
|
|
a13c: e63e b.n 9dbc <lv_draw_label+0x3b0>
|
|
uint32_t bpp = g->bpp;
|
|
a13e: 2301 movs r3, #1
|
|
a140: 9312 str r3, [sp, #72] ; 0x48
|
|
bitmask_init = 0x80;
|
|
a142: 2380 movs r3, #128 ; 0x80
|
|
a144: 931b str r3, [sp, #108] ; 0x6c
|
|
bpp_opa_table = _lv_bpp1_opa_table;
|
|
a146: 4b48 ldr r3, [pc, #288] ; (a268 <lv_draw_label+0x85c>)
|
|
a148: 9320 str r3, [sp, #128] ; 0x80
|
|
a14a: e71f b.n 9f8c <lv_draw_label+0x580>
|
|
uint32_t bpp = g->bpp;
|
|
a14c: 2308 movs r3, #8
|
|
a14e: 9312 str r3, [sp, #72] ; 0x48
|
|
bitmask_init = 0xFF;
|
|
a150: 23ff movs r3, #255 ; 0xff
|
|
a152: 931b str r3, [sp, #108] ; 0x6c
|
|
bpp_opa_table = _lv_bpp8_opa_table;
|
|
a154: 4b45 ldr r3, [pc, #276] ; (a26c <lv_draw_label+0x860>)
|
|
a156: 9320 str r3, [sp, #128] ; 0x80
|
|
a158: e718 b.n 9f8c <lv_draw_label+0x580>
|
|
int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1;
|
|
a15a: 9128 str r1, [sp, #160] ; 0xa0
|
|
a15c: e74f b.n 9ffe <lv_draw_label+0x5f2>
|
|
px_opa = bpp == 8 ? letter_px : bpp_opa_table[letter_px];
|
|
a15e: f1b8 0f08 cmp.w r8, #8
|
|
a162: d004 beq.n a16e <lv_draw_label+0x762>
|
|
a164: b2db uxtb r3, r3
|
|
a166: 9a20 ldr r2, [sp, #128] ; 0x80
|
|
a168: 5cd2 ldrb r2, [r2, r3]
|
|
a16a: e000 b.n a16e <lv_draw_label+0x762>
|
|
px_opa = 0;
|
|
a16c: 9a15 ldr r2, [sp, #84] ; 0x54
|
|
font_rgb[subpx_cnt] = px_opa;
|
|
a16e: ab58 add r3, sp, #352 ; 0x160
|
|
a170: 440b add r3, r1
|
|
a172: f803 2c84 strb.w r2, [r3, #-132]
|
|
subpx_cnt ++;
|
|
a176: 3101 adds r1, #1
|
|
if(subpx_cnt == 3) {
|
|
a178: 2903 cmp r1, #3
|
|
a17a: d028 beq.n a1ce <lv_draw_label+0x7c2>
|
|
if(col_bit < (int32_t) (8 - bpp)) {
|
|
a17c: 45b4 cmp ip, r6
|
|
a17e: f340 8094 ble.w a2aa <lv_draw_label+0x89e>
|
|
col_bit += bpp;
|
|
a182: 9b12 ldr r3, [sp, #72] ; 0x48
|
|
a184: 4443 add r3, r8
|
|
a186: 461e mov r6, r3
|
|
bitmask = bitmask >> bpp;
|
|
a188: fa2e fe08 lsr.w lr, lr, r8
|
|
for(col = col_start; col < col_end; col++) {
|
|
a18c: 3501 adds r5, #1
|
|
a18e: 9b14 ldr r3, [sp, #80] ; 0x50
|
|
a190: 42ab cmp r3, r5
|
|
a192: f000 8090 beq.w a2b6 <lv_draw_label+0x8aa>
|
|
letter_px = (*map_p & bitmask) >> (8 - col_bit - bpp);
|
|
a196: 9612 str r6, [sp, #72] ; 0x48
|
|
a198: f89b 3000 ldrb.w r3, [fp]
|
|
a19c: ea03 020e and.w r2, r3, lr
|
|
a1a0: ebac 0306 sub.w r3, ip, r6
|
|
a1a4: fa22 f303 lsr.w r3, r2, r3
|
|
if(letter_px != 0) {
|
|
a1a8: f013 02ff ands.w r2, r3, #255 ; 0xff
|
|
a1ac: d0de beq.n a16c <lv_draw_label+0x760>
|
|
if(opa == LV_OPA_COVER) {
|
|
a1ae: 9816 ldr r0, [sp, #88] ; 0x58
|
|
a1b0: 28ff cmp r0, #255 ; 0xff
|
|
a1b2: d0d4 beq.n a15e <lv_draw_label+0x752>
|
|
px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8
|
|
a1b4: f1b8 0f08 cmp.w r8, #8
|
|
a1b8: bf0f iteee eq
|
|
a1ba: b2da uxtbeq r2, r3
|
|
: (uint32_t)((uint32_t)bpp_opa_table[letter_px] * opa) >> 8;
|
|
a1bc: b2db uxtbne r3, r3
|
|
a1be: 9a20 ldrne r2, [sp, #128] ; 0x80
|
|
a1c0: 5cd2 ldrbne r2, [r2, r3]
|
|
a1c2: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
a1c4: fb03 f202 mul.w r2, r3, r2
|
|
px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8
|
|
a1c8: f3c2 2207 ubfx r2, r2, #8, #8
|
|
a1cc: e7cf b.n a16e <lv_draw_label+0x762>
|
|
res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8;
|
|
a1ce: f89d 10dc ldrb.w r1, [sp, #220] ; 0xdc
|
|
uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue};
|
|
a1d2: f89a 3001 ldrb.w r3, [sl, #1]
|
|
res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8;
|
|
a1d6: 08db lsrs r3, r3, #3
|
|
a1d8: f1c1 00ff rsb r0, r1, #255 ; 0xff
|
|
a1dc: 9a23 ldr r2, [sp, #140] ; 0x8c
|
|
a1de: fb01 f202 mul.w r2, r1, r2
|
|
a1e2: fb00 2303 mla r3, r0, r3, r2
|
|
a1e6: f3c3 2304 ubfx r3, r3, #8, #5
|
|
a1ea: 931d str r3, [sp, #116] ; 0x74
|
|
res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8;
|
|
a1ec: f89d 30de ldrb.w r3, [sp, #222] ; 0xde
|
|
a1f0: 9318 str r3, [sp, #96] ; 0x60
|
|
uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue};
|
|
a1f2: f89a 2000 ldrb.w r2, [sl]
|
|
res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8;
|
|
a1f6: f002 021f and.w r2, r2, #31
|
|
a1fa: f1c3 00ff rsb r0, r3, #255 ; 0xff
|
|
a1fe: 9b22 ldr r3, [sp, #136] ; 0x88
|
|
a200: 9c18 ldr r4, [sp, #96] ; 0x60
|
|
a202: fb04 f303 mul.w r3, r4, r3
|
|
a206: fb00 3202 mla r2, r0, r2, r3
|
|
a20a: f3c2 2304 ubfx r3, r2, #8, #5
|
|
a20e: 931e str r3, [sp, #120] ; 0x78
|
|
res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8;
|
|
a210: f89d 00dd ldrb.w r0, [sp, #221] ; 0xdd
|
|
uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue};
|
|
a214: f8ba 3000 ldrh.w r3, [sl]
|
|
res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8;
|
|
a218: f3c3 1445 ubfx r4, r3, #5, #6
|
|
a21c: f1c0 03ff rsb r3, r0, #255 ; 0xff
|
|
a220: 9a24 ldr r2, [sp, #144] ; 0x90
|
|
a222: fb00 f202 mul.w r2, r0, r2
|
|
a226: fb03 2304 mla r3, r3, r4, r2
|
|
a22a: f3c3 2305 ubfx r3, r3, #8, #6
|
|
if(font_rgb[0] == 0 && font_rgb[1] == 0 && font_rgb[2] == 0) mask_buf[mask_p] = LV_OPA_TRANSP;
|
|
a22e: b9f9 cbnz r1, a270 <lv_draw_label+0x864>
|
|
a230: b9f0 cbnz r0, a270 <lv_draw_label+0x864>
|
|
a232: 9a18 ldr r2, [sp, #96] ; 0x60
|
|
a234: b9e2 cbnz r2, a270 <lv_draw_label+0x864>
|
|
a236: 9a21 ldr r2, [sp, #132] ; 0x84
|
|
a238: 55d1 strb r1, [r2, r7]
|
|
a23a: e01d b.n a278 <lv_draw_label+0x86c>
|
|
a23c: 00024d4c .word 0x00024d4c
|
|
a240: 55555556 .word 0x55555556
|
|
a244: 00012925 .word 0x00012925
|
|
a248: 00005f51 .word 0x00005f51
|
|
a24c: 00010fc5 .word 0x00010fc5
|
|
a250: 0000bead .word 0x0000bead
|
|
a254: 00024d50 .word 0x00024d50
|
|
a258: 00024f48 .word 0x00024f48
|
|
a25c: 00024e70 .word 0x00024e70
|
|
a260: 00024ea0 .word 0x00024ea0
|
|
a264: 00012245 .word 0x00012245
|
|
a268: 00024d48 .word 0x00024d48
|
|
a26c: 00024d60 .word 0x00024d60
|
|
else mask_buf[mask_p] = LV_OPA_COVER;
|
|
a270: 9a21 ldr r2, [sp, #132] ; 0x84
|
|
a272: f04f 31ff mov.w r1, #4294967295
|
|
a276: 55d1 strb r1, [r2, r7]
|
|
color_buf[mask_p] = res_color;
|
|
a278: eb09 0047 add.w r0, r9, r7, lsl #1
|
|
a27c: f819 1017 ldrb.w r1, [r9, r7, lsl #1]
|
|
a280: 9a1e ldr r2, [sp, #120] ; 0x78
|
|
a282: f362 0104 bfi r1, r2, #0, #5
|
|
a286: f809 1017 strb.w r1, [r9, r7, lsl #1]
|
|
a28a: f839 2017 ldrh.w r2, [r9, r7, lsl #1]
|
|
a28e: f363 124a bfi r2, r3, #5, #6
|
|
a292: f829 2017 strh.w r2, [r9, r7, lsl #1]
|
|
a296: 0a12 lsrs r2, r2, #8
|
|
a298: 9b1d ldr r3, [sp, #116] ; 0x74
|
|
a29a: f363 02c7 bfi r2, r3, #3, #5
|
|
a29e: 7042 strb r2, [r0, #1]
|
|
mask_p++;
|
|
a2a0: 3701 adds r7, #1
|
|
vdb_buf_tmp++;
|
|
a2a2: f10a 0a02 add.w sl, sl, #2
|
|
subpx_cnt = 0;
|
|
a2a6: 2100 movs r1, #0
|
|
a2a8: e768 b.n a17c <lv_draw_label+0x770>
|
|
map_p++;
|
|
a2aa: f10b 0b01 add.w fp, fp, #1
|
|
bitmask = bitmask_init;
|
|
a2ae: f8dd e06c ldr.w lr, [sp, #108] ; 0x6c
|
|
col_bit = 0;
|
|
a2b2: 9e15 ldr r6, [sp, #84] ; 0x54
|
|
a2b4: e76a b.n a18c <lv_draw_label+0x780>
|
|
a2b6: 4653 mov r3, sl
|
|
a2b8: 46ca mov sl, r9
|
|
a2ba: 4699 mov r9, r3
|
|
if(other_mask_cnt) {
|
|
a2bc: 9b2a ldr r3, [sp, #168] ; 0xa8
|
|
a2be: bb4b cbnz r3, a314 <lv_draw_label+0x908>
|
|
if((int32_t) mask_p + (col_end - col_start) < mask_buf_size) {
|
|
a2c0: 9b2b ldr r3, [sp, #172] ; 0xac
|
|
a2c2: 443b add r3, r7
|
|
a2c4: 9a29 ldr r2, [sp, #164] ; 0xa4
|
|
a2c6: 429a cmp r2, r3
|
|
a2c8: dd41 ble.n a34e <lv_draw_label+0x942>
|
|
map_area.y2 ++;
|
|
a2ca: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6
|
|
a2ce: 3301 adds r3, #1
|
|
a2d0: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
a2d4: 9726 str r7, [sp, #152] ; 0x98
|
|
col_bit += ((box_w - col_end) + col_start) * bpp;
|
|
a2d6: 9b2c ldr r3, [sp, #176] ; 0xb0
|
|
a2d8: 441e add r6, r3
|
|
map_p += (col_bit >> 3);
|
|
a2da: eb0b 0be6 add.w fp, fp, r6, asr #3
|
|
col_bit = col_bit & 0x7;
|
|
a2de: f006 0607 and.w r6, r6, #7
|
|
vdb_buf_tmp += vdb_width - (col_end - col_start) / 3;
|
|
a2e2: 9b2d ldr r3, [sp, #180] ; 0xb4
|
|
a2e4: 4499 add r9, r3
|
|
for(row = row_start ; row < row_end; row++) {
|
|
a2e6: 9b25 ldr r3, [sp, #148] ; 0x94
|
|
a2e8: 3301 adds r3, #1
|
|
a2ea: 9325 str r3, [sp, #148] ; 0x94
|
|
a2ec: 9a28 ldr r2, [sp, #160] ; 0xa0
|
|
a2ee: 4293 cmp r3, r2
|
|
a2f0: da44 bge.n a37c <lv_draw_label+0x970>
|
|
bitmask = bitmask_init >> col_bit;
|
|
a2f2: 9b1b ldr r3, [sp, #108] ; 0x6c
|
|
a2f4: fa23 fe06 lsr.w lr, r3, r6
|
|
for(col = col_start; col < col_end; col++) {
|
|
a2f8: 9d27 ldr r5, [sp, #156] ; 0x9c
|
|
a2fa: 9a14 ldr r2, [sp, #80] ; 0x50
|
|
a2fc: 4295 cmp r5, r2
|
|
a2fe: da07 bge.n a310 <lv_draw_label+0x904>
|
|
a300: 9f26 ldr r7, [sp, #152] ; 0x98
|
|
a302: 2100 movs r1, #0
|
|
a304: f1c8 0c08 rsb ip, r8, #8
|
|
else mask_buf[mask_p] = LV_OPA_COVER;
|
|
a308: 464b mov r3, r9
|
|
a30a: 46d1 mov r9, sl
|
|
a30c: 469a mov sl, r3
|
|
a30e: e742 b.n a196 <lv_draw_label+0x78a>
|
|
for(col = col_start; col < col_end; col++) {
|
|
a310: 9f26 ldr r7, [sp, #152] ; 0x98
|
|
a312: e7d3 b.n a2bc <lv_draw_label+0x8b0>
|
|
lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, map_area.x1, map_area.y2,
|
|
a314: 9b26 ldr r3, [sp, #152] ; 0x98
|
|
a316: 9a21 ldr r2, [sp, #132] ; 0x84
|
|
a318: 4413 add r3, r2
|
|
a31a: 461c mov r4, r3
|
|
a31c: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0
|
|
a320: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4
|
|
a324: 3301 adds r3, #1
|
|
a326: 1a5b subs r3, r3, r1
|
|
a328: b21b sxth r3, r3
|
|
a32a: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6
|
|
a32e: 4620 mov r0, r4
|
|
a330: 4dab ldr r5, [pc, #684] ; (a5e0 <lv_draw_label+0xbd4>)
|
|
a332: 47a8 blx r5
|
|
if(mask_res == LV_DRAW_MASK_RES_TRANSP) {
|
|
a334: 2800 cmp r0, #0
|
|
a336: d1c3 bne.n a2c0 <lv_draw_label+0x8b4>
|
|
a338: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4
|
|
a33c: 3101 adds r1, #1
|
|
a33e: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0
|
|
a342: 1ac9 subs r1, r1, r3
|
|
_lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&map_area));
|
|
a344: b209 sxth r1, r1
|
|
a346: 4620 mov r0, r4
|
|
a348: 4ba6 ldr r3, [pc, #664] ; (a5e4 <lv_draw_label+0xbd8>)
|
|
a34a: 4798 blx r3
|
|
a34c: e7b8 b.n a2c0 <lv_draw_label+0x8b4>
|
|
_lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode);
|
|
a34e: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
a350: 9302 str r3, [sp, #8]
|
|
a352: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
a354: 9301 str r3, [sp, #4]
|
|
a356: 2302 movs r3, #2
|
|
a358: 9300 str r3, [sp, #0]
|
|
a35a: 9b21 ldr r3, [sp, #132] ; 0x84
|
|
a35c: 4652 mov r2, sl
|
|
a35e: a938 add r1, sp, #224 ; 0xe0
|
|
a360: 980d ldr r0, [sp, #52] ; 0x34
|
|
a362: 4ca1 ldr r4, [pc, #644] ; (a5e8 <lv_draw_label+0xbdc>)
|
|
a364: 47a0 blx r4
|
|
map_area.y1 = map_area.y2 + 1;
|
|
a366: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6
|
|
a36a: 3301 adds r3, #1
|
|
a36c: b21b sxth r3, r3
|
|
a36e: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2
|
|
map_area.y2 = map_area.y1;
|
|
a372: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
mask_p = 0;
|
|
a376: 2300 movs r3, #0
|
|
a378: 9326 str r3, [sp, #152] ; 0x98
|
|
a37a: e7ac b.n a2d6 <lv_draw_label+0x8ca>
|
|
a37c: f8dd b0c8 ldr.w fp, [sp, #200] ; 0xc8
|
|
a380: f8dd 90cc ldr.w r9, [sp, #204] ; 0xcc
|
|
a384: 9f34 ldr r7, [sp, #208] ; 0xd0
|
|
a386: f8dd a0c4 ldr.w sl, [sp, #196] ; 0xc4
|
|
a38a: f8dd 80d4 ldr.w r8, [sp, #212] ; 0xd4
|
|
if(map_area.y1 != map_area.y2) {
|
|
a38e: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6
|
|
a392: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2
|
|
a396: 429a cmp r2, r3
|
|
a398: d00e beq.n a3b8 <lv_draw_label+0x9ac>
|
|
map_area.y2--;
|
|
a39a: 3b01 subs r3, #1
|
|
a39c: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
_lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode);
|
|
a3a0: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
a3a2: 9302 str r3, [sp, #8]
|
|
a3a4: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
a3a6: 9301 str r3, [sp, #4]
|
|
a3a8: 2302 movs r3, #2
|
|
a3aa: 9300 str r3, [sp, #0]
|
|
a3ac: 9b21 ldr r3, [sp, #132] ; 0x84
|
|
a3ae: 9a30 ldr r2, [sp, #192] ; 0xc0
|
|
a3b0: a938 add r1, sp, #224 ; 0xe0
|
|
a3b2: 980d ldr r0, [sp, #52] ; 0x34
|
|
a3b4: 4c8c ldr r4, [pc, #560] ; (a5e8 <lv_draw_label+0xbdc>)
|
|
a3b6: 47a0 blx r4
|
|
_lv_mem_buf_release(mask_buf);
|
|
a3b8: 9821 ldr r0, [sp, #132] ; 0x84
|
|
a3ba: 4c8c ldr r4, [pc, #560] ; (a5ec <lv_draw_label+0xbe0>)
|
|
a3bc: 47a0 blx r4
|
|
_lv_mem_buf_release(color_buf);
|
|
a3be: 9830 ldr r0, [sp, #192] ; 0xc0
|
|
a3c0: 47a0 blx r4
|
|
a3c2: e4fb b.n 9dbc <lv_draw_label+0x3b0>
|
|
draw_letter_normal(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode);
|
|
a3c4: b22c sxth r4, r5
|
|
a3c6: f9bd 0054 ldrsh.w r0, [sp, #84] ; 0x54
|
|
a3ca: f8ad 608c strh.w r6, [sp, #140] ; 0x8c
|
|
uint32_t bpp = g->bpp;
|
|
a3ce: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2
|
|
a3d2: 9320 str r3, [sp, #128] ; 0x80
|
|
if(bpp == 3) bpp = 4;
|
|
a3d4: 2b03 cmp r3, #3
|
|
a3d6: f000 80c1 beq.w a55c <lv_draw_label+0xb50>
|
|
switch(bpp) {
|
|
a3da: 3b01 subs r3, #1
|
|
a3dc: 2b07 cmp r3, #7
|
|
a3de: f200 80c5 bhi.w a56c <lv_draw_label+0xb60>
|
|
a3e2: e8df f013 tbh [pc, r3, lsl #1]
|
|
a3e6: 00cd .short 0x00cd
|
|
a3e8: 00c30008 .word 0x00c30008
|
|
a3ec: 00c300bd .word 0x00c300bd
|
|
a3f0: 00c300c3 .word 0x00c300c3
|
|
a3f4: 00d5 .short 0x00d5
|
|
shades = 4;
|
|
a3f6: 2304 movs r3, #4
|
|
bitmask_init = 0xC0;
|
|
a3f8: 22c0 movs r2, #192 ; 0xc0
|
|
a3fa: 9212 str r2, [sp, #72] ; 0x48
|
|
bpp_opa_table_p = _lv_bpp2_opa_table;
|
|
a3fc: 4a7c ldr r2, [pc, #496] ; (a5f0 <lv_draw_label+0xbe4>)
|
|
a3fe: 9222 str r2, [sp, #136] ; 0x88
|
|
if(opa < LV_OPA_MAX) {
|
|
a400: 9916 ldr r1, [sp, #88] ; 0x58
|
|
a402: 29f9 cmp r1, #249 ; 0xf9
|
|
a404: d82b bhi.n a45e <lv_draw_label+0xa52>
|
|
if(prev_opa != opa || prev_bpp != bpp) {
|
|
a406: 4a7b ldr r2, [pc, #492] ; (a5f4 <lv_draw_label+0xbe8>)
|
|
a408: f892 2100 ldrb.w r2, [r2, #256] ; 0x100
|
|
a40c: 428a cmp r2, r1
|
|
a40e: f000 80c8 beq.w a5a2 <lv_draw_label+0xb96>
|
|
for(i = 0; i < shades; i++) {
|
|
a412: b1d3 cbz r3, a44a <lv_draw_label+0xa3e>
|
|
a414: 9e22 ldr r6, [sp, #136] ; 0x88
|
|
a416: 1e72 subs r2, r6, #1
|
|
a418: 4976 ldr r1, [pc, #472] ; (a5f4 <lv_draw_label+0xbe8>)
|
|
a41a: 3901 subs r1, #1
|
|
a41c: 3b01 subs r3, #1
|
|
a41e: eb06 0c03 add.w ip, r6, r3
|
|
opa_table[i] = bpp_opa_table_p[i] == LV_OPA_COVER ? opa : ((bpp_opa_table_p[i] * opa) >> 8);
|
|
a422: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
a424: 461e mov r6, r3
|
|
a426: f8cd b050 str.w fp, [sp, #80] ; 0x50
|
|
a42a: 469b mov fp, r3
|
|
a42c: f812 3f01 ldrb.w r3, [r2, #1]!
|
|
a430: 2bff cmp r3, #255 ; 0xff
|
|
a432: bf1a itte ne
|
|
a434: fb0b f303 mulne.w r3, fp, r3
|
|
a438: f3c3 2307 ubfxne r3, r3, #8, #8
|
|
a43c: 4633 moveq r3, r6
|
|
a43e: f801 3f01 strb.w r3, [r1, #1]!
|
|
for(i = 0; i < shades; i++) {
|
|
a442: 4594 cmp ip, r2
|
|
a444: d1f2 bne.n a42c <lv_draw_label+0xa20>
|
|
a446: f8dd b050 ldr.w fp, [sp, #80] ; 0x50
|
|
prev_opa = opa;
|
|
a44a: 4b6a ldr r3, [pc, #424] ; (a5f4 <lv_draw_label+0xbe8>)
|
|
a44c: f89d 2058 ldrb.w r2, [sp, #88] ; 0x58
|
|
a450: f883 2100 strb.w r2, [r3, #256] ; 0x100
|
|
prev_bpp = bpp;
|
|
a454: 9a20 ldr r2, [sp, #128] ; 0x80
|
|
a456: f8c3 2104 str.w r2, [r3, #260] ; 0x104
|
|
bpp_opa_table_p = opa_table;
|
|
a45a: 9b1c ldr r3, [sp, #112] ; 0x70
|
|
a45c: 9322 str r3, [sp, #136] ; 0x88
|
|
int32_t box_w = g->box_w;
|
|
a45e: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea
|
|
a462: 9324 str r3, [sp, #144] ; 0x90
|
|
int32_t box_h = g->box_h;
|
|
a464: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec
|
|
int32_t width_bit = box_w * bpp; /*Letter width in bits*/
|
|
a468: 9920 ldr r1, [sp, #128] ; 0x80
|
|
a46a: fb01 fc03 mul.w ip, r1, r3
|
|
int32_t col_start = pos_x >= clip_area->x1 ? 0 : clip_area->x1 - pos_x;
|
|
a46e: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
a470: f9b3 3000 ldrsh.w r3, [r3]
|
|
a474: 429c cmp r4, r3
|
|
a476: bfb4 ite lt
|
|
a478: 1b1b sublt r3, r3, r4
|
|
a47a: 2300 movge r3, #0
|
|
a47c: 9314 str r3, [sp, #80] ; 0x50
|
|
int32_t col_end = pos_x + box_w <= clip_area->x2 ? box_w : clip_area->x2 - pos_x + 1;
|
|
a47e: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
a480: f9b3 3004 ldrsh.w r3, [r3, #4]
|
|
a484: 9924 ldr r1, [sp, #144] ; 0x90
|
|
a486: 4421 add r1, r4
|
|
a488: 4299 cmp r1, r3
|
|
a48a: bfc6 itte gt
|
|
a48c: 1b1b subgt r3, r3, r4
|
|
a48e: 3301 addgt r3, #1
|
|
a490: 9b24 ldrle r3, [sp, #144] ; 0x90
|
|
a492: 9325 str r3, [sp, #148] ; 0x94
|
|
int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y;
|
|
a494: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
a496: f9b3 3002 ldrsh.w r3, [r3, #2]
|
|
a49a: 4298 cmp r0, r3
|
|
a49c: bfb4 ite lt
|
|
a49e: 1a1b sublt r3, r3, r0
|
|
a4a0: 2300 movge r3, #0
|
|
a4a2: 9326 str r3, [sp, #152] ; 0x98
|
|
int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1;
|
|
a4a4: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
a4a6: f9b3 3006 ldrsh.w r3, [r3, #6]
|
|
a4aa: 1811 adds r1, r2, r0
|
|
a4ac: 4299 cmp r1, r3
|
|
a4ae: bfc3 ittte gt
|
|
a4b0: 1a1b subgt r3, r3, r0
|
|
a4b2: 3301 addgt r3, #1
|
|
a4b4: 931b strgt r3, [sp, #108] ; 0x6c
|
|
a4b6: 921b strle r2, [sp, #108] ; 0x6c
|
|
uint32_t bit_ofs = (row_start * width_bit) + (col_start * bpp);
|
|
a4b8: 9b14 ldr r3, [sp, #80] ; 0x50
|
|
a4ba: 9321 str r3, [sp, #132] ; 0x84
|
|
a4bc: 9920 ldr r1, [sp, #128] ; 0x80
|
|
a4be: fb03 f401 mul.w r4, r3, r1
|
|
a4c2: 9826 ldr r0, [sp, #152] ; 0x98
|
|
a4c4: fb00 440c mla r4, r0, ip, r4
|
|
map_p += bit_ofs >> 3;
|
|
a4c8: eb0e 06d4 add.w r6, lr, r4, lsr #3
|
|
col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */
|
|
a4cc: f004 0407 and.w r4, r4, #7
|
|
uint32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : box_w * box_h;
|
|
a4d0: 9924 ldr r1, [sp, #144] ; 0x90
|
|
a4d2: fb02 fe01 mul.w lr, r2, r1
|
|
a4d6: 4672 mov r2, lr
|
|
a4d8: f5be 7ff0 cmp.w lr, #480 ; 0x1e0
|
|
a4dc: bfa8 it ge
|
|
a4de: f44f 72f0 movge.w r2, #480 ; 0x1e0
|
|
a4e2: 921d str r2, [sp, #116] ; 0x74
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size);
|
|
a4e4: 4610 mov r0, r2
|
|
a4e6: 4b44 ldr r3, [pc, #272] ; (a5f8 <lv_draw_label+0xbec>)
|
|
a4e8: 4798 blx r3
|
|
a4ea: 9018 str r0, [sp, #96] ; 0x60
|
|
fill_area.x1 = col_start + pos_x;
|
|
a4ec: b2ad uxth r5, r5
|
|
a4ee: 9b14 ldr r3, [sp, #80] ; 0x50
|
|
a4f0: 18eb adds r3, r5, r3
|
|
a4f2: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0
|
|
fill_area.x2 = col_end + pos_x - 1;
|
|
a4f6: 3d01 subs r5, #1
|
|
a4f8: 9a25 ldr r2, [sp, #148] ; 0x94
|
|
a4fa: 18ab adds r3, r5, r2
|
|
a4fc: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4
|
|
fill_area.y1 = row_start + pos_y;
|
|
a500: 9d15 ldr r5, [sp, #84] ; 0x54
|
|
a502: 9826 ldr r0, [sp, #152] ; 0x98
|
|
a504: 4405 add r5, r0
|
|
a506: b22b sxth r3, r5
|
|
a508: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2
|
|
fill_area.y2 = fill_area.y1;
|
|
a50c: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
uint8_t other_mask_cnt = lv_draw_mask_get_cnt();
|
|
a510: 4b3a ldr r3, [pc, #232] ; (a5fc <lv_draw_label+0xbf0>)
|
|
a512: 4798 blx r3
|
|
a514: 901e str r0, [sp, #120] ; 0x78
|
|
uint32_t col_bit_max = 8 - bpp;
|
|
a516: 9920 ldr r1, [sp, #128] ; 0x80
|
|
a518: f1c1 0508 rsb r5, r1, #8
|
|
uint32_t col_bit_row_ofs = (box_w + col_start - col_end) * bpp;
|
|
a51c: 9a24 ldr r2, [sp, #144] ; 0x90
|
|
a51e: 9b14 ldr r3, [sp, #80] ; 0x50
|
|
a520: 18d3 adds r3, r2, r3
|
|
a522: 9a25 ldr r2, [sp, #148] ; 0x94
|
|
a524: 1a9b subs r3, r3, r2
|
|
a526: fb01 f303 mul.w r3, r1, r3
|
|
a52a: 9320 str r3, [sp, #128] ; 0x80
|
|
for(row = row_start ; row < row_end; row++) {
|
|
a52c: 9826 ldr r0, [sp, #152] ; 0x98
|
|
a52e: 9b1b ldr r3, [sp, #108] ; 0x6c
|
|
a530: 4298 cmp r0, r3
|
|
a532: f280 80df bge.w a6f4 <lv_draw_label+0xce8>
|
|
a536: f04f 0e00 mov.w lr, #0
|
|
mask_buf[mask_p] = 0;
|
|
a53a: f8cd b090 str.w fp, [sp, #144] ; 0x90
|
|
a53e: f8cd 9098 str.w r9, [sp, #152] ; 0x98
|
|
a542: 9727 str r7, [sp, #156] ; 0x9c
|
|
a544: 460f mov r7, r1
|
|
a546: 9515 str r5, [sp, #84] ; 0x54
|
|
a548: f8cd a0a0 str.w sl, [sp, #160] ; 0xa0
|
|
a54c: f8dd a094 ldr.w sl, [sp, #148] ; 0x94
|
|
a550: 4681 mov r9, r0
|
|
a552: f8cd 8094 str.w r8, [sp, #148] ; 0x94
|
|
a556: f8dd 8088 ldr.w r8, [sp, #136] ; 0x88
|
|
a55a: e07a b.n a652 <lv_draw_label+0xc46>
|
|
if(bpp == 3) bpp = 4;
|
|
a55c: 2304 movs r3, #4
|
|
a55e: 9320 str r3, [sp, #128] ; 0x80
|
|
shades = 16;
|
|
a560: 2310 movs r3, #16
|
|
bitmask_init = 0xF0;
|
|
a562: 22f0 movs r2, #240 ; 0xf0
|
|
a564: 9212 str r2, [sp, #72] ; 0x48
|
|
bpp_opa_table_p = _lv_bpp4_opa_table;
|
|
a566: 4a26 ldr r2, [pc, #152] ; (a600 <lv_draw_label+0xbf4>)
|
|
a568: 9222 str r2, [sp, #136] ; 0x88
|
|
a56a: e749 b.n a400 <lv_draw_label+0x9f4>
|
|
LV_LOG_WARN("lv_draw_letter: invalid bpp");
|
|
a56c: 4b25 ldr r3, [pc, #148] ; (a604 <lv_draw_label+0xbf8>)
|
|
a56e: 9300 str r3, [sp, #0]
|
|
a570: 4b25 ldr r3, [pc, #148] ; (a608 <lv_draw_label+0xbfc>)
|
|
a572: f240 12e5 movw r2, #485 ; 0x1e5
|
|
a576: 4925 ldr r1, [pc, #148] ; (a60c <lv_draw_label+0xc00>)
|
|
a578: 2002 movs r0, #2
|
|
a57a: 4c25 ldr r4, [pc, #148] ; (a610 <lv_draw_label+0xc04>)
|
|
a57c: 47a0 blx r4
|
|
a57e: e41d b.n 9dbc <lv_draw_label+0x3b0>
|
|
uint32_t bpp = g->bpp;
|
|
a580: 2301 movs r3, #1
|
|
a582: 9320 str r3, [sp, #128] ; 0x80
|
|
shades = 2;
|
|
a584: 2302 movs r3, #2
|
|
bitmask_init = 0x80;
|
|
a586: 2280 movs r2, #128 ; 0x80
|
|
a588: 9212 str r2, [sp, #72] ; 0x48
|
|
bpp_opa_table_p = _lv_bpp1_opa_table;
|
|
a58a: 4a22 ldr r2, [pc, #136] ; (a614 <lv_draw_label+0xc08>)
|
|
a58c: 9222 str r2, [sp, #136] ; 0x88
|
|
a58e: e737 b.n a400 <lv_draw_label+0x9f4>
|
|
uint32_t bpp = g->bpp;
|
|
a590: 2308 movs r3, #8
|
|
a592: 9320 str r3, [sp, #128] ; 0x80
|
|
shades = 256;
|
|
a594: f44f 7380 mov.w r3, #256 ; 0x100
|
|
bitmask_init = 0xFF;
|
|
a598: 22ff movs r2, #255 ; 0xff
|
|
a59a: 9212 str r2, [sp, #72] ; 0x48
|
|
bpp_opa_table_p = _lv_bpp8_opa_table;
|
|
a59c: 4a1e ldr r2, [pc, #120] ; (a618 <lv_draw_label+0xc0c>)
|
|
a59e: 9222 str r2, [sp, #136] ; 0x88
|
|
a5a0: e72e b.n a400 <lv_draw_label+0x9f4>
|
|
if(prev_opa != opa || prev_bpp != bpp) {
|
|
a5a2: 4a14 ldr r2, [pc, #80] ; (a5f4 <lv_draw_label+0xbe8>)
|
|
a5a4: f8d2 2104 ldr.w r2, [r2, #260] ; 0x104
|
|
a5a8: 9920 ldr r1, [sp, #128] ; 0x80
|
|
a5aa: 4291 cmp r1, r2
|
|
a5ac: f47f af31 bne.w a412 <lv_draw_label+0xa06>
|
|
a5b0: e74b b.n a44a <lv_draw_label+0xa3e>
|
|
map_p++;
|
|
a5b2: 3601 adds r6, #1
|
|
bitmask = bitmask_init;
|
|
a5b4: 9812 ldr r0, [sp, #72] ; 0x48
|
|
col_bit = 0;
|
|
a5b6: 2400 movs r4, #0
|
|
a5b8: 3101 adds r1, #1
|
|
for(col = col_start; col < col_end; col++) {
|
|
a5ba: 458c cmp ip, r1
|
|
a5bc: d02e beq.n a61c <lv_draw_label+0xc10>
|
|
letter_px = (*map_p & bitmask) >> (col_bit_max - col_bit);
|
|
a5be: 7833 ldrb r3, [r6, #0]
|
|
a5c0: 4003 ands r3, r0
|
|
a5c2: 1b2a subs r2, r5, r4
|
|
a5c4: 40d3 lsrs r3, r2
|
|
if(letter_px) {
|
|
a5c6: f013 0fff tst.w r3, #255 ; 0xff
|
|
mask_buf[mask_p] = bpp_opa_table_p[letter_px];
|
|
a5ca: bf1a itte ne
|
|
a5cc: b2db uxtbne r3, r3
|
|
a5ce: f818 3003 ldrbne.w r3, [r8, r3]
|
|
mask_buf[mask_p] = 0;
|
|
a5d2: 2300 moveq r3, #0
|
|
a5d4: 700b strb r3, [r1, #0]
|
|
if(col_bit < col_bit_max) {
|
|
a5d6: 42a5 cmp r5, r4
|
|
a5d8: d9eb bls.n a5b2 <lv_draw_label+0xba6>
|
|
col_bit += bpp;
|
|
a5da: 443c add r4, r7
|
|
bitmask = bitmask >> bpp;
|
|
a5dc: 40f8 lsrs r0, r7
|
|
a5de: e7eb b.n a5b8 <lv_draw_label+0xbac>
|
|
a5e0: 0000be05 .word 0x0000be05
|
|
a5e4: 00012b1f .word 0x00012b1f
|
|
a5e8: 00008269 .word 0x00008269
|
|
a5ec: 00012559 .word 0x00012559
|
|
a5f0: 00024d4c .word 0x00024d4c
|
|
a5f4: 20002a50 .word 0x20002a50
|
|
a5f8: 00012925 .word 0x00012925
|
|
a5fc: 0000bead .word 0x0000bead
|
|
a600: 00024d50 .word 0x00024d50
|
|
a604: 00024f70 .word 0x00024f70
|
|
a608: 00024e84 .word 0x00024e84
|
|
a60c: 00024ea0 .word 0x00024ea0
|
|
a610: 00012245 .word 0x00012245
|
|
a614: 00024d48 .word 0x00024d48
|
|
a618: 00024d60 .word 0x00024d60
|
|
a61c: 9515 str r5, [sp, #84] ; 0x54
|
|
if(other_mask_cnt) {
|
|
a61e: 9b1e ldr r3, [sp, #120] ; 0x78
|
|
a620: bb53 cbnz r3, a678 <lv_draw_label+0xc6c>
|
|
if((uint32_t) mask_p + (col_end - col_start) < mask_buf_size) {
|
|
a622: 9b14 ldr r3, [sp, #80] ; 0x50
|
|
a624: ebaa 0303 sub.w r3, sl, r3
|
|
a628: 445b add r3, fp
|
|
a62a: 9a1d ldr r2, [sp, #116] ; 0x74
|
|
a62c: 429a cmp r2, r3
|
|
a62e: d93f bls.n a6b0 <lv_draw_label+0xca4>
|
|
fill_area.y2 ++;
|
|
a630: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6
|
|
a634: 3301 adds r3, #1
|
|
a636: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
a63a: 46de mov lr, fp
|
|
col_bit += col_bit_row_ofs;
|
|
a63c: 9b20 ldr r3, [sp, #128] ; 0x80
|
|
a63e: 441c add r4, r3
|
|
map_p += (col_bit >> 3);
|
|
a640: eb06 06d4 add.w r6, r6, r4, lsr #3
|
|
col_bit = col_bit & 0x7;
|
|
a644: f004 0407 and.w r4, r4, #7
|
|
for(row = row_start ; row < row_end; row++) {
|
|
a648: f109 0901 add.w r9, r9, #1
|
|
a64c: 9b1b ldr r3, [sp, #108] ; 0x6c
|
|
a64e: 4599 cmp r9, r3
|
|
a650: da47 bge.n a6e2 <lv_draw_label+0xcd6>
|
|
bitmask = bitmask_init >> col_bit;
|
|
a652: 9b12 ldr r3, [sp, #72] ; 0x48
|
|
a654: fa23 f004 lsr.w r0, r3, r4
|
|
for(col = col_start; col < col_end; col++) {
|
|
a658: 9b14 ldr r3, [sp, #80] ; 0x50
|
|
a65a: 4553 cmp r3, sl
|
|
a65c: da0a bge.n a674 <lv_draw_label+0xc68>
|
|
a65e: 9a18 ldr r2, [sp, #96] ; 0x60
|
|
a660: eb02 010e add.w r1, r2, lr
|
|
a664: 9b21 ldr r3, [sp, #132] ; 0x84
|
|
a666: ebaa 0b03 sub.w fp, sl, r3
|
|
a66a: 44f3 add fp, lr
|
|
a66c: eb02 0c0b add.w ip, r2, fp
|
|
a670: 9d15 ldr r5, [sp, #84] ; 0x54
|
|
a672: e7a4 b.n a5be <lv_draw_label+0xbb2>
|
|
a674: 46f3 mov fp, lr
|
|
a676: e7d2 b.n a61e <lv_draw_label+0xc12>
|
|
lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, fill_area.x1, fill_area.y2,
|
|
a678: 9b18 ldr r3, [sp, #96] ; 0x60
|
|
a67a: 4473 add r3, lr
|
|
a67c: 4618 mov r0, r3
|
|
a67e: 9322 str r3, [sp, #136] ; 0x88
|
|
a680: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0
|
|
a684: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4
|
|
a688: 3301 adds r3, #1
|
|
a68a: 1a5b subs r3, r3, r1
|
|
a68c: b21b sxth r3, r3
|
|
a68e: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6
|
|
a692: 4d85 ldr r5, [pc, #532] ; (a8a8 <lv_draw_label+0xe9c>)
|
|
a694: 47a8 blx r5
|
|
if(mask_res == LV_DRAW_MASK_RES_TRANSP) {
|
|
a696: 2800 cmp r0, #0
|
|
a698: d1c3 bne.n a622 <lv_draw_label+0xc16>
|
|
a69a: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4
|
|
a69e: 3101 adds r1, #1
|
|
a6a0: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0
|
|
a6a4: 1ac9 subs r1, r1, r3
|
|
_lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&fill_area));
|
|
a6a6: b209 sxth r1, r1
|
|
a6a8: 9822 ldr r0, [sp, #136] ; 0x88
|
|
a6aa: 4b80 ldr r3, [pc, #512] ; (a8ac <lv_draw_label+0xea0>)
|
|
a6ac: 4798 blx r3
|
|
a6ae: e7b8 b.n a622 <lv_draw_label+0xc16>
|
|
_lv_blend_fill(clip_area, &fill_area,
|
|
a6b0: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
a6b2: 9302 str r3, [sp, #8]
|
|
a6b4: 23ff movs r3, #255 ; 0xff
|
|
a6b6: 9301 str r3, [sp, #4]
|
|
a6b8: 2302 movs r3, #2
|
|
a6ba: 9300 str r3, [sp, #0]
|
|
a6bc: 9b18 ldr r3, [sp, #96] ; 0x60
|
|
a6be: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c
|
|
a6c2: a938 add r1, sp, #224 ; 0xe0
|
|
a6c4: 980d ldr r0, [sp, #52] ; 0x34
|
|
a6c6: f8df b1e8 ldr.w fp, [pc, #488] ; a8b0 <lv_draw_label+0xea4>
|
|
a6ca: 47d8 blx fp
|
|
fill_area.y1 = fill_area.y2 + 1;
|
|
a6cc: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6
|
|
a6d0: 3301 adds r3, #1
|
|
a6d2: b21b sxth r3, r3
|
|
a6d4: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2
|
|
fill_area.y2 = fill_area.y1;
|
|
a6d8: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
mask_p = 0;
|
|
a6dc: f04f 0e00 mov.w lr, #0
|
|
a6e0: e7ac b.n a63c <lv_draw_label+0xc30>
|
|
a6e2: f8dd b090 ldr.w fp, [sp, #144] ; 0x90
|
|
a6e6: f8dd 9098 ldr.w r9, [sp, #152] ; 0x98
|
|
a6ea: 9f27 ldr r7, [sp, #156] ; 0x9c
|
|
a6ec: f8dd a0a0 ldr.w sl, [sp, #160] ; 0xa0
|
|
a6f0: f8dd 8094 ldr.w r8, [sp, #148] ; 0x94
|
|
if(fill_area.y1 != fill_area.y2) {
|
|
a6f4: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6
|
|
a6f8: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2
|
|
a6fc: 429a cmp r2, r3
|
|
a6fe: d00f beq.n a720 <lv_draw_label+0xd14>
|
|
fill_area.y2--;
|
|
a700: 3b01 subs r3, #1
|
|
a702: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6
|
|
_lv_blend_fill(clip_area, &fill_area,
|
|
a706: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
a708: 9302 str r3, [sp, #8]
|
|
a70a: 23ff movs r3, #255 ; 0xff
|
|
a70c: 9301 str r3, [sp, #4]
|
|
a70e: 2302 movs r3, #2
|
|
a710: 9300 str r3, [sp, #0]
|
|
a712: 9b18 ldr r3, [sp, #96] ; 0x60
|
|
a714: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c
|
|
a718: a938 add r1, sp, #224 ; 0xe0
|
|
a71a: 980d ldr r0, [sp, #52] ; 0x34
|
|
a71c: 4c64 ldr r4, [pc, #400] ; (a8b0 <lv_draw_label+0xea4>)
|
|
a71e: 47a0 blx r4
|
|
_lv_mem_buf_release(mask_buf);
|
|
a720: 9818 ldr r0, [sp, #96] ; 0x60
|
|
a722: 4b64 ldr r3, [pc, #400] ; (a8b4 <lv_draw_label+0xea8>)
|
|
a724: 4798 blx r3
|
|
a726: f7ff bb49 b.w 9dbc <lv_draw_label+0x3b0>
|
|
cmd_state = CMD_STATE_WAIT;
|
|
a72a: 2300 movs r3, #0
|
|
a72c: 9306 str r3, [sp, #24]
|
|
a72e: f7ff bb4d b.w 9dcc <lv_draw_label+0x3c0>
|
|
a732: 4653 mov r3, sl
|
|
a734: 46ca mov sl, r9
|
|
a736: 4699 mov r9, r3
|
|
if(dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH) {
|
|
a738: f898 3018 ldrb.w r3, [r8, #24]
|
|
a73c: f013 0f02 tst.w r3, #2
|
|
a740: d146 bne.n a7d0 <lv_draw_label+0xdc4>
|
|
if(dsc->decor & LV_TEXT_DECOR_UNDERLINE) {
|
|
a742: f898 3018 ldrb.w r3, [r8, #24]
|
|
a746: f013 0f01 tst.w r3, #1
|
|
a74a: d162 bne.n a812 <lv_draw_label+0xe06>
|
|
line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag);
|
|
a74c: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
a74e: 9d07 ldr r5, [sp, #28]
|
|
a750: 1956 adds r6, r2, r5
|
|
a752: f9b8 200c ldrsh.w r2, [r8, #12]
|
|
a756: f898 3017 ldrb.w r3, [r8, #23]
|
|
a75a: 9300 str r3, [sp, #0]
|
|
a75c: 9b10 ldr r3, [sp, #64] ; 0x40
|
|
a75e: 9905 ldr r1, [sp, #20]
|
|
a760: 4630 mov r0, r6
|
|
a762: 4c55 ldr r4, [pc, #340] ; (a8b8 <lv_draw_label+0xeac>)
|
|
a764: 47a0 blx r4
|
|
a766: 1944 adds r4, r0, r5
|
|
pos.x = coords->x1;
|
|
a768: 9b13 ldr r3, [sp, #76] ; 0x4c
|
|
a76a: f9b3 5000 ldrsh.w r5, [r3]
|
|
if(dsc->flag & LV_TXT_FLAG_CENTER) {
|
|
a76e: f898 2017 ldrb.w r2, [r8, #23]
|
|
a772: f012 0f04 tst.w r2, #4
|
|
a776: d16c bne.n a852 <lv_draw_label+0xe46>
|
|
else if(dsc->flag & LV_TXT_FLAG_RIGHT) {
|
|
a778: f012 0f08 tst.w r2, #8
|
|
a77c: d17e bne.n a87c <lv_draw_label+0xe70>
|
|
a77e: 9b0e ldr r3, [sp, #56] ; 0x38
|
|
a780: 9917 ldr r1, [sp, #92] ; 0x5c
|
|
a782: 440b add r3, r1
|
|
a784: b21b sxth r3, r3
|
|
a786: 9a11 ldr r2, [sp, #68] ; 0x44
|
|
a788: 440a add r2, r1
|
|
a78a: b292 uxth r2, r2
|
|
a78c: 9211 str r2, [sp, #68] ; 0x44
|
|
line_start = line_end;
|
|
a78e: f8dd b01c ldr.w fp, [sp, #28]
|
|
pos.y += line_height;
|
|
a792: 930e str r3, [sp, #56] ; 0x38
|
|
if(pos.y > mask->y2) return;
|
|
a794: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
a796: f9b2 2006 ldrsh.w r2, [r2, #6]
|
|
a79a: 429a cmp r2, r3
|
|
a79c: f6ff a93f blt.w 9a1e <lv_draw_label+0x12>
|
|
line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag);
|
|
a7a0: 9407 str r4, [sp, #28]
|
|
while(txt[line_start] != '\0') {
|
|
a7a2: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
a7a4: 4613 mov r3, r2
|
|
a7a6: 445b add r3, fp
|
|
a7a8: 9309 str r3, [sp, #36] ; 0x24
|
|
a7aa: f812 300b ldrb.w r3, [r2, fp]
|
|
a7ae: 2b00 cmp r3, #0
|
|
a7b0: f43f a935 beq.w 9a1e <lv_draw_label+0x12>
|
|
pos.x += x_ofs;
|
|
a7b4: 9b1a ldr r3, [sp, #104] ; 0x68
|
|
a7b6: 441d add r5, r3
|
|
a7b8: fa0f f985 sxth.w r9, r5
|
|
i = 0;
|
|
a7bc: 2300 movs r3, #0
|
|
a7be: 9352 str r3, [sp, #328] ; 0x148
|
|
cmd_state = CMD_STATE_WAIT;
|
|
a7c0: 9306 str r3, [sp, #24]
|
|
bpp_opa_table_p = opa_table;
|
|
a7c2: 4b3e ldr r3, [pc, #248] ; (a8bc <lv_draw_label+0xeb0>)
|
|
a7c4: 931c str r3, [sp, #112] ; 0x70
|
|
a7c6: 464b mov r3, r9
|
|
a7c8: 46d1 mov r9, sl
|
|
a7ca: 469a mov sl, r3
|
|
while(i < line_end - line_start) {
|
|
a7cc: f7ff bafe b.w 9dcc <lv_draw_label+0x3c0>
|
|
p1.x = pos_x_start;
|
|
a7d0: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
a7d4: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0
|
|
p1.y = pos.y + (dsc->font->line_height / 2) + line_dsc.width / 2;
|
|
a7d8: f8d8 3004 ldr.w r3, [r8, #4]
|
|
a7dc: f9b3 3008 ldrsh.w r3, [r3, #8]
|
|
a7e0: eb03 72d3 add.w r2, r3, r3, lsr #31
|
|
a7e4: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e
|
|
a7e8: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
a7ec: 105b asrs r3, r3, #1
|
|
a7ee: eb03 0362 add.w r3, r3, r2, asr #1
|
|
a7f2: 9a11 ldr r2, [sp, #68] ; 0x44
|
|
a7f4: 4413 add r3, r2
|
|
a7f6: b21b sxth r3, r3
|
|
a7f8: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2
|
|
p2.x = pos.x;
|
|
a7fc: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8
|
|
p2.y = p1.y;
|
|
a800: f8ad 30ea strh.w r3, [sp, #234] ; 0xea
|
|
lv_draw_line(&p1, &p2, mask, &line_dsc);
|
|
a804: ab53 add r3, sp, #332 ; 0x14c
|
|
a806: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
a808: a93a add r1, sp, #232 ; 0xe8
|
|
a80a: a838 add r0, sp, #224 ; 0xe0
|
|
a80c: 4c2c ldr r4, [pc, #176] ; (a8c0 <lv_draw_label+0xeb4>)
|
|
a80e: 47a0 blx r4
|
|
a810: e797 b.n a742 <lv_draw_label+0xd36>
|
|
p1.x = pos_x_start;
|
|
a812: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
a816: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0
|
|
p1.y = pos.y + dsc->font->line_height - dsc->font->base_line + line_dsc.width / 2 + 1;
|
|
a81a: f8d8 2004 ldr.w r2, [r8, #4]
|
|
a81e: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e
|
|
a822: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
a826: 105b asrs r3, r3, #1
|
|
a828: 3301 adds r3, #1
|
|
a82a: 8911 ldrh r1, [r2, #8]
|
|
a82c: 440b add r3, r1
|
|
a82e: 8952 ldrh r2, [r2, #10]
|
|
a830: 1a9b subs r3, r3, r2
|
|
a832: 9a11 ldr r2, [sp, #68] ; 0x44
|
|
a834: 4413 add r3, r2
|
|
a836: b21b sxth r3, r3
|
|
a838: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2
|
|
p2.x = pos.x;
|
|
a83c: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8
|
|
p2.y = p1.y;
|
|
a840: f8ad 30ea strh.w r3, [sp, #234] ; 0xea
|
|
lv_draw_line(&p1, &p2, mask, &line_dsc);
|
|
a844: ab53 add r3, sp, #332 ; 0x14c
|
|
a846: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
a848: a93a add r1, sp, #232 ; 0xe8
|
|
a84a: a838 add r0, sp, #224 ; 0xe0
|
|
a84c: 4c1c ldr r4, [pc, #112] ; (a8c0 <lv_draw_label+0xeb4>)
|
|
a84e: 47a0 blx r4
|
|
a850: e77c b.n a74c <lv_draw_label+0xd40>
|
|
_lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag);
|
|
a852: f9b8 300c ldrsh.w r3, [r8, #12]
|
|
a856: 9200 str r2, [sp, #0]
|
|
a858: 9a05 ldr r2, [sp, #20]
|
|
a85a: 4601 mov r1, r0
|
|
a85c: 4630 mov r0, r6
|
|
a85e: 4e19 ldr r6, [pc, #100] ; (a8c4 <lv_draw_label+0xeb8>)
|
|
a860: 47b0 blx r6
|
|
a862: 9a13 ldr r2, [sp, #76] ; 0x4c
|
|
a864: 8893 ldrh r3, [r2, #4]
|
|
a866: 3301 adds r3, #1
|
|
a868: 8812 ldrh r2, [r2, #0]
|
|
a86a: 1a9b subs r3, r3, r2
|
|
pos.x += (lv_area_get_width(coords) - line_width) / 2;
|
|
a86c: b21b sxth r3, r3
|
|
a86e: 1a18 subs r0, r3, r0
|
|
a870: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
a874: eb05 0560 add.w r5, r5, r0, asr #1
|
|
a878: b22d sxth r5, r5
|
|
a87a: e780 b.n a77e <lv_draw_label+0xd72>
|
|
_lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag);
|
|
a87c: f9b8 300c ldrsh.w r3, [r8, #12]
|
|
a880: 9200 str r2, [sp, #0]
|
|
a882: 9a05 ldr r2, [sp, #20]
|
|
a884: 4601 mov r1, r0
|
|
a886: 4630 mov r0, r6
|
|
a888: 4e0e ldr r6, [pc, #56] ; (a8c4 <lv_draw_label+0xeb8>)
|
|
a88a: 47b0 blx r6
|
|
a88c: 9a13 ldr r2, [sp, #76] ; 0x4c
|
|
a88e: 8893 ldrh r3, [r2, #4]
|
|
a890: 3301 adds r3, #1
|
|
a892: 8812 ldrh r2, [r2, #0]
|
|
a894: 1a9b subs r3, r3, r2
|
|
pos.x += lv_area_get_width(coords) - line_width;
|
|
a896: b21b sxth r3, r3
|
|
a898: 1a18 subs r0, r3, r0
|
|
a89a: 4405 add r5, r0
|
|
a89c: b22d sxth r5, r5
|
|
a89e: e76e b.n a77e <lv_draw_label+0xd72>
|
|
cmd_state = CMD_STATE_WAIT;
|
|
a8a0: 2300 movs r3, #0
|
|
a8a2: 9306 str r3, [sp, #24]
|
|
a8a4: f7ff ba0e b.w 9cc4 <lv_draw_label+0x2b8>
|
|
a8a8: 0000be05 .word 0x0000be05
|
|
a8ac: 00012b1f .word 0x00012b1f
|
|
a8b0: 00007739 .word 0x00007739
|
|
a8b4: 00012559 .word 0x00012559
|
|
a8b8: 00013d99 .word 0x00013d99
|
|
a8bc: 20002a50 .word 0x20002a50
|
|
a8c0: 0000a8f9 .word 0x0000a8f9
|
|
a8c4: 00013fc5 .word 0x00013fc5
|
|
|
|
0000a8c8 <lv_draw_line_dsc_init>:
|
|
/**********************
|
|
* GLOBAL FUNCTIONS
|
|
**********************/
|
|
|
|
LV_ATTRIBUTE_FAST_MEM void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc)
|
|
{
|
|
a8c8: b510 push {r4, lr}
|
|
a8ca: 4604 mov r4, r0
|
|
_lv_memset_00(dsc, sizeof(lv_draw_line_dsc_t));
|
|
a8cc: 210a movs r1, #10
|
|
a8ce: 4b09 ldr r3, [pc, #36] ; (a8f4 <lv_draw_line_dsc_init+0x2c>)
|
|
a8d0: 4798 blx r3
|
|
dsc->width = 1;
|
|
a8d2: 2301 movs r3, #1
|
|
a8d4: 8063 strh r3, [r4, #2]
|
|
dsc->opa = LV_OPA_COVER;
|
|
a8d6: 23ff movs r3, #255 ; 0xff
|
|
a8d8: 7223 strb r3, [r4, #8]
|
|
dsc->color = LV_COLOR_BLACK;
|
|
a8da: 7823 ldrb r3, [r4, #0]
|
|
a8dc: f36f 0304 bfc r3, #0, #5
|
|
a8e0: 7023 strb r3, [r4, #0]
|
|
a8e2: 8823 ldrh r3, [r4, #0]
|
|
a8e4: f36f 134a bfc r3, #5, #6
|
|
a8e8: 8023 strh r3, [r4, #0]
|
|
a8ea: 0a1b lsrs r3, r3, #8
|
|
a8ec: f36f 03c7 bfc r3, #3, #5
|
|
a8f0: 7063 strb r3, [r4, #1]
|
|
a8f2: bd10 pop {r4, pc}
|
|
a8f4: 00012b1f .word 0x00012b1f
|
|
|
|
0000a8f8 <lv_draw_line>:
|
|
* @param style pointer to a line's style
|
|
* @param opa_scale scale down all opacities by the factor
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
|
|
lv_draw_line_dsc_t * dsc)
|
|
{
|
|
a8f8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
a8fc: b0cb sub sp, #300 ; 0x12c
|
|
if(dsc->width == 0) return;
|
|
a8fe: f9b3 5002 ldrsh.w r5, [r3, #2]
|
|
a902: 2d00 cmp r5, #0
|
|
a904: f000 8418 beq.w b138 <lv_draw_line+0x840>
|
|
if(dsc->opa <= LV_OPA_MIN) return;
|
|
a908: 7a1c ldrb r4, [r3, #8]
|
|
a90a: 2c05 cmp r4, #5
|
|
a90c: f240 8414 bls.w b138 <lv_draw_line+0x840>
|
|
|
|
if(point1->x == point2->x && point1->y == point2->y) return;
|
|
a910: f9b0 6000 ldrsh.w r6, [r0]
|
|
a914: f9b1 7000 ldrsh.w r7, [r1]
|
|
a918: 42be cmp r6, r7
|
|
a91a: f000 8130 beq.w ab7e <lv_draw_line+0x286>
|
|
a91e: 461c mov r4, r3
|
|
a920: 4696 mov lr, r2
|
|
a922: 9208 str r2, [sp, #32]
|
|
a924: 9107 str r1, [sp, #28]
|
|
a926: 9006 str r0, [sp, #24]
|
|
|
|
lv_area_t clip_line;
|
|
clip_line.x1 = LV_MATH_MIN(point1->x, point2->x) - dsc->width / 2;
|
|
a928: eb05 75d5 add.w r5, r5, r5, lsr #31
|
|
a92c: f3c5 054f ubfx r5, r5, #1, #16
|
|
a930: 42be cmp r6, r7
|
|
a932: bfd4 ite le
|
|
a934: ebc5 0306 rsble r3, r5, r6
|
|
a938: ebc5 0307 rsbgt r3, r5, r7
|
|
a93c: f8ad 3120 strh.w r3, [sp, #288] ; 0x120
|
|
clip_line.x2 = LV_MATH_MAX(point1->x, point2->x) + dsc->width / 2;
|
|
a940: 42be cmp r6, r7
|
|
a942: bfac ite ge
|
|
a944: 19ab addge r3, r5, r6
|
|
a946: 19eb addlt r3, r5, r7
|
|
a948: f8ad 3124 strh.w r3, [sp, #292] ; 0x124
|
|
clip_line.y1 = LV_MATH_MIN(point1->y, point2->y) - dsc->width / 2;
|
|
a94c: 460f mov r7, r1
|
|
a94e: f9b1 2002 ldrsh.w r2, [r1, #2]
|
|
a952: 4606 mov r6, r0
|
|
a954: f9b0 3002 ldrsh.w r3, [r0, #2]
|
|
a958: 429a cmp r2, r3
|
|
a95a: bfd4 ite le
|
|
a95c: ebc5 0102 rsble r1, r5, r2
|
|
a960: ebc5 0103 rsbgt r1, r5, r3
|
|
a964: f8ad 1122 strh.w r1, [sp, #290] ; 0x122
|
|
clip_line.y2 = LV_MATH_MAX(point1->y, point2->y) + dsc->width / 2;
|
|
a968: 429a cmp r2, r3
|
|
a96a: bfac ite ge
|
|
a96c: 18ad addge r5, r5, r2
|
|
a96e: 18ed addlt r5, r5, r3
|
|
a970: f8ad 5126 strh.w r5, [sp, #294] ; 0x126
|
|
|
|
bool is_common;
|
|
is_common = _lv_area_intersect(&clip_line, &clip_line, clip);
|
|
a974: 4672 mov r2, lr
|
|
a976: a948 add r1, sp, #288 ; 0x120
|
|
a978: 4608 mov r0, r1
|
|
a97a: 4bab ldr r3, [pc, #684] ; (ac28 <lv_draw_line+0x330>)
|
|
a97c: 4798 blx r3
|
|
if(!is_common) return;
|
|
a97e: 2800 cmp r0, #0
|
|
a980: f000 83da beq.w b138 <lv_draw_line+0x840>
|
|
|
|
if(point1->y == point2->y) draw_line_hor(point1, point2, &clip_line, dsc);
|
|
a984: f9b6 6002 ldrsh.w r6, [r6, #2]
|
|
a988: f9b7 5002 ldrsh.w r5, [r7, #2]
|
|
a98c: 42ae cmp r6, r5
|
|
a98e: f000 80fe beq.w ab8e <lv_draw_line+0x296>
|
|
else if(point1->x == point2->x) draw_line_ver(point1, point2, &clip_line, dsc);
|
|
a992: 9b06 ldr r3, [sp, #24]
|
|
a994: f9b3 3000 ldrsh.w r3, [r3]
|
|
a998: 461a mov r2, r3
|
|
a99a: 9305 str r3, [sp, #20]
|
|
a99c: 9b07 ldr r3, [sp, #28]
|
|
a99e: f9b3 a000 ldrsh.w sl, [r3]
|
|
a9a2: 4552 cmp r2, sl
|
|
a9a4: f000 8201 beq.w adaa <lv_draw_line+0x4b2>
|
|
lv_draw_line_dsc_t * dsc)
|
|
{
|
|
/*Keep the great y in p1*/
|
|
lv_point_t p1;
|
|
lv_point_t p2;
|
|
if(point1->y < point2->y) {
|
|
a9a8: 42ae cmp r6, r5
|
|
a9aa: db06 blt.n a9ba <lv_draw_line+0xc2>
|
|
a9ac: 4633 mov r3, r6
|
|
p2.y = point2->y;
|
|
p1.x = point1->x;
|
|
p2.x = point2->x;
|
|
}
|
|
else {
|
|
p1.y = point2->y;
|
|
a9ae: 462e mov r6, r5
|
|
p2.y = point1->y;
|
|
a9b0: 461d mov r5, r3
|
|
if(point1->y < point2->y) {
|
|
a9b2: 9b05 ldr r3, [sp, #20]
|
|
p1.x = point2->x;
|
|
a9b4: f8cd a014 str.w sl, [sp, #20]
|
|
p2.x = point1->x;
|
|
a9b8: 469a mov sl, r3
|
|
}
|
|
|
|
int32_t xdiff = p2.x - p1.x;
|
|
a9ba: 9b05 ldr r3, [sp, #20]
|
|
a9bc: ebaa 0303 sub.w r3, sl, r3
|
|
a9c0: 9309 str r3, [sp, #36] ; 0x24
|
|
int32_t ydiff = p2.y - p1.y;
|
|
a9c2: 1baa subs r2, r5, r6
|
|
a9c4: 920a str r2, [sp, #40] ; 0x28
|
|
bool flat = LV_MATH_ABS(xdiff) > LV_MATH_ABS(ydiff) ? true : false;
|
|
a9c6: 2b00 cmp r3, #0
|
|
a9c8: bfb8 it lt
|
|
a9ca: 425b neglt r3, r3
|
|
a9cc: 469b mov fp, r3
|
|
a9ce: 2a00 cmp r2, #0
|
|
a9d0: bfb8 it lt
|
|
a9d2: 4252 neglt r2, r2
|
|
a9d4: 4690 mov r8, r2
|
|
143, 145, 147, 149, 151, 153, 155, 158,
|
|
160, 162, 165, 167, 170, 173, 175, 178,
|
|
181,
|
|
};
|
|
|
|
int32_t w = dsc->width;
|
|
a9d6: f9b4 9002 ldrsh.w r9, [r4, #2]
|
|
int32_t wcorr_i = 0;
|
|
if(flat) wcorr_i = (LV_MATH_ABS(ydiff) << 5) / LV_MATH_ABS(xdiff);
|
|
a9da: 4293 cmp r3, r2
|
|
a9dc: bfc7 ittee gt
|
|
a9de: 0153 lslgt r3, r2, #5
|
|
a9e0: fb93 f3fb sdivgt r3, r3, fp
|
|
else wcorr_i = (LV_MATH_ABS(xdiff) << 5) / LV_MATH_ABS(ydiff);
|
|
a9e4: ea4f 134b movle.w r3, fp, lsl #5
|
|
a9e8: fb93 f3f2 sdivle r3, r3, r2
|
|
|
|
w = (w * wcorr[wcorr_i] + 63) >> 7; /*+ 63 for rounding*/
|
|
a9ec: 4a8f ldr r2, [pc, #572] ; (ac2c <lv_draw_line+0x334>)
|
|
a9ee: 5cd3 ldrb r3, [r2, r3]
|
|
a9f0: fb09 f903 mul.w r9, r9, r3
|
|
a9f4: f109 093f add.w r9, r9, #63 ; 0x3f
|
|
a9f8: ea4f 13e9 mov.w r3, r9, asr #7
|
|
a9fc: 461f mov r7, r3
|
|
int32_t w_half0 = w >> 1;
|
|
int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/
|
|
|
|
lv_area_t draw_area;
|
|
draw_area.x1 = LV_MATH_MIN(p1.x, p2.x) - w;
|
|
a9fe: b29b uxth r3, r3
|
|
aa00: 9805 ldr r0, [sp, #20]
|
|
aa02: 4582 cmp sl, r0
|
|
aa04: bfd4 ite le
|
|
aa06: ebc3 020a rsble r2, r3, sl
|
|
aa0a: ebc3 0200 rsbgt r2, r3, r0
|
|
aa0e: f8ad 2038 strh.w r2, [sp, #56] ; 0x38
|
|
draw_area.x2 = LV_MATH_MAX(p1.x, p2.x) + w;
|
|
aa12: 4582 cmp sl, r0
|
|
aa14: bfac ite ge
|
|
aa16: eb03 020a addge.w r2, r3, sl
|
|
aa1a: 181a addlt r2, r3, r0
|
|
aa1c: f8ad 203c strh.w r2, [sp, #60] ; 0x3c
|
|
draw_area.y1 = LV_MATH_MIN(p1.y, p2.y) - w;
|
|
aa20: 42b5 cmp r5, r6
|
|
aa22: bfd4 ite le
|
|
aa24: ebc3 0205 rsble r2, r3, r5
|
|
aa28: ebc3 0206 rsbgt r2, r3, r6
|
|
aa2c: f8ad 203a strh.w r2, [sp, #58] ; 0x3a
|
|
draw_area.y2 = LV_MATH_MAX(p1.y, p2.y) + w;
|
|
aa30: 42b5 cmp r5, r6
|
|
aa32: bfac ite ge
|
|
aa34: 195b addge r3, r3, r5
|
|
aa36: 199b addlt r3, r3, r6
|
|
aa38: f8ad 303e strh.w r3, [sp, #62] ; 0x3e
|
|
|
|
/* Get the union of `coords` and `clip`*/
|
|
/* `clip` is already truncated to the `vdb` size
|
|
* in 'lv_refr_area' function */
|
|
bool is_common = _lv_area_intersect(&draw_area, &draw_area, clip);
|
|
aa3c: aa48 add r2, sp, #288 ; 0x120
|
|
aa3e: a90e add r1, sp, #56 ; 0x38
|
|
aa40: 4608 mov r0, r1
|
|
aa42: 4b79 ldr r3, [pc, #484] ; (ac28 <lv_draw_line+0x330>)
|
|
aa44: 4798 blx r3
|
|
if(is_common == false) return;
|
|
aa46: 2800 cmp r0, #0
|
|
aa48: f000 8372 beq.w b130 <lv_draw_line+0x838>
|
|
int32_t w_half0 = w >> 1;
|
|
aa4c: ea4f 2929 mov.w r9, r9, asr #8
|
|
int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/
|
|
aa50: f007 0301 and.w r3, r7, #1
|
|
aa54: 444b add r3, r9
|
|
aa56: 930b str r3, [sp, #44] ; 0x2c
|
|
lv_draw_mask_line_param_t mask_left_param;
|
|
lv_draw_mask_line_param_t mask_right_param;
|
|
lv_draw_mask_line_param_t mask_top_param;
|
|
lv_draw_mask_line_param_t mask_bottom_param;
|
|
|
|
if(flat) {
|
|
aa58: 45c3 cmp fp, r8
|
|
aa5a: f340 82b6 ble.w afca <lv_draw_line+0x6d2>
|
|
if(xdiff > 0) {
|
|
aa5e: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
aa60: 2a00 cmp r2, #0
|
|
aa62: f340 828e ble.w af82 <lv_draw_line+0x68a>
|
|
lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0,
|
|
aa66: fa1f fb86 uxth.w fp, r6
|
|
aa6a: fa1f f389 uxth.w r3, r9
|
|
aa6e: fa1f f985 uxth.w r9, r5
|
|
aa72: ebab 0203 sub.w r2, fp, r3
|
|
aa76: 2100 movs r1, #0
|
|
aa78: 9101 str r1, [sp, #4]
|
|
aa7a: eba9 0303 sub.w r3, r9, r3
|
|
aa7e: b21b sxth r3, r3
|
|
aa80: 9300 str r3, [sp, #0]
|
|
aa82: 4653 mov r3, sl
|
|
aa84: b212 sxth r2, r2
|
|
aa86: 9905 ldr r1, [sp, #20]
|
|
aa88: a812 add r0, sp, #72 ; 0x48
|
|
aa8a: 4f69 ldr r7, [pc, #420] ; (ac30 <lv_draw_line+0x338>)
|
|
aa8c: 47b8 blx r7
|
|
LV_DRAW_MASK_LINE_SIDE_LEFT);
|
|
lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1,
|
|
aa8e: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c
|
|
aa92: eb0b 0208 add.w r2, fp, r8
|
|
aa96: 2301 movs r3, #1
|
|
aa98: 9301 str r3, [sp, #4]
|
|
aa9a: 44c1 add r9, r8
|
|
aa9c: fa0f f389 sxth.w r3, r9
|
|
aaa0: 9300 str r3, [sp, #0]
|
|
aaa2: 4653 mov r3, sl
|
|
aaa4: b212 sxth r2, r2
|
|
aaa6: 9905 ldr r1, [sp, #20]
|
|
aaa8: a81d add r0, sp, #116 ; 0x74
|
|
aaaa: 47b8 blx r7
|
|
LV_DRAW_MASK_LINE_SIDE_RIGHT);
|
|
}
|
|
|
|
/*Use the normal vector for the endings*/
|
|
|
|
int16_t mask_left_id = lv_draw_mask_add(&mask_left_param, NULL);
|
|
aaac: 2100 movs r1, #0
|
|
aaae: a812 add r0, sp, #72 ; 0x48
|
|
aab0: f8df 819c ldr.w r8, [pc, #412] ; ac50 <lv_draw_line+0x358>
|
|
aab4: 47c0 blx r8
|
|
aab6: 900b str r0, [sp, #44] ; 0x2c
|
|
int16_t mask_right_id = lv_draw_mask_add(&mask_right_param, NULL);
|
|
aab8: 2100 movs r1, #0
|
|
aaba: a81d add r0, sp, #116 ; 0x74
|
|
aabc: 47c0 blx r8
|
|
aabe: 900c str r0, [sp, #48] ; 0x30
|
|
int16_t mask_top_id = LV_MASK_ID_INV;
|
|
int16_t mask_bottom_id = LV_MASK_ID_INV;
|
|
|
|
if(!dsc->raw_end) {
|
|
aac0: 7a63 ldrb r3, [r4, #9]
|
|
aac2: f013 0f10 tst.w r3, #16
|
|
aac6: f000 82a4 beq.w b012 <lv_draw_line+0x71a>
|
|
int16_t mask_bottom_id = LV_MASK_ID_INV;
|
|
aaca: f04f 33ff mov.w r3, #4294967295
|
|
aace: 930d str r3, [sp, #52] ; 0x34
|
|
int16_t mask_top_id = LV_MASK_ID_INV;
|
|
aad0: 930a str r3, [sp, #40] ; 0x28
|
|
lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP);
|
|
mask_top_id = lv_draw_mask_add(&mask_top_param, NULL);
|
|
mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL);
|
|
}
|
|
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
aad2: 4b58 ldr r3, [pc, #352] ; (ac34 <lv_draw_line+0x33c>)
|
|
aad4: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
aad6: 4b58 ldr r3, [pc, #352] ; (ac38 <lv_draw_line+0x340>)
|
|
aad8: 4798 blx r3
|
|
aada: 4682 mov sl, r0
|
|
|
|
const lv_area_t * disp_area = &vdb->area;
|
|
|
|
/*Store the coordinates of the `draw_a` relative to the VDB */
|
|
draw_area.x1 -= disp_area->x1;
|
|
aadc: 8a06 ldrh r6, [r0, #16]
|
|
aade: f8bd 5038 ldrh.w r5, [sp, #56] ; 0x38
|
|
aae2: 1bad subs r5, r5, r6
|
|
aae4: b2aa uxth r2, r5
|
|
aae6: f8ad 2038 strh.w r2, [sp, #56] ; 0x38
|
|
draw_area.y1 -= disp_area->y1;
|
|
aaea: 8a40 ldrh r0, [r0, #18]
|
|
aaec: f8bd 103a ldrh.w r1, [sp, #58] ; 0x3a
|
|
aaf0: 1a09 subs r1, r1, r0
|
|
aaf2: f8ad 103a strh.w r1, [sp, #58] ; 0x3a
|
|
draw_area.x2 -= disp_area->x1;
|
|
aaf6: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c
|
|
aafa: 1b9b subs r3, r3, r6
|
|
aafc: b29b uxth r3, r3
|
|
aafe: f8ad 303c strh.w r3, [sp, #60] ; 0x3c
|
|
draw_area.y2 -= disp_area->y1;
|
|
ab02: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e
|
|
ab06: 1a09 subs r1, r1, r0
|
|
ab08: f8ad 103e strh.w r1, [sp, #62] ; 0x3e
|
|
ab0c: 1c5d adds r5, r3, #1
|
|
ab0e: 1aad subs r5, r5, r2
|
|
ab10: b22d sxth r5, r5
|
|
* So deal with it only with steep lines. */
|
|
int32_t draw_area_w = lv_area_get_width(&draw_area);
|
|
|
|
/*Draw the background line by line*/
|
|
int32_t h;
|
|
size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX);
|
|
ab12: a80e add r0, sp, #56 ; 0x38
|
|
ab14: 4b49 ldr r3, [pc, #292] ; (ac3c <lv_draw_line+0x344>)
|
|
ab16: 4798 blx r3
|
|
ab18: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0
|
|
ab1c: f0c0 82a2 bcc.w b064 <lv_draw_line+0x76c>
|
|
ab20: f44f 7bf0 mov.w fp, #480 ; 0x1e0
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size);
|
|
ab24: 4658 mov r0, fp
|
|
ab26: 4b46 ldr r3, [pc, #280] ; (ac40 <lv_draw_line+0x348>)
|
|
ab28: 4798 blx r3
|
|
ab2a: 4681 mov r9, r0
|
|
|
|
lv_area_t fill_area;
|
|
fill_area.x1 = draw_area.x1 + disp_area->x1;
|
|
ab2c: f8ba 3010 ldrh.w r3, [sl, #16]
|
|
ab30: f8bd 2038 ldrh.w r2, [sp, #56] ; 0x38
|
|
ab34: 441a add r2, r3
|
|
ab36: b212 sxth r2, r2
|
|
ab38: 9205 str r2, [sp, #20]
|
|
ab3a: f8ad 2040 strh.w r2, [sp, #64] ; 0x40
|
|
fill_area.x2 = draw_area.x2 + disp_area->x1;
|
|
ab3e: f8bd 203c ldrh.w r2, [sp, #60] ; 0x3c
|
|
ab42: 4413 add r3, r2
|
|
ab44: f8ad 3044 strh.w r3, [sp, #68] ; 0x44
|
|
fill_area.y1 = draw_area.y1 + disp_area->y1;
|
|
ab48: f8bd 303a ldrh.w r3, [sp, #58] ; 0x3a
|
|
ab4c: f8ba 2012 ldrh.w r2, [sl, #18]
|
|
ab50: 4413 add r3, r2
|
|
ab52: b21b sxth r3, r3
|
|
ab54: f8ad 3042 strh.w r3, [sp, #66] ; 0x42
|
|
fill_area.y2 = fill_area.y1;
|
|
ab58: f8ad 3046 strh.w r3, [sp, #70] ; 0x46
|
|
|
|
int32_t x = vdb->area.x1 + draw_area.x1;
|
|
|
|
uint32_t mask_p = 0;
|
|
|
|
_lv_memset_ff(mask_buf, mask_buf_size);
|
|
ab5c: 4659 mov r1, fp
|
|
ab5e: 4b39 ldr r3, [pc, #228] ; (ac44 <lv_draw_line+0x34c>)
|
|
ab60: 4798 blx r3
|
|
/*Fill the first row with 'color'*/
|
|
for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) {
|
|
ab62: f9ba 2012 ldrsh.w r2, [sl, #18]
|
|
ab66: f9bd 603a ldrsh.w r6, [sp, #58] ; 0x3a
|
|
ab6a: 4416 add r6, r2
|
|
ab6c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
ab70: 4413 add r3, r2
|
|
ab72: 429e cmp r6, r3
|
|
ab74: f300 82b9 bgt.w b0ea <lv_draw_line+0x7f2>
|
|
ab78: 2700 movs r7, #0
|
|
mask_p += draw_area_w;
|
|
if((uint32_t) mask_p + draw_area_w < mask_buf_size) {
|
|
fill_area.y2 ++;
|
|
}
|
|
else {
|
|
_lv_blend_fill(&fill_area, clip,
|
|
ab7a: 9409 str r4, [sp, #36] ; 0x24
|
|
ab7c: e2a0 b.n b0c0 <lv_draw_line+0x7c8>
|
|
if(point1->x == point2->x && point1->y == point2->y) return;
|
|
ab7e: f9b0 e002 ldrsh.w lr, [r0, #2]
|
|
ab82: f9b1 4002 ldrsh.w r4, [r1, #2]
|
|
ab86: 45a6 cmp lr, r4
|
|
ab88: f47f aec9 bne.w a91e <lv_draw_line+0x26>
|
|
ab8c: e2d4 b.n b138 <lv_draw_line+0x840>
|
|
lv_opa_t opa = dsc->opa;
|
|
ab8e: f894 9008 ldrb.w r9, [r4, #8]
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
ab92: 4b28 ldr r3, [pc, #160] ; (ac34 <lv_draw_line+0x33c>)
|
|
ab94: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
ab96: 4b28 ldr r3, [pc, #160] ; (ac38 <lv_draw_line+0x340>)
|
|
ab98: 4798 blx r3
|
|
ab9a: 4607 mov r7, r0
|
|
int32_t w = dsc->width - 1;
|
|
ab9c: f9b4 3002 ldrsh.w r3, [r4, #2]
|
|
aba0: 3b01 subs r3, #1
|
|
int32_t w_half0 = w >> 1;
|
|
aba2: 105e asrs r6, r3, #1
|
|
int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/
|
|
aba4: f003 0301 and.w r3, r3, #1
|
|
aba8: 199d adds r5, r3, r6
|
|
bool dashed = dsc->dash_gap && dsc->dash_width ? true : false;
|
|
abaa: f9b4 3006 ldrsh.w r3, [r4, #6]
|
|
abae: 2b00 cmp r3, #0
|
|
abb0: d035 beq.n ac1e <lv_draw_line+0x326>
|
|
abb2: f9b4 8004 ldrsh.w r8, [r4, #4]
|
|
abb6: f118 0800 adds.w r8, r8, #0
|
|
abba: bf18 it ne
|
|
abbc: f04f 0801 movne.w r8, #1
|
|
if(lv_draw_mask_get_cnt()) simple_mode = false;
|
|
abc0: 4b21 ldr r3, [pc, #132] ; (ac48 <lv_draw_line+0x350>)
|
|
abc2: 4798 blx r3
|
|
abc4: bb70 cbnz r0, ac24 <lv_draw_line+0x32c>
|
|
else if(dashed) simple_mode = false;
|
|
abc6: f088 0201 eor.w r2, r8, #1
|
|
draw_area.x1 = LV_MATH_MIN(point1->x, point2->x);
|
|
abca: 9b07 ldr r3, [sp, #28]
|
|
abcc: f9b3 3000 ldrsh.w r3, [r3]
|
|
abd0: 9906 ldr r1, [sp, #24]
|
|
abd2: f9b1 1000 ldrsh.w r1, [r1]
|
|
abd6: 4618 mov r0, r3
|
|
abd8: 428b cmp r3, r1
|
|
abda: bfa8 it ge
|
|
abdc: 4608 movge r0, r1
|
|
abde: f8ad 00a0 strh.w r0, [sp, #160] ; 0xa0
|
|
draw_area.x2 = LV_MATH_MAX(point1->x, point2->x) - 1;
|
|
abe2: 428b cmp r3, r1
|
|
abe4: bfb8 it lt
|
|
abe6: 460b movlt r3, r1
|
|
abe8: 3b01 subs r3, #1
|
|
abea: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4
|
|
draw_area.y1 = point1->y - w_half1;
|
|
abee: 9906 ldr r1, [sp, #24]
|
|
abf0: 884b ldrh r3, [r1, #2]
|
|
abf2: 1b5d subs r5, r3, r5
|
|
abf4: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2
|
|
draw_area.y2 = point1->y + w_half0;
|
|
abf8: 4433 add r3, r6
|
|
abfa: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6
|
|
if(simple_mode) {
|
|
abfe: b34a cbz r2, ac54 <lv_draw_line+0x35c>
|
|
dsc->blend_mode);
|
|
ac00: 7a63 ldrb r3, [r4, #9]
|
|
_lv_blend_fill(clip, &draw_area,
|
|
ac02: f003 0303 and.w r3, r3, #3
|
|
ac06: 9302 str r3, [sp, #8]
|
|
ac08: f8cd 9004 str.w r9, [sp, #4]
|
|
ac0c: 2301 movs r3, #1
|
|
ac0e: 9300 str r3, [sp, #0]
|
|
ac10: 2300 movs r3, #0
|
|
ac12: 8822 ldrh r2, [r4, #0]
|
|
ac14: a928 add r1, sp, #160 ; 0xa0
|
|
ac16: a848 add r0, sp, #288 ; 0x120
|
|
ac18: 4d0c ldr r5, [pc, #48] ; (ac4c <lv_draw_line+0x354>)
|
|
ac1a: 47a8 blx r5
|
|
ac1c: e288 b.n b130 <lv_draw_line+0x838>
|
|
bool dashed = dsc->dash_gap && dsc->dash_width ? true : false;
|
|
ac1e: f04f 0800 mov.w r8, #0
|
|
ac22: e7cd b.n abc0 <lv_draw_line+0x2c8>
|
|
if(lv_draw_mask_get_cnt()) simple_mode = false;
|
|
ac24: 2200 movs r2, #0
|
|
ac26: e7d0 b.n abca <lv_draw_line+0x2d2>
|
|
ac28: 00011501 .word 0x00011501
|
|
ac2c: 00024f8c .word 0x00024f8c
|
|
ac30: 0000bed1 .word 0x0000bed1
|
|
ac34: 00005f51 .word 0x00005f51
|
|
ac38: 00010fc5 .word 0x00010fc5
|
|
ac3c: 000114e5 .word 0x000114e5
|
|
ac40: 00012925 .word 0x00012925
|
|
ac44: 00012bd5 .word 0x00012bd5
|
|
ac48: 0000bead .word 0x0000bead
|
|
ac4c: 00007739 .word 0x00007739
|
|
ac50: 0000bda9 .word 0x0000bda9
|
|
is_common = _lv_area_intersect(&draw_area, clip, &draw_area);
|
|
ac54: aa28 add r2, sp, #160 ; 0xa0
|
|
ac56: a948 add r1, sp, #288 ; 0x120
|
|
ac58: 4610 mov r0, r2
|
|
ac5a: 4ba1 ldr r3, [pc, #644] ; (aee0 <lv_draw_line+0x5e8>)
|
|
ac5c: 4798 blx r3
|
|
if(!is_common) return;
|
|
ac5e: 2800 cmp r0, #0
|
|
ac60: f000 8266 beq.w b130 <lv_draw_line+0x838>
|
|
draw_area.x1 -= disp_area->x1;
|
|
ac64: f9bd e0a0 ldrsh.w lr, [sp, #160] ; 0xa0
|
|
ac68: f9b7 1010 ldrsh.w r1, [r7, #16]
|
|
ac6c: b28b uxth r3, r1
|
|
ac6e: ebae 0203 sub.w r2, lr, r3
|
|
ac72: b292 uxth r2, r2
|
|
ac74: fa0f fc82 sxth.w ip, r2
|
|
ac78: f8ad c0a0 strh.w ip, [sp, #160] ; 0xa0
|
|
draw_area.y1 -= disp_area->y1;
|
|
ac7c: f9bd 00a2 ldrsh.w r0, [sp, #162] ; 0xa2
|
|
ac80: f8b7 9012 ldrh.w r9, [r7, #18]
|
|
ac84: eba0 0509 sub.w r5, r0, r9
|
|
ac88: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2
|
|
draw_area.x2 -= disp_area->x1;
|
|
ac8c: f9bd 60a4 ldrsh.w r6, [sp, #164] ; 0xa4
|
|
ac90: 1af3 subs r3, r6, r3
|
|
ac92: b29b uxth r3, r3
|
|
ac94: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4
|
|
draw_area.y2 -= disp_area->y1;
|
|
ac98: f8bd 50a6 ldrh.w r5, [sp, #166] ; 0xa6
|
|
ac9c: eba5 0509 sub.w r5, r5, r9
|
|
aca0: f8ad 50a6 strh.w r5, [sp, #166] ; 0xa6
|
|
aca4: 3301 adds r3, #1
|
|
aca6: 1a9a subs r2, r3, r2
|
|
aca8: b215 sxth r5, r2
|
|
fill_area.x1 = draw_area.x1 + disp_area->x1;
|
|
acaa: f8ad e0cc strh.w lr, [sp, #204] ; 0xcc
|
|
fill_area.x2 = draw_area.x2 + disp_area->x1;
|
|
acae: f8ad 60d0 strh.w r6, [sp, #208] ; 0xd0
|
|
fill_area.y1 = draw_area.y1 + disp_area->y1;
|
|
acb2: f8ad 00ce strh.w r0, [sp, #206] ; 0xce
|
|
fill_area.y2 = fill_area.y1;
|
|
acb6: f8ad 00d2 strh.w r0, [sp, #210] ; 0xd2
|
|
if(dashed) {
|
|
acba: f1b8 0f00 cmp.w r8, #0
|
|
acbe: d01c beq.n acfa <lv_draw_line+0x402>
|
|
dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width);
|
|
acc0: 4461 add r1, ip
|
|
acc2: f9b4 2006 ldrsh.w r2, [r4, #6]
|
|
acc6: f9b4 3004 ldrsh.w r3, [r4, #4]
|
|
acca: 441a add r2, r3
|
|
accc: fb91 f3f2 sdiv r3, r1, r2
|
|
acd0: fb02 1113 mls r1, r2, r3, r1
|
|
acd4: b20b sxth r3, r1
|
|
acd6: 930a str r3, [sp, #40] ; 0x28
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w);
|
|
acd8: 9509 str r5, [sp, #36] ; 0x24
|
|
acda: 4628 mov r0, r5
|
|
acdc: 4b81 ldr r3, [pc, #516] ; (aee4 <lv_draw_line+0x5ec>)
|
|
acde: 4798 blx r3
|
|
ace0: 4682 mov sl, r0
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
ace2: f9bd 60a2 ldrsh.w r6, [sp, #162] ; 0xa2
|
|
ace6: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6
|
|
acea: 42b3 cmp r3, r6
|
|
acec: db59 blt.n ada2 <lv_draw_line+0x4aa>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
acee: f8df 9210 ldr.w r9, [pc, #528] ; af00 <lv_draw_line+0x608>
|
|
_lv_blend_fill(clip, &fill_area,
|
|
acf2: f8df b208 ldr.w fp, [pc, #520] ; aefc <lv_draw_line+0x604>
|
|
acf6: 9505 str r5, [sp, #20]
|
|
acf8: e035 b.n ad66 <lv_draw_line+0x46e>
|
|
if(dashed) {
|
|
acfa: 2100 movs r1, #0
|
|
acfc: e7ea b.n acd4 <lv_draw_line+0x3dc>
|
|
else if(dash_cnt >= dsc->dash_gap + dsc->dash_width) {
|
|
acfe: f9b4 e006 ldrsh.w lr, [r4, #6]
|
|
ad02: 4473 add r3, lr
|
|
ad04: 429a cmp r2, r3
|
|
mask_buf[i] = 0x00;
|
|
ad06: bfba itte lt
|
|
ad08: f80a 1000 strblt.w r1, [sl, r0]
|
|
ad0c: 4613 movlt r3, r2
|
|
dash_cnt = 0;
|
|
ad0e: 460b movge r3, r1
|
|
for(i = 0; i < draw_area_w; i++, dash_cnt++) {
|
|
ad10: 3001 adds r0, #1
|
|
ad12: b200 sxth r0, r0
|
|
ad14: 3301 adds r3, #1
|
|
ad16: b21a sxth r2, r3
|
|
ad18: 4285 cmp r5, r0
|
|
ad1a: dd07 ble.n ad2c <lv_draw_line+0x434>
|
|
if(dash_cnt <= dsc->dash_width) {
|
|
ad1c: f9b4 3004 ldrsh.w r3, [r4, #4]
|
|
ad20: 4293 cmp r3, r2
|
|
ad22: dbec blt.n acfe <lv_draw_line+0x406>
|
|
i += diff;
|
|
ad24: 4418 add r0, r3
|
|
ad26: 1a80 subs r0, r0, r2
|
|
ad28: b200 sxth r0, r0
|
|
ad2a: e7f1 b.n ad10 <lv_draw_line+0x418>
|
|
ad2c: 9505 str r5, [sp, #20]
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
ad2e: 2002 movs r0, #2
|
|
dsc->blend_mode);
|
|
ad30: 7a63 ldrb r3, [r4, #9]
|
|
_lv_blend_fill(clip, &fill_area,
|
|
ad32: f003 0303 and.w r3, r3, #3
|
|
ad36: 9302 str r3, [sp, #8]
|
|
ad38: 7a23 ldrb r3, [r4, #8]
|
|
ad3a: 9301 str r3, [sp, #4]
|
|
ad3c: 9000 str r0, [sp, #0]
|
|
ad3e: 4653 mov r3, sl
|
|
ad40: 8822 ldrh r2, [r4, #0]
|
|
ad42: a933 add r1, sp, #204 ; 0xcc
|
|
ad44: a848 add r0, sp, #288 ; 0x120
|
|
ad46: 47d8 blx fp
|
|
fill_area.y1++;
|
|
ad48: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce
|
|
ad4c: 3301 adds r3, #1
|
|
ad4e: f8ad 30ce strh.w r3, [sp, #206] ; 0xce
|
|
fill_area.y2++;
|
|
ad52: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2
|
|
ad56: 3301 adds r3, #1
|
|
ad58: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
ad5c: 3601 adds r6, #1
|
|
ad5e: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6
|
|
ad62: 429e cmp r6, r3
|
|
ad64: dc1d bgt.n ada2 <lv_draw_line+0x4aa>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
ad66: 9909 ldr r1, [sp, #36] ; 0x24
|
|
ad68: 4650 mov r0, sl
|
|
ad6a: 47c8 blx r9
|
|
lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
ad6c: 8a7a ldrh r2, [r7, #18]
|
|
ad6e: 4432 add r2, r6
|
|
ad70: 8a39 ldrh r1, [r7, #16]
|
|
ad72: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0
|
|
ad76: 4419 add r1, r3
|
|
ad78: 9b05 ldr r3, [sp, #20]
|
|
ad7a: b212 sxth r2, r2
|
|
ad7c: b209 sxth r1, r1
|
|
ad7e: 4650 mov r0, sl
|
|
ad80: 4d59 ldr r5, [pc, #356] ; (aee8 <lv_draw_line+0x5f0>)
|
|
ad82: 47a8 blx r5
|
|
if(dashed) {
|
|
ad84: f1b8 0f00 cmp.w r8, #0
|
|
ad88: d0d2 beq.n ad30 <lv_draw_line+0x438>
|
|
if(mask_res != LV_DRAW_MASK_RES_TRANSP) {
|
|
ad8a: 2800 cmp r0, #0
|
|
ad8c: d0d0 beq.n ad30 <lv_draw_line+0x438>
|
|
for(i = 0; i < draw_area_w; i++, dash_cnt++) {
|
|
ad8e: 9b05 ldr r3, [sp, #20]
|
|
ad90: 2b00 cmp r3, #0
|
|
ad92: dd04 ble.n ad9e <lv_draw_line+0x4a6>
|
|
ad94: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
ad96: 2000 movs r0, #0
|
|
dash_cnt = 0;
|
|
ad98: 4601 mov r1, r0
|
|
ad9a: 461d mov r5, r3
|
|
ad9c: e7be b.n ad1c <lv_draw_line+0x424>
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
ad9e: 2002 movs r0, #2
|
|
ada0: e7c6 b.n ad30 <lv_draw_line+0x438>
|
|
_lv_mem_buf_release(mask_buf);
|
|
ada2: 4650 mov r0, sl
|
|
ada4: 4b51 ldr r3, [pc, #324] ; (aeec <lv_draw_line+0x5f4>)
|
|
ada6: 4798 blx r3
|
|
ada8: e1c2 b.n b130 <lv_draw_line+0x838>
|
|
lv_opa_t opa = dsc->opa;
|
|
adaa: f894 9008 ldrb.w r9, [r4, #8]
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
adae: 4b50 ldr r3, [pc, #320] ; (aef0 <lv_draw_line+0x5f8>)
|
|
adb0: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
adb2: 4b50 ldr r3, [pc, #320] ; (aef4 <lv_draw_line+0x5fc>)
|
|
adb4: 4798 blx r3
|
|
adb6: 4680 mov r8, r0
|
|
int32_t w = dsc->width - 1;
|
|
adb8: f9b4 5002 ldrsh.w r5, [r4, #2]
|
|
adbc: 3d01 subs r5, #1
|
|
int32_t w_half0 = w >> 1;
|
|
adbe: 106f asrs r7, r5, #1
|
|
int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/
|
|
adc0: f005 0501 and.w r5, r5, #1
|
|
adc4: 443d add r5, r7
|
|
bool dashed = dsc->dash_gap && dsc->dash_width ? true : false;
|
|
adc6: f9b4 3006 ldrsh.w r3, [r4, #6]
|
|
adca: b12b cbz r3, add8 <lv_draw_line+0x4e0>
|
|
adcc: f9b4 6004 ldrsh.w r6, [r4, #4]
|
|
add0: 3600 adds r6, #0
|
|
add2: bf18 it ne
|
|
add4: 2601 movne r6, #1
|
|
add6: e000 b.n adda <lv_draw_line+0x4e2>
|
|
add8: 2600 movs r6, #0
|
|
if(lv_draw_mask_get_cnt()) simple_mode = false;
|
|
adda: 4b47 ldr r3, [pc, #284] ; (aef8 <lv_draw_line+0x600>)
|
|
addc: 4798 blx r3
|
|
adde: b910 cbnz r0, ade6 <lv_draw_line+0x4ee>
|
|
else if(dashed) simple_mode = false;
|
|
ade0: f086 0201 eor.w r2, r6, #1
|
|
ade4: e000 b.n ade8 <lv_draw_line+0x4f0>
|
|
if(lv_draw_mask_get_cnt()) simple_mode = false;
|
|
ade6: 2200 movs r2, #0
|
|
draw_area.x1 = point1->x - w_half1;
|
|
ade8: 9906 ldr r1, [sp, #24]
|
|
adea: 880b ldrh r3, [r1, #0]
|
|
adec: 1b5d subs r5, r3, r5
|
|
adee: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0
|
|
draw_area.x2 = point1->x + w_half0;
|
|
adf2: 441f add r7, r3
|
|
adf4: f8ad 70a4 strh.w r7, [sp, #164] ; 0xa4
|
|
draw_area.y1 = LV_MATH_MIN(point1->y, point2->y);
|
|
adf8: 9b07 ldr r3, [sp, #28]
|
|
adfa: f9b3 3002 ldrsh.w r3, [r3, #2]
|
|
adfe: f9b1 1002 ldrsh.w r1, [r1, #2]
|
|
ae02: 4618 mov r0, r3
|
|
ae04: 428b cmp r3, r1
|
|
ae06: bfa8 it ge
|
|
ae08: 4608 movge r0, r1
|
|
ae0a: f8ad 00a2 strh.w r0, [sp, #162] ; 0xa2
|
|
draw_area.y2 = LV_MATH_MAX(point1->y, point2->y) - 1;
|
|
ae0e: 428b cmp r3, r1
|
|
ae10: bfb8 it lt
|
|
ae12: 460b movlt r3, r1
|
|
ae14: 3b01 subs r3, #1
|
|
ae16: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6
|
|
if(simple_mode) {
|
|
ae1a: b172 cbz r2, ae3a <lv_draw_line+0x542>
|
|
dsc->blend_mode);
|
|
ae1c: 7a63 ldrb r3, [r4, #9]
|
|
_lv_blend_fill(clip, &draw_area,
|
|
ae1e: f003 0303 and.w r3, r3, #3
|
|
ae22: 9302 str r3, [sp, #8]
|
|
ae24: f8cd 9004 str.w r9, [sp, #4]
|
|
ae28: 2301 movs r3, #1
|
|
ae2a: 9300 str r3, [sp, #0]
|
|
ae2c: 2300 movs r3, #0
|
|
ae2e: 8822 ldrh r2, [r4, #0]
|
|
ae30: a928 add r1, sp, #160 ; 0xa0
|
|
ae32: a848 add r0, sp, #288 ; 0x120
|
|
ae34: 4d31 ldr r5, [pc, #196] ; (aefc <lv_draw_line+0x604>)
|
|
ae36: 47a8 blx r5
|
|
ae38: e17a b.n b130 <lv_draw_line+0x838>
|
|
is_common = _lv_area_intersect(&draw_area, clip, &draw_area);
|
|
ae3a: aa28 add r2, sp, #160 ; 0xa0
|
|
ae3c: a948 add r1, sp, #288 ; 0x120
|
|
ae3e: 4610 mov r0, r2
|
|
ae40: 4b27 ldr r3, [pc, #156] ; (aee0 <lv_draw_line+0x5e8>)
|
|
ae42: 4798 blx r3
|
|
if(!is_common) return;
|
|
ae44: 2800 cmp r0, #0
|
|
ae46: f000 8173 beq.w b130 <lv_draw_line+0x838>
|
|
draw_area.x1 -= vdb->area.x1;
|
|
ae4a: f9bd 00a0 ldrsh.w r0, [sp, #160] ; 0xa0
|
|
ae4e: f8b8 3010 ldrh.w r3, [r8, #16]
|
|
ae52: 1ac5 subs r5, r0, r3
|
|
ae54: b2ad uxth r5, r5
|
|
ae56: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0
|
|
draw_area.y1 -= vdb->area.y1;
|
|
ae5a: f9bd 20a2 ldrsh.w r2, [sp, #162] ; 0xa2
|
|
ae5e: f8b8 7012 ldrh.w r7, [r8, #18]
|
|
ae62: 1bd1 subs r1, r2, r7
|
|
ae64: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2
|
|
draw_area.x2 -= vdb->area.x1;
|
|
ae68: f9bd 10a4 ldrsh.w r1, [sp, #164] ; 0xa4
|
|
ae6c: 1acb subs r3, r1, r3
|
|
ae6e: b29b uxth r3, r3
|
|
ae70: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4
|
|
draw_area.y2 -= vdb->area.y1;
|
|
ae74: f8bd e0a6 ldrh.w lr, [sp, #166] ; 0xa6
|
|
ae78: ebae 0707 sub.w r7, lr, r7
|
|
ae7c: f8ad 70a6 strh.w r7, [sp, #166] ; 0xa6
|
|
ae80: 3301 adds r3, #1
|
|
ae82: 1b5b subs r3, r3, r5
|
|
ae84: b21b sxth r3, r3
|
|
ae86: 9309 str r3, [sp, #36] ; 0x24
|
|
fill_area.x1 = draw_area.x1 + disp_area->x1;
|
|
ae88: f8ad 00cc strh.w r0, [sp, #204] ; 0xcc
|
|
fill_area.x2 = draw_area.x2 + disp_area->x1;
|
|
ae8c: f8ad 10d0 strh.w r1, [sp, #208] ; 0xd0
|
|
fill_area.y1 = draw_area.y1 + disp_area->y1;
|
|
ae90: f8ad 20ce strh.w r2, [sp, #206] ; 0xce
|
|
fill_area.y2 = fill_area.y1;
|
|
ae94: f8ad 20d2 strh.w r2, [sp, #210] ; 0xd2
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w);
|
|
ae98: 930a str r3, [sp, #40] ; 0x28
|
|
ae9a: 4618 mov r0, r3
|
|
ae9c: 4b11 ldr r3, [pc, #68] ; (aee4 <lv_draw_line+0x5ec>)
|
|
ae9e: 4798 blx r3
|
|
aea0: 9005 str r0, [sp, #20]
|
|
if(dashed) {
|
|
aea2: b176 cbz r6, aec2 <lv_draw_line+0x5ca>
|
|
dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width);
|
|
aea4: f9b8 2010 ldrsh.w r2, [r8, #16]
|
|
aea8: f9bd 70a0 ldrsh.w r7, [sp, #160] ; 0xa0
|
|
aeac: 443a add r2, r7
|
|
aeae: f9b4 3006 ldrsh.w r3, [r4, #6]
|
|
aeb2: f9b4 7004 ldrsh.w r7, [r4, #4]
|
|
aeb6: 443b add r3, r7
|
|
aeb8: fb92 f7f3 sdiv r7, r2, r3
|
|
aebc: fb03 2717 mls r7, r3, r7, r2
|
|
aec0: e000 b.n aec4 <lv_draw_line+0x5cc>
|
|
if(dashed) {
|
|
aec2: 2700 movs r7, #0
|
|
aec4: b23f sxth r7, r7
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
aec6: f9bd 50a2 ldrsh.w r5, [sp, #162] ; 0xa2
|
|
aeca: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6
|
|
aece: 429d cmp r5, r3
|
|
aed0: dc53 bgt.n af7a <lv_draw_line+0x682>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
aed2: f8df 902c ldr.w r9, [pc, #44] ; af00 <lv_draw_line+0x608>
|
|
lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
aed6: f8df a010 ldr.w sl, [pc, #16] ; aee8 <lv_draw_line+0x5f0>
|
|
_lv_blend_fill(clip, &fill_area,
|
|
aeda: f8df b020 ldr.w fp, [pc, #32] ; aefc <lv_draw_line+0x604>
|
|
aede: e02c b.n af3a <lv_draw_line+0x642>
|
|
aee0: 00011501 .word 0x00011501
|
|
aee4: 00012925 .word 0x00012925
|
|
aee8: 0000be05 .word 0x0000be05
|
|
aeec: 00012559 .word 0x00012559
|
|
aef0: 00005f51 .word 0x00005f51
|
|
aef4: 00010fc5 .word 0x00010fc5
|
|
aef8: 0000bead .word 0x0000bead
|
|
aefc: 00007739 .word 0x00007739
|
|
af00: 00012bd5 .word 0x00012bd5
|
|
dash_cnt ++;
|
|
af04: 3701 adds r7, #1
|
|
af06: b23f sxth r7, r7
|
|
_lv_blend_fill(clip, &fill_area,
|
|
af08: 2300 movs r3, #0
|
|
af0a: 9302 str r3, [sp, #8]
|
|
af0c: 7a23 ldrb r3, [r4, #8]
|
|
af0e: 9301 str r3, [sp, #4]
|
|
af10: 9000 str r0, [sp, #0]
|
|
af12: 9b05 ldr r3, [sp, #20]
|
|
af14: 8822 ldrh r2, [r4, #0]
|
|
af16: a933 add r1, sp, #204 ; 0xcc
|
|
af18: a848 add r0, sp, #288 ; 0x120
|
|
af1a: 47d8 blx fp
|
|
fill_area.y1++;
|
|
af1c: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce
|
|
af20: 3301 adds r3, #1
|
|
af22: f8ad 30ce strh.w r3, [sp, #206] ; 0xce
|
|
fill_area.y2++;
|
|
af26: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2
|
|
af2a: 3301 adds r3, #1
|
|
af2c: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
af30: 3501 adds r5, #1
|
|
af32: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6
|
|
af36: 429d cmp r5, r3
|
|
af38: dc1f bgt.n af7a <lv_draw_line+0x682>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
af3a: 990a ldr r1, [sp, #40] ; 0x28
|
|
af3c: 9805 ldr r0, [sp, #20]
|
|
af3e: 47c8 blx r9
|
|
lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
af40: f8b8 2012 ldrh.w r2, [r8, #18]
|
|
af44: 442a add r2, r5
|
|
af46: f8b8 1010 ldrh.w r1, [r8, #16]
|
|
af4a: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0
|
|
af4e: 4419 add r1, r3
|
|
af50: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
af52: b212 sxth r2, r2
|
|
af54: b209 sxth r1, r1
|
|
af56: 9805 ldr r0, [sp, #20]
|
|
af58: 47d0 blx sl
|
|
if(dashed) {
|
|
af5a: 2e00 cmp r6, #0
|
|
af5c: d0d4 beq.n af08 <lv_draw_line+0x610>
|
|
if(mask_res != LV_DRAW_MASK_RES_TRANSP) {
|
|
af5e: 2800 cmp r0, #0
|
|
af60: d0d0 beq.n af04 <lv_draw_line+0x60c>
|
|
if(dash_cnt > dsc->dash_width) {
|
|
af62: f9b4 2004 ldrsh.w r2, [r4, #4]
|
|
mask_res = LV_DRAW_MASK_RES_TRANSP;
|
|
af66: 42ba cmp r2, r7
|
|
af68: bfb8 it lt
|
|
af6a: 2000 movlt r0, #0
|
|
if(dash_cnt >= dsc->dash_gap + dsc->dash_width) {
|
|
af6c: f9b4 3006 ldrsh.w r3, [r4, #6]
|
|
af70: 4413 add r3, r2
|
|
dash_cnt = 0;
|
|
af72: 429f cmp r7, r3
|
|
af74: bfa8 it ge
|
|
af76: 2700 movge r7, #0
|
|
af78: e7c4 b.n af04 <lv_draw_line+0x60c>
|
|
_lv_mem_buf_release(mask_buf);
|
|
af7a: 9805 ldr r0, [sp, #20]
|
|
af7c: 4b97 ldr r3, [pc, #604] ; (b1dc <lv_draw_line+0x8e4>)
|
|
af7e: 4798 blx r3
|
|
af80: e0d6 b.n b130 <lv_draw_line+0x838>
|
|
lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1,
|
|
af82: fa1f fb86 uxth.w fp, r6
|
|
af86: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c
|
|
af8a: b2a9 uxth r1, r5
|
|
af8c: eb0b 0208 add.w r2, fp, r8
|
|
af90: 2300 movs r3, #0
|
|
af92: 9301 str r3, [sp, #4]
|
|
af94: 460f mov r7, r1
|
|
af96: 4488 add r8, r1
|
|
af98: fa0f f388 sxth.w r3, r8
|
|
af9c: 9300 str r3, [sp, #0]
|
|
af9e: 4653 mov r3, sl
|
|
afa0: b212 sxth r2, r2
|
|
afa2: 9905 ldr r1, [sp, #20]
|
|
afa4: a812 add r0, sp, #72 ; 0x48
|
|
afa6: f8df 8238 ldr.w r8, [pc, #568] ; b1e0 <lv_draw_line+0x8e8>
|
|
afaa: 47c0 blx r8
|
|
lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0,
|
|
afac: fa1f f389 uxth.w r3, r9
|
|
afb0: ebab 0203 sub.w r2, fp, r3
|
|
afb4: 2101 movs r1, #1
|
|
afb6: 9101 str r1, [sp, #4]
|
|
afb8: 1afb subs r3, r7, r3
|
|
afba: b21b sxth r3, r3
|
|
afbc: 9300 str r3, [sp, #0]
|
|
afbe: 4653 mov r3, sl
|
|
afc0: b212 sxth r2, r2
|
|
afc2: 9905 ldr r1, [sp, #20]
|
|
afc4: a81d add r0, sp, #116 ; 0x74
|
|
afc6: 47c0 blx r8
|
|
afc8: e570 b.n aaac <lv_draw_line+0x1b4>
|
|
lv_draw_mask_line_points_init(&mask_left_param, p1.x + w_half1, p1.y, p2.x + w_half1, p2.y,
|
|
afca: f8bd b014 ldrh.w fp, [sp, #20]
|
|
afce: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c
|
|
afd2: fa1f f38a uxth.w r3, sl
|
|
afd6: 461f mov r7, r3
|
|
afd8: 4443 add r3, r8
|
|
afda: 44d8 add r8, fp
|
|
afdc: 2200 movs r2, #0
|
|
afde: 9201 str r2, [sp, #4]
|
|
afe0: 9500 str r5, [sp, #0]
|
|
afe2: b21b sxth r3, r3
|
|
afe4: 4632 mov r2, r6
|
|
afe6: fa0f f188 sxth.w r1, r8
|
|
afea: a812 add r0, sp, #72 ; 0x48
|
|
afec: f8df 81f0 ldr.w r8, [pc, #496] ; b1e0 <lv_draw_line+0x8e8>
|
|
aff0: 47c0 blx r8
|
|
lv_draw_mask_line_points_init(&mask_right_param, p1.x - w_half0, p1.y, p2.x - w_half0, p2.y,
|
|
aff2: fa1f f989 uxth.w r9, r9
|
|
aff6: eba7 0309 sub.w r3, r7, r9
|
|
affa: ebab 0909 sub.w r9, fp, r9
|
|
affe: 2201 movs r2, #1
|
|
b000: 9201 str r2, [sp, #4]
|
|
b002: 9500 str r5, [sp, #0]
|
|
b004: b21b sxth r3, r3
|
|
b006: 4632 mov r2, r6
|
|
b008: fa0f f189 sxth.w r1, r9
|
|
b00c: a81d add r0, sp, #116 ; 0x74
|
|
b00e: 47c0 blx r8
|
|
b010: e54c b.n aaac <lv_draw_line+0x1b4>
|
|
lv_draw_mask_line_points_init(&mask_top_param, p1.x, p1.y, p1.x - ydiff, p1.y + xdiff, LV_DRAW_MASK_LINE_SIDE_BOTTOM);
|
|
b012: f8bd 8028 ldrh.w r8, [sp, #40] ; 0x28
|
|
b016: f8bd 9024 ldrh.w r9, [sp, #36] ; 0x24
|
|
b01a: 9905 ldr r1, [sp, #20]
|
|
b01c: eba1 0308 sub.w r3, r1, r8
|
|
b020: 2203 movs r2, #3
|
|
b022: 9201 str r2, [sp, #4]
|
|
b024: eb09 0206 add.w r2, r9, r6
|
|
b028: b212 sxth r2, r2
|
|
b02a: 9200 str r2, [sp, #0]
|
|
b02c: b21b sxth r3, r3
|
|
b02e: 4632 mov r2, r6
|
|
b030: a828 add r0, sp, #160 ; 0xa0
|
|
b032: 4e6b ldr r6, [pc, #428] ; (b1e0 <lv_draw_line+0x8e8>)
|
|
b034: 47b0 blx r6
|
|
lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP);
|
|
b036: ebaa 0308 sub.w r3, sl, r8
|
|
b03a: 2202 movs r2, #2
|
|
b03c: 9201 str r2, [sp, #4]
|
|
b03e: eb09 0205 add.w r2, r9, r5
|
|
b042: b212 sxth r2, r2
|
|
b044: 9200 str r2, [sp, #0]
|
|
b046: b21b sxth r3, r3
|
|
b048: 462a mov r2, r5
|
|
b04a: 4651 mov r1, sl
|
|
b04c: a833 add r0, sp, #204 ; 0xcc
|
|
b04e: 47b0 blx r6
|
|
mask_top_id = lv_draw_mask_add(&mask_top_param, NULL);
|
|
b050: 2100 movs r1, #0
|
|
b052: a828 add r0, sp, #160 ; 0xa0
|
|
b054: 4d63 ldr r5, [pc, #396] ; (b1e4 <lv_draw_line+0x8ec>)
|
|
b056: 47a8 blx r5
|
|
b058: 900a str r0, [sp, #40] ; 0x28
|
|
mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL);
|
|
b05a: 2100 movs r1, #0
|
|
b05c: a833 add r0, sp, #204 ; 0xcc
|
|
b05e: 47a8 blx r5
|
|
b060: 900d str r0, [sp, #52] ; 0x34
|
|
b062: e536 b.n aad2 <lv_draw_line+0x1da>
|
|
size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX);
|
|
b064: a80e add r0, sp, #56 ; 0x38
|
|
b066: 4b60 ldr r3, [pc, #384] ; (b1e8 <lv_draw_line+0x8f0>)
|
|
b068: 4798 blx r3
|
|
b06a: 4683 mov fp, r0
|
|
b06c: e55a b.n ab24 <lv_draw_line+0x22c>
|
|
_lv_memset_00(&mask_buf[mask_p], draw_area_w);
|
|
b06e: 4629 mov r1, r5
|
|
b070: 4640 mov r0, r8
|
|
b072: 4b5e ldr r3, [pc, #376] ; (b1ec <lv_draw_line+0x8f4>)
|
|
b074: 4798 blx r3
|
|
b076: e02d b.n b0d4 <lv_draw_line+0x7dc>
|
|
dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa,
|
|
dsc->blend_mode);
|
|
b078: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
b07a: 7a53 ldrb r3, [r2, #9]
|
|
_lv_blend_fill(&fill_area, clip,
|
|
b07c: f003 0303 and.w r3, r3, #3
|
|
b080: 9302 str r3, [sp, #8]
|
|
b082: 7a13 ldrb r3, [r2, #8]
|
|
b084: 9301 str r3, [sp, #4]
|
|
b086: 2302 movs r3, #2
|
|
b088: 9300 str r3, [sp, #0]
|
|
b08a: 464b mov r3, r9
|
|
b08c: 8812 ldrh r2, [r2, #0]
|
|
b08e: a948 add r1, sp, #288 ; 0x120
|
|
b090: a810 add r0, sp, #64 ; 0x40
|
|
b092: 4c57 ldr r4, [pc, #348] ; (b1f0 <lv_draw_line+0x8f8>)
|
|
b094: 47a0 blx r4
|
|
|
|
fill_area.y1 = fill_area.y2 + 1;
|
|
b096: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46
|
|
b09a: 3301 adds r3, #1
|
|
b09c: b21b sxth r3, r3
|
|
b09e: f8ad 3042 strh.w r3, [sp, #66] ; 0x42
|
|
fill_area.y2 = fill_area.y1;
|
|
b0a2: f8ad 3046 strh.w r3, [sp, #70] ; 0x46
|
|
mask_p = 0;
|
|
_lv_memset_ff(mask_buf, mask_buf_size);
|
|
b0a6: 4659 mov r1, fp
|
|
b0a8: 4648 mov r0, r9
|
|
b0aa: 4b52 ldr r3, [pc, #328] ; (b1f4 <lv_draw_line+0x8fc>)
|
|
b0ac: 4798 blx r3
|
|
mask_p = 0;
|
|
b0ae: 2700 movs r7, #0
|
|
for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) {
|
|
b0b0: 3601 adds r6, #1
|
|
b0b2: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e
|
|
b0b6: f9ba 2012 ldrsh.w r2, [sl, #18]
|
|
b0ba: 4413 add r3, r2
|
|
b0bc: 429e cmp r6, r3
|
|
b0be: dc13 bgt.n b0e8 <lv_draw_line+0x7f0>
|
|
lv_draw_mask_res_t mask_res = lv_draw_mask_apply(&mask_buf[mask_p], x, h, draw_area_w);
|
|
b0c0: eb09 0807 add.w r8, r9, r7
|
|
b0c4: 462b mov r3, r5
|
|
b0c6: b232 sxth r2, r6
|
|
b0c8: 9905 ldr r1, [sp, #20]
|
|
b0ca: 4640 mov r0, r8
|
|
b0cc: 4c4a ldr r4, [pc, #296] ; (b1f8 <lv_draw_line+0x900>)
|
|
b0ce: 47a0 blx r4
|
|
if(mask_res == LV_DRAW_MASK_RES_TRANSP) {
|
|
b0d0: 2800 cmp r0, #0
|
|
b0d2: d0cc beq.n b06e <lv_draw_line+0x776>
|
|
mask_p += draw_area_w;
|
|
b0d4: 442f add r7, r5
|
|
if((uint32_t) mask_p + draw_area_w < mask_buf_size) {
|
|
b0d6: 19eb adds r3, r5, r7
|
|
b0d8: 459b cmp fp, r3
|
|
b0da: d9cd bls.n b078 <lv_draw_line+0x780>
|
|
fill_area.y2 ++;
|
|
b0dc: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46
|
|
b0e0: 3301 adds r3, #1
|
|
b0e2: f8ad 3046 strh.w r3, [sp, #70] ; 0x46
|
|
b0e6: e7e3 b.n b0b0 <lv_draw_line+0x7b8>
|
|
b0e8: 9c09 ldr r4, [sp, #36] ; 0x24
|
|
}
|
|
}
|
|
|
|
/*Flush the last part*/
|
|
if(fill_area.y1 != fill_area.y2) {
|
|
b0ea: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46
|
|
b0ee: f9bd 2042 ldrsh.w r2, [sp, #66] ; 0x42
|
|
b0f2: 429a cmp r2, r3
|
|
b0f4: d010 beq.n b118 <lv_draw_line+0x820>
|
|
fill_area.y2--;
|
|
b0f6: 3b01 subs r3, #1
|
|
b0f8: f8ad 3046 strh.w r3, [sp, #70] ; 0x46
|
|
_lv_blend_fill(&fill_area, clip,
|
|
dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa,
|
|
dsc->blend_mode);
|
|
b0fc: 7a63 ldrb r3, [r4, #9]
|
|
_lv_blend_fill(&fill_area, clip,
|
|
b0fe: f003 0303 and.w r3, r3, #3
|
|
b102: 9302 str r3, [sp, #8]
|
|
b104: 7a23 ldrb r3, [r4, #8]
|
|
b106: 9301 str r3, [sp, #4]
|
|
b108: 2302 movs r3, #2
|
|
b10a: 9300 str r3, [sp, #0]
|
|
b10c: 464b mov r3, r9
|
|
b10e: 8822 ldrh r2, [r4, #0]
|
|
b110: a948 add r1, sp, #288 ; 0x120
|
|
b112: a810 add r0, sp, #64 ; 0x40
|
|
b114: 4d36 ldr r5, [pc, #216] ; (b1f0 <lv_draw_line+0x8f8>)
|
|
b116: 47a8 blx r5
|
|
|
|
}
|
|
|
|
_lv_mem_buf_release(mask_buf);
|
|
b118: 4648 mov r0, r9
|
|
b11a: 4b30 ldr r3, [pc, #192] ; (b1dc <lv_draw_line+0x8e4>)
|
|
b11c: 4798 blx r3
|
|
|
|
lv_draw_mask_remove_id(mask_left_id);
|
|
b11e: 980b ldr r0, [sp, #44] ; 0x2c
|
|
b120: 4d36 ldr r5, [pc, #216] ; (b1fc <lv_draw_line+0x904>)
|
|
b122: 47a8 blx r5
|
|
lv_draw_mask_remove_id(mask_right_id);
|
|
b124: 980c ldr r0, [sp, #48] ; 0x30
|
|
b126: 47a8 blx r5
|
|
lv_draw_mask_remove_id(mask_top_id);
|
|
b128: 980a ldr r0, [sp, #40] ; 0x28
|
|
b12a: 47a8 blx r5
|
|
lv_draw_mask_remove_id(mask_bottom_id);
|
|
b12c: 980d ldr r0, [sp, #52] ; 0x34
|
|
b12e: 47a8 blx r5
|
|
if(dsc->round_end || dsc->round_start) {
|
|
b130: 7a63 ldrb r3, [r4, #9]
|
|
b132: f013 0f0c tst.w r3, #12
|
|
b136: d102 bne.n b13e <lv_draw_line+0x846>
|
|
}
|
|
b138: b04b add sp, #300 ; 0x12c
|
|
b13a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
lv_draw_rect_dsc_init(&cir_dsc);
|
|
b13e: a833 add r0, sp, #204 ; 0xcc
|
|
b140: 4b2f ldr r3, [pc, #188] ; (b200 <lv_draw_line+0x908>)
|
|
b142: 4798 blx r3
|
|
cir_dsc.bg_color = dsc->color;
|
|
b144: 8823 ldrh r3, [r4, #0]
|
|
b146: f8ad 30ce strh.w r3, [sp, #206] ; 0xce
|
|
cir_dsc.radius = LV_RADIUS_CIRCLE;
|
|
b14a: f647 73ff movw r3, #32767 ; 0x7fff
|
|
b14e: f8ad 30cc strh.w r3, [sp, #204] ; 0xcc
|
|
cir_dsc.bg_opa = dsc->opa;
|
|
b152: 7a23 ldrb r3, [r4, #8]
|
|
b154: f88d 30d8 strb.w r3, [sp, #216] ; 0xd8
|
|
int32_t r = (dsc->width >> 1);
|
|
b158: f9b4 3002 ldrsh.w r3, [r4, #2]
|
|
b15c: 105e asrs r6, r3, #1
|
|
int32_t r_corr = (dsc->width & 1) ? 0 : 1;
|
|
b15e: f083 0301 eor.w r3, r3, #1
|
|
b162: f003 0501 and.w r5, r3, #1
|
|
if(dsc->round_start) {
|
|
b166: 7a63 ldrb r3, [r4, #9]
|
|
b168: f013 0f04 tst.w r3, #4
|
|
b16c: d11c bne.n b1a8 <lv_draw_line+0x8b0>
|
|
if(dsc->round_end) {
|
|
b16e: 7a63 ldrb r3, [r4, #9]
|
|
b170: f013 0f08 tst.w r3, #8
|
|
b174: d0e0 beq.n b138 <lv_draw_line+0x840>
|
|
cir_area.x1 = point2->x - r;
|
|
b176: 9907 ldr r1, [sp, #28]
|
|
b178: 880a ldrh r2, [r1, #0]
|
|
b17a: b2b6 uxth r6, r6
|
|
b17c: 1b93 subs r3, r2, r6
|
|
b17e: f8ad 30a0 strh.w r3, [sp, #160] ; 0xa0
|
|
cir_area.y1 = point2->y - r;
|
|
b182: 8849 ldrh r1, [r1, #2]
|
|
b184: 1b8b subs r3, r1, r6
|
|
b186: f8ad 30a2 strh.w r3, [sp, #162] ; 0xa2
|
|
cir_area.x2 = point2->x + r - r_corr;
|
|
b18a: b2ab uxth r3, r5
|
|
b18c: 4432 add r2, r6
|
|
b18e: 1ad2 subs r2, r2, r3
|
|
b190: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4
|
|
cir_area.y2 = point2->y + r - r_corr ;
|
|
b194: 440e add r6, r1
|
|
b196: 1af3 subs r3, r6, r3
|
|
b198: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6
|
|
lv_draw_rect(&cir_area, clip, &cir_dsc);
|
|
b19c: aa33 add r2, sp, #204 ; 0xcc
|
|
b19e: 9908 ldr r1, [sp, #32]
|
|
b1a0: a828 add r0, sp, #160 ; 0xa0
|
|
b1a2: 4b18 ldr r3, [pc, #96] ; (b204 <lv_draw_line+0x90c>)
|
|
b1a4: 4798 blx r3
|
|
b1a6: e7c7 b.n b138 <lv_draw_line+0x840>
|
|
cir_area.x1 = point1->x - r;
|
|
b1a8: 9806 ldr r0, [sp, #24]
|
|
b1aa: 8802 ldrh r2, [r0, #0]
|
|
b1ac: b2b3 uxth r3, r6
|
|
b1ae: 1ad1 subs r1, r2, r3
|
|
b1b0: f8ad 10a0 strh.w r1, [sp, #160] ; 0xa0
|
|
cir_area.y1 = point1->y - r;
|
|
b1b4: 8840 ldrh r0, [r0, #2]
|
|
b1b6: 1ac1 subs r1, r0, r3
|
|
b1b8: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2
|
|
cir_area.x2 = point1->x + r - r_corr;
|
|
b1bc: b2a9 uxth r1, r5
|
|
b1be: 441a add r2, r3
|
|
b1c0: 1a52 subs r2, r2, r1
|
|
b1c2: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4
|
|
cir_area.y2 = point1->y + r - r_corr ;
|
|
b1c6: 4403 add r3, r0
|
|
b1c8: 1a5b subs r3, r3, r1
|
|
b1ca: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6
|
|
lv_draw_rect(&cir_area, clip, &cir_dsc);
|
|
b1ce: aa33 add r2, sp, #204 ; 0xcc
|
|
b1d0: 9908 ldr r1, [sp, #32]
|
|
b1d2: a828 add r0, sp, #160 ; 0xa0
|
|
b1d4: 4b0b ldr r3, [pc, #44] ; (b204 <lv_draw_line+0x90c>)
|
|
b1d6: 4798 blx r3
|
|
b1d8: e7c9 b.n b16e <lv_draw_line+0x876>
|
|
b1da: bf00 nop
|
|
b1dc: 00012559 .word 0x00012559
|
|
b1e0: 0000bed1 .word 0x0000bed1
|
|
b1e4: 0000bda9 .word 0x0000bda9
|
|
b1e8: 000114e5 .word 0x000114e5
|
|
b1ec: 00012b1f .word 0x00012b1f
|
|
b1f0: 00007739 .word 0x00007739
|
|
b1f4: 00012bd5 .word 0x00012bd5
|
|
b1f8: 0000be05 .word 0x0000be05
|
|
b1fc: 0000be55 .word 0x0000be55
|
|
b200: 0000c251 .word 0x0000c251
|
|
b204: 0000c319 .word 0x0000c319
|
|
|
|
0000b208 <lv_draw_mask_line>:
|
|
**********************/
|
|
|
|
LV_ATTRIBUTE_FAST_MEM static lv_draw_mask_res_t lv_draw_mask_line(lv_opa_t * mask_buf, lv_coord_t abs_x,
|
|
lv_coord_t abs_y, lv_coord_t len,
|
|
lv_draw_mask_line_param_t * p)
|
|
{
|
|
b208: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
b20c: 9c06 ldr r4, [sp, #24]
|
|
/*Make to points relative to the vertex*/
|
|
abs_y -= p->origo.y;
|
|
b20e: 8aa5 ldrh r5, [r4, #20]
|
|
b210: 1b52 subs r2, r2, r5
|
|
b212: b212 sxth r2, r2
|
|
abs_x -= p->origo.x;
|
|
b214: 8a65 ldrh r5, [r4, #18]
|
|
b216: 1b4d subs r5, r1, r5
|
|
b218: b22d sxth r5, r5
|
|
|
|
/*Handle special cases*/
|
|
if(p->steep == 0) {
|
|
b21a: 6a21 ldr r1, [r4, #32]
|
|
b21c: 2900 cmp r1, #0
|
|
b21e: d14b bne.n b2b8 <lv_draw_mask_line+0xb0>
|
|
/*Horizontal*/
|
|
if(p->flat) {
|
|
b220: f894 1028 ldrb.w r1, [r4, #40] ; 0x28
|
|
b224: f011 0f01 tst.w r1, #1
|
|
b228: d016 beq.n b258 <lv_draw_mask_line+0x50>
|
|
/*Non sense: Can't be on the right/left of a horizontal line*/
|
|
if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT ||
|
|
b22a: 7c23 ldrb r3, [r4, #16]
|
|
b22c: f003 0303 and.w r3, r3, #3
|
|
b230: 2b01 cmp r3, #1
|
|
b232: f240 81db bls.w b5ec <lv_draw_mask_line+0x3e4>
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b236: 2b02 cmp r3, #2
|
|
b238: d004 beq.n b244 <lv_draw_mask_line+0x3c>
|
|
else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM && abs_y > 0) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b23a: 2b03 cmp r3, #3
|
|
b23c: d006 beq.n b24c <lv_draw_mask_line+0x44>
|
|
else {
|
|
return LV_DRAW_MASK_RES_TRANSP;
|
|
b23e: 2000 movs r0, #0
|
|
b240: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b244: 3201 adds r2, #1
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b246: 0fd0 lsrs r0, r2, #31
|
|
b248: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
b24c: 2a00 cmp r2, #0
|
|
b24e: bfd4 ite le
|
|
b250: 2000 movle r0, #0
|
|
b252: 2001 movgt r0, #1
|
|
b254: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
}
|
|
}
|
|
/*Vertical*/
|
|
else {
|
|
/*Non sense: Can't be on the top/bottom of a vertical line*/
|
|
if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP ||
|
|
b258: 7c22 ldrb r2, [r4, #16]
|
|
b25a: f002 0203 and.w r2, r2, #3
|
|
b25e: 1e91 subs r1, r2, #2
|
|
b260: b2c9 uxtb r1, r1
|
|
b262: 2901 cmp r1, #1
|
|
b264: f240 81c5 bls.w b5f2 <lv_draw_mask_line+0x3ea>
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b268: 2a01 cmp r2, #1
|
|
b26a: d00c beq.n b286 <lv_draw_mask_line+0x7e>
|
|
else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) {
|
|
b26c: b9b2 cbnz r2, b29c <lv_draw_mask_line+0x94>
|
|
if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b26e: 18e9 adds r1, r5, r3
|
|
b270: f100 81c2 bmi.w b5f8 <lv_draw_mask_line+0x3f0>
|
|
else {
|
|
int32_t k = - abs_x;
|
|
b274: 426d negs r5, r5
|
|
if(k < 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b276: 2d00 cmp r5, #0
|
|
b278: f2c0 81c1 blt.w b5fe <lv_draw_mask_line+0x3f6>
|
|
if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k);
|
|
b27c: 42ab cmp r3, r5
|
|
b27e: dc07 bgt.n b290 <lv_draw_mask_line+0x88>
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b280: 2002 movs r0, #2
|
|
b282: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b286: 2d00 cmp r5, #0
|
|
b288: dd08 ble.n b29c <lv_draw_mask_line+0x94>
|
|
b28a: 2001 movs r0, #1
|
|
b28c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k);
|
|
b290: 4428 add r0, r5
|
|
b292: 4bcd ldr r3, [pc, #820] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b294: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b296: 2002 movs r0, #2
|
|
b298: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
}
|
|
}
|
|
else {
|
|
if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b29c: 42dd cmn r5, r3
|
|
b29e: f100 81b1 bmi.w b604 <lv_draw_mask_line+0x3fc>
|
|
else {
|
|
int32_t k = - abs_x;
|
|
b2a2: 4269 negs r1, r5
|
|
b2a4: ea21 71e1 bic.w r1, r1, r1, asr #31
|
|
if(k < 0) k = 0;
|
|
if(k >= len) return LV_DRAW_MASK_RES_TRANSP;
|
|
b2a8: 428b cmp r3, r1
|
|
b2aa: f340 81ae ble.w b60a <lv_draw_mask_line+0x402>
|
|
else if(k >= 0 && k < len) _lv_memset_00(&mask_buf[0], k);
|
|
b2ae: 4bc6 ldr r3, [pc, #792] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b2b0: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b2b2: 2002 movs r0, #2
|
|
b2b4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
}
|
|
}
|
|
}
|
|
|
|
lv_draw_mask_res_t res;
|
|
if(p->flat) {
|
|
b2b8: f894 6028 ldrb.w r6, [r4, #40] ; 0x28
|
|
b2bc: f016 0f01 tst.w r6, #1
|
|
b2c0: d10f bne.n b2e2 <lv_draw_mask_line+0xda>
|
|
{
|
|
int32_t k;
|
|
int32_t x_at_y;
|
|
/* At the beginning of the mask if the limit line is greater then the mask's y.
|
|
* Then the mask is in the "wrong" area*/
|
|
x_at_y = (int32_t)((int32_t)p->xy_steep * abs_y) >> 10;
|
|
b2c2: 69a7 ldr r7, [r4, #24]
|
|
b2c4: fb02 f107 mul.w r1, r2, r7
|
|
b2c8: 1289 asrs r1, r1, #10
|
|
if(p->xy_steep > 0) x_at_y++;
|
|
b2ca: 2f00 cmp r7, #0
|
|
b2cc: bfcc ite gt
|
|
b2ce: f101 0e01 addgt.w lr, r1, #1
|
|
x_at_y = (int32_t)((int32_t)p->xy_steep * abs_y) >> 10;
|
|
b2d2: 468e movle lr, r1
|
|
if(x_at_y < abs_x) {
|
|
b2d4: 4575 cmp r5, lr
|
|
b2d6: f340 8098 ble.w b40a <lv_draw_mask_line+0x202>
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b2da: f3c6 0040 ubfx r0, r6, #1, #1
|
|
b2de: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
y_at_x = (int32_t)((int32_t)p->yx_steep * abs_x) >> 10;
|
|
b2e2: 69e1 ldr r1, [r4, #28]
|
|
b2e4: fb05 f701 mul.w r7, r5, r1
|
|
b2e8: 12bf asrs r7, r7, #10
|
|
if(p->yx_steep > 0) {
|
|
b2ea: 2900 cmp r1, #0
|
|
b2ec: dd06 ble.n b2fc <lv_draw_mask_line+0xf4>
|
|
if(y_at_x > abs_y) {
|
|
b2ee: 4297 cmp r7, r2
|
|
b2f0: f340 81b8 ble.w b664 <lv_draw_mask_line+0x45c>
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b2f4: f3c6 0040 ubfx r0, r6, #1, #1
|
|
b2f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(y_at_x < abs_y) {
|
|
b2fc: 4297 cmp r7, r2
|
|
b2fe: f280 81ed bge.w b6dc <lv_draw_mask_line+0x4d4>
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b302: f3c6 0040 ubfx r0, r6, #1, #1
|
|
b306: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(p->inv) {
|
|
b30a: f086 0002 eor.w r0, r6, #2
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b30e: f3c0 0040 ubfx r0, r0, #1, #1
|
|
b312: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(p->inv) {
|
|
b316: f086 0002 eor.w r0, r6, #2
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b31a: f3c0 0040 ubfx r0, r0, #1, #1
|
|
b31e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
|
|
|
|
LV_ATTRIBUTE_FAST_MEM static inline lv_opa_t mask_mix(lv_opa_t mask_act, lv_opa_t mask_new)
|
|
{
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b322: 2500 movs r5, #0
|
|
b324: e1d4 b.n b6d0 <lv_draw_mask_line+0x4c8>
|
|
b326: 46f4 mov ip, lr
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b328: f888 c000 strb.w ip, [r8]
|
|
px_h -= p->spx;
|
|
b32c: 6a63 ldr r3, [r4, #36] ; 0x24
|
|
b32e: 1ad2 subs r2, r2, r3
|
|
k++;
|
|
b330: 3501 adds r5, #1
|
|
b332: 3601 adds r6, #1
|
|
if(k >= len) break;
|
|
b334: 42bd cmp r5, r7
|
|
b336: da49 bge.n b3cc <lv_draw_mask_line+0x1c4>
|
|
while(px_h > p->spx) {
|
|
b338: 6a63 ldr r3, [r4, #36] ; 0x24
|
|
b33a: 429a cmp r2, r3
|
|
b33c: dd1d ble.n b37a <lv_draw_mask_line+0x172>
|
|
if(k >= 0 && k < len) {
|
|
b33e: 2d00 cmp r5, #0
|
|
b340: dbf4 blt.n b32c <lv_draw_mask_line+0x124>
|
|
b342: 42bd cmp r5, r7
|
|
b344: daf2 bge.n b32c <lv_draw_mask_line+0x124>
|
|
m = px_h - (p->spx >> 1);
|
|
b346: eba2 0363 sub.w r3, r2, r3, asr #1
|
|
b34a: b2db uxtb r3, r3
|
|
if(p->inv) m = 255 - m;
|
|
b34c: f894 c028 ldrb.w ip, [r4, #40] ; 0x28
|
|
b350: f01c 0f02 tst.w ip, #2
|
|
b354: bf1c itt ne
|
|
b356: 43db mvnne r3, r3
|
|
b358: b2db uxtbne r3, r3
|
|
b35a: 46b0 mov r8, r6
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b35c: f896 c000 ldrb.w ip, [r6]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b360: 2bf9 cmp r3, #249 ; 0xf9
|
|
b362: d8e1 bhi.n b328 <lv_draw_mask_line+0x120>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b364: 2b05 cmp r3, #5
|
|
b366: d9de bls.n b326 <lv_draw_mask_line+0x11e>
|
|
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b368: fb03 f30c mul.w r3, r3, ip
|
|
b36c: eb03 2c03 add.w ip, r3, r3, lsl #8
|
|
b370: eb03 13cc add.w r3, r3, ip, lsl #7
|
|
b374: f3c3 5cc7 ubfx ip, r3, #23, #8
|
|
b378: e7d6 b.n b328 <lv_draw_mask_line+0x120>
|
|
if(k < len && k >= 0) {
|
|
b37a: 42bd cmp r5, r7
|
|
b37c: da26 bge.n b3cc <lv_draw_mask_line+0x1c4>
|
|
b37e: 2d00 cmp r5, #0
|
|
b380: db24 blt.n b3cc <lv_draw_mask_line+0x1c4>
|
|
int32_t x_inters = (px_h * p->xy_steep) >> 10;
|
|
b382: 69a3 ldr r3, [r4, #24]
|
|
b384: fb03 f302 mul.w r3, r3, r2
|
|
b388: 129b asrs r3, r3, #10
|
|
m = (x_inters * px_h) >> 9;
|
|
b38a: fb02 f203 mul.w r2, r2, r3
|
|
b38e: f3c2 2247 ubfx r2, r2, #9, #8
|
|
if(p->yx_steep < 0) m = 255 - m;
|
|
b392: 69e3 ldr r3, [r4, #28]
|
|
b394: 2b00 cmp r3, #0
|
|
b396: bfbc itt lt
|
|
b398: 43d2 mvnlt r2, r2
|
|
b39a: b2d2 uxtblt r2, r2
|
|
if(p->inv) m = 255 - m;
|
|
b39c: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
b3a0: f013 0f02 tst.w r3, #2
|
|
b3a4: bf1c itt ne
|
|
b3a6: 43d2 mvnne r2, r2
|
|
b3a8: b2d2 uxtbne r2, r2
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b3aa: 1946 adds r6, r0, r5
|
|
b3ac: 5d43 ldrb r3, [r0, r5]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b3ae: 2af9 cmp r2, #249 ; 0xf9
|
|
b3b0: d80b bhi.n b3ca <lv_draw_mask_line+0x1c2>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b3b2: 2a05 cmp r2, #5
|
|
b3b4: d908 bls.n b3c8 <lv_draw_mask_line+0x1c0>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b3b6: fb02 f203 mul.w r2, r2, r3
|
|
b3ba: eb02 2302 add.w r3, r2, r2, lsl #8
|
|
b3be: eb02 12c3 add.w r2, r2, r3, lsl #7
|
|
b3c2: f3c2 53c7 ubfx r3, r2, #23, #8
|
|
b3c6: e000 b.n b3ca <lv_draw_mask_line+0x1c2>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b3c8: 2300 movs r3, #0
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b3ca: 7033 strb r3, [r6, #0]
|
|
if(p->inv) {
|
|
b3cc: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
b3d0: f013 0f02 tst.w r3, #2
|
|
b3d4: d00a beq.n b3ec <lv_draw_mask_line+0x1e4>
|
|
if(k > len) {
|
|
b3d6: 428f cmp r7, r1
|
|
b3d8: f2c0 811a blt.w b610 <lv_draw_mask_line+0x408>
|
|
if(k >= 0) {
|
|
b3dc: 2900 cmp r1, #0
|
|
b3de: f2c0 811a blt.w b616 <lv_draw_mask_line+0x40e>
|
|
_lv_memset_00(&mask_buf[0], k);
|
|
b3e2: 4b79 ldr r3, [pc, #484] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b3e4: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b3e6: 2002 movs r0, #2
|
|
b3e8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k < 0) {
|
|
b3ec: 3501 adds r5, #1
|
|
b3ee: f100 8115 bmi.w b61c <lv_draw_mask_line+0x414>
|
|
if(k <= len) {
|
|
b3f2: 42bd cmp r5, r7
|
|
b3f4: dd02 ble.n b3fc <lv_draw_mask_line+0x1f4>
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b3f6: 2002 movs r0, #2
|
|
b3f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
_lv_memset_00(&mask_buf[k], len - k);
|
|
b3fc: 1b79 subs r1, r7, r5
|
|
b3fe: 4428 add r0, r5
|
|
b400: 4b71 ldr r3, [pc, #452] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b402: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b404: 2002 movs r0, #2
|
|
b406: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(x_at_y > abs_x + len) {
|
|
b40a: eb05 0e03 add.w lr, r5, r3
|
|
b40e: 4571 cmp r1, lr
|
|
b410: dd05 ble.n b41e <lv_draw_mask_line+0x216>
|
|
if(p->inv) {
|
|
b412: f086 0002 eor.w r0, r6, #2
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b416: f3c0 0040 ubfx r0, r0, #1, #1
|
|
b41a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
int32_t xs = ((abs_y << 8) * p->xy_steep) >> 10;
|
|
b41e: 0211 lsls r1, r2, #8
|
|
b420: fb07 f101 mul.w r1, r7, r1
|
|
int32_t xsi = xs >> 8;
|
|
b424: ea4f 48a1 mov.w r8, r1, asr #18
|
|
int32_t xsf = xs & 0xFF;
|
|
b428: f3c1 2187 ubfx r1, r1, #10, #8
|
|
int32_t xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10;
|
|
b42c: 3201 adds r2, #1
|
|
b42e: 0212 lsls r2, r2, #8
|
|
b430: fb07 f202 mul.w r2, r7, r2
|
|
int32_t xei = xe >> 8;
|
|
b434: ea4f 4ca2 mov.w ip, r2, asr #18
|
|
k = xsi - abs_x;
|
|
b438: eba8 0e05 sub.w lr, r8, r5
|
|
if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) {
|
|
b43c: 45e0 cmp r8, ip
|
|
b43e: d063 beq.n b508 <lv_draw_mask_line+0x300>
|
|
b440: 2f00 cmp r7, #0
|
|
b442: db5b blt.n b4fc <lv_draw_mask_line+0x2f4>
|
|
y_inters = ((255 - xsf) * p->yx_steep) >> 10;
|
|
b444: f1c1 01ff rsb r1, r1, #255 ; 0xff
|
|
b448: 69e2 ldr r2, [r4, #28]
|
|
b44a: fb02 f201 mul.w r2, r2, r1
|
|
b44e: 1295 asrs r5, r2, #10
|
|
if(k >= 0 && k < len) {
|
|
b450: f1be 0f00 cmp.w lr, #0
|
|
b454: db1c blt.n b490 <lv_draw_mask_line+0x288>
|
|
b456: 4573 cmp r3, lr
|
|
b458: dd1a ble.n b490 <lv_draw_mask_line+0x288>
|
|
m = 255 - ((y_inters * (255 - xsf)) >> 9);
|
|
b45a: fb05 f101 mul.w r1, r5, r1
|
|
b45e: f3c1 2247 ubfx r2, r1, #9, #8
|
|
if(p->inv) m = 255 - m;
|
|
b462: f016 0f02 tst.w r6, #2
|
|
m = 255 - ((y_inters * (255 - xsf)) >> 9);
|
|
b466: bf04 itt eq
|
|
b468: 43d2 mvneq r2, r2
|
|
b46a: b2d2 uxtbeq r2, r2
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b46c: eb00 060e add.w r6, r0, lr
|
|
b470: f810 100e ldrb.w r1, [r0, lr]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b474: 2af9 cmp r2, #249 ; 0xf9
|
|
b476: d80a bhi.n b48e <lv_draw_mask_line+0x286>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b478: 2a05 cmp r2, #5
|
|
b47a: f240 80a1 bls.w b5c0 <lv_draw_mask_line+0x3b8>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b47e: fb02 f201 mul.w r2, r2, r1
|
|
b482: eb02 2102 add.w r1, r2, r2, lsl #8
|
|
b486: eb02 12c1 add.w r2, r2, r1, lsl #7
|
|
b48a: f3c2 51c7 ubfx r1, r2, #23, #8
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b48e: 7031 strb r1, [r6, #0]
|
|
if(k >= 0 && k < len) {
|
|
b490: f11e 0101 adds.w r1, lr, #1
|
|
b494: d420 bmi.n b4d8 <lv_draw_mask_line+0x2d0>
|
|
b496: 428b cmp r3, r1
|
|
b498: dd1e ble.n b4d8 <lv_draw_mask_line+0x2d0>
|
|
int32_t x_inters = ((255 - y_inters) * p->xy_steep) >> 10;
|
|
b49a: f1c5 02ff rsb r2, r5, #255 ; 0xff
|
|
b49e: 69a5 ldr r5, [r4, #24]
|
|
b4a0: fb05 f502 mul.w r5, r5, r2
|
|
b4a4: 12ad asrs r5, r5, #10
|
|
m = ((255 - y_inters) * x_inters) >> 9;
|
|
b4a6: fb02 f205 mul.w r2, r2, r5
|
|
b4aa: f3c2 2247 ubfx r2, r2, #9, #8
|
|
if(p->inv) m = 255 - m;
|
|
b4ae: f894 5028 ldrb.w r5, [r4, #40] ; 0x28
|
|
b4b2: f015 0f02 tst.w r5, #2
|
|
b4b6: bf1c itt ne
|
|
b4b8: 43d2 mvnne r2, r2
|
|
b4ba: b2d2 uxtbne r2, r2
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b4bc: 5c45 ldrb r5, [r0, r1]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b4be: 2af9 cmp r2, #249 ; 0xf9
|
|
b4c0: d809 bhi.n b4d6 <lv_draw_mask_line+0x2ce>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b4c2: 2a05 cmp r2, #5
|
|
b4c4: d97e bls.n b5c4 <lv_draw_mask_line+0x3bc>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b4c6: fb02 f205 mul.w r2, r2, r5
|
|
b4ca: eb02 2502 add.w r5, r2, r2, lsl #8
|
|
b4ce: eb02 12c5 add.w r2, r2, r5, lsl #7
|
|
b4d2: f3c2 55c7 ubfx r5, r2, #23, #8
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b4d6: 5445 strb r5, [r0, r1]
|
|
if(p->inv) {
|
|
b4d8: f894 2028 ldrb.w r2, [r4, #40] ; 0x28
|
|
b4dc: f012 0f02 tst.w r2, #2
|
|
b4e0: d074 beq.n b5cc <lv_draw_mask_line+0x3c4>
|
|
if(k > len) return LV_DRAW_MASK_RES_TRANSP;
|
|
b4e2: 4573 cmp r3, lr
|
|
b4e4: f2c0 80b2 blt.w b64c <lv_draw_mask_line+0x444>
|
|
if(k >= 0) _lv_memset_00(&mask_buf[0], k);
|
|
b4e8: f1be 0f00 cmp.w lr, #0
|
|
b4ec: f2c0 80b1 blt.w b652 <lv_draw_mask_line+0x44a>
|
|
b4f0: 4671 mov r1, lr
|
|
b4f2: 4b35 ldr r3, [pc, #212] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b4f4: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b4f6: 2002 movs r0, #2
|
|
b4f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) {
|
|
b4fc: 2900 cmp r1, #0
|
|
b4fe: f040 8100 bne.w b702 <lv_draw_mask_line+0x4fa>
|
|
k--;
|
|
b502: f10e 3eff add.w lr, lr, #4294967295
|
|
xsf = 0xFF;
|
|
b506: 21ff movs r1, #255 ; 0xff
|
|
if(k >= 0 && k < len) {
|
|
b508: f1be 0f00 cmp.w lr, #0
|
|
b50c: db1e blt.n b54c <lv_draw_mask_line+0x344>
|
|
b50e: 4573 cmp r3, lr
|
|
b510: dd1c ble.n b54c <lv_draw_mask_line+0x344>
|
|
int32_t xef = xe & 0xFF;
|
|
b512: f3c2 2287 ubfx r2, r2, #10, #8
|
|
m = (xsf + xef) >> 1;
|
|
b516: 440a add r2, r1
|
|
b518: f3c2 0247 ubfx r2, r2, #1, #8
|
|
if(p->inv) m = 255 - m;
|
|
b51c: f016 0f02 tst.w r6, #2
|
|
b520: bf1c itt ne
|
|
b522: 43d2 mvnne r2, r2
|
|
b524: b2d2 uxtbne r2, r2
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b526: eb00 060e add.w r6, r0, lr
|
|
b52a: f810 100e ldrb.w r1, [r0, lr]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b52e: 2af9 cmp r2, #249 ; 0xf9
|
|
b530: d80b bhi.n b54a <lv_draw_mask_line+0x342>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b532: 2a05 cmp r2, #5
|
|
b534: d908 bls.n b548 <lv_draw_mask_line+0x340>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b536: fb02 f201 mul.w r2, r2, r1
|
|
b53a: eb02 2102 add.w r1, r2, r2, lsl #8
|
|
b53e: eb02 12c1 add.w r2, r2, r1, lsl #7
|
|
b542: f3c2 51c7 ubfx r1, r2, #23, #8
|
|
b546: e000 b.n b54a <lv_draw_mask_line+0x342>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b548: 2100 movs r1, #0
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b54a: 7031 strb r1, [r6, #0]
|
|
if(p->inv) {
|
|
b54c: f894 2028 ldrb.w r2, [r4, #40] ; 0x28
|
|
b550: f012 0f02 tst.w r2, #2
|
|
b554: d00a beq.n b56c <lv_draw_mask_line+0x364>
|
|
k = xsi - abs_x;
|
|
b556: ebac 0105 sub.w r1, ip, r5
|
|
if(k >= len) {
|
|
b55a: 428b cmp r3, r1
|
|
b55c: dd61 ble.n b622 <lv_draw_mask_line+0x41a>
|
|
if(k >= 0) _lv_memset_00(&mask_buf[0], k);
|
|
b55e: 2900 cmp r1, #0
|
|
b560: db62 blt.n b628 <lv_draw_mask_line+0x420>
|
|
b562: 4b19 ldr r3, [pc, #100] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b564: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b566: 2002 movs r0, #2
|
|
b568: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
k++;
|
|
b56c: f10e 0201 add.w r2, lr, #1
|
|
b570: 429a cmp r2, r3
|
|
b572: bfa8 it ge
|
|
b574: 461a movge r2, r3
|
|
if(k == 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b576: 2a00 cmp r2, #0
|
|
b578: d059 beq.n b62e <lv_draw_mask_line+0x426>
|
|
else if(k > 0) _lv_memset_00(&mask_buf[k], len - k);
|
|
b57a: 2a00 cmp r2, #0
|
|
b57c: dd5a ble.n b634 <lv_draw_mask_line+0x42c>
|
|
b57e: 1a99 subs r1, r3, r2
|
|
b580: 4410 add r0, r2
|
|
b582: 4b11 ldr r3, [pc, #68] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b584: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b586: 2002 movs r0, #2
|
|
b588: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b58c: 2500 movs r5, #0
|
|
b58e: e0dc b.n b74a <lv_draw_mask_line+0x542>
|
|
b590: 2500 movs r5, #0
|
|
b592: e100 b.n b796 <lv_draw_mask_line+0x58e>
|
|
else if(k > 0) _lv_memset_00(&mask_buf[0], k);
|
|
b594: 2900 cmp r1, #0
|
|
b596: dd50 ble.n b63a <lv_draw_mask_line+0x432>
|
|
b598: 4b0b ldr r3, [pc, #44] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b59a: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b59c: 2002 movs r0, #2
|
|
b59e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
k += 2;
|
|
b5a2: f10e 0e01 add.w lr, lr, #1
|
|
if(k > len) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b5a6: 4573 cmp r3, lr
|
|
b5a8: db4a blt.n b640 <lv_draw_mask_line+0x438>
|
|
if(k >= 0) _lv_memset_00(&mask_buf[k], len - k);
|
|
b5aa: f1be 0f00 cmp.w lr, #0
|
|
b5ae: db4a blt.n b646 <lv_draw_mask_line+0x43e>
|
|
b5b0: eba3 010e sub.w r1, r3, lr
|
|
b5b4: 4470 add r0, lr
|
|
b5b6: 4b04 ldr r3, [pc, #16] ; (b5c8 <lv_draw_mask_line+0x3c0>)
|
|
b5b8: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b5ba: 2002 movs r0, #2
|
|
b5bc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b5c0: 2100 movs r1, #0
|
|
b5c2: e764 b.n b48e <lv_draw_mask_line+0x286>
|
|
b5c4: 2500 movs r5, #0
|
|
b5c6: e786 b.n b4d6 <lv_draw_mask_line+0x2ce>
|
|
b5c8: 00012b1f .word 0x00012b1f
|
|
k++;
|
|
b5cc: f10e 0202 add.w r2, lr, #2
|
|
b5d0: 429a cmp r2, r3
|
|
b5d2: bfa8 it ge
|
|
b5d4: 461a movge r2, r3
|
|
if(k == 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b5d6: 2a00 cmp r2, #0
|
|
b5d8: d03e beq.n b658 <lv_draw_mask_line+0x450>
|
|
else if(k > 0) _lv_memset_00(&mask_buf[k], len - k);
|
|
b5da: 2a00 cmp r2, #0
|
|
b5dc: dd3f ble.n b65e <lv_draw_mask_line+0x456>
|
|
b5de: 1a99 subs r1, r3, r2
|
|
b5e0: 4410 add r0, r2
|
|
b5e2: 4b73 ldr r3, [pc, #460] ; (b7b0 <lv_draw_mask_line+0x5a8>)
|
|
b5e4: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b5e6: 2002 movs r0, #2
|
|
b5e8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b5ec: 2001 movs r0, #1
|
|
b5ee: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b5f2: 2001 movs r0, #1
|
|
b5f4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b5f8: 2001 movs r0, #1
|
|
b5fa: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k < 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b5fe: 2000 movs r0, #0
|
|
b600: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b604: 2000 movs r0, #0
|
|
b606: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k >= len) return LV_DRAW_MASK_RES_TRANSP;
|
|
b60a: 2000 movs r0, #0
|
|
b60c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_TRANSP;
|
|
b610: 2000 movs r0, #0
|
|
b612: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b616: 2002 movs r0, #2
|
|
b618: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_TRANSP;
|
|
b61c: 2000 movs r0, #0
|
|
b61e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_TRANSP;
|
|
b622: 2000 movs r0, #0
|
|
b624: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b628: 2002 movs r0, #2
|
|
b62a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k == 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b62e: 2000 movs r0, #0
|
|
b630: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b634: 2002 movs r0, #2
|
|
b636: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
b63a: 2002 movs r0, #2
|
|
b63c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k > len) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b640: 2001 movs r0, #1
|
|
b642: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b646: 2002 movs r0, #2
|
|
b648: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k > len) return LV_DRAW_MASK_RES_TRANSP;
|
|
b64c: 2000 movs r0, #0
|
|
b64e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b652: 2002 movs r0, #2
|
|
b654: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(k == 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b658: 2000 movs r0, #0
|
|
b65a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b65e: 2002 movs r0, #2
|
|
b660: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10;
|
|
b664: 461f mov r7, r3
|
|
b666: 442b add r3, r5
|
|
b668: fb01 f103 mul.w r1, r1, r3
|
|
if(y_at_x < abs_y) {
|
|
b66c: ebb2 2fa1 cmp.w r2, r1, asr #10
|
|
b670: f73f ae4b bgt.w b30a <lv_draw_mask_line+0x102>
|
|
if(p->yx_steep > 0) xe = ((abs_y << 8) * p->xy_steep) >> 10;
|
|
b674: 0212 lsls r2, r2, #8
|
|
b676: 69a3 ldr r3, [r4, #24]
|
|
b678: fb03 f302 mul.w r3, r3, r2
|
|
b67c: 129b asrs r3, r3, #10
|
|
int32_t xei = xe >> 8;
|
|
b67e: 1219 asrs r1, r3, #8
|
|
if(xef == 0) px_h = 255;
|
|
b680: f013 03ff ands.w r3, r3, #255 ; 0xff
|
|
b684: d039 beq.n b6fa <lv_draw_mask_line+0x4f2>
|
|
else px_h = 255 - (((255 - xef) * p->spx) >> 8);
|
|
b686: f1c3 03ff rsb r3, r3, #255 ; 0xff
|
|
b68a: 6a62 ldr r2, [r4, #36] ; 0x24
|
|
b68c: fb02 f203 mul.w r2, r2, r3
|
|
b690: ea4f 2e22 mov.w lr, r2, asr #8
|
|
b694: f1ce 02ff rsb r2, lr, #255 ; 0xff
|
|
if(k >= 0 && k < len) {
|
|
b698: 1b49 subs r1, r1, r5
|
|
b69a: d41a bmi.n b6d2 <lv_draw_mask_line+0x4ca>
|
|
b69c: 42b9 cmp r1, r7
|
|
b69e: da18 bge.n b6d2 <lv_draw_mask_line+0x4ca>
|
|
m = 255 - (((255 - xef) * (255 - px_h)) >> 9);
|
|
b6a0: fb0e f303 mul.w r3, lr, r3
|
|
b6a4: f3c3 2347 ubfx r3, r3, #9, #8
|
|
if(p->inv) m = 255 - m;
|
|
b6a8: f016 0f02 tst.w r6, #2
|
|
m = 255 - (((255 - xef) * (255 - px_h)) >> 9);
|
|
b6ac: bf04 itt eq
|
|
b6ae: 43db mvneq r3, r3
|
|
b6b0: b2db uxtbeq r3, r3
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b6b2: 1846 adds r6, r0, r1
|
|
b6b4: 5c45 ldrb r5, [r0, r1]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b6b6: 2bf9 cmp r3, #249 ; 0xf9
|
|
b6b8: d80a bhi.n b6d0 <lv_draw_mask_line+0x4c8>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b6ba: 2b05 cmp r3, #5
|
|
b6bc: f67f ae31 bls.w b322 <lv_draw_mask_line+0x11a>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b6c0: fb03 f305 mul.w r3, r3, r5
|
|
b6c4: eb03 2503 add.w r5, r3, r3, lsl #8
|
|
b6c8: eb03 13c5 add.w r3, r3, r5, lsl #7
|
|
b6cc: f3c3 55c7 ubfx r5, r3, #23, #8
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b6d0: 7035 strb r5, [r6, #0]
|
|
k++;
|
|
b6d2: 1c4d adds r5, r1, #1
|
|
b6d4: 1946 adds r6, r0, r5
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b6d6: f04f 0e00 mov.w lr, #0
|
|
b6da: e62d b.n b338 <lv_draw_mask_line+0x130>
|
|
y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10;
|
|
b6dc: 461f mov r7, r3
|
|
b6de: 442b add r3, r5
|
|
b6e0: fb01 f103 mul.w r1, r1, r3
|
|
if(y_at_x > abs_y) {
|
|
b6e4: ebb2 2fa1 cmp.w r2, r1, asr #10
|
|
b6e8: f6ff ae15 blt.w b316 <lv_draw_mask_line+0x10e>
|
|
else xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10;
|
|
b6ec: 3201 adds r2, #1
|
|
b6ee: 0212 lsls r2, r2, #8
|
|
b6f0: 69a3 ldr r3, [r4, #24]
|
|
b6f2: fb03 f302 mul.w r3, r3, r2
|
|
b6f6: 129b asrs r3, r3, #10
|
|
b6f8: e7c1 b.n b67e <lv_draw_mask_line+0x476>
|
|
int32_t k = xei - abs_x;
|
|
b6fa: 1b4d subs r5, r1, r5
|
|
b6fc: 4629 mov r1, r5
|
|
if(xef == 0) px_h = 255;
|
|
b6fe: 22ff movs r2, #255 ; 0xff
|
|
b700: e7e8 b.n b6d4 <lv_draw_mask_line+0x4cc>
|
|
y_inters = (xsf * (-p->yx_steep)) >> 10;
|
|
b702: 69e2 ldr r2, [r4, #28]
|
|
b704: 4252 negs r2, r2
|
|
b706: fb01 f202 mul.w r2, r1, r2
|
|
b70a: 1292 asrs r2, r2, #10
|
|
if(k >= 0 && k < len) {
|
|
b70c: f1be 0f00 cmp.w lr, #0
|
|
b710: db1c blt.n b74c <lv_draw_mask_line+0x544>
|
|
b712: 4573 cmp r3, lr
|
|
b714: dd1a ble.n b74c <lv_draw_mask_line+0x544>
|
|
m = (y_inters * xsf) >> 9;
|
|
b716: fb02 f101 mul.w r1, r2, r1
|
|
b71a: f3c1 2147 ubfx r1, r1, #9, #8
|
|
if(p->inv) m = 255 - m;
|
|
b71e: f016 0f02 tst.w r6, #2
|
|
b722: bf1c itt ne
|
|
b724: 43c9 mvnne r1, r1
|
|
b726: b2c9 uxtbne r1, r1
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b728: eb00 060e add.w r6, r0, lr
|
|
b72c: f810 500e ldrb.w r5, [r0, lr]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b730: 29f9 cmp r1, #249 ; 0xf9
|
|
b732: d80a bhi.n b74a <lv_draw_mask_line+0x542>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b734: 2905 cmp r1, #5
|
|
b736: f67f af29 bls.w b58c <lv_draw_mask_line+0x384>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b73a: fb01 f105 mul.w r1, r1, r5
|
|
b73e: eb01 2501 add.w r5, r1, r1, lsl #8
|
|
b742: eb01 11c5 add.w r1, r1, r5, lsl #7
|
|
b746: f3c1 55c7 ubfx r5, r1, #23, #8
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b74a: 7035 strb r5, [r6, #0]
|
|
if(k >= 0 && k < len) {
|
|
b74c: f1be 0101 subs.w r1, lr, #1
|
|
b750: d422 bmi.n b798 <lv_draw_mask_line+0x590>
|
|
b752: 428b cmp r3, r1
|
|
b754: dd20 ble.n b798 <lv_draw_mask_line+0x590>
|
|
int32_t x_inters = ((255 - y_inters) * (-p->xy_steep)) >> 10;
|
|
b756: f1c2 02ff rsb r2, r2, #255 ; 0xff
|
|
b75a: 69a5 ldr r5, [r4, #24]
|
|
b75c: 426d negs r5, r5
|
|
b75e: fb02 f505 mul.w r5, r2, r5
|
|
b762: 12ad asrs r5, r5, #10
|
|
m = 255 - (((255 - y_inters) * x_inters) >> 9);
|
|
b764: fb02 f205 mul.w r2, r2, r5
|
|
b768: f3c2 2247 ubfx r2, r2, #9, #8
|
|
if(p->inv) m = 255 - m;
|
|
b76c: f894 5028 ldrb.w r5, [r4, #40] ; 0x28
|
|
b770: f015 0f02 tst.w r5, #2
|
|
m = 255 - (((255 - y_inters) * x_inters) >> 9);
|
|
b774: bf04 itt eq
|
|
b776: 43d2 mvneq r2, r2
|
|
b778: b2d2 uxtbeq r2, r2
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b77a: 5c45 ldrb r5, [r0, r1]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b77c: 2af9 cmp r2, #249 ; 0xf9
|
|
b77e: d80a bhi.n b796 <lv_draw_mask_line+0x58e>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b780: 2a05 cmp r2, #5
|
|
b782: f67f af05 bls.w b590 <lv_draw_mask_line+0x388>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b786: fb02 f205 mul.w r2, r2, r5
|
|
b78a: eb02 2502 add.w r5, r2, r2, lsl #8
|
|
b78e: eb02 12c5 add.w r2, r2, r5, lsl #7
|
|
b792: f3c2 55c7 ubfx r5, r2, #23, #8
|
|
mask_buf[k] = mask_mix(mask_buf[k], m);
|
|
b796: 5445 strb r5, [r0, r1]
|
|
if(p->inv) {
|
|
b798: f894 2028 ldrb.w r2, [r4, #40] ; 0x28
|
|
b79c: f012 0f02 tst.w r2, #2
|
|
b7a0: f43f aeff beq.w b5a2 <lv_draw_mask_line+0x39a>
|
|
if(k > len) k = len;
|
|
b7a4: 428b cmp r3, r1
|
|
b7a6: f6bf aef5 bge.w b594 <lv_draw_mask_line+0x38c>
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b7aa: 2002 movs r0, #2
|
|
b7ac: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
b7b0: 00012b1f .word 0x00012b1f
|
|
|
|
0000b7b4 <lv_draw_mask_radius>:
|
|
{
|
|
b7b4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
b7b8: b08d sub sp, #52 ; 0x34
|
|
b7ba: 9d16 ldr r5, [sp, #88] ; 0x58
|
|
bool outer = p->cfg.outer;
|
|
b7bc: 7cae ldrb r6, [r5, #18]
|
|
b7be: f006 0601 and.w r6, r6, #1
|
|
int32_t radius = p->cfg.radius;
|
|
b7c2: f9b5 8010 ldrsh.w r8, [r5, #16]
|
|
b7c6: 1dec adds r4, r5, #7
|
|
b7c8: f105 090f add.w r9, r5, #15
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
b7cc: f10d 0e28 add.w lr, sp, #40 ; 0x28
|
|
*d8 = *s8;
|
|
b7d0: f814 7f01 ldrb.w r7, [r4, #1]!
|
|
b7d4: f80e 7b01 strb.w r7, [lr], #1
|
|
while(len) {
|
|
b7d8: 454c cmp r4, r9
|
|
b7da: d1f9 bne.n b7d0 <lv_draw_mask_radius+0x1c>
|
|
if(outer == false) {
|
|
b7dc: 2e00 cmp r6, #0
|
|
b7de: d13d bne.n b85c <lv_draw_mask_radius+0xa8>
|
|
if(abs_y < rect.y1 || abs_y > rect.y2) {
|
|
b7e0: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a
|
|
b7e4: 4294 cmp r4, r2
|
|
b7e6: f300 822b bgt.w bc40 <lv_draw_mask_radius+0x48c>
|
|
b7ea: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e
|
|
b7ee: 4294 cmp r4, r2
|
|
b7f0: f2c0 822a blt.w bc48 <lv_draw_mask_radius+0x494>
|
|
b7f4: 469b mov fp, r3
|
|
b7f6: 460f mov r7, r1
|
|
b7f8: 9002 str r0, [sp, #8]
|
|
if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) ||
|
|
b7fa: f9bd 9028 ldrsh.w r9, [sp, #40] ; 0x28
|
|
b7fe: eb08 0309 add.w r3, r8, r9
|
|
b802: 4299 cmp r1, r3
|
|
b804: db06 blt.n b814 <lv_draw_mask_radius+0x60>
|
|
b806: 4459 add r1, fp
|
|
b808: f9bd 302c ldrsh.w r3, [sp, #44] ; 0x2c
|
|
b80c: eba3 0308 sub.w r3, r3, r8
|
|
b810: 4299 cmp r1, r3
|
|
b812: dd0b ble.n b82c <lv_draw_mask_radius+0x78>
|
|
(abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) {
|
|
b814: f9bd 302a ldrsh.w r3, [sp, #42] ; 0x2a
|
|
b818: eb03 0108 add.w r1, r3, r8
|
|
if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) ||
|
|
b81c: 428a cmp r2, r1
|
|
b81e: db53 blt.n b8c8 <lv_draw_mask_radius+0x114>
|
|
(abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) {
|
|
b820: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e
|
|
b824: eba1 0108 sub.w r1, r1, r8
|
|
b828: 428a cmp r2, r1
|
|
b82a: dc4d bgt.n b8c8 <lv_draw_mask_radius+0x114>
|
|
if(outer == false) {
|
|
b82c: bb86 cbnz r6, b890 <lv_draw_mask_radius+0xdc>
|
|
int32_t last = rect.x1 - abs_x;
|
|
b82e: eba9 0407 sub.w r4, r9, r7
|
|
if(last > len) return LV_DRAW_MASK_RES_TRANSP;
|
|
b832: 455c cmp r4, fp
|
|
b834: f300 820c bgt.w bc50 <lv_draw_mask_radius+0x49c>
|
|
if(last >= 0) {
|
|
b838: 2c00 cmp r4, #0
|
|
b83a: db03 blt.n b844 <lv_draw_mask_radius+0x90>
|
|
_lv_memset_00(&mask_buf[0], last);
|
|
b83c: 4621 mov r1, r4
|
|
b83e: 9802 ldr r0, [sp, #8]
|
|
b840: 4b9f ldr r3, [pc, #636] ; (bac0 <lv_draw_mask_radius+0x30c>)
|
|
b842: 4798 blx r3
|
|
int32_t first = rect.x2 - abs_x + 1;
|
|
b844: f9bd 002c ldrsh.w r0, [sp, #44] ; 0x2c
|
|
b848: 1bc0 subs r0, r0, r7
|
|
b84a: 3001 adds r0, #1
|
|
if(first <= 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
b84c: 2800 cmp r0, #0
|
|
b84e: f340 8201 ble.w bc54 <lv_draw_mask_radius+0x4a0>
|
|
else if(first < len) {
|
|
b852: 4583 cmp fp, r0
|
|
b854: dc0d bgt.n b872 <lv_draw_mask_radius+0xbe>
|
|
if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b856: b1bc cbz r4, b888 <lv_draw_mask_radius+0xd4>
|
|
else return LV_DRAW_MASK_RES_CHANGED;
|
|
b858: 2002 movs r0, #2
|
|
b85a: e1f2 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
if(abs_y < rect.y1 || abs_y > rect.y2) {
|
|
b85c: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a
|
|
b860: 4294 cmp r4, r2
|
|
b862: f300 81f3 bgt.w bc4c <lv_draw_mask_radius+0x498>
|
|
b866: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e
|
|
b86a: 4294 cmp r4, r2
|
|
b86c: dac2 bge.n b7f4 <lv_draw_mask_radius+0x40>
|
|
return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b86e: 2001 movs r0, #1
|
|
b870: e1e7 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
_lv_memset_00(&mask_buf[first], len - first);
|
|
b872: ebab 0100 sub.w r1, fp, r0
|
|
b876: 9b02 ldr r3, [sp, #8]
|
|
b878: 4403 add r3, r0
|
|
b87a: 4618 mov r0, r3
|
|
b87c: 4b90 ldr r3, [pc, #576] ; (bac0 <lv_draw_mask_radius+0x30c>)
|
|
b87e: 4798 blx r3
|
|
if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b880: 2c00 cmp r4, #0
|
|
b882: d1e9 bne.n b858 <lv_draw_mask_radius+0xa4>
|
|
else return LV_DRAW_MASK_RES_CHANGED;
|
|
b884: 2002 movs r0, #2
|
|
b886: e1dc b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER;
|
|
b888: 4583 cmp fp, r0
|
|
b88a: d1e5 bne.n b858 <lv_draw_mask_radius+0xa4>
|
|
b88c: 2001 movs r0, #1
|
|
b88e: e1d8 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
int32_t first = rect.x1 - abs_x;
|
|
b890: eba9 0007 sub.w r0, r9, r7
|
|
b894: ea20 70e0 bic.w r0, r0, r0, asr #31
|
|
if(first <= len) {
|
|
b898: 4558 cmp r0, fp
|
|
b89a: dd01 ble.n b8a0 <lv_draw_mask_radius+0xec>
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b89c: 2002 movs r0, #2
|
|
b89e: e1d0 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
int32_t last = rect.x2 - abs_x - first + 1;
|
|
b8a0: f9bd 102c ldrsh.w r1, [sp, #44] ; 0x2c
|
|
b8a4: 1bc9 subs r1, r1, r7
|
|
b8a6: 1a09 subs r1, r1, r0
|
|
b8a8: 3101 adds r1, #1
|
|
if(first + last > len) last = len - first;
|
|
b8aa: 1843 adds r3, r0, r1
|
|
b8ac: 459b cmp fp, r3
|
|
b8ae: bfb8 it lt
|
|
b8b0: ebab 0100 sublt.w r1, fp, r0
|
|
if(last >= 0) {
|
|
b8b4: 2900 cmp r1, #0
|
|
b8b6: f2c0 81cf blt.w bc58 <lv_draw_mask_radius+0x4a4>
|
|
_lv_memset_00(&mask_buf[first], last);
|
|
b8ba: 9b02 ldr r3, [sp, #8]
|
|
b8bc: 4403 add r3, r0
|
|
b8be: 4618 mov r0, r3
|
|
b8c0: 4b7f ldr r3, [pc, #508] ; (bac0 <lv_draw_mask_radius+0x30c>)
|
|
b8c2: 4798 blx r3
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b8c4: 2002 movs r0, #2
|
|
b8c6: e1bc b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
b8c8: f9bd a02c ldrsh.w sl, [sp, #44] ; 0x2c
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
b8cc: b29b uxth r3, r3
|
|
b8ce: f8bd 102e ldrh.w r1, [sp, #46] ; 0x2e
|
|
b8d2: 3101 adds r1, #1
|
|
b8d4: 1ac9 subs r1, r1, r3
|
|
int32_t h = lv_area_get_height(&rect);
|
|
b8d6: b209 sxth r1, r1
|
|
abs_y -= rect.y1;
|
|
b8d8: 1ad2 subs r2, r2, r3
|
|
uint32_t r2 = p->cfg.radius * p->cfg.radius;
|
|
b8da: fb08 f308 mul.w r3, r8, r8
|
|
b8de: 9301 str r3, [sp, #4]
|
|
if(abs_y < radius || abs_y > h - radius - 1) {
|
|
b8e0: b212 sxth r2, r2
|
|
b8e2: 4590 cmp r8, r2
|
|
b8e4: f300 81d1 bgt.w bc8a <lv_draw_mask_radius+0x4d6>
|
|
b8e8: eba1 0308 sub.w r3, r1, r8
|
|
b8ec: 3b01 subs r3, #1
|
|
b8ee: 429a cmp r2, r3
|
|
b8f0: f300 81b4 bgt.w bc5c <lv_draw_mask_radius+0x4a8>
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
b8f4: 2002 movs r0, #2
|
|
b8f6: e1a4 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
x0.f = p->y_prev_x.f;
|
|
b8f8: 8b6b ldrh r3, [r5, #26]
|
|
b8fa: f8ad 301a strh.w r3, [sp, #26]
|
|
x0.i = p->y_prev_x.i;
|
|
b8fe: 8b2b ldrh r3, [r5, #24]
|
|
b900: f8ad 3018 strh.w r3, [sp, #24]
|
|
b904: e1d6 b.n bcb4 <lv_draw_mask_radius+0x500>
|
|
_lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask);
|
|
b906: 9a04 ldr r2, [sp, #16]
|
|
b908: a907 add r1, sp, #28
|
|
b90a: 9b01 ldr r3, [sp, #4]
|
|
b90c: fb00 3010 mls r0, r0, r0, r3
|
|
b910: 4b6c ldr r3, [pc, #432] ; (bac4 <lv_draw_mask_radius+0x310>)
|
|
b912: 4798 blx r3
|
|
_lv_sqrt(r2 - (y * y), &x0, sqrt_mask);
|
|
b914: 9a04 ldr r2, [sp, #16]
|
|
b916: a906 add r1, sp, #24
|
|
b918: 9b01 ldr r3, [sp, #4]
|
|
b91a: fb04 3014 mls r0, r4, r4, r3
|
|
b91e: 4b69 ldr r3, [pc, #420] ; (bac4 <lv_draw_mask_radius+0x310>)
|
|
b920: 4798 blx r3
|
|
p->y_prev = y;
|
|
b922: 616c str r4, [r5, #20]
|
|
p->y_prev_x.f = x0.f;
|
|
b924: f8bd 301a ldrh.w r3, [sp, #26]
|
|
b928: 836b strh r3, [r5, #26]
|
|
p->y_prev_x.i = x0.i;
|
|
b92a: f8bd 3018 ldrh.w r3, [sp, #24]
|
|
b92e: 832b strh r3, [r5, #24]
|
|
b930: e1d1 b.n bcd6 <lv_draw_mask_radius+0x522>
|
|
if(x0.i == x1.i - 1 && x1.f == 0) {
|
|
b932: f8bd 101e ldrh.w r1, [sp, #30]
|
|
b936: 2900 cmp r1, #0
|
|
b938: f040 81d5 bne.w bce6 <lv_draw_mask_radius+0x532>
|
|
x1.i--;
|
|
b93c: 3a01 subs r2, #1
|
|
b93e: f8ad 201c strh.w r2, [sp, #28]
|
|
x1.f = 0xFF;
|
|
b942: 22ff movs r2, #255 ; 0xff
|
|
b944: f8ad 201e strh.w r2, [sp, #30]
|
|
b948: e1cd b.n bce6 <lv_draw_mask_radius+0x532>
|
|
lv_opa_t m = (x0.f + x1.f) >> 1;
|
|
b94a: f8bd 201a ldrh.w r2, [sp, #26]
|
|
b94e: f8bd 101e ldrh.w r1, [sp, #30]
|
|
b952: 440a add r2, r1
|
|
b954: f3c2 0247 ubfx r2, r2, #1, #8
|
|
if(outer) m = 255 - m;
|
|
b958: b10e cbz r6, b95e <lv_draw_mask_radius+0x1aa>
|
|
b95a: 43d2 mvns r2, r2
|
|
b95c: b2d2 uxtb r2, r2
|
|
int32_t ofs = radius - x0.i - 1;
|
|
b95e: eba8 0303 sub.w r3, r8, r3
|
|
b962: 3b01 subs r3, #1
|
|
if(kl >= 0 && kl < len) {
|
|
b964: 18f9 adds r1, r7, r3
|
|
b966: d411 bmi.n b98c <lv_draw_mask_radius+0x1d8>
|
|
b968: 4559 cmp r1, fp
|
|
b96a: da0f bge.n b98c <lv_draw_mask_radius+0x1d8>
|
|
mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
b96c: 9802 ldr r0, [sp, #8]
|
|
b96e: 5c40 ldrb r0, [r0, r1]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b970: 2af9 cmp r2, #249 ; 0xf9
|
|
b972: d809 bhi.n b988 <lv_draw_mask_radius+0x1d4>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b974: 2a05 cmp r2, #5
|
|
b976: d935 bls.n b9e4 <lv_draw_mask_radius+0x230>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b978: fb02 f000 mul.w r0, r2, r0
|
|
b97c: eb00 2400 add.w r4, r0, r0, lsl #8
|
|
b980: eb00 10c4 add.w r0, r0, r4, lsl #7
|
|
b984: f3c0 50c7 ubfx r0, r0, #23, #8
|
|
mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
b988: 9c02 ldr r4, [sp, #8]
|
|
b98a: 5460 strb r0, [r4, r1]
|
|
int32_t kr = k + (w - ofs - 1);
|
|
b98c: eba9 0303 sub.w r3, r9, r3
|
|
b990: 3b01 subs r3, #1
|
|
if(kr >= 0 && kr < len) {
|
|
b992: 19df adds r7, r3, r7
|
|
b994: d411 bmi.n b9ba <lv_draw_mask_radius+0x206>
|
|
b996: 455f cmp r7, fp
|
|
b998: da0f bge.n b9ba <lv_draw_mask_radius+0x206>
|
|
mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
b99a: 9b02 ldr r3, [sp, #8]
|
|
b99c: 5ddb ldrb r3, [r3, r7]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
b99e: 2af9 cmp r2, #249 ; 0xf9
|
|
b9a0: d809 bhi.n b9b6 <lv_draw_mask_radius+0x202>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b9a2: 2a05 cmp r2, #5
|
|
b9a4: d920 bls.n b9e8 <lv_draw_mask_radius+0x234>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
b9a6: fb02 f203 mul.w r2, r2, r3
|
|
b9aa: eb02 2302 add.w r3, r2, r2, lsl #8
|
|
b9ae: eb02 12c3 add.w r2, r2, r3, lsl #7
|
|
b9b2: f3c2 53c7 ubfx r3, r2, #23, #8
|
|
mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
b9b6: 9a02 ldr r2, [sp, #8]
|
|
b9b8: 55d3 strb r3, [r2, r7]
|
|
if(outer == false) {
|
|
b9ba: b1be cbz r6, b9ec <lv_draw_mask_radius+0x238>
|
|
kl++;
|
|
b9bc: 1c48 adds r0, r1, #1
|
|
b9be: ea20 70e0 bic.w r0, r0, r0, asr #31
|
|
if(len_tmp + first > len) len_tmp = len - first;
|
|
b9c2: 455f cmp r7, fp
|
|
int32_t len_tmp = kr - first;
|
|
b9c4: bfd4 ite le
|
|
b9c6: 1a39 suble r1, r7, r0
|
|
if(len_tmp + first > len) len_tmp = len - first;
|
|
b9c8: ebab 0100 subgt.w r1, fp, r0
|
|
if(first < len && len_tmp >= 0) {
|
|
b9cc: 4558 cmp r0, fp
|
|
b9ce: f280 8119 bge.w bc04 <lv_draw_mask_radius+0x450>
|
|
b9d2: 2900 cmp r1, #0
|
|
b9d4: f2c0 8116 blt.w bc04 <lv_draw_mask_radius+0x450>
|
|
_lv_memset_00(&mask_buf[first], len_tmp);
|
|
b9d8: 9b02 ldr r3, [sp, #8]
|
|
b9da: 4403 add r3, r0
|
|
b9dc: 4618 mov r0, r3
|
|
b9de: 4b38 ldr r3, [pc, #224] ; (bac0 <lv_draw_mask_radius+0x30c>)
|
|
b9e0: 4798 blx r3
|
|
b9e2: e10f b.n bc04 <lv_draw_mask_radius+0x450>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
b9e4: 2000 movs r0, #0
|
|
b9e6: e7cf b.n b988 <lv_draw_mask_radius+0x1d4>
|
|
b9e8: 2300 movs r3, #0
|
|
b9ea: e7e4 b.n b9b6 <lv_draw_mask_radius+0x202>
|
|
if(kl > len) {
|
|
b9ec: 4559 cmp r1, fp
|
|
b9ee: f300 8125 bgt.w bc3c <lv_draw_mask_radius+0x488>
|
|
if(kl >= 0) {
|
|
b9f2: 2900 cmp r1, #0
|
|
b9f4: db02 blt.n b9fc <lv_draw_mask_radius+0x248>
|
|
_lv_memset_00(&mask_buf[0], kl);
|
|
b9f6: 9802 ldr r0, [sp, #8]
|
|
b9f8: 4b31 ldr r3, [pc, #196] ; (bac0 <lv_draw_mask_radius+0x30c>)
|
|
b9fa: 4798 blx r3
|
|
if(kr < 0) {
|
|
b9fc: 3701 adds r7, #1
|
|
b9fe: f100 811d bmi.w bc3c <lv_draw_mask_radius+0x488>
|
|
if(kr <= len) {
|
|
ba02: 455f cmp r7, fp
|
|
ba04: f300 80fe bgt.w bc04 <lv_draw_mask_radius+0x450>
|
|
_lv_memset_00(&mask_buf[kr], len - kr);
|
|
ba08: ebab 0107 sub.w r1, fp, r7
|
|
ba0c: 9b02 ldr r3, [sp, #8]
|
|
ba0e: 443b add r3, r7
|
|
ba10: 4618 mov r0, r3
|
|
ba12: 4b2b ldr r3, [pc, #172] ; (bac0 <lv_draw_mask_radius+0x30c>)
|
|
ba14: 4798 blx r3
|
|
ba16: e0f5 b.n bc04 <lv_draw_mask_radius+0x450>
|
|
_lv_sqrt(r2 - (i * i), &y_next, sqrt_mask);
|
|
ba18: 9a04 ldr r2, [sp, #16]
|
|
ba1a: a909 add r1, sp, #36 ; 0x24
|
|
ba1c: 9b01 ldr r3, [sp, #4]
|
|
ba1e: fb08 3018 mls r0, r8, r8, r3
|
|
ba22: 4b28 ldr r3, [pc, #160] ; (bac4 <lv_draw_mask_radius+0x310>)
|
|
ba24: 4798 blx r3
|
|
m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9);
|
|
ba26: f8bd 1026 ldrh.w r1, [sp, #38] ; 0x26
|
|
ba2a: f8bd 301a ldrh.w r3, [sp, #26]
|
|
ba2e: f1c3 02ff rsb r2, r3, #255 ; 0xff
|
|
ba32: f1c1 03ff rsb r3, r1, #255 ; 0xff
|
|
ba36: fb03 f302 mul.w r3, r3, r2
|
|
ba3a: f3c3 2347 ubfx r3, r3, #9, #8
|
|
if(outer) m = 255 - m;
|
|
ba3e: b90e cbnz r6, ba44 <lv_draw_mask_radius+0x290>
|
|
m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9);
|
|
ba40: 43db mvns r3, r3
|
|
ba42: b2db uxtb r3, r3
|
|
if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
ba44: 9803 ldr r0, [sp, #12]
|
|
ba46: 4602 mov r2, r0
|
|
ba48: 2800 cmp r0, #0
|
|
ba4a: db11 blt.n ba70 <lv_draw_mask_radius+0x2bc>
|
|
ba4c: 4558 cmp r0, fp
|
|
ba4e: da0f bge.n ba70 <lv_draw_mask_radius+0x2bc>
|
|
ba50: 9c02 ldr r4, [sp, #8]
|
|
ba52: 1820 adds r0, r4, r0
|
|
ba54: 5ca2 ldrb r2, [r4, r2]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
ba56: 2bf9 cmp r3, #249 ; 0xf9
|
|
ba58: d809 bhi.n ba6e <lv_draw_mask_radius+0x2ba>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
ba5a: 2b05 cmp r3, #5
|
|
ba5c: d929 bls.n bab2 <lv_draw_mask_radius+0x2fe>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
ba5e: fb03 f202 mul.w r2, r3, r2
|
|
ba62: eb02 2402 add.w r4, r2, r2, lsl #8
|
|
ba66: eb02 12c4 add.w r2, r2, r4, lsl #7
|
|
ba6a: f3c2 52c7 ubfx r2, r2, #23, #8
|
|
if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
ba6e: 7002 strb r2, [r0, #0]
|
|
if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
ba70: f1ba 0f00 cmp.w sl, #0
|
|
ba74: db13 blt.n ba9e <lv_draw_mask_radius+0x2ea>
|
|
ba76: 45da cmp sl, fp
|
|
ba78: da11 bge.n ba9e <lv_draw_mask_radius+0x2ea>
|
|
ba7a: 9c02 ldr r4, [sp, #8]
|
|
ba7c: eb04 000a add.w r0, r4, sl
|
|
ba80: f814 200a ldrb.w r2, [r4, sl]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
ba84: 2bf9 cmp r3, #249 ; 0xf9
|
|
ba86: d809 bhi.n ba9c <lv_draw_mask_radius+0x2e8>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
ba88: 2b05 cmp r3, #5
|
|
ba8a: d914 bls.n bab6 <lv_draw_mask_radius+0x302>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
ba8c: fb03 f302 mul.w r3, r3, r2
|
|
ba90: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
ba94: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
ba98: f3c3 52c7 ubfx r2, r3, #23, #8
|
|
if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
ba9c: 7002 strb r2, [r0, #0]
|
|
kl--;
|
|
ba9e: 9b03 ldr r3, [sp, #12]
|
|
baa0: 3b01 subs r3, #1
|
|
baa2: 9303 str r3, [sp, #12]
|
|
kr++;
|
|
baa4: f10a 0a01 add.w sl, sl, #1
|
|
y_prev.f = y_next.f;
|
|
baa8: f8ad 1022 strh.w r1, [sp, #34] ; 0x22
|
|
i++;
|
|
baac: f108 0801 add.w r8, r8, #1
|
|
bab0: e15e b.n bd70 <lv_draw_mask_radius+0x5bc>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
bab2: 2200 movs r2, #0
|
|
bab4: e7db b.n ba6e <lv_draw_mask_radius+0x2ba>
|
|
bab6: 2200 movs r2, #0
|
|
bab8: e7f0 b.n ba9c <lv_draw_mask_radius+0x2e8>
|
|
baba: 2700 movs r7, #0
|
|
babc: e039 b.n bb32 <lv_draw_mask_radius+0x37e>
|
|
babe: bf00 nop
|
|
bac0: 00012b1f .word 0x00012b1f
|
|
bac4: 00012305 .word 0x00012305
|
|
bac8: 2700 movs r7, #0
|
|
if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
baca: f80e 7008 strb.w r7, [lr, r8]
|
|
kl--;
|
|
bace: 3801 subs r0, #1
|
|
kr++;
|
|
bad0: 3401 adds r4, #1
|
|
for(; i <= x1.i; i++) {
|
|
bad2: 3101 adds r1, #1
|
|
y_prev.f = y_next.f;
|
|
bad4: 461a mov r2, r3
|
|
for(; i <= x1.i; i++) {
|
|
bad6: 9d01 ldr r5, [sp, #4]
|
|
bad8: 42a9 cmp r1, r5
|
|
bada: d840 bhi.n bb5e <lv_draw_mask_radius+0x3aa>
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM static inline void sqrt_approx(lv_sqrt_res_t * q, lv_sqrt_res_t * ref, uint32_t x)
|
|
{
|
|
x = x << 8; /*Upscale for extra precision*/
|
|
|
|
uint32_t raw = (ref->i << 4) + (ref->f >> 4);
|
|
badc: eb09 1712 add.w r7, r9, r2, lsr #4
|
|
sqrt_approx(&y_next, &y_prev, r2 - (i * i));
|
|
bae0: fb01 a311 mls r3, r1, r1, sl
|
|
uint32_t raw2 = raw * raw;
|
|
bae4: fb07 fc07 mul.w ip, r7, r7
|
|
|
|
int32_t d = x - raw2;
|
|
bae8: ebcc 2303 rsb r3, ip, r3, lsl #8
|
|
d = (int32_t)d / (int32_t)(2 * raw) + raw;
|
|
baec: ea4f 0c47 mov.w ip, r7, lsl #1
|
|
baf0: fb93 f3fc sdiv r3, r3, ip
|
|
baf4: 441f add r7, r3
|
|
|
|
q->i = d >> 4;
|
|
baf6: f3c7 1c0f ubfx ip, r7, #4, #16
|
|
q->f = (d & 0xF) << 4;
|
|
bafa: 013f lsls r7, r7, #4
|
|
bafc: f007 03f0 and.w r3, r7, #240 ; 0xf0
|
|
m = (y_prev.f + y_next.f) >> 1;
|
|
bb00: 441a add r2, r3
|
|
bb02: f3c2 0247 ubfx r2, r2, #1, #8
|
|
if(outer) m = 255 - m;
|
|
bb06: b10e cbz r6, bb0c <lv_draw_mask_radius+0x358>
|
|
bb08: 43d2 mvns r2, r2
|
|
bb0a: b2d2 uxtb r2, r2
|
|
if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
bb0c: 2800 cmp r0, #0
|
|
bb0e: db12 blt.n bb36 <lv_draw_mask_radius+0x382>
|
|
bb10: 4583 cmp fp, r0
|
|
bb12: dd10 ble.n bb36 <lv_draw_mask_radius+0x382>
|
|
bb14: 4680 mov r8, r0
|
|
bb16: f81e 7000 ldrb.w r7, [lr, r0]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
bb1a: 2af9 cmp r2, #249 ; 0xf9
|
|
bb1c: d809 bhi.n bb32 <lv_draw_mask_radius+0x37e>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
bb1e: 2a05 cmp r2, #5
|
|
bb20: d9cb bls.n baba <lv_draw_mask_radius+0x306>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
bb22: fb02 f507 mul.w r5, r2, r7
|
|
bb26: eb05 2705 add.w r7, r5, r5, lsl #8
|
|
bb2a: eb05 17c7 add.w r7, r5, r7, lsl #7
|
|
bb2e: f3c7 57c7 ubfx r7, r7, #23, #8
|
|
if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
bb32: f80e 7008 strb.w r7, [lr, r8]
|
|
if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
bb36: 2c00 cmp r4, #0
|
|
bb38: dbc9 blt.n bace <lv_draw_mask_radius+0x31a>
|
|
bb3a: 45a3 cmp fp, r4
|
|
bb3c: ddc7 ble.n bace <lv_draw_mask_radius+0x31a>
|
|
bb3e: 46a0 mov r8, r4
|
|
bb40: f81e 7004 ldrb.w r7, [lr, r4]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
bb44: 2af9 cmp r2, #249 ; 0xf9
|
|
bb46: d8c0 bhi.n baca <lv_draw_mask_radius+0x316>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
bb48: 2a05 cmp r2, #5
|
|
bb4a: d9bd bls.n bac8 <lv_draw_mask_radius+0x314>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
bb4c: fb02 f207 mul.w r2, r2, r7
|
|
bb50: eb02 2702 add.w r7, r2, r2, lsl #8
|
|
bb54: eb02 17c7 add.w r7, r2, r7, lsl #7
|
|
bb58: f3c7 57c7 ubfx r7, r7, #23, #8
|
|
bb5c: e7b5 b.n baca <lv_draw_mask_radius+0x316>
|
|
bb5e: f8dd 8010 ldr.w r8, [sp, #16]
|
|
bb62: f8dd a014 ldr.w sl, [sp, #20]
|
|
bb66: 43ea mvns r2, r5
|
|
bb68: 4442 add r2, r8
|
|
bb6a: 9903 ldr r1, [sp, #12]
|
|
bb6c: 4411 add r1, r2
|
|
bb6e: 9103 str r1, [sp, #12]
|
|
bb70: 3501 adds r5, #1
|
|
bb72: 44aa add sl, r5
|
|
bb74: ebaa 0a08 sub.w sl, sl, r8
|
|
bb78: f8ad 3022 strh.w r3, [sp, #34] ; 0x22
|
|
bb7c: f8ad c024 strh.w ip, [sp, #36] ; 0x24
|
|
bb80: f8ad 3026 strh.w r3, [sp, #38] ; 0x26
|
|
if(y_prev.f) {
|
|
bb84: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22
|
|
bb88: 2b00 cmp r3, #0
|
|
bb8a: d03a beq.n bc02 <lv_draw_mask_radius+0x44e>
|
|
m = (y_prev.f * x1.f) >> 9;
|
|
bb8c: f8bd 201e ldrh.w r2, [sp, #30]
|
|
bb90: fb03 f302 mul.w r3, r3, r2
|
|
bb94: f3c3 2347 ubfx r3, r3, #9, #8
|
|
if(outer) m = 255 - m;
|
|
bb98: b10e cbz r6, bb9e <lv_draw_mask_radius+0x3ea>
|
|
bb9a: 43db mvns r3, r3
|
|
bb9c: b2db uxtb r3, r3
|
|
if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
bb9e: 9a03 ldr r2, [sp, #12]
|
|
bba0: 2a00 cmp r2, #0
|
|
bba2: db12 blt.n bbca <lv_draw_mask_radius+0x416>
|
|
bba4: 4593 cmp fp, r2
|
|
bba6: dd10 ble.n bbca <lv_draw_mask_radius+0x416>
|
|
bba8: 9802 ldr r0, [sp, #8]
|
|
bbaa: 4601 mov r1, r0
|
|
bbac: 4411 add r1, r2
|
|
bbae: 5c82 ldrb r2, [r0, r2]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
bbb0: 2bf9 cmp r3, #249 ; 0xf9
|
|
bbb2: d809 bhi.n bbc8 <lv_draw_mask_radius+0x414>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
bbb4: 2b05 cmp r3, #5
|
|
bbb6: d927 bls.n bc08 <lv_draw_mask_radius+0x454>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
bbb8: fb03 f202 mul.w r2, r3, r2
|
|
bbbc: eb02 2002 add.w r0, r2, r2, lsl #8
|
|
bbc0: eb02 12c0 add.w r2, r2, r0, lsl #7
|
|
bbc4: f3c2 52c7 ubfx r2, r2, #23, #8
|
|
if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m);
|
|
bbc8: 700a strb r2, [r1, #0]
|
|
if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
bbca: f1ba 0f00 cmp.w sl, #0
|
|
bbce: db13 blt.n bbf8 <lv_draw_mask_radius+0x444>
|
|
bbd0: 45d3 cmp fp, sl
|
|
bbd2: dd11 ble.n bbf8 <lv_draw_mask_radius+0x444>
|
|
bbd4: 9802 ldr r0, [sp, #8]
|
|
bbd6: eb00 010a add.w r1, r0, sl
|
|
bbda: f810 200a ldrb.w r2, [r0, sl]
|
|
if(mask_new >= LV_OPA_MAX) return mask_act;
|
|
bbde: 2bf9 cmp r3, #249 ; 0xf9
|
|
bbe0: d809 bhi.n bbf6 <lv_draw_mask_radius+0x442>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
bbe2: 2b05 cmp r3, #5
|
|
bbe4: d912 bls.n bc0c <lv_draw_mask_radius+0x458>
|
|
return LV_MATH_UDIV255(mask_act * mask_new);// >> 8);
|
|
bbe6: fb03 f302 mul.w r3, r3, r2
|
|
bbea: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
bbee: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
bbf2: f3c3 52c7 ubfx r2, r3, #23, #8
|
|
if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m);
|
|
bbf6: 700a strb r2, [r1, #0]
|
|
kl--;
|
|
bbf8: 9b03 ldr r3, [sp, #12]
|
|
bbfa: 3b01 subs r3, #1
|
|
bbfc: 9303 str r3, [sp, #12]
|
|
kr++;
|
|
bbfe: f10a 0a01 add.w sl, sl, #1
|
|
if(outer == 0) {
|
|
bc02: b12e cbz r6, bc10 <lv_draw_mask_radius+0x45c>
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
bc04: 2002 movs r0, #2
|
|
bc06: e01c b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
bc08: 2200 movs r2, #0
|
|
bc0a: e7dd b.n bbc8 <lv_draw_mask_radius+0x414>
|
|
bc0c: 2200 movs r2, #0
|
|
bc0e: e7f2 b.n bbf6 <lv_draw_mask_radius+0x442>
|
|
kl++;
|
|
bc10: 9903 ldr r1, [sp, #12]
|
|
bc12: 3101 adds r1, #1
|
|
if(kl > len) {
|
|
bc14: 4559 cmp r1, fp
|
|
bc16: dc11 bgt.n bc3c <lv_draw_mask_radius+0x488>
|
|
if(kl >= 0) _lv_memset_00(&mask_buf[0], kl);
|
|
bc18: 2900 cmp r1, #0
|
|
bc1a: db02 blt.n bc22 <lv_draw_mask_radius+0x46e>
|
|
bc1c: 9802 ldr r0, [sp, #8]
|
|
bc1e: 4b60 ldr r3, [pc, #384] ; (bda0 <lv_draw_mask_radius+0x5ec>)
|
|
bc20: 4798 blx r3
|
|
if(kr < 0) {
|
|
bc22: f1ba 0f00 cmp.w sl, #0
|
|
bc26: db09 blt.n bc3c <lv_draw_mask_radius+0x488>
|
|
if(kr < len) _lv_memset_00(&mask_buf[kr], len - kr);
|
|
bc28: 45da cmp sl, fp
|
|
bc2a: daeb bge.n bc04 <lv_draw_mask_radius+0x450>
|
|
bc2c: ebab 010a sub.w r1, fp, sl
|
|
bc30: 9b02 ldr r3, [sp, #8]
|
|
bc32: 4453 add r3, sl
|
|
bc34: 4618 mov r0, r3
|
|
bc36: 4b5a ldr r3, [pc, #360] ; (bda0 <lv_draw_mask_radius+0x5ec>)
|
|
bc38: 4798 blx r3
|
|
bc3a: e7e3 b.n bc04 <lv_draw_mask_radius+0x450>
|
|
return LV_DRAW_MASK_RES_TRANSP;
|
|
bc3c: 2000 movs r0, #0
|
|
bc3e: e000 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
return LV_DRAW_MASK_RES_TRANSP;
|
|
bc40: 2000 movs r0, #0
|
|
}
|
|
bc42: b00d add sp, #52 ; 0x34
|
|
bc44: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
return LV_DRAW_MASK_RES_TRANSP;
|
|
bc48: 2000 movs r0, #0
|
|
bc4a: e7fa b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
return LV_DRAW_MASK_RES_FULL_COVER;
|
|
bc4c: 2001 movs r0, #1
|
|
bc4e: e7f8 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
if(last > len) return LV_DRAW_MASK_RES_TRANSP;
|
|
bc50: 2000 movs r0, #0
|
|
bc52: e7f6 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
if(first <= 0) return LV_DRAW_MASK_RES_TRANSP;
|
|
bc54: 2000 movs r0, #0
|
|
bc56: e7f4 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
return LV_DRAW_MASK_RES_CHANGED;
|
|
bc58: 2002 movs r0, #2
|
|
bc5a: e7f2 b.n bc42 <lv_draw_mask_radius+0x48e>
|
|
if(radius <= 256) sqrt_mask = 0x800;
|
|
bc5c: f5b8 7f80 cmp.w r8, #256 ; 0x100
|
|
bc60: bfd4 ite le
|
|
bc62: f44f 6300 movle.w r3, #2048 ; 0x800
|
|
bc66: f44f 4300 movgt.w r3, #32768 ; 0x8000
|
|
bc6a: 9304 str r3, [sp, #16]
|
|
y = radius - (h - abs_y) + 1;
|
|
bc6c: 1a89 subs r1, r1, r2
|
|
bc6e: eba8 0001 sub.w r0, r8, r1
|
|
bc72: 1c44 adds r4, r0, #1
|
|
if((y - 1) == p->y_prev) {
|
|
bc74: 696b ldr r3, [r5, #20]
|
|
bc76: 4298 cmp r0, r3
|
|
bc78: f47f ae45 bne.w b906 <lv_draw_mask_radius+0x152>
|
|
x1.f = p->y_prev_x.f;
|
|
bc7c: 8b6b ldrh r3, [r5, #26]
|
|
bc7e: f8ad 301e strh.w r3, [sp, #30]
|
|
x1.i = p->y_prev_x.i;
|
|
bc82: 8b2b ldrh r3, [r5, #24]
|
|
bc84: f8ad 301c strh.w r3, [sp, #28]
|
|
bc88: e644 b.n b914 <lv_draw_mask_radius+0x160>
|
|
if(radius <= 256) sqrt_mask = 0x800;
|
|
bc8a: f5b8 7f80 cmp.w r8, #256 ; 0x100
|
|
bc8e: bfd4 ite le
|
|
bc90: f44f 6300 movle.w r3, #2048 ; 0x800
|
|
bc94: f44f 4300 movgt.w r3, #32768 ; 0x8000
|
|
bc98: 9304 str r3, [sp, #16]
|
|
y = radius - abs_y;
|
|
bc9a: eba8 0402 sub.w r4, r8, r2
|
|
if(y == p->y_prev) {
|
|
bc9e: 696b ldr r3, [r5, #20]
|
|
bca0: 429c cmp r4, r3
|
|
bca2: f43f ae29 beq.w b8f8 <lv_draw_mask_radius+0x144>
|
|
_lv_sqrt(r2 - (y * y), &x0, sqrt_mask);
|
|
bca6: 9a04 ldr r2, [sp, #16]
|
|
bca8: a906 add r1, sp, #24
|
|
bcaa: 9b01 ldr r3, [sp, #4]
|
|
bcac: fb04 3014 mls r0, r4, r4, r3
|
|
bcb0: 4b3c ldr r3, [pc, #240] ; (bda4 <lv_draw_mask_radius+0x5f0>)
|
|
bcb2: 4798 blx r3
|
|
_lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask);
|
|
bcb4: 1e63 subs r3, r4, #1
|
|
bcb6: 9a04 ldr r2, [sp, #16]
|
|
bcb8: a907 add r1, sp, #28
|
|
bcba: 9303 str r3, [sp, #12]
|
|
bcbc: 9801 ldr r0, [sp, #4]
|
|
bcbe: fb03 0013 mls r0, r3, r3, r0
|
|
bcc2: 4b38 ldr r3, [pc, #224] ; (bda4 <lv_draw_mask_radius+0x5f0>)
|
|
bcc4: 4798 blx r3
|
|
p->y_prev = y - 1;
|
|
bcc6: 9b03 ldr r3, [sp, #12]
|
|
bcc8: 616b str r3, [r5, #20]
|
|
p->y_prev_x.f = x1.f;
|
|
bcca: f8bd 301e ldrh.w r3, [sp, #30]
|
|
bcce: 836b strh r3, [r5, #26]
|
|
p->y_prev_x.i = x1.i;
|
|
bcd0: f8bd 301c ldrh.w r3, [sp, #28]
|
|
bcd4: 832b strh r3, [r5, #24]
|
|
if(x0.i == x1.i - 1 && x1.f == 0) {
|
|
bcd6: f8bd 3018 ldrh.w r3, [sp, #24]
|
|
bcda: f8bd 201c ldrh.w r2, [sp, #28]
|
|
bcde: 1e51 subs r1, r2, #1
|
|
bce0: 428b cmp r3, r1
|
|
bce2: f43f ae26 beq.w b932 <lv_draw_mask_radius+0x17e>
|
|
int32_t k = rect.x1 - abs_x; /*First relevant coordinate on the of the mask*/
|
|
bce6: eba9 0707 sub.w r7, r9, r7
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
bcea: f10a 0a01 add.w sl, sl, #1
|
|
bcee: ebaa 0909 sub.w r9, sl, r9
|
|
int32_t w = lv_area_get_width(&rect);
|
|
bcf2: fa0f f989 sxth.w r9, r9
|
|
if(x0.i == x1.i) {
|
|
bcf6: f8bd 201c ldrh.w r2, [sp, #28]
|
|
bcfa: 429a cmp r2, r3
|
|
bcfc: f43f ae25 beq.w b94a <lv_draw_mask_radius+0x196>
|
|
int32_t ofs = radius - (x0.i + 1);
|
|
bd00: 3301 adds r3, #1
|
|
bd02: eba8 0803 sub.w r8, r8, r3
|
|
int32_t kl = k + ofs;
|
|
bd06: eb07 0308 add.w r3, r7, r8
|
|
bd0a: 9303 str r3, [sp, #12]
|
|
int32_t kr = k + (w - ofs - 1);
|
|
bd0c: eba9 0808 sub.w r8, r9, r8
|
|
bd10: f108 3aff add.w sl, r8, #4294967295
|
|
bd14: 44ba add sl, r7
|
|
if(outer) {
|
|
bd16: b186 cbz r6, bd3a <lv_draw_mask_radius+0x586>
|
|
int32_t first = kl + 1;
|
|
bd18: 1c58 adds r0, r3, #1
|
|
bd1a: ea20 70e0 bic.w r0, r0, r0, asr #31
|
|
if(len_tmp + first > len) len_tmp = len - first;
|
|
bd1e: 45da cmp sl, fp
|
|
int32_t len_tmp = kr - first;
|
|
bd20: bfd4 ite le
|
|
bd22: ebaa 0100 suble.w r1, sl, r0
|
|
if(len_tmp + first > len) len_tmp = len - first;
|
|
bd26: ebab 0100 subgt.w r1, fp, r0
|
|
if(first < len && len_tmp >= 0) {
|
|
bd2a: 4558 cmp r0, fp
|
|
bd2c: da05 bge.n bd3a <lv_draw_mask_radius+0x586>
|
|
bd2e: 2900 cmp r1, #0
|
|
bd30: db03 blt.n bd3a <lv_draw_mask_radius+0x586>
|
|
_lv_memset_00(&mask_buf[first], len_tmp);
|
|
bd32: 9b02 ldr r3, [sp, #8]
|
|
bd34: 4418 add r0, r3
|
|
bd36: 4b1a ldr r3, [pc, #104] ; (bda0 <lv_draw_mask_radius+0x5ec>)
|
|
bd38: 4798 blx r3
|
|
uint32_t i = x0.i + 1;
|
|
bd3a: f8bd 0018 ldrh.w r0, [sp, #24]
|
|
bd3e: f100 0801 add.w r8, r0, #1
|
|
_lv_sqrt(r2 - (x0.i * x0.i), &y_prev, sqrt_mask);
|
|
bd42: 9a04 ldr r2, [sp, #16]
|
|
bd44: a908 add r1, sp, #32
|
|
bd46: 9b01 ldr r3, [sp, #4]
|
|
bd48: fb00 3010 mls r0, r0, r0, r3
|
|
bd4c: 4b15 ldr r3, [pc, #84] ; (bda4 <lv_draw_mask_radius+0x5f0>)
|
|
bd4e: 4798 blx r3
|
|
if(y_prev.f == 0) {
|
|
bd50: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22
|
|
bd54: b93b cbnz r3, bd66 <lv_draw_mask_radius+0x5b2>
|
|
y_prev.i--;
|
|
bd56: f8bd 3020 ldrh.w r3, [sp, #32]
|
|
bd5a: 3b01 subs r3, #1
|
|
bd5c: f8ad 3020 strh.w r3, [sp, #32]
|
|
y_prev.f = 0xFF;
|
|
bd60: 23ff movs r3, #255 ; 0xff
|
|
bd62: f8ad 3022 strh.w r3, [sp, #34] ; 0x22
|
|
if(y_prev.i >= y) {
|
|
bd66: f8bd 3020 ldrh.w r3, [sp, #32]
|
|
bd6a: 429c cmp r4, r3
|
|
bd6c: f77f ae54 ble.w ba18 <lv_draw_mask_radius+0x264>
|
|
for(; i <= x1.i; i++) {
|
|
bd70: f8bd 501c ldrh.w r5, [sp, #28]
|
|
bd74: 45a8 cmp r8, r5
|
|
bd76: f63f af05 bhi.w bb84 <lv_draw_mask_radius+0x3d0>
|
|
uint32_t raw = (ref->i << 4) + (ref->f >> 4);
|
|
bd7a: f8bd 9020 ldrh.w r9, [sp, #32]
|
|
bd7e: ea4f 1909 mov.w r9, r9, lsl #4
|
|
bd82: f8bd 2022 ldrh.w r2, [sp, #34] ; 0x22
|
|
bd86: 4641 mov r1, r8
|
|
bd88: 4654 mov r4, sl
|
|
bd8a: 9803 ldr r0, [sp, #12]
|
|
if(mask_new <= LV_OPA_MIN) return 0;
|
|
bd8c: f8cd 8010 str.w r8, [sp, #16]
|
|
bd90: f8cd a014 str.w sl, [sp, #20]
|
|
bd94: f8dd a004 ldr.w sl, [sp, #4]
|
|
bd98: 9501 str r5, [sp, #4]
|
|
bd9a: f8dd e008 ldr.w lr, [sp, #8]
|
|
bd9e: e69d b.n badc <lv_draw_mask_radius+0x328>
|
|
bda0: 00012b1f .word 0x00012b1f
|
|
bda4: 00012305 .word 0x00012305
|
|
|
|
0000bda8 <lv_draw_mask_add>:
|
|
{
|
|
bda8: b510 push {r4, lr}
|
|
bdaa: b082 sub sp, #8
|
|
if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break;
|
|
bdac: 4b10 ldr r3, [pc, #64] ; (bdf0 <lv_draw_mask_add+0x48>)
|
|
bdae: 681b ldr r3, [r3, #0]
|
|
bdb0: b19b cbz r3, bdda <lv_draw_mask_add+0x32>
|
|
bdb2: 4a0f ldr r2, [pc, #60] ; (bdf0 <lv_draw_mask_add+0x48>)
|
|
for(i = 0; i < _LV_MASK_MAX_NUM; i++) {
|
|
bdb4: 2301 movs r3, #1
|
|
if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break;
|
|
bdb6: 6894 ldr r4, [r2, #8]
|
|
bdb8: b184 cbz r4, bddc <lv_draw_mask_add+0x34>
|
|
for(i = 0; i < _LV_MASK_MAX_NUM; i++) {
|
|
bdba: 3301 adds r3, #1
|
|
bdbc: b2db uxtb r3, r3
|
|
bdbe: 3208 adds r2, #8
|
|
bdc0: 2b10 cmp r3, #16
|
|
bdc2: d1f8 bne.n bdb6 <lv_draw_mask_add+0xe>
|
|
LV_LOG_WARN("lv_mask_add: no place to add the mask");
|
|
bdc4: 4b0b ldr r3, [pc, #44] ; (bdf4 <lv_draw_mask_add+0x4c>)
|
|
bdc6: 9300 str r3, [sp, #0]
|
|
bdc8: 4b0b ldr r3, [pc, #44] ; (bdf8 <lv_draw_mask_add+0x50>)
|
|
bdca: 2257 movs r2, #87 ; 0x57
|
|
bdcc: 490b ldr r1, [pc, #44] ; (bdfc <lv_draw_mask_add+0x54>)
|
|
bdce: 2002 movs r0, #2
|
|
bdd0: 4c0b ldr r4, [pc, #44] ; (be00 <lv_draw_mask_add+0x58>)
|
|
bdd2: 47a0 blx r4
|
|
return LV_MASK_ID_INV;
|
|
bdd4: f04f 30ff mov.w r0, #4294967295
|
|
bdd8: e007 b.n bdea <lv_draw_mask_add+0x42>
|
|
for(i = 0; i < _LV_MASK_MAX_NUM; i++) {
|
|
bdda: 2300 movs r3, #0
|
|
LV_GC_ROOT(_lv_draw_mask_list[i]).param = param;
|
|
bddc: 4a04 ldr r2, [pc, #16] ; (bdf0 <lv_draw_mask_add+0x48>)
|
|
bdde: f842 0033 str.w r0, [r2, r3, lsl #3]
|
|
LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = custom_id;
|
|
bde2: eb02 02c3 add.w r2, r2, r3, lsl #3
|
|
bde6: 6051 str r1, [r2, #4]
|
|
return i;
|
|
bde8: b218 sxth r0, r3
|
|
}
|
|
bdea: b002 add sp, #8
|
|
bdec: bd10 pop {r4, pc}
|
|
bdee: bf00 nop
|
|
bdf0: 20006d6c .word 0x20006d6c
|
|
bdf4: 0002500c .word 0x0002500c
|
|
bdf8: 00024fb0 .word 0x00024fb0
|
|
bdfc: 00024fdc .word 0x00024fdc
|
|
be00: 00012245 .word 0x00012245
|
|
|
|
0000be04 <lv_draw_mask_apply>:
|
|
{
|
|
be04: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
be08: b082 sub sp, #8
|
|
while(m->param) {
|
|
be0a: 4c11 ldr r4, [pc, #68] ; (be50 <lv_draw_mask_apply+0x4c>)
|
|
be0c: 6824 ldr r4, [r4, #0]
|
|
be0e: b1ec cbz r4, be4c <lv_draw_mask_apply+0x48>
|
|
be10: 469a mov sl, r3
|
|
be12: 4691 mov r9, r2
|
|
be14: 4688 mov r8, r1
|
|
be16: 4607 mov r7, r0
|
|
be18: 4e0d ldr r6, [pc, #52] ; (be50 <lv_draw_mask_apply+0x4c>)
|
|
be1a: 2500 movs r5, #0
|
|
res = dsc->cb(mask_buf, abs_x, abs_y, len, (void *)m->param);
|
|
be1c: 9400 str r4, [sp, #0]
|
|
be1e: 6824 ldr r4, [r4, #0]
|
|
be20: 4653 mov r3, sl
|
|
be22: 464a mov r2, r9
|
|
be24: 4641 mov r1, r8
|
|
be26: 4638 mov r0, r7
|
|
be28: 47a0 blx r4
|
|
if(res == LV_DRAW_MASK_RES_TRANSP) return LV_DRAW_MASK_RES_TRANSP;
|
|
be2a: 4604 mov r4, r0
|
|
be2c: b150 cbz r0, be44 <lv_draw_mask_apply+0x40>
|
|
else if(res == LV_DRAW_MASK_RES_CHANGED) changed = true;
|
|
be2e: 2802 cmp r0, #2
|
|
be30: bf08 it eq
|
|
be32: 2501 moveq r5, #1
|
|
while(m->param) {
|
|
be34: f856 4f08 ldr.w r4, [r6, #8]!
|
|
be38: 2c00 cmp r4, #0
|
|
be3a: d1ef bne.n be1c <lv_draw_mask_apply+0x18>
|
|
return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER;
|
|
be3c: 2d00 cmp r5, #0
|
|
be3e: bf14 ite ne
|
|
be40: 2402 movne r4, #2
|
|
be42: 2401 moveq r4, #1
|
|
}
|
|
be44: 4620 mov r0, r4
|
|
be46: b002 add sp, #8
|
|
be48: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER;
|
|
be4c: 2401 movs r4, #1
|
|
be4e: e7f9 b.n be44 <lv_draw_mask_apply+0x40>
|
|
be50: 20006d6c .word 0x20006d6c
|
|
|
|
0000be54 <lv_draw_mask_remove_id>:
|
|
if(id != LV_MASK_ID_INV) {
|
|
be54: f1b0 3fff cmp.w r0, #4294967295
|
|
be58: d00a beq.n be70 <lv_draw_mask_remove_id+0x1c>
|
|
p = LV_GC_ROOT(_lv_draw_mask_list[id]).param;
|
|
be5a: 4b06 ldr r3, [pc, #24] ; (be74 <lv_draw_mask_remove_id+0x20>)
|
|
be5c: f853 1030 ldr.w r1, [r3, r0, lsl #3]
|
|
LV_GC_ROOT(_lv_draw_mask_list[id]).param = NULL;
|
|
be60: 2200 movs r2, #0
|
|
be62: f843 2030 str.w r2, [r3, r0, lsl #3]
|
|
LV_GC_ROOT(_lv_draw_mask_list[id]).custom_id = NULL;
|
|
be66: eb03 03c0 add.w r3, r3, r0, lsl #3
|
|
be6a: 605a str r2, [r3, #4]
|
|
}
|
|
be6c: 4608 mov r0, r1
|
|
be6e: 4770 bx lr
|
|
void * p = NULL;
|
|
be70: 2100 movs r1, #0
|
|
return p;
|
|
be72: e7fb b.n be6c <lv_draw_mask_remove_id+0x18>
|
|
be74: 20006d6c .word 0x20006d6c
|
|
|
|
0000be78 <lv_draw_mask_remove_custom>:
|
|
{
|
|
be78: b470 push {r4, r5, r6}
|
|
be7a: 4b0b ldr r3, [pc, #44] ; (bea8 <lv_draw_mask_remove_custom+0x30>)
|
|
be7c: 1d1a adds r2, r3, #4
|
|
be7e: f103 0480 add.w r4, r3, #128 ; 0x80
|
|
void * p = NULL;
|
|
be82: 2600 movs r6, #0
|
|
LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL;
|
|
be84: 4635 mov r5, r6
|
|
be86: e003 b.n be90 <lv_draw_mask_remove_custom+0x18>
|
|
be88: 3308 adds r3, #8
|
|
be8a: 3208 adds r2, #8
|
|
for(i = 0; i < _LV_MASK_MAX_NUM; i++) {
|
|
be8c: 42a3 cmp r3, r4
|
|
be8e: d008 beq.n bea2 <lv_draw_mask_remove_custom+0x2a>
|
|
if(LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id == custom_id) {
|
|
be90: 6859 ldr r1, [r3, #4]
|
|
be92: 4281 cmp r1, r0
|
|
be94: d1f8 bne.n be88 <lv_draw_mask_remove_custom+0x10>
|
|
p = LV_GC_ROOT(_lv_draw_mask_list[i]).param;
|
|
be96: f852 6c04 ldr.w r6, [r2, #-4]
|
|
LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL;
|
|
be9a: f842 5c04 str.w r5, [r2, #-4]
|
|
LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = NULL;
|
|
be9e: 605d str r5, [r3, #4]
|
|
bea0: e7f2 b.n be88 <lv_draw_mask_remove_custom+0x10>
|
|
}
|
|
bea2: 4630 mov r0, r6
|
|
bea4: bc70 pop {r4, r5, r6}
|
|
bea6: 4770 bx lr
|
|
bea8: 20006d6c .word 0x20006d6c
|
|
|
|
0000beac <lv_draw_mask_get_cnt>:
|
|
{
|
|
beac: 2300 movs r3, #0
|
|
uint8_t cnt = 0;
|
|
beae: 4618 mov r0, r3
|
|
if(LV_GC_ROOT(_lv_draw_mask_list[i]).param) cnt++;
|
|
beb0: 4906 ldr r1, [pc, #24] ; (becc <lv_draw_mask_get_cnt+0x20>)
|
|
beb2: e002 b.n beba <lv_draw_mask_get_cnt+0xe>
|
|
beb4: 3301 adds r3, #1
|
|
for(i = 0; i < _LV_MASK_MAX_NUM; i++) {
|
|
beb6: 2b10 cmp r3, #16
|
|
beb8: d006 beq.n bec8 <lv_draw_mask_get_cnt+0x1c>
|
|
if(LV_GC_ROOT(_lv_draw_mask_list[i]).param) cnt++;
|
|
beba: f851 2033 ldr.w r2, [r1, r3, lsl #3]
|
|
bebe: 2a00 cmp r2, #0
|
|
bec0: d0f8 beq.n beb4 <lv_draw_mask_get_cnt+0x8>
|
|
bec2: 3001 adds r0, #1
|
|
bec4: b2c0 uxtb r0, r0
|
|
bec6: e7f5 b.n beb4 <lv_draw_mask_get_cnt+0x8>
|
|
}
|
|
bec8: 4770 bx lr
|
|
beca: bf00 nop
|
|
becc: 20006d6c .word 0x20006d6c
|
|
|
|
0000bed0 <lv_draw_mask_line_points_init>:
|
|
{
|
|
bed0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
bed4: 4604 mov r4, r0
|
|
bed6: 460f mov r7, r1
|
|
bed8: 4615 mov r5, r2
|
|
beda: 4698 mov r8, r3
|
|
bedc: f9bd 6018 ldrsh.w r6, [sp, #24]
|
|
_lv_memset_00(param, sizeof(lv_draw_mask_line_param_t));
|
|
bee0: 212c movs r1, #44 ; 0x2c
|
|
bee2: 4b4a ldr r3, [pc, #296] ; (c00c <lv_draw_mask_line_points_init+0x13c>)
|
|
bee4: 4798 blx r3
|
|
if(p1y > p2y) {
|
|
bee6: 42b5 cmp r5, r6
|
|
bee8: dd05 ble.n bef6 <lv_draw_mask_line_points_init+0x26>
|
|
beea: 462b mov r3, r5
|
|
p1y = t;
|
|
beec: 4635 mov r5, r6
|
|
p2y = p1y;
|
|
beee: 461e mov r6, r3
|
|
if(p1y > p2y) {
|
|
bef0: 463b mov r3, r7
|
|
p1x = t;
|
|
bef2: 4647 mov r7, r8
|
|
p2x = p1x;
|
|
bef4: 4698 mov r8, r3
|
|
param->cfg.p1.x = p1x;
|
|
bef6: 8127 strh r7, [r4, #8]
|
|
param->cfg.p1.y = p1y;
|
|
bef8: 8165 strh r5, [r4, #10]
|
|
param->cfg.p2.x = p2x;
|
|
befa: f8a4 800c strh.w r8, [r4, #12]
|
|
param->cfg.p2.y = p2y;
|
|
befe: 81e6 strh r6, [r4, #14]
|
|
param->cfg.side = side;
|
|
bf00: 7c23 ldrb r3, [r4, #16]
|
|
bf02: f89d 201c ldrb.w r2, [sp, #28]
|
|
bf06: f362 0301 bfi r3, r2, #0, #2
|
|
bf0a: 7423 strb r3, [r4, #16]
|
|
param->origo.x = p1x;
|
|
bf0c: 8267 strh r7, [r4, #18]
|
|
param->origo.y = p1y;
|
|
bf0e: 82a5 strh r5, [r4, #20]
|
|
param->flat = (LV_MATH_ABS(p2x - p1x) > LV_MATH_ABS(p2y - p1y)) ? 1 : 0;
|
|
bf10: eba8 0707 sub.w r7, r8, r7
|
|
bf14: 1b75 subs r5, r6, r5
|
|
bf16: ea87 71e7 eor.w r1, r7, r7, asr #31
|
|
bf1a: eba1 71e7 sub.w r1, r1, r7, asr #31
|
|
bf1e: ea85 73e5 eor.w r3, r5, r5, asr #31
|
|
bf22: eba3 73e5 sub.w r3, r3, r5, asr #31
|
|
bf26: 4299 cmp r1, r3
|
|
bf28: bfd4 ite le
|
|
bf2a: 2100 movle r1, #0
|
|
bf2c: 2101 movgt r1, #1
|
|
bf2e: f894 2028 ldrb.w r2, [r4, #40] ; 0x28
|
|
bf32: f361 0200 bfi r2, r1, #0, #1
|
|
bf36: f884 2028 strb.w r2, [r4, #40] ; 0x28
|
|
param->yx_steep = 0;
|
|
bf3a: 2100 movs r1, #0
|
|
bf3c: 61e1 str r1, [r4, #28]
|
|
param->xy_steep = 0;
|
|
bf3e: 61a1 str r1, [r4, #24]
|
|
param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_line;
|
|
bf40: 4b33 ldr r3, [pc, #204] ; (c010 <lv_draw_mask_line_points_init+0x140>)
|
|
bf42: 6023 str r3, [r4, #0]
|
|
param->dsc.type = LV_DRAW_MASK_TYPE_LINE;
|
|
bf44: 7121 strb r1, [r4, #4]
|
|
if(param->flat) {
|
|
bf46: f012 0f01 tst.w r2, #1
|
|
bf4a: d025 beq.n bf98 <lv_draw_mask_line_points_init+0xc8>
|
|
if(dx) {
|
|
bf4c: b13f cbz r7, bf5e <lv_draw_mask_line_points_init+0x8e>
|
|
m = (1 << 20) / dx; /*m is multiplier to normalize y (upscaled by 1024)*/
|
|
bf4e: f44f 1380 mov.w r3, #1048576 ; 0x100000
|
|
bf52: fb93 f3f7 sdiv r3, r3, r7
|
|
param->yx_steep = (m * dy) >> 10;
|
|
bf56: fb05 f303 mul.w r3, r5, r3
|
|
bf5a: 129b asrs r3, r3, #10
|
|
bf5c: 61e3 str r3, [r4, #28]
|
|
if(dy) {
|
|
bf5e: b13d cbz r5, bf70 <lv_draw_mask_line_points_init+0xa0>
|
|
m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/
|
|
bf60: f44f 1680 mov.w r6, #1048576 ; 0x100000
|
|
bf64: fb96 f5f5 sdiv r5, r6, r5
|
|
param->xy_steep = (m * dx) >> 10;
|
|
bf68: fb07 f705 mul.w r7, r7, r5
|
|
bf6c: 12bf asrs r7, r7, #10
|
|
bf6e: 61a7 str r7, [r4, #24]
|
|
param->steep = param->yx_steep;
|
|
bf70: 69e3 ldr r3, [r4, #28]
|
|
bf72: 6223 str r3, [r4, #32]
|
|
if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) param->inv = 0;
|
|
bf74: 7c23 ldrb r3, [r4, #16]
|
|
bf76: f013 0303 ands.w r3, r3, #3
|
|
bf7a: d122 bne.n bfc2 <lv_draw_mask_line_points_init+0xf2>
|
|
bf7c: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
bf80: f36f 0341 bfc r3, #1, #1
|
|
bf84: f884 3028 strb.w r3, [r4, #40] ; 0x28
|
|
param->spx = param->steep >> 2;
|
|
bf88: 6a23 ldr r3, [r4, #32]
|
|
bf8a: 109a asrs r2, r3, #2
|
|
if(param->steep < 0) param->spx = -param->spx;
|
|
bf8c: 2b00 cmp r3, #0
|
|
bf8e: bfb8 it lt
|
|
bf90: 4252 neglt r2, r2
|
|
bf92: 6262 str r2, [r4, #36] ; 0x24
|
|
bf94: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(dy) {
|
|
bf98: b13d cbz r5, bfaa <lv_draw_mask_line_points_init+0xda>
|
|
m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/
|
|
bf9a: f44f 1380 mov.w r3, #1048576 ; 0x100000
|
|
bf9e: fb93 f3f5 sdiv r3, r3, r5
|
|
param->xy_steep = (m * dx) >> 10;
|
|
bfa2: fb07 f303 mul.w r3, r7, r3
|
|
bfa6: 129b asrs r3, r3, #10
|
|
bfa8: 61a3 str r3, [r4, #24]
|
|
if(dx) {
|
|
bfaa: b13f cbz r7, bfbc <lv_draw_mask_line_points_init+0xec>
|
|
m = (1 << 20) / dx; /*m is multiplier to normalize x (upscaled by 1024)*/
|
|
bfac: f44f 1880 mov.w r8, #1048576 ; 0x100000
|
|
bfb0: fb98 f7f7 sdiv r7, r8, r7
|
|
param->yx_steep = (m * dy) >> 10;
|
|
bfb4: fb05 f507 mul.w r5, r5, r7
|
|
bfb8: 12ad asrs r5, r5, #10
|
|
bfba: 61e5 str r5, [r4, #28]
|
|
param->steep = param->xy_steep;
|
|
bfbc: 69a3 ldr r3, [r4, #24]
|
|
bfbe: 6223 str r3, [r4, #32]
|
|
bfc0: e7d8 b.n bf74 <lv_draw_mask_line_points_init+0xa4>
|
|
else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1;
|
|
bfc2: 2b01 cmp r3, #1
|
|
bfc4: d00f beq.n bfe6 <lv_draw_mask_line_points_init+0x116>
|
|
else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP) {
|
|
bfc6: 2b02 cmp r3, #2
|
|
bfc8: d014 beq.n bff4 <lv_draw_mask_line_points_init+0x124>
|
|
else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) {
|
|
bfca: 2b03 cmp r3, #3
|
|
bfcc: d1dc bne.n bf88 <lv_draw_mask_line_points_init+0xb8>
|
|
if(param->steep > 0) param->inv = 0;
|
|
bfce: 6a23 ldr r3, [r4, #32]
|
|
bfd0: 2b00 cmp r3, #0
|
|
bfd2: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
bfd6: bfcc ite gt
|
|
bfd8: f36f 0341 bfcgt r3, #1, #1
|
|
else param->inv = 1;
|
|
bfdc: f043 0302 orrle.w r3, r3, #2
|
|
bfe0: f884 3028 strb.w r3, [r4, #40] ; 0x28
|
|
bfe4: e7d0 b.n bf88 <lv_draw_mask_line_points_init+0xb8>
|
|
else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1;
|
|
bfe6: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
bfea: f043 0302 orr.w r3, r3, #2
|
|
bfee: f884 3028 strb.w r3, [r4, #40] ; 0x28
|
|
bff2: e7c9 b.n bf88 <lv_draw_mask_line_points_init+0xb8>
|
|
if(param->steep > 0) param->inv = 1;
|
|
bff4: 6a23 ldr r3, [r4, #32]
|
|
bff6: 2b00 cmp r3, #0
|
|
bff8: f894 3028 ldrb.w r3, [r4, #40] ; 0x28
|
|
bffc: bfcc ite gt
|
|
bffe: f043 0302 orrgt.w r3, r3, #2
|
|
else param->inv = 0;
|
|
c002: f36f 0341 bfcle r3, #1, #1
|
|
c006: f884 3028 strb.w r3, [r4, #40] ; 0x28
|
|
c00a: e7bd b.n bf88 <lv_draw_mask_line_points_init+0xb8>
|
|
c00c: 00012b1f .word 0x00012b1f
|
|
c010: 0000b209 .word 0x0000b209
|
|
|
|
0000c014 <lv_draw_mask_radius_init>:
|
|
{
|
|
c014: b470 push {r4, r5, r6}
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
c016: 88cc ldrh r4, [r1, #6]
|
|
c018: 3401 adds r4, #1
|
|
c01a: 884d ldrh r5, [r1, #2]
|
|
c01c: 1b64 subs r4, r4, r5
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
c01e: 888d ldrh r5, [r1, #4]
|
|
c020: 3501 adds r5, #1
|
|
c022: 880e ldrh r6, [r1, #0]
|
|
c024: 1bad subs r5, r5, r6
|
|
int32_t short_side = LV_MATH_MIN(w, h);
|
|
c026: b224 sxth r4, r4
|
|
c028: b22d sxth r5, r5
|
|
c02a: 42ac cmp r4, r5
|
|
c02c: bfa8 it ge
|
|
c02e: 462c movge r4, r5
|
|
if(radius > short_side >> 1) radius = short_side >> 1;
|
|
c030: 1064 asrs r4, r4, #1
|
|
c032: 42a2 cmp r2, r4
|
|
c034: bfc8 it gt
|
|
c036: b222 sxthgt r2, r4
|
|
c038: 3901 subs r1, #1
|
|
c03a: f100 0610 add.w r6, r0, #16
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
c03e: f100 0408 add.w r4, r0, #8
|
|
*d8 = *s8;
|
|
c042: f811 5f01 ldrb.w r5, [r1, #1]!
|
|
c046: f804 5b01 strb.w r5, [r4], #1
|
|
while(len) {
|
|
c04a: 42b4 cmp r4, r6
|
|
c04c: d1f9 bne.n c042 <lv_draw_mask_radius_init+0x2e>
|
|
param->cfg.radius = radius;
|
|
c04e: 8202 strh r2, [r0, #16]
|
|
param->cfg.outer = inv ? 1 : 0;
|
|
c050: 7c82 ldrb r2, [r0, #18]
|
|
c052: f363 0200 bfi r2, r3, #0, #1
|
|
c056: 7482 strb r2, [r0, #18]
|
|
param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_radius;
|
|
c058: 4b05 ldr r3, [pc, #20] ; (c070 <lv_draw_mask_radius_init+0x5c>)
|
|
c05a: 6003 str r3, [r0, #0]
|
|
param->dsc.type = LV_DRAW_MASK_TYPE_RADIUS;
|
|
c05c: 2302 movs r3, #2
|
|
c05e: 7103 strb r3, [r0, #4]
|
|
param->y_prev = INT32_MIN;
|
|
c060: f04f 4300 mov.w r3, #2147483648 ; 0x80000000
|
|
c064: 6143 str r3, [r0, #20]
|
|
param->y_prev_x.f = 0;
|
|
c066: 2300 movs r3, #0
|
|
c068: 8343 strh r3, [r0, #26]
|
|
param->y_prev_x.i = 0;
|
|
c06a: 8303 strh r3, [r0, #24]
|
|
}
|
|
c06c: bc70 pop {r4, r5, r6}
|
|
c06e: 4770 bx lr
|
|
c070: 0000b7b5 .word 0x0000b7b5
|
|
|
|
0000c074 <shadow_blur_corner>:
|
|
#endif
|
|
|
|
}
|
|
|
|
LV_ATTRIBUTE_FAST_MEM static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf)
|
|
{
|
|
c074: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
c078: b08b sub sp, #44 ; 0x2c
|
|
c07a: 9006 str r0, [sp, #24]
|
|
c07c: 4689 mov r9, r1
|
|
c07e: 9207 str r2, [sp, #28]
|
|
int32_t s_left = sw >> 1;
|
|
c080: ea4f 0b61 mov.w fp, r1, asr #1
|
|
c084: f8cd b008 str.w fp, [sp, #8]
|
|
int32_t s_right = (sw >> 1);
|
|
if((sw & 1) == 0) s_left--;
|
|
c088: f011 0f01 tst.w r1, #1
|
|
c08c: bf06 itte eq
|
|
c08e: f10b 33ff addeq.w r3, fp, #4294967295
|
|
c092: 9308 streq r3, [sp, #32]
|
|
int32_t s_left = sw >> 1;
|
|
c094: f8cd b020 strne.w fp, [sp, #32]
|
|
|
|
/*Horizontal blur*/
|
|
uint16_t * sh_ups_blur_buf = _lv_mem_buf_get(size * sizeof(uint16_t));
|
|
c098: 9c06 ldr r4, [sp, #24]
|
|
c09a: 0067 lsls r7, r4, #1
|
|
c09c: 4638 mov r0, r7
|
|
c09e: 4b69 ldr r3, [pc, #420] ; (c244 <shadow_blur_corner+0x1d0>)
|
|
c0a0: 4798 blx r3
|
|
c0a2: 9005 str r0, [sp, #20]
|
|
int32_t x;
|
|
int32_t y;
|
|
|
|
uint16_t * sh_ups_tmp_buf = sh_ups_buf;
|
|
|
|
for(y = 0; y < size; y++) {
|
|
c0a4: 2c00 cmp r4, #0
|
|
c0a6: f340 80be ble.w c226 <shadow_blur_corner+0x1b2>
|
|
int32_t v = sh_ups_tmp_buf[size - 1] * sw;
|
|
c0aa: 1eba subs r2, r7, #2
|
|
c0ac: 19c1 adds r1, r0, r7
|
|
c0ae: 9103 str r1, [sp, #12]
|
|
c0b0: 9d07 ldr r5, [sp, #28]
|
|
c0b2: f04f 0800 mov.w r8, #0
|
|
for(x = size - 1; x >= 0; x--) {
|
|
c0b6: f104 3aff add.w sl, r4, #4294967295
|
|
c0ba: 9908 ldr r1, [sp, #32]
|
|
c0bc: ebaa 0101 sub.w r1, sl, r1
|
|
c0c0: 9104 str r1, [sp, #16]
|
|
c0c2: 4606 mov r6, r0
|
|
c0c4: f8cd b024 str.w fp, [sp, #36] ; 0x24
|
|
c0c8: 4693 mov fp, r2
|
|
int32_t v = sh_ups_tmp_buf[size - 1] * sw;
|
|
c0ca: f8cd 9004 str.w r9, [sp, #4]
|
|
c0ce: f835 300b ldrh.w r3, [r5, fp]
|
|
c0d2: fb09 f303 mul.w r3, r9, r3
|
|
for(x = size - 1; x >= 0; x--) {
|
|
c0d6: f1ba 0f00 cmp.w sl, #0
|
|
c0da: db1b blt.n c114 <shadow_blur_corner+0xa0>
|
|
c0dc: 9a02 ldr r2, [sp, #8]
|
|
c0de: eb02 010a add.w r1, r2, sl
|
|
c0e2: 9a04 ldr r2, [sp, #16]
|
|
c0e4: 3a01 subs r2, #1
|
|
c0e6: 9803 ldr r0, [sp, #12]
|
|
c0e8: f04f 0e00 mov.w lr, #0
|
|
sh_ups_blur_buf[x] = v;
|
|
c0ec: f820 3d02 strh.w r3, [r0, #-2]!
|
|
|
|
/*Forget the right pixel*/
|
|
uint32_t right_val = 0;
|
|
if(x + s_right < size) right_val = sh_ups_tmp_buf[x + s_right];
|
|
c0f0: 428c cmp r4, r1
|
|
c0f2: bfcc ite gt
|
|
c0f4: f835 c011 ldrhgt.w ip, [r5, r1, lsl #1]
|
|
c0f8: 46f4 movle ip, lr
|
|
v -= right_val;
|
|
c0fa: eba3 030c sub.w r3, r3, ip
|
|
|
|
/*Add the left pixel*/
|
|
uint32_t left_val;
|
|
if(x - s_left - 1 < 0) left_val = sh_ups_tmp_buf[0];
|
|
c0fe: 2a00 cmp r2, #0
|
|
c100: bfb4 ite lt
|
|
c102: f8b5 c000 ldrhlt.w ip, [r5]
|
|
else left_val = sh_ups_tmp_buf[x - s_left - 1];
|
|
c106: f835 c012 ldrhge.w ip, [r5, r2, lsl #1]
|
|
v += left_val;
|
|
c10a: 4463 add r3, ip
|
|
c10c: 3901 subs r1, #1
|
|
c10e: 3a01 subs r2, #1
|
|
for(x = size - 1; x >= 0; x--) {
|
|
c110: 42b0 cmp r0, r6
|
|
c112: d1eb bne.n c0ec <shadow_blur_corner+0x78>
|
|
}
|
|
_lv_memcpy(sh_ups_tmp_buf, sh_ups_blur_buf, size * sizeof(uint16_t));
|
|
c114: 463a mov r2, r7
|
|
c116: 4631 mov r1, r6
|
|
c118: 4628 mov r0, r5
|
|
c11a: 4b4b ldr r3, [pc, #300] ; (c248 <shadow_blur_corner+0x1d4>)
|
|
c11c: 4798 blx r3
|
|
sh_ups_tmp_buf += size;
|
|
c11e: 443d add r5, r7
|
|
for(y = 0; y < size; y++) {
|
|
c120: f108 0801 add.w r8, r8, #1
|
|
c124: 45a0 cmp r8, r4
|
|
c126: d1d0 bne.n c0ca <shadow_blur_corner+0x56>
|
|
c128: f8dd b024 ldr.w fp, [sp, #36] ; 0x24
|
|
}
|
|
|
|
/*Vertical blur*/
|
|
uint32_t i;
|
|
sh_ups_buf[0] = sh_ups_buf[0] / sw;
|
|
c12c: 9a07 ldr r2, [sp, #28]
|
|
c12e: 8813 ldrh r3, [r2, #0]
|
|
c130: 9901 ldr r1, [sp, #4]
|
|
c132: fb93 f3f1 sdiv r3, r3, r1
|
|
c136: 8013 strh r3, [r2, #0]
|
|
for(i = 1; i < (uint32_t)size * size; i++) {
|
|
c138: 9b06 ldr r3, [sp, #24]
|
|
c13a: fb03 f503 mul.w r5, r3, r3
|
|
c13e: 2d01 cmp r5, #1
|
|
c140: d911 bls.n c166 <shadow_blur_corner+0xf2>
|
|
c142: 9a07 ldr r2, [sp, #28]
|
|
c144: 2101 movs r1, #1
|
|
c146: 9e01 ldr r6, [sp, #4]
|
|
c148: 4610 mov r0, r2
|
|
if(sh_ups_buf[i] == sh_ups_buf[i - 1]) sh_ups_buf[i] = sh_ups_buf[i - 1];
|
|
c14a: f832 3f02 ldrh.w r3, [r2, #2]!
|
|
c14e: 8800 ldrh r0, [r0, #0]
|
|
c150: 4298 cmp r0, r3
|
|
else sh_ups_buf[i] = sh_ups_buf[i] / sw;
|
|
c152: bf1c itt ne
|
|
c154: fb93 f3f6 sdivne r3, r3, r6
|
|
c158: 8013 strhne r3, [r2, #0]
|
|
for(i = 1; i < (uint32_t)size * size; i++) {
|
|
c15a: 3101 adds r1, #1
|
|
c15c: 42a9 cmp r1, r5
|
|
c15e: d3f3 bcc.n c148 <shadow_blur_corner+0xd4>
|
|
}
|
|
|
|
for(x = 0; x < size; x++) {
|
|
c160: 9b06 ldr r3, [sp, #24]
|
|
c162: 2b00 cmp r3, #0
|
|
c164: dd59 ble.n c21a <shadow_blur_corner+0x1a6>
|
|
c166: 9e07 ldr r6, [sp, #28]
|
|
c168: 9602 str r6, [sp, #8]
|
|
c16a: 9908 ldr r1, [sp, #32]
|
|
c16c: fb01 7207 mla r2, r1, r7, r7
|
|
c170: ea6f 030b mvn.w r3, fp
|
|
c174: 1a5b subs r3, r3, r1
|
|
c176: 9d06 ldr r5, [sp, #24]
|
|
c178: fb05 f303 mul.w r3, r5, r3
|
|
c17c: 9306 str r3, [sp, #24]
|
|
v -= top_val;
|
|
|
|
/*Add the bottom pixel*/
|
|
uint32_t bottom_val;
|
|
if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x];
|
|
else bottom_val = sh_ups_buf[(size - 1) * size + x];
|
|
c17e: 1e6b subs r3, r5, #1
|
|
c180: fb05 f303 mul.w r3, r5, r3
|
|
c184: eb06 0343 add.w r3, r6, r3, lsl #1
|
|
c188: 9307 str r3, [sp, #28]
|
|
c18a: f04f 0a00 mov.w sl, #0
|
|
c18e: 1e93 subs r3, r2, #2
|
|
c190: 9308 str r3, [sp, #32]
|
|
if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x];
|
|
c192: f101 0901 add.w r9, r1, #1
|
|
sh_ups_tmp_buf = &sh_ups_buf[x];
|
|
c196: 9b02 ldr r3, [sp, #8]
|
|
c198: 461e mov r6, r3
|
|
c19a: 3302 adds r3, #2
|
|
c19c: 461a mov r2, r3
|
|
c19e: 9302 str r3, [sp, #8]
|
|
int32_t v = sh_ups_tmp_buf[0] * sw;
|
|
c1a0: 8833 ldrh r3, [r6, #0]
|
|
c1a2: 9901 ldr r1, [sp, #4]
|
|
c1a4: fb01 f303 mul.w r3, r1, r3
|
|
c1a8: 9908 ldr r1, [sp, #32]
|
|
c1aa: 188d adds r5, r1, r2
|
|
c1ac: 9a05 ldr r2, [sp, #20]
|
|
c1ae: f1a2 0c02 sub.w ip, r2, #2
|
|
c1b2: 46e0 mov r8, ip
|
|
c1b4: 46b6 mov lr, r6
|
|
c1b6: 2200 movs r2, #0
|
|
c1b8: f8cd c00c str.w ip, [sp, #12]
|
|
c1bc: 9604 str r6, [sp, #16]
|
|
c1be: 9e06 ldr r6, [sp, #24]
|
|
c1c0: f8dd c01c ldr.w ip, [sp, #28]
|
|
sh_ups_blur_buf[y] = v < 0 ? 0 : (v >> SHADOW_UPSACALE_SHIFT);
|
|
c1c4: 2b00 cmp r3, #0
|
|
c1c6: bfac ite ge
|
|
c1c8: 1199 asrge r1, r3, #6
|
|
c1ca: 2100 movlt r1, #0
|
|
c1cc: f828 1f02 strh.w r1, [r8, #2]!
|
|
c1d0: 4611 mov r1, r2
|
|
if(y - s_right <= 0) top_val = sh_ups_tmp_buf[0];
|
|
c1d2: eba2 000b sub.w r0, r2, fp
|
|
c1d6: 2800 cmp r0, #0
|
|
c1d8: bfd4 ite le
|
|
c1da: f8be 0000 ldrhle.w r0, [lr]
|
|
else top_val = sh_ups_buf[(y - s_right) * size + x];
|
|
c1de: f835 0016 ldrhgt.w r0, [r5, r6, lsl #1]
|
|
v -= top_val;
|
|
c1e2: 1a1b subs r3, r3, r0
|
|
if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x];
|
|
c1e4: 4449 add r1, r9
|
|
c1e6: 428c cmp r4, r1
|
|
c1e8: bfcc ite gt
|
|
c1ea: 8829 ldrhgt r1, [r5, #0]
|
|
else bottom_val = sh_ups_buf[(size - 1) * size + x];
|
|
c1ec: f83c 101a ldrhle.w r1, [ip, sl, lsl #1]
|
|
v += bottom_val;
|
|
c1f0: 440b add r3, r1
|
|
for(y = 0; y < size ; y++, sh_ups_tmp_buf += size) {
|
|
c1f2: 3201 adds r2, #1
|
|
c1f4: 44be add lr, r7
|
|
c1f6: 443d add r5, r7
|
|
c1f8: 42a2 cmp r2, r4
|
|
c1fa: dbe3 blt.n c1c4 <shadow_blur_corner+0x150>
|
|
c1fc: f8dd c00c ldr.w ip, [sp, #12]
|
|
c200: 9e04 ldr r6, [sp, #16]
|
|
c202: 2300 movs r3, #0
|
|
}
|
|
|
|
/*Write back the result into `sh_ups_buf`*/
|
|
sh_ups_tmp_buf = &sh_ups_buf[x];
|
|
for(y = 0; y < size; y++, sh_ups_tmp_buf += size) {
|
|
(*sh_ups_tmp_buf) = sh_ups_blur_buf[y];
|
|
c204: f83c 2f02 ldrh.w r2, [ip, #2]!
|
|
c208: 8032 strh r2, [r6, #0]
|
|
for(y = 0; y < size; y++, sh_ups_tmp_buf += size) {
|
|
c20a: 3301 adds r3, #1
|
|
c20c: 443e add r6, r7
|
|
c20e: 42a3 cmp r3, r4
|
|
c210: dbf8 blt.n c204 <shadow_blur_corner+0x190>
|
|
for(x = 0; x < size; x++) {
|
|
c212: f10a 0a01 add.w sl, sl, #1
|
|
c216: 45a2 cmp sl, r4
|
|
c218: dbbd blt.n c196 <shadow_blur_corner+0x122>
|
|
}
|
|
}
|
|
|
|
_lv_mem_buf_release(sh_ups_blur_buf);
|
|
c21a: 9805 ldr r0, [sp, #20]
|
|
c21c: 4b0b ldr r3, [pc, #44] ; (c24c <shadow_blur_corner+0x1d8>)
|
|
c21e: 4798 blx r3
|
|
}
|
|
c220: b00b add sp, #44 ; 0x2c
|
|
c222: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
sh_ups_buf[0] = sh_ups_buf[0] / sw;
|
|
c226: f8cd 9004 str.w r9, [sp, #4]
|
|
c22a: 9a07 ldr r2, [sp, #28]
|
|
c22c: 8813 ldrh r3, [r2, #0]
|
|
c22e: fb93 f9f9 sdiv r9, r3, r9
|
|
c232: f8a2 9000 strh.w r9, [r2]
|
|
for(i = 1; i < (uint32_t)size * size; i++) {
|
|
c236: 9b06 ldr r3, [sp, #24]
|
|
c238: fb03 f503 mul.w r5, r3, r3
|
|
c23c: 2d01 cmp r5, #1
|
|
c23e: d880 bhi.n c142 <shadow_blur_corner+0xce>
|
|
c240: e7eb b.n c21a <shadow_blur_corner+0x1a6>
|
|
c242: bf00 nop
|
|
c244: 00012925 .word 0x00012925
|
|
c248: 0001263d .word 0x0001263d
|
|
c24c: 00012559 .word 0x00012559
|
|
|
|
0000c250 <lv_draw_rect_dsc_init>:
|
|
{
|
|
c250: b510 push {r4, lr}
|
|
c252: 4604 mov r4, r0
|
|
_lv_memset_00(dsc, sizeof(lv_draw_rect_dsc_t));
|
|
c254: 2154 movs r1, #84 ; 0x54
|
|
c256: 4b2d ldr r3, [pc, #180] ; (c30c <lv_draw_rect_dsc_init+0xbc>)
|
|
c258: 4798 blx r3
|
|
dsc->bg_color = LV_COLOR_WHITE;
|
|
c25a: 4b2d ldr r3, [pc, #180] ; (c310 <lv_draw_rect_dsc_init+0xc0>)
|
|
c25c: 881b ldrh r3, [r3, #0]
|
|
c25e: 8063 strh r3, [r4, #2]
|
|
dsc->bg_grad_color = LV_COLOR_BLACK;
|
|
c260: 7923 ldrb r3, [r4, #4]
|
|
c262: f36f 0304 bfc r3, #0, #5
|
|
c266: 7123 strb r3, [r4, #4]
|
|
c268: 88a3 ldrh r3, [r4, #4]
|
|
c26a: f36f 134a bfc r3, #5, #6
|
|
c26e: 80a3 strh r3, [r4, #4]
|
|
c270: 0a1b lsrs r3, r3, #8
|
|
c272: f36f 03c7 bfc r3, #3, #5
|
|
c276: 7163 strb r3, [r4, #5]
|
|
dsc->border_color = LV_COLOR_BLACK;
|
|
c278: 7ba3 ldrb r3, [r4, #14]
|
|
c27a: f36f 0304 bfc r3, #0, #5
|
|
c27e: 73a3 strb r3, [r4, #14]
|
|
c280: 89e3 ldrh r3, [r4, #14]
|
|
c282: f36f 134a bfc r3, #5, #6
|
|
c286: 81e3 strh r3, [r4, #14]
|
|
c288: 0a1b lsrs r3, r3, #8
|
|
c28a: f36f 03c7 bfc r3, #3, #5
|
|
c28e: 73e3 strb r3, [r4, #15]
|
|
dsc->pattern_recolor = LV_COLOR_BLACK;
|
|
c290: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
c294: f36f 0304 bfc r3, #0, #5
|
|
c298: f884 3034 strb.w r3, [r4, #52] ; 0x34
|
|
c29c: 8ea3 ldrh r3, [r4, #52] ; 0x34
|
|
c29e: f36f 134a bfc r3, #5, #6
|
|
c2a2: 86a3 strh r3, [r4, #52] ; 0x34
|
|
c2a4: 0a1b lsrs r3, r3, #8
|
|
c2a6: f36f 03c7 bfc r3, #3, #5
|
|
c2aa: f884 3035 strb.w r3, [r4, #53] ; 0x35
|
|
dsc->value_color = LV_COLOR_BLACK;
|
|
c2ae: f894 3046 ldrb.w r3, [r4, #70] ; 0x46
|
|
c2b2: f36f 0304 bfc r3, #0, #5
|
|
c2b6: f884 3046 strb.w r3, [r4, #70] ; 0x46
|
|
c2ba: f8b4 3046 ldrh.w r3, [r4, #70] ; 0x46
|
|
c2be: f36f 134a bfc r3, #5, #6
|
|
c2c2: f8a4 3046 strh.w r3, [r4, #70] ; 0x46
|
|
c2c6: 0a1b lsrs r3, r3, #8
|
|
c2c8: f36f 03c7 bfc r3, #3, #5
|
|
c2cc: f884 3047 strb.w r3, [r4, #71] ; 0x47
|
|
dsc->shadow_color = LV_COLOR_BLACK;
|
|
c2d0: 7fa3 ldrb r3, [r4, #30]
|
|
c2d2: f36f 0304 bfc r3, #0, #5
|
|
c2d6: 77a3 strb r3, [r4, #30]
|
|
c2d8: 8be3 ldrh r3, [r4, #30]
|
|
c2da: f36f 134a bfc r3, #5, #6
|
|
c2de: 83e3 strh r3, [r4, #30]
|
|
c2e0: 0a1b lsrs r3, r3, #8
|
|
c2e2: f36f 03c7 bfc r3, #3, #5
|
|
c2e6: 77e3 strb r3, [r4, #31]
|
|
dsc->bg_grad_color_stop = 0xFF;
|
|
c2e8: 23ff movs r3, #255 ; 0xff
|
|
c2ea: 8163 strh r3, [r4, #10]
|
|
dsc->bg_opa = LV_OPA_COVER;
|
|
c2ec: 7323 strb r3, [r4, #12]
|
|
dsc->outline_opa = LV_OPA_COVER;
|
|
c2ee: 7723 strb r3, [r4, #28]
|
|
dsc->border_opa = LV_OPA_COVER;
|
|
c2f0: 7523 strb r3, [r4, #20]
|
|
dsc->pattern_opa = LV_OPA_COVER;
|
|
c2f2: f884 3036 strb.w r3, [r4, #54] ; 0x36
|
|
dsc->pattern_font = LV_THEME_DEFAULT_FONT_NORMAL;
|
|
c2f6: 4a07 ldr r2, [pc, #28] ; (c314 <lv_draw_rect_dsc_init+0xc4>)
|
|
c2f8: 6322 str r2, [r4, #48] ; 0x30
|
|
dsc->value_opa = LV_OPA_COVER;
|
|
c2fa: f884 3044 strb.w r3, [r4, #68] ; 0x44
|
|
dsc->value_font = LV_THEME_DEFAULT_FONT_NORMAL;
|
|
c2fe: 6422 str r2, [r4, #64] ; 0x40
|
|
dsc->shadow_opa = LV_OPA_COVER;
|
|
c300: f884 3028 strb.w r3, [r4, #40] ; 0x28
|
|
dsc->border_side = LV_BORDER_SIDE_FULL;
|
|
c304: 230f movs r3, #15
|
|
c306: 8263 strh r3, [r4, #18]
|
|
c308: bd10 pop {r4, pc}
|
|
c30a: bf00 nop
|
|
c30c: 00012b1f .word 0x00012b1f
|
|
c310: 00025064 .word 0x00025064
|
|
c314: 20000010 .word 0x20000010
|
|
|
|
0000c318 <lv_draw_rect>:
|
|
{
|
|
c318: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
c31c: b0b1 sub sp, #196 ; 0xc4
|
|
* @param area_p pointer to an area
|
|
* @return the height of the area (if y1 == y2 -> height = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
c31e: 88c4 ldrh r4, [r0, #6]
|
|
c320: 8845 ldrh r5, [r0, #2]
|
|
c322: 1c63 adds r3, r4, #1
|
|
c324: 1b5b subs r3, r3, r5
|
|
if(lv_area_get_height(coords) < 1 || lv_area_get_width(coords) < 1) return;
|
|
c326: b21b sxth r3, r3
|
|
c328: 2b00 cmp r3, #0
|
|
c32a: f341 800f ble.w d34c <lv_draw_rect+0x1034>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
c32e: 8886 ldrh r6, [r0, #4]
|
|
c330: f8b0 8000 ldrh.w r8, [r0]
|
|
c334: 1c73 adds r3, r6, #1
|
|
c336: eba3 0308 sub.w r3, r3, r8
|
|
c33a: b21b sxth r3, r3
|
|
c33c: 2b00 cmp r3, #0
|
|
c33e: f341 8005 ble.w d34c <lv_draw_rect+0x1034>
|
|
c342: 4692 mov sl, r2
|
|
c344: 9104 str r1, [sp, #16]
|
|
c346: 9006 str r0, [sp, #24]
|
|
if(dsc->shadow_width == 0) return;
|
|
c348: f9b2 7020 ldrsh.w r7, [r2, #32]
|
|
c34c: 2f00 cmp r7, #0
|
|
c34e: f000 8719 beq.w d184 <lv_draw_rect+0xe6c>
|
|
if(dsc->shadow_opa <= LV_OPA_MIN) return;
|
|
c352: f892 3028 ldrb.w r3, [r2, #40] ; 0x28
|
|
c356: 9309 str r3, [sp, #36] ; 0x24
|
|
c358: 2b05 cmp r3, #5
|
|
c35a: f240 8713 bls.w d184 <lv_draw_rect+0xe6c>
|
|
if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 &&
|
|
c35e: 6a13 ldr r3, [r2, #32]
|
|
c360: 2b01 cmp r3, #1
|
|
c362: f000 80f6 beq.w c552 <lv_draw_rect+0x23a>
|
|
sh_rect_area.x1 = coords->x1 + dsc->shadow_ofs_x - dsc->shadow_spread;
|
|
c366: f8ba 2022 ldrh.w r2, [sl, #34] ; 0x22
|
|
c36a: f8ba 3026 ldrh.w r3, [sl, #38] ; 0x26
|
|
c36e: 1ad1 subs r1, r2, r3
|
|
c370: 4488 add r8, r1
|
|
c372: fa1f f888 uxth.w r8, r8
|
|
c376: f8ad 8050 strh.w r8, [sp, #80] ; 0x50
|
|
sh_rect_area.x2 = coords->x2 + dsc->shadow_ofs_x + dsc->shadow_spread;
|
|
c37a: 441a add r2, r3
|
|
c37c: 4416 add r6, r2
|
|
c37e: b2b6 uxth r6, r6
|
|
c380: f8ad 6054 strh.w r6, [sp, #84] ; 0x54
|
|
sh_rect_area.y1 = coords->y1 + dsc->shadow_ofs_y - dsc->shadow_spread;
|
|
c384: f8ba 2024 ldrh.w r2, [sl, #36] ; 0x24
|
|
c388: 1ad1 subs r1, r2, r3
|
|
c38a: 440d add r5, r1
|
|
c38c: b2ad uxth r5, r5
|
|
c38e: f8ad 5052 strh.w r5, [sp, #82] ; 0x52
|
|
sh_rect_area.y2 = coords->y2 + dsc->shadow_ofs_y + dsc->shadow_spread;
|
|
c392: 4413 add r3, r2
|
|
c394: 441c add r4, r3
|
|
c396: b2a4 uxth r4, r4
|
|
c398: f8ad 4056 strh.w r4, [sp, #86] ; 0x56
|
|
sh_area.x1 = sh_rect_area.x1 - sw / 2 - 1;
|
|
c39c: eb07 73d7 add.w r3, r7, r7, lsr #31
|
|
c3a0: ea6f 0263 mvn.w r2, r3, asr #1
|
|
c3a4: b292 uxth r2, r2
|
|
c3a6: eb08 0102 add.w r1, r8, r2
|
|
c3aa: f8ad 1058 strh.w r1, [sp, #88] ; 0x58
|
|
sh_area.x2 = sh_rect_area.x2 + sw / 2 + 1;
|
|
c3ae: 105b asrs r3, r3, #1
|
|
c3b0: 3301 adds r3, #1
|
|
c3b2: b29b uxth r3, r3
|
|
c3b4: 18f1 adds r1, r6, r3
|
|
c3b6: f8ad 105c strh.w r1, [sp, #92] ; 0x5c
|
|
sh_area.y1 = sh_rect_area.y1 - sw / 2 - 1;
|
|
c3ba: 442a add r2, r5
|
|
c3bc: f8ad 205a strh.w r2, [sp, #90] ; 0x5a
|
|
sh_area.y2 = sh_rect_area.y2 + sw / 2 + 1;
|
|
c3c0: 4423 add r3, r4
|
|
c3c2: f8ad 305e strh.w r3, [sp, #94] ; 0x5e
|
|
if(opa > LV_OPA_MAX) opa = LV_OPA_COVER;
|
|
c3c6: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
c3c8: 2bfb cmp r3, #251 ; 0xfb
|
|
c3ca: bf28 it cs
|
|
c3cc: 23ff movcs r3, #255 ; 0xff
|
|
c3ce: 9309 str r3, [sp, #36] ; 0x24
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
c3d0: 4bbe ldr r3, [pc, #760] ; (c6cc <lv_draw_rect+0x3b4>)
|
|
c3d2: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
c3d4: 4bbe ldr r3, [pc, #760] ; (c6d0 <lv_draw_rect+0x3b8>)
|
|
c3d6: 4798 blx r3
|
|
c3d8: 4681 mov r9, r0
|
|
is_common = _lv_area_intersect(&draw_area, &sh_area, clip);
|
|
c3da: 9a04 ldr r2, [sp, #16]
|
|
c3dc: a916 add r1, sp, #88 ; 0x58
|
|
c3de: a818 add r0, sp, #96 ; 0x60
|
|
c3e0: 4bbc ldr r3, [pc, #752] ; (c6d4 <lv_draw_rect+0x3bc>)
|
|
c3e2: 4798 blx r3
|
|
if(is_common == false) return;
|
|
c3e4: 2800 cmp r0, #0
|
|
c3e6: f000 86cd beq.w d184 <lv_draw_rect+0xe6c>
|
|
draw_area.x1 -= disp_area->x1;
|
|
c3ea: f8b9 1010 ldrh.w r1, [r9, #16]
|
|
c3ee: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
c3f2: 1a5b subs r3, r3, r1
|
|
c3f4: f8ad 3060 strh.w r3, [sp, #96] ; 0x60
|
|
draw_area.y1 -= disp_area->y1;
|
|
c3f8: f8b9 2012 ldrh.w r2, [r9, #18]
|
|
c3fc: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62
|
|
c400: 1a9b subs r3, r3, r2
|
|
c402: f8ad 3062 strh.w r3, [sp, #98] ; 0x62
|
|
draw_area.x2 -= disp_area->x1;
|
|
c406: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64
|
|
c40a: 1a5b subs r3, r3, r1
|
|
c40c: f8ad 3064 strh.w r3, [sp, #100] ; 0x64
|
|
draw_area.y2 -= disp_area->y1;
|
|
c410: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66
|
|
c414: 1a9b subs r3, r3, r2
|
|
c416: f8ad 3066 strh.w r3, [sp, #102] ; 0x66
|
|
c41a: 9a06 ldr r2, [sp, #24]
|
|
c41c: 1e53 subs r3, r2, #1
|
|
c41e: 1dd0 adds r0, r2, #7
|
|
* @param src pointer to the source buffer
|
|
* @param len number of byte to copy
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len)
|
|
{
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
c420: aa1a add r2, sp, #104 ; 0x68
|
|
const uint8_t * s8 = (const uint8_t *)src;
|
|
|
|
while(len) {
|
|
*d8 = *s8;
|
|
c422: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
c426: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
c42a: 4298 cmp r0, r3
|
|
c42c: d1f9 bne.n c422 <lv_draw_rect+0x10a>
|
|
bg_coords.x1 += 1;
|
|
c42e: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
c432: 3301 adds r3, #1
|
|
c434: fa1f fe83 uxth.w lr, r3
|
|
c438: f8ad e068 strh.w lr, [sp, #104] ; 0x68
|
|
bg_coords.y1 += 1;
|
|
c43c: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a
|
|
c440: 3101 adds r1, #1
|
|
c442: b288 uxth r0, r1
|
|
c444: f8ad 006a strh.w r0, [sp, #106] ; 0x6a
|
|
bg_coords.x2 -= 1;
|
|
c448: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c
|
|
c44c: 1e5a subs r2, r3, #1
|
|
c44e: f8ad 206c strh.w r2, [sp, #108] ; 0x6c
|
|
bg_coords.y2 -= 1;
|
|
c452: f8bd 106e ldrh.w r1, [sp, #110] ; 0x6e
|
|
c456: 1e4a subs r2, r1, #1
|
|
c458: f8ad 206e strh.w r2, [sp, #110] ; 0x6e
|
|
int32_t r_bg = dsc->radius;
|
|
c45c: f9ba 2000 ldrsh.w r2, [sl]
|
|
c460: eba3 030e sub.w r3, r3, lr
|
|
c464: b21b sxth r3, r3
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
c466: 1a09 subs r1, r1, r0
|
|
c468: b209 sxth r1, r1
|
|
int32_t short_side = LV_MATH_MIN(lv_area_get_width(&bg_coords), lv_area_get_height(&bg_coords));
|
|
c46a: 428b cmp r3, r1
|
|
c46c: bfa8 it ge
|
|
c46e: 460b movge r3, r1
|
|
if(r_bg > short_side >> 1) r_bg = short_side >> 1;
|
|
c470: 105b asrs r3, r3, #1
|
|
c472: 4293 cmp r3, r2
|
|
c474: bfa8 it ge
|
|
c476: 4613 movge r3, r2
|
|
c478: 930e str r3, [sp, #56] ; 0x38
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
c47a: 3601 adds r6, #1
|
|
c47c: eba6 0608 sub.w r6, r6, r8
|
|
c480: b2b6 uxth r6, r6
|
|
c482: b233 sxth r3, r6
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
c484: 3401 adds r4, #1
|
|
c486: 1b64 subs r4, r4, r5
|
|
c488: b2a4 uxth r4, r4
|
|
c48a: b225 sxth r5, r4
|
|
short_side = LV_MATH_MIN(lv_area_get_width(&sh_rect_area), lv_area_get_height(&sh_rect_area));
|
|
c48c: 429d cmp r5, r3
|
|
c48e: bfa8 it ge
|
|
c490: 461d movge r5, r3
|
|
if(r_sh > short_side >> 1) r_sh = short_side >> 1;
|
|
c492: 106d asrs r5, r5, #1
|
|
c494: 4295 cmp r5, r2
|
|
c496: bfa8 it ge
|
|
c498: 4615 movge r5, r2
|
|
int32_t corner_size = sw + r_sh;
|
|
c49a: eb07 0905 add.w r9, r7, r5
|
|
sh_buf = _lv_mem_buf_get(corner_size * corner_size * sizeof(uint16_t));
|
|
c49e: fb09 f009 mul.w r0, r9, r9
|
|
c4a2: 0040 lsls r0, r0, #1
|
|
c4a4: 4b8c ldr r3, [pc, #560] ; (c6d8 <lv_draw_rect+0x3c0>)
|
|
c4a6: 4798 blx r3
|
|
c4a8: 900a str r0, [sp, #40] ; 0x28
|
|
shadow_draw_corner_buf(&sh_rect_area, (uint16_t *)sh_buf, dsc->shadow_width, r_sh);
|
|
c4aa: f9ba b020 ldrsh.w fp, [sl, #32]
|
|
c4ae: b22a sxth r2, r5
|
|
int32_t size = sw_ori + r;
|
|
c4b0: eb02 070b add.w r7, r2, fp
|
|
c4b4: f10d 014f add.w r1, sp, #79 ; 0x4f
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
c4b8: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
c4ba: f10d 0e90 add.w lr, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
c4be: f811 0f01 ldrb.w r0, [r1, #1]!
|
|
c4c2: f803 0b01 strb.w r0, [r3], #1
|
|
while(len) {
|
|
c4c6: 4573 cmp r3, lr
|
|
c4c8: d1f9 bne.n c4be <lv_draw_rect+0x1a6>
|
|
sh_area.x2 = sw / 2 + r - 1 - ((sw & 1) ? 0 : 1);
|
|
c4ca: eb0b 71db add.w r1, fp, fp, lsr #31
|
|
c4ce: f3c1 014f ubfx r1, r1, #1, #16
|
|
c4d2: 1e4b subs r3, r1, #1
|
|
c4d4: f01b 0001 ands.w r0, fp, #1
|
|
c4d8: 9010 str r0, [sp, #64] ; 0x40
|
|
c4da: bf0c ite eq
|
|
c4dc: 2001 moveq r0, #1
|
|
c4de: 2000 movne r0, #0
|
|
c4e0: 1a1b subs r3, r3, r0
|
|
c4e2: 442b add r3, r5
|
|
c4e4: b29b uxth r3, r3
|
|
c4e6: f8ad 308c strh.w r3, [sp, #140] ; 0x8c
|
|
sh_area.y1 = sw / 2 + 1;
|
|
c4ea: 3101 adds r1, #1
|
|
c4ec: b289 uxth r1, r1
|
|
c4ee: f8ad 108a strh.w r1, [sp, #138] ; 0x8a
|
|
sh_area.x1 = sh_area.x2 - lv_area_get_width(coords);
|
|
c4f2: 1b9b subs r3, r3, r6
|
|
c4f4: f8ad 3088 strh.w r3, [sp, #136] ; 0x88
|
|
sh_area.y2 = sh_area.y1 + lv_area_get_height(coords);
|
|
c4f8: 4421 add r1, r4
|
|
c4fa: f8ad 108e strh.w r1, [sp, #142] ; 0x8e
|
|
lv_draw_mask_radius_init(&mask_param, &sh_area, r, false);
|
|
c4fe: 2300 movs r3, #0
|
|
c500: a922 add r1, sp, #136 ; 0x88
|
|
c502: a829 add r0, sp, #164 ; 0xa4
|
|
c504: 4c75 ldr r4, [pc, #468] ; (c6dc <lv_draw_rect+0x3c4>)
|
|
c506: 47a0 blx r4
|
|
if(sw_ori == 1) sw = 1;
|
|
c508: f1bb 0f01 cmp.w fp, #1
|
|
c50c: f002 81d8 beq.w e8c0 <lv_draw_rect+0x25a8>
|
|
c510: ea4f 036b mov.w r3, fp, asr #1
|
|
c514: 930b str r3, [sp, #44] ; 0x2c
|
|
lv_opa_t * mask_line = _lv_mem_buf_get(size);
|
|
c516: 9707 str r7, [sp, #28]
|
|
c518: 4638 mov r0, r7
|
|
c51a: 4b6f ldr r3, [pc, #444] ; (c6d8 <lv_draw_rect+0x3c0>)
|
|
c51c: 4798 blx r3
|
|
c51e: 900c str r0, [sp, #48] ; 0x30
|
|
for(y = 0; y < size; y++) {
|
|
c520: 2f00 cmp r7, #0
|
|
c522: dd5c ble.n c5de <lv_draw_rect+0x2c6>
|
|
_lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0]));
|
|
c524: 9b07 ldr r3, [sp, #28]
|
|
c526: ea4f 0b43 mov.w fp, r3, lsl #1
|
|
c52a: f107 4300 add.w r3, r7, #2147483648 ; 0x80000000
|
|
c52e: 3b01 subs r3, #1
|
|
c530: 005b lsls r3, r3, #1
|
|
c532: 9c0a ldr r4, [sp, #40] ; 0x28
|
|
c534: 2500 movs r5, #0
|
|
_lv_memset_ff(mask_line, size);
|
|
c536: f8df 81b8 ldr.w r8, [pc, #440] ; c6f0 <lv_draw_rect+0x3d8>
|
|
lv_draw_mask_res_t mask_res = mask_param.dsc.cb(mask_line, 0, y, size, &mask_param);
|
|
c53a: b23a sxth r2, r7
|
|
c53c: 9208 str r2, [sp, #32]
|
|
_lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0]));
|
|
c53e: f8cd 9034 str.w r9, [sp, #52] ; 0x34
|
|
c542: 9705 str r7, [sp, #20]
|
|
c544: 9e0c ldr r6, [sp, #48] ; 0x30
|
|
c546: 4699 mov r9, r3
|
|
c548: f8cd a03c str.w sl, [sp, #60] ; 0x3c
|
|
c54c: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c
|
|
c550: e014 b.n c57c <lv_draw_rect+0x264>
|
|
if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 &&
|
|
c552: f9b2 3024 ldrsh.w r3, [r2, #36] ; 0x24
|
|
c556: 2b00 cmp r3, #0
|
|
c558: f47f af05 bne.w c366 <lv_draw_rect+0x4e>
|
|
dsc->shadow_ofs_y == 0 && dsc->shadow_spread <= 0) {
|
|
c55c: f9b2 3026 ldrsh.w r3, [r2, #38] ; 0x26
|
|
c560: 2b00 cmp r3, #0
|
|
c562: f73f af00 bgt.w c366 <lv_draw_rect+0x4e>
|
|
c566: f000 be0d b.w d184 <lv_draw_rect+0xe6c>
|
|
_lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0]));
|
|
c56a: 4659 mov r1, fp
|
|
c56c: 4620 mov r0, r4
|
|
c56e: 4b5c ldr r3, [pc, #368] ; (c6e0 <lv_draw_rect+0x3c8>)
|
|
c570: 4798 blx r3
|
|
sh_ups_tmp_buf += size;
|
|
c572: 445c add r4, fp
|
|
for(y = 0; y < size; y++) {
|
|
c574: 3501 adds r5, #1
|
|
c576: 9b05 ldr r3, [sp, #20]
|
|
c578: 42ab cmp r3, r5
|
|
c57a: dd2b ble.n c5d4 <lv_draw_rect+0x2bc>
|
|
_lv_memset_ff(mask_line, size);
|
|
c57c: 9907 ldr r1, [sp, #28]
|
|
c57e: 4630 mov r0, r6
|
|
c580: 47c0 blx r8
|
|
lv_draw_mask_res_t mask_res = mask_param.dsc.cb(mask_line, 0, y, size, &mask_param);
|
|
c582: ab29 add r3, sp, #164 ; 0xa4
|
|
c584: 9300 str r3, [sp, #0]
|
|
c586: 9b08 ldr r3, [sp, #32]
|
|
c588: b22a sxth r2, r5
|
|
c58a: 2100 movs r1, #0
|
|
c58c: 4630 mov r0, r6
|
|
c58e: 9f29 ldr r7, [sp, #164] ; 0xa4
|
|
c590: 47b8 blx r7
|
|
if(mask_res == LV_DRAW_MASK_RES_TRANSP) {
|
|
c592: 2800 cmp r0, #0
|
|
c594: d0e9 beq.n c56a <lv_draw_rect+0x252>
|
|
sh_ups_tmp_buf[0] = (mask_line[0] << SHADOW_UPSACALE_SHIFT) / sw;
|
|
c596: 46d6 mov lr, sl
|
|
c598: 7833 ldrb r3, [r6, #0]
|
|
c59a: 019b lsls r3, r3, #6
|
|
c59c: fb93 f3fa sdiv r3, r3, sl
|
|
c5a0: 8023 strh r3, [r4, #0]
|
|
for(i = 1; i < size; i++) {
|
|
c5a2: 9b05 ldr r3, [sp, #20]
|
|
c5a4: 2b01 cmp r3, #1
|
|
c5a6: dde4 ble.n c572 <lv_draw_rect+0x25a>
|
|
c5a8: 4631 mov r1, r6
|
|
c5aa: 4622 mov r2, r4
|
|
c5ac: eb04 0009 add.w r0, r4, r9
|
|
c5b0: 461f mov r7, r3
|
|
c5b2: 468c mov ip, r1
|
|
if(mask_line[i] == mask_line[i - 1]) sh_ups_tmp_buf[i] = sh_ups_tmp_buf[i - 1];
|
|
c5b4: f811 3f01 ldrb.w r3, [r1, #1]!
|
|
c5b8: f89c c000 ldrb.w ip, [ip]
|
|
c5bc: 459c cmp ip, r3
|
|
c5be: bf0e itee eq
|
|
c5c0: 8813 ldrheq r3, [r2, #0]
|
|
else sh_ups_tmp_buf[i] = (mask_line[i] << SHADOW_UPSACALE_SHIFT) / sw;
|
|
c5c2: 019b lslne r3, r3, #6
|
|
c5c4: fb93 f3fe sdivne r3, r3, lr
|
|
c5c8: 8053 strh r3, [r2, #2]
|
|
c5ca: 3202 adds r2, #2
|
|
for(i = 1; i < size; i++) {
|
|
c5cc: 4290 cmp r0, r2
|
|
c5ce: d1f0 bne.n c5b2 <lv_draw_rect+0x29a>
|
|
c5d0: 9705 str r7, [sp, #20]
|
|
c5d2: e7ce b.n c572 <lv_draw_rect+0x25a>
|
|
c5d4: f8dd 9034 ldr.w r9, [sp, #52] ; 0x34
|
|
c5d8: 461f mov r7, r3
|
|
c5da: f8dd a03c ldr.w sl, [sp, #60] ; 0x3c
|
|
_lv_mem_buf_release(mask_line);
|
|
c5de: 980c ldr r0, [sp, #48] ; 0x30
|
|
c5e0: 4b40 ldr r3, [pc, #256] ; (c6e4 <lv_draw_rect+0x3cc>)
|
|
c5e2: 4798 blx r3
|
|
if(sw == 1) {
|
|
c5e4: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
c5e6: 2b01 cmp r3, #1
|
|
c5e8: f002 814d beq.w e886 <lv_draw_rect+0x256e>
|
|
shadow_blur_corner(size, sw, sh_buf);
|
|
c5ec: b23c sxth r4, r7
|
|
c5ee: 9e0a ldr r6, [sp, #40] ; 0x28
|
|
c5f0: 4632 mov r2, r6
|
|
c5f2: 9d0b ldr r5, [sp, #44] ; 0x2c
|
|
c5f4: 4629 mov r1, r5
|
|
c5f6: 4620 mov r0, r4
|
|
c5f8: 4b3b ldr r3, [pc, #236] ; (c6e8 <lv_draw_rect+0x3d0>)
|
|
c5fa: 4798 blx r3
|
|
sw += sw_ori & 1;
|
|
c5fc: 9a10 ldr r2, [sp, #64] ; 0x40
|
|
c5fe: 442a add r2, r5
|
|
c600: b211 sxth r1, r2
|
|
if(sw > 1) {
|
|
c602: 2901 cmp r1, #1
|
|
c604: dd22 ble.n c64c <lv_draw_rect+0x334>
|
|
sh_buf[0] = (sh_buf[0] << SHADOW_UPSACALE_SHIFT) / sw;
|
|
c606: 460d mov r5, r1
|
|
c608: 8833 ldrh r3, [r6, #0]
|
|
c60a: 019b lsls r3, r3, #6
|
|
c60c: fb93 f3f1 sdiv r3, r3, r1
|
|
c610: 4632 mov r2, r6
|
|
c612: 8033 strh r3, [r6, #0]
|
|
for(i = 1; i < (uint32_t) size * size; i++) {
|
|
c614: 9807 ldr r0, [sp, #28]
|
|
c616: fb00 f000 mul.w r0, r0, r0
|
|
c61a: 2801 cmp r0, #1
|
|
c61c: d912 bls.n c644 <lv_draw_rect+0x32c>
|
|
c61e: f100 4000 add.w r0, r0, #2147483648 ; 0x80000000
|
|
c622: 3801 subs r0, #1
|
|
c624: eb06 0040 add.w r0, r6, r0, lsl #1
|
|
c628: e001 b.n c62e <lv_draw_rect+0x316>
|
|
c62a: 4282 cmp r2, r0
|
|
c62c: d00a beq.n c644 <lv_draw_rect+0x32c>
|
|
c62e: 4616 mov r6, r2
|
|
if(sh_buf[i] == sh_buf[i - 1]) sh_buf[i] = sh_buf[i - 1];
|
|
c630: f832 3f02 ldrh.w r3, [r2, #2]!
|
|
c634: 8836 ldrh r6, [r6, #0]
|
|
c636: 429e cmp r6, r3
|
|
c638: d0f7 beq.n c62a <lv_draw_rect+0x312>
|
|
else sh_buf[i] = (sh_buf[i] << SHADOW_UPSACALE_SHIFT) / sw;
|
|
c63a: 019b lsls r3, r3, #6
|
|
c63c: fb93 f3f5 sdiv r3, r3, r5
|
|
c640: 8013 strh r3, [r2, #0]
|
|
c642: e7f2 b.n c62a <lv_draw_rect+0x312>
|
|
shadow_blur_corner(size, sw, sh_buf);
|
|
c644: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
c646: 4620 mov r0, r4
|
|
c648: 4b27 ldr r3, [pc, #156] ; (c6e8 <lv_draw_rect+0x3d0>)
|
|
c64a: 4798 blx r3
|
|
for(x = 0; x < size * size; x++) {
|
|
c64c: fb07 f707 mul.w r7, r7, r7
|
|
c650: b157 cbz r7, c668 <lv_draw_rect+0x350>
|
|
c652: 990a ldr r1, [sp, #40] ; 0x28
|
|
c654: 460b mov r3, r1
|
|
c656: 1e4a subs r2, r1, #1
|
|
c658: eb01 0047 add.w r0, r1, r7, lsl #1
|
|
res_buf[x] = sh_buf[x];
|
|
c65c: f833 1b02 ldrh.w r1, [r3], #2
|
|
c660: f802 1f01 strb.w r1, [r2, #1]!
|
|
for(x = 0; x < size * size; x++) {
|
|
c664: 4283 cmp r3, r0
|
|
c666: d1f9 bne.n c65c <lv_draw_rect+0x344>
|
|
lv_coord_t h_half = sh_area.y1 + lv_area_get_height(&sh_area) / 2;
|
|
c668: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a
|
|
c66c: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
c670: 3301 adds r3, #1
|
|
c672: 1a9b subs r3, r3, r2
|
|
c674: b21b sxth r3, r3
|
|
c676: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
c67a: eb02 0363 add.w r3, r2, r3, asr #1
|
|
c67e: b29b uxth r3, r3
|
|
c680: 930f str r3, [sp, #60] ; 0x3c
|
|
c682: b21b sxth r3, r3
|
|
c684: 930c str r3, [sp, #48] ; 0x30
|
|
lv_coord_t w_half = sh_area.x1 + lv_area_get_width(&sh_area) / 2;
|
|
c686: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
c68a: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c
|
|
c68e: 3301 adds r3, #1
|
|
c690: 1a9b subs r3, r3, r2
|
|
c692: b21b sxth r3, r3
|
|
c694: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
c698: eb02 0363 add.w r3, r2, r3, asr #1
|
|
c69c: b29b uxth r3, r3
|
|
c69e: 9310 str r3, [sp, #64] ; 0x40
|
|
c6a0: b21b sxth r3, r3
|
|
c6a2: 930d str r3, [sp, #52] ; 0x34
|
|
if(lv_draw_mask_get_cnt() > 0) simple_mode = false;
|
|
c6a4: 4b11 ldr r3, [pc, #68] ; (c6ec <lv_draw_rect+0x3d4>)
|
|
c6a6: 4798 blx r3
|
|
c6a8: bb20 cbnz r0, c6f4 <lv_draw_rect+0x3dc>
|
|
else if(dsc->shadow_ofs_x != 0 || dsc->shadow_ofs_y != 0) simple_mode = false;
|
|
c6aa: f9ba 3022 ldrsh.w r3, [sl, #34] ; 0x22
|
|
c6ae: 2b00 cmp r3, #0
|
|
c6b0: f040 81bc bne.w ca2c <lv_draw_rect+0x714>
|
|
c6b4: f9ba 3024 ldrsh.w r3, [sl, #36] ; 0x24
|
|
c6b8: 2b00 cmp r3, #0
|
|
c6ba: f040 81ba bne.w ca32 <lv_draw_rect+0x71a>
|
|
else if(dsc->shadow_spread != 0) simple_mode = false;
|
|
c6be: f9ba 3026 ldrsh.w r3, [sl, #38] ; 0x26
|
|
c6c2: fab3 f383 clz r3, r3
|
|
c6c6: 095b lsrs r3, r3, #5
|
|
c6c8: 9307 str r3, [sp, #28]
|
|
c6ca: e015 b.n c6f8 <lv_draw_rect+0x3e0>
|
|
c6cc: 00005f51 .word 0x00005f51
|
|
c6d0: 00010fc5 .word 0x00010fc5
|
|
c6d4: 00011501 .word 0x00011501
|
|
c6d8: 00012925 .word 0x00012925
|
|
c6dc: 0000c015 .word 0x0000c015
|
|
c6e0: 00012b1f .word 0x00012b1f
|
|
c6e4: 00012559 .word 0x00012559
|
|
c6e8: 0000c075 .word 0x0000c075
|
|
c6ec: 0000bead .word 0x0000bead
|
|
c6f0: 00012bd5 .word 0x00012bd5
|
|
if(lv_draw_mask_get_cnt() > 0) simple_mode = false;
|
|
c6f4: 2300 movs r3, #0
|
|
c6f6: 9307 str r3, [sp, #28]
|
|
c6f8: f8bd 005c ldrh.w r0, [sp, #92] ; 0x5c
|
|
c6fc: 3001 adds r0, #1
|
|
c6fe: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58
|
|
c702: 1ac0 subs r0, r0, r3
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(lv_area_get_width(&sh_area));
|
|
c704: b200 sxth r0, r0
|
|
c706: 4bc2 ldr r3, [pc, #776] ; (ca10 <lv_draw_rect+0x6f8>)
|
|
c708: 4798 blx r3
|
|
c70a: 9005 str r0, [sp, #20]
|
|
lv_draw_mask_radius_init(&mask_rout_param, &bg_coords, r_bg, true);
|
|
c70c: 2301 movs r3, #1
|
|
c70e: 9a0e ldr r2, [sp, #56] ; 0x38
|
|
c710: a91a add r1, sp, #104 ; 0x68
|
|
c712: a829 add r0, sp, #164 ; 0xa4
|
|
c714: 4cbf ldr r4, [pc, #764] ; (ca14 <lv_draw_rect+0x6fc>)
|
|
c716: 47a0 blx r4
|
|
int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL);
|
|
c718: 2100 movs r1, #0
|
|
c71a: a829 add r0, sp, #164 ; 0xa4
|
|
c71c: 4bbe ldr r3, [pc, #760] ; (ca18 <lv_draw_rect+0x700>)
|
|
c71e: 4798 blx r3
|
|
c720: 900e str r0, [sp, #56] ; 0x38
|
|
a.x2 = sh_area.x2;
|
|
c722: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c
|
|
c726: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.x1 = a.x2 - corner_size + 1;
|
|
c72a: fa1f fb89 uxth.w fp, r9
|
|
c72e: 3301 adds r3, #1
|
|
c730: eba3 030b sub.w r3, r3, fp
|
|
c734: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.y1 = sh_area.y1;
|
|
c738: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a
|
|
c73c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = a.y1 + corner_size - 1;
|
|
c740: 3b01 subs r3, #1
|
|
c742: 445b add r3, fp
|
|
c744: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
bool has_com = _lv_area_intersect(&ca, &a, clip);
|
|
c748: 9a04 ldr r2, [sp, #16]
|
|
c74a: a91c add r1, sp, #112 ; 0x70
|
|
c74c: a81e add r0, sp, #120 ; 0x78
|
|
c74e: 4bb3 ldr r3, [pc, #716] ; (ca1c <lv_draw_rect+0x704>)
|
|
c750: 4798 blx r3
|
|
if(has_com) {
|
|
c752: 2800 cmp r0, #0
|
|
c754: d072 beq.n c83c <lv_draw_rect+0x524>
|
|
if(ca.y2 > h_half) ca.y2 = h_half;
|
|
c756: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e
|
|
c75a: 990c ldr r1, [sp, #48] ; 0x30
|
|
c75c: 428b cmp r3, r1
|
|
c75e: bfc4 itt gt
|
|
c760: 460b movgt r3, r1
|
|
c762: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e
|
|
if(ca.x1 <= w_half) ca.x1 = w_half + 1;
|
|
c766: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78
|
|
c76a: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
c76c: 4293 cmp r3, r2
|
|
c76e: dc03 bgt.n c778 <lv_draw_rect+0x460>
|
|
c770: 9b10 ldr r3, [sp, #64] ; 0x40
|
|
c772: 3301 adds r3, #1
|
|
c774: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
c778: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78
|
|
c77c: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
c780: 3301 adds r3, #1
|
|
c782: 1a9b subs r3, r3, r2
|
|
c784: b21b sxth r3, r3
|
|
c786: 9308 str r3, [sp, #32]
|
|
if(w > 0) {
|
|
c788: 2b00 cmp r3, #0
|
|
c78a: dd57 ble.n c83c <lv_draw_rect+0x524>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
c78c: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e
|
|
c790: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a
|
|
sh_buf_tmp += corner_size * (ca.y1 - a.y1);
|
|
c794: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72
|
|
c798: 1b65 subs r5, r4, r5
|
|
sh_buf_tmp = sh_buf + (ca.x1 - a.x1);
|
|
c79a: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70
|
|
c79e: 1ad2 subs r2, r2, r3
|
|
sh_buf_tmp += corner_size * (ca.y1 - a.y1);
|
|
c7a0: fb09 2505 mla r5, r9, r5, r2
|
|
c7a4: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
c7a6: 441d add r5, r3
|
|
c7a8: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
c7ac: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
c7ae: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
c7b0: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
c7b4: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
c7b8: 4283 cmp r3, r0
|
|
c7ba: d1f9 bne.n c7b0 <lv_draw_rect+0x498>
|
|
fa.y2 = fa.y1;
|
|
c7bc: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
c7c0: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
c7c4: 3701 adds r7, #1
|
|
c7c6: 1b3f subs r7, r7, r4
|
|
for(y = 0; y < h; y++) {
|
|
c7c8: b23f sxth r7, r7
|
|
c7ca: 2f00 cmp r7, #0
|
|
c7cc: dd36 ble.n c83c <lv_draw_rect+0x524>
|
|
c7ce: 2600 movs r6, #0
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
c7d0: f8df 8254 ldr.w r8, [pc, #596] ; ca28 <lv_draw_rect+0x710>
|
|
c7d4: f8cd b044 str.w fp, [sp, #68] ; 0x44
|
|
c7d8: 46bb mov fp, r7
|
|
c7da: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
c7dc: 930b str r3, [sp, #44] ; 0x2c
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
c7de: 9a08 ldr r2, [sp, #32]
|
|
c7e0: 4629 mov r1, r5
|
|
c7e2: 9f05 ldr r7, [sp, #20]
|
|
c7e4: 4638 mov r0, r7
|
|
c7e6: 4c8e ldr r4, [pc, #568] ; (ca20 <lv_draw_rect+0x708>)
|
|
c7e8: 47a0 blx r4
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
c7ea: ac30 add r4, sp, #192 ; 0xc0
|
|
c7ec: 9b08 ldr r3, [sp, #32]
|
|
c7ee: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
c7f2: f934 1d38 ldrsh.w r1, [r4, #-56]!
|
|
c7f6: 9705 str r7, [sp, #20]
|
|
c7f8: 4638 mov r0, r7
|
|
c7fa: 4f8a ldr r7, [pc, #552] ; (ca24 <lv_draw_rect+0x70c>)
|
|
c7fc: 47b8 blx r7
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
c7fe: 2801 cmp r0, #1
|
|
c800: bf08 it eq
|
|
c802: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
c804: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
c808: 9302 str r3, [sp, #8]
|
|
c80a: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
c80c: 9201 str r2, [sp, #4]
|
|
c80e: 9000 str r0, [sp, #0]
|
|
c810: 9b05 ldr r3, [sp, #20]
|
|
c812: f8ba 201e ldrh.w r2, [sl, #30]
|
|
c816: 4621 mov r1, r4
|
|
c818: 9804 ldr r0, [sp, #16]
|
|
c81a: 47c0 blx r8
|
|
fa.y1++;
|
|
c81c: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
c820: 3301 adds r3, #1
|
|
c822: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2++;
|
|
c826: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
c82a: 3301 adds r3, #1
|
|
c82c: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
c830: 444d add r5, r9
|
|
for(y = 0; y < h; y++) {
|
|
c832: 3601 adds r6, #1
|
|
c834: 455e cmp r6, fp
|
|
c836: d1d2 bne.n c7de <lv_draw_rect+0x4c6>
|
|
c838: f8dd b044 ldr.w fp, [sp, #68] ; 0x44
|
|
a.x2 = sh_area.x2;
|
|
c83c: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c
|
|
c840: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.x1 = a.x2 - corner_size + 1;
|
|
c844: 3301 adds r3, #1
|
|
c846: eba3 030b sub.w r3, r3, fp
|
|
c84a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.y1 = sh_area.y2 - corner_size + 1;
|
|
c84e: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e
|
|
c852: 1c53 adds r3, r2, #1
|
|
c854: eba3 030b sub.w r3, r3, fp
|
|
c858: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = sh_area.y2;
|
|
c85c: f8ad 2076 strh.w r2, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
c860: 9a04 ldr r2, [sp, #16]
|
|
c862: a91c add r1, sp, #112 ; 0x70
|
|
c864: a81e add r0, sp, #120 ; 0x78
|
|
c866: 4b6d ldr r3, [pc, #436] ; (ca1c <lv_draw_rect+0x704>)
|
|
c868: 4798 blx r3
|
|
if(has_com) {
|
|
c86a: 2800 cmp r0, #0
|
|
c86c: d073 beq.n c956 <lv_draw_rect+0x63e>
|
|
if(ca.y1 <= h_half) ca.y1 = h_half + 1;
|
|
c86e: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a
|
|
c872: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
c874: 4293 cmp r3, r2
|
|
c876: dc03 bgt.n c880 <lv_draw_rect+0x568>
|
|
c878: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
c87a: 3301 adds r3, #1
|
|
c87c: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
if(ca.x1 <= w_half) ca.x1 = w_half + 1;
|
|
c880: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78
|
|
c884: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
c886: 4293 cmp r3, r2
|
|
c888: dc03 bgt.n c892 <lv_draw_rect+0x57a>
|
|
c88a: 9b10 ldr r3, [sp, #64] ; 0x40
|
|
c88c: 3301 adds r3, #1
|
|
c88e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
c892: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78
|
|
c896: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
c89a: 3301 adds r3, #1
|
|
c89c: 1a9b subs r3, r3, r2
|
|
c89e: b21b sxth r3, r3
|
|
c8a0: 9308 str r3, [sp, #32]
|
|
if(w > 0) {
|
|
c8a2: 2b00 cmp r3, #0
|
|
c8a4: dd57 ble.n c956 <lv_draw_rect+0x63e>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
c8a6: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e
|
|
c8aa: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a
|
|
sh_buf_tmp += corner_size * (a.y2 - ca.y2);
|
|
c8ae: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76
|
|
c8b2: 1b2d subs r5, r5, r4
|
|
sh_buf_tmp = sh_buf + (ca.x1 - a.x1);
|
|
c8b4: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70
|
|
c8b8: 1ad2 subs r2, r2, r3
|
|
sh_buf_tmp += corner_size * (a.y2 - ca.y2);
|
|
c8ba: fb09 2505 mla r5, r9, r5, r2
|
|
c8be: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
c8c0: 441d add r5, r3
|
|
c8c2: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
c8c6: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
c8c8: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
c8ca: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
c8ce: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
c8d2: 4283 cmp r3, r0
|
|
c8d4: d1f9 bne.n c8ca <lv_draw_rect+0x5b2>
|
|
fa.y1 = fa.y2; /*Fill from bottom to top*/
|
|
c8d6: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
c8da: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
c8de: 1c67 adds r7, r4, #1
|
|
c8e0: 1bbf subs r7, r7, r6
|
|
for(y = 0; y < h; y++) {
|
|
c8e2: b23f sxth r7, r7
|
|
c8e4: 2f00 cmp r7, #0
|
|
c8e6: dd36 ble.n c956 <lv_draw_rect+0x63e>
|
|
c8e8: 2600 movs r6, #0
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
c8ea: f8df 813c ldr.w r8, [pc, #316] ; ca28 <lv_draw_rect+0x710>
|
|
c8ee: f8cd b040 str.w fp, [sp, #64] ; 0x40
|
|
c8f2: 46bb mov fp, r7
|
|
c8f4: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
c8f6: 930b str r3, [sp, #44] ; 0x2c
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
c8f8: 9a08 ldr r2, [sp, #32]
|
|
c8fa: 4629 mov r1, r5
|
|
c8fc: 9f05 ldr r7, [sp, #20]
|
|
c8fe: 4638 mov r0, r7
|
|
c900: 4c47 ldr r4, [pc, #284] ; (ca20 <lv_draw_rect+0x708>)
|
|
c902: 47a0 blx r4
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
c904: ac30 add r4, sp, #192 ; 0xc0
|
|
c906: 9b08 ldr r3, [sp, #32]
|
|
c908: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
c90c: f934 1d38 ldrsh.w r1, [r4, #-56]!
|
|
c910: 9705 str r7, [sp, #20]
|
|
c912: 4638 mov r0, r7
|
|
c914: 4f43 ldr r7, [pc, #268] ; (ca24 <lv_draw_rect+0x70c>)
|
|
c916: 47b8 blx r7
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
c918: 2801 cmp r0, #1
|
|
c91a: bf08 it eq
|
|
c91c: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
c91e: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
c922: 9302 str r3, [sp, #8]
|
|
c924: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
c926: 9201 str r2, [sp, #4]
|
|
c928: 9000 str r0, [sp, #0]
|
|
c92a: 9b05 ldr r3, [sp, #20]
|
|
c92c: f8ba 201e ldrh.w r2, [sl, #30]
|
|
c930: 4621 mov r1, r4
|
|
c932: 9804 ldr r0, [sp, #16]
|
|
c934: 47c0 blx r8
|
|
fa.y1--;
|
|
c936: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
c93a: 3b01 subs r3, #1
|
|
c93c: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2--;
|
|
c940: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
c944: 3b01 subs r3, #1
|
|
c946: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
c94a: 444d add r5, r9
|
|
for(y = 0; y < h; y++) {
|
|
c94c: 3601 adds r6, #1
|
|
c94e: 455e cmp r6, fp
|
|
c950: d1d2 bne.n c8f8 <lv_draw_rect+0x5e0>
|
|
c952: f8dd b040 ldr.w fp, [sp, #64] ; 0x40
|
|
a.x2 = sh_area.x2;
|
|
c956: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c
|
|
c95a: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.x1 = a.x2 - corner_size + 1;
|
|
c95e: 3301 adds r3, #1
|
|
c960: eba3 030b sub.w r3, r3, fp
|
|
c964: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.y1 = sh_area.y1 + corner_size;
|
|
c968: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a
|
|
c96c: 445b add r3, fp
|
|
c96e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = sh_area.y2 - corner_size;
|
|
c972: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
c976: eba3 030b sub.w r3, r3, fp
|
|
c97a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
c97e: 9a04 ldr r2, [sp, #16]
|
|
c980: a91c add r1, sp, #112 ; 0x70
|
|
c982: a81e add r0, sp, #120 ; 0x78
|
|
c984: 4b25 ldr r3, [pc, #148] ; (ca1c <lv_draw_rect+0x704>)
|
|
c986: 4798 blx r3
|
|
if(has_com) {
|
|
c988: 2800 cmp r0, #0
|
|
c98a: f000 8085 beq.w ca98 <lv_draw_rect+0x780>
|
|
if(simple_mode) ca.x1 = LV_MATH_MAX(ca.x1, coords->x2);
|
|
c98e: 9b07 ldr r3, [sp, #28]
|
|
c990: b14b cbz r3, c9a6 <lv_draw_rect+0x68e>
|
|
c992: 9b06 ldr r3, [sp, #24]
|
|
c994: f9b3 3004 ldrsh.w r3, [r3, #4]
|
|
c998: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78
|
|
c99c: 4293 cmp r3, r2
|
|
c99e: bfb8 it lt
|
|
c9a0: 4613 movlt r3, r2
|
|
c9a2: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
c9a6: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78
|
|
c9aa: f8bd 207c ldrh.w r2, [sp, #124] ; 0x7c
|
|
c9ae: 3201 adds r2, #1
|
|
c9b0: 1ad2 subs r2, r2, r3
|
|
c9b2: fa0f f882 sxth.w r8, r2
|
|
if(w > 0) {
|
|
c9b6: f1b8 0f00 cmp.w r8, #0
|
|
c9ba: dd6d ble.n ca98 <lv_draw_rect+0x780>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
c9bc: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e
|
|
c9c0: 3401 adds r4, #1
|
|
c9c2: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a
|
|
c9c6: 1aa4 subs r4, r4, r2
|
|
c9c8: b224 sxth r4, r4
|
|
sh_buf_tmp = sh_buf + corner_size * (corner_size - 1);
|
|
c9ca: f109 31ff add.w r1, r9, #4294967295
|
|
sh_buf_tmp += ca.x1 - a.x1;
|
|
c9ce: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70
|
|
c9d2: 1a9b subs r3, r3, r2
|
|
c9d4: fb09 3301 mla r3, r9, r1, r3
|
|
c9d8: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
c9da: 18d3 adds r3, r2, r3
|
|
c9dc: 9308 str r3, [sp, #32]
|
|
c9de: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
c9e2: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
c9e4: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
c9e6: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
c9ea: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
c9ee: 4283 cmp r3, r0
|
|
c9f0: d1f9 bne.n c9e6 <lv_draw_rect+0x6ce>
|
|
fa.y2 = fa.y1;
|
|
c9f2: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
c9f6: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
for(y = 0; y < h; y++) {
|
|
c9fa: 4625 mov r5, r4
|
|
c9fc: 2c00 cmp r4, #0
|
|
c9fe: dd4b ble.n ca98 <lv_draw_rect+0x780>
|
|
ca00: 2400 movs r4, #0
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
ca02: 4f07 ldr r7, [pc, #28] ; (ca20 <lv_draw_rect+0x708>)
|
|
_lv_blend_fill(clip, &fa,
|
|
ca04: f8cd 902c str.w r9, [sp, #44] ; 0x2c
|
|
ca08: 46a9 mov r9, r5
|
|
ca0a: 9d07 ldr r5, [sp, #28]
|
|
ca0c: e03a b.n ca84 <lv_draw_rect+0x76c>
|
|
ca0e: bf00 nop
|
|
ca10: 00012925 .word 0x00012925
|
|
ca14: 0000c015 .word 0x0000c015
|
|
ca18: 0000bda9 .word 0x0000bda9
|
|
ca1c: 00011501 .word 0x00011501
|
|
ca20: 0001263d .word 0x0001263d
|
|
ca24: 0000be05 .word 0x0000be05
|
|
ca28: 00007739 .word 0x00007739
|
|
else if(dsc->shadow_ofs_x != 0 || dsc->shadow_ofs_y != 0) simple_mode = false;
|
|
ca2c: 2300 movs r3, #0
|
|
ca2e: 9307 str r3, [sp, #28]
|
|
ca30: e662 b.n c6f8 <lv_draw_rect+0x3e0>
|
|
ca32: 2300 movs r3, #0
|
|
ca34: 9307 str r3, [sp, #28]
|
|
ca36: e65f b.n c6f8 <lv_draw_rect+0x3e0>
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
ca38: 4643 mov r3, r8
|
|
ca3a: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
ca3e: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88
|
|
ca42: 9805 ldr r0, [sp, #20]
|
|
ca44: 4e23 ldr r6, [pc, #140] ; (cad4 <lv_draw_rect+0x7bc>)
|
|
ca46: 47b0 blx r6
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
ca48: 2801 cmp r0, #1
|
|
ca4a: bf08 it eq
|
|
ca4c: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa,
|
|
ca4e: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
ca52: 9302 str r3, [sp, #8]
|
|
ca54: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28
|
|
ca58: 9301 str r3, [sp, #4]
|
|
ca5a: 9000 str r0, [sp, #0]
|
|
ca5c: 9b05 ldr r3, [sp, #20]
|
|
ca5e: f8ba 201e ldrh.w r2, [sl, #30]
|
|
ca62: a922 add r1, sp, #136 ; 0x88
|
|
ca64: 9804 ldr r0, [sp, #16]
|
|
ca66: 4e1c ldr r6, [pc, #112] ; (cad8 <lv_draw_rect+0x7c0>)
|
|
ca68: 47b0 blx r6
|
|
fa.y1++;
|
|
ca6a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
ca6e: 3301 adds r3, #1
|
|
ca70: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2++;
|
|
ca74: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
ca78: 3301 adds r3, #1
|
|
ca7a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
for(y = 0; y < h; y++) {
|
|
ca7e: 3401 adds r4, #1
|
|
ca80: 454c cmp r4, r9
|
|
ca82: d007 beq.n ca94 <lv_draw_rect+0x77c>
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
ca84: 4642 mov r2, r8
|
|
ca86: 9908 ldr r1, [sp, #32]
|
|
ca88: 9805 ldr r0, [sp, #20]
|
|
ca8a: 47b8 blx r7
|
|
if(simple_mode) {
|
|
ca8c: 2d00 cmp r5, #0
|
|
ca8e: d0d3 beq.n ca38 <lv_draw_rect+0x720>
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
ca90: 2002 movs r0, #2
|
|
ca92: e7dc b.n ca4e <lv_draw_rect+0x736>
|
|
ca94: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c
|
|
for(y = 0; y < corner_size; y++) {
|
|
ca98: f1b9 0f00 cmp.w r9, #0
|
|
ca9c: dd1e ble.n cadc <lv_draw_rect+0x7c4>
|
|
for(x = 0; x < corner_size / 2; x++) {
|
|
ca9e: eb09 77d9 add.w r7, r9, r9, lsr #31
|
|
caa2: 107f asrs r7, r7, #1
|
|
caa4: 9d0a ldr r5, [sp, #40] ; 0x28
|
|
caa6: 2600 movs r6, #0
|
|
caa8: e00c b.n cac4 <lv_draw_rect+0x7ac>
|
|
lv_opa_t tmp = sh_buf_tmp[x];
|
|
caaa: 7819 ldrb r1, [r3, #0]
|
|
sh_buf_tmp[x] = sh_buf_tmp[corner_size - x - 1];
|
|
caac: f812 0c01 ldrb.w r0, [r2, #-1]
|
|
cab0: f803 0b01 strb.w r0, [r3], #1
|
|
sh_buf_tmp[corner_size - x - 1] = tmp;
|
|
cab4: f802 1d01 strb.w r1, [r2, #-1]!
|
|
for(x = 0; x < corner_size / 2; x++) {
|
|
cab8: 42a3 cmp r3, r4
|
|
caba: d1f6 bne.n caaa <lv_draw_rect+0x792>
|
|
cabc: 444d add r5, r9
|
|
for(y = 0; y < corner_size; y++) {
|
|
cabe: 3601 adds r6, #1
|
|
cac0: 45b1 cmp r9, r6
|
|
cac2: d00b beq.n cadc <lv_draw_rect+0x7c4>
|
|
for(x = 0; x < corner_size / 2; x++) {
|
|
cac4: 2f00 cmp r7, #0
|
|
cac6: ddf9 ble.n cabc <lv_draw_rect+0x7a4>
|
|
cac8: 462b mov r3, r5
|
|
caca: eb05 0209 add.w r2, r5, r9
|
|
cace: 19ec adds r4, r5, r7
|
|
cad0: e7eb b.n caaa <lv_draw_rect+0x792>
|
|
cad2: bf00 nop
|
|
cad4: 0000be05 .word 0x0000be05
|
|
cad8: 00007739 .word 0x00007739
|
|
a.x1 = sh_area.x1;
|
|
cadc: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58
|
|
cae0: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.x2 = a.x1 + corner_size - 1;
|
|
cae4: 3b01 subs r3, #1
|
|
cae6: 445b add r3, fp
|
|
cae8: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.y1 = sh_area.y1;
|
|
caec: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a
|
|
caf0: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = a.y1 + corner_size - 1;
|
|
caf4: 3b01 subs r3, #1
|
|
caf6: 445b add r3, fp
|
|
caf8: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
cafc: 9a04 ldr r2, [sp, #16]
|
|
cafe: a91c add r1, sp, #112 ; 0x70
|
|
cb00: a81e add r0, sp, #120 ; 0x78
|
|
cb02: 4bae ldr r3, [pc, #696] ; (cdbc <lv_draw_rect+0xaa4>)
|
|
cb04: 4798 blx r3
|
|
if(has_com) {
|
|
cb06: 2800 cmp r0, #0
|
|
cb08: d071 beq.n cbee <lv_draw_rect+0x8d6>
|
|
if(ca.y2 > h_half) ca.y2 = h_half;
|
|
cb0a: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e
|
|
cb0e: 990c ldr r1, [sp, #48] ; 0x30
|
|
cb10: 428b cmp r3, r1
|
|
cb12: bfc4 itt gt
|
|
cb14: 460b movgt r3, r1
|
|
cb16: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e
|
|
if(ca.x2 > w_half) ca.x2 = w_half;
|
|
cb1a: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c
|
|
cb1e: 990d ldr r1, [sp, #52] ; 0x34
|
|
cb20: 428b cmp r3, r1
|
|
cb22: bfc4 itt gt
|
|
cb24: 460b movgt r3, r1
|
|
cb26: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
cb2a: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78
|
|
cb2e: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
cb32: 3301 adds r3, #1
|
|
cb34: 1a9b subs r3, r3, r2
|
|
cb36: b21b sxth r3, r3
|
|
cb38: 9308 str r3, [sp, #32]
|
|
if(w > 0) {
|
|
cb3a: 2b00 cmp r3, #0
|
|
cb3c: dd57 ble.n cbee <lv_draw_rect+0x8d6>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
cb3e: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e
|
|
cb42: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a
|
|
sh_buf_tmp += corner_size * (ca.y1 - a.y1);
|
|
cb46: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72
|
|
cb4a: 1b65 subs r5, r4, r5
|
|
sh_buf_tmp = sh_buf + (ca.x1 - a.x1);
|
|
cb4c: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70
|
|
cb50: 1ad2 subs r2, r2, r3
|
|
sh_buf_tmp += corner_size * (ca.y1 - a.y1);
|
|
cb52: fb09 2505 mla r5, r9, r5, r2
|
|
cb56: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
cb58: 441d add r5, r3
|
|
cb5a: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
cb5e: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
cb60: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
cb62: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
cb66: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
cb6a: 4283 cmp r3, r0
|
|
cb6c: d1f9 bne.n cb62 <lv_draw_rect+0x84a>
|
|
fa.y2 = fa.y1;
|
|
cb6e: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
cb72: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
cb76: 3701 adds r7, #1
|
|
cb78: 1b3f subs r7, r7, r4
|
|
for(y = 0; y < h; y++) {
|
|
cb7a: b23f sxth r7, r7
|
|
cb7c: 2f00 cmp r7, #0
|
|
cb7e: dd36 ble.n cbee <lv_draw_rect+0x8d6>
|
|
cb80: 2600 movs r6, #0
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
cb82: f8df 8244 ldr.w r8, [pc, #580] ; cdc8 <lv_draw_rect+0xab0>
|
|
cb86: f8cd b040 str.w fp, [sp, #64] ; 0x40
|
|
cb8a: 46bb mov fp, r7
|
|
cb8c: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
cb8e: 930b str r3, [sp, #44] ; 0x2c
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
cb90: 9a08 ldr r2, [sp, #32]
|
|
cb92: 4629 mov r1, r5
|
|
cb94: 9f05 ldr r7, [sp, #20]
|
|
cb96: 4638 mov r0, r7
|
|
cb98: 4c89 ldr r4, [pc, #548] ; (cdc0 <lv_draw_rect+0xaa8>)
|
|
cb9a: 47a0 blx r4
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
cb9c: ac30 add r4, sp, #192 ; 0xc0
|
|
cb9e: 9b08 ldr r3, [sp, #32]
|
|
cba0: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
cba4: f934 1d38 ldrsh.w r1, [r4, #-56]!
|
|
cba8: 9705 str r7, [sp, #20]
|
|
cbaa: 4638 mov r0, r7
|
|
cbac: 4f85 ldr r7, [pc, #532] ; (cdc4 <lv_draw_rect+0xaac>)
|
|
cbae: 47b8 blx r7
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
cbb0: 2801 cmp r0, #1
|
|
cbb2: bf08 it eq
|
|
cbb4: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
cbb6: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
cbba: 9302 str r3, [sp, #8]
|
|
cbbc: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
cbbe: 9201 str r2, [sp, #4]
|
|
cbc0: 9000 str r0, [sp, #0]
|
|
cbc2: 9b05 ldr r3, [sp, #20]
|
|
cbc4: f8ba 201e ldrh.w r2, [sl, #30]
|
|
cbc8: 4621 mov r1, r4
|
|
cbca: 9804 ldr r0, [sp, #16]
|
|
cbcc: 47c0 blx r8
|
|
fa.y1++;
|
|
cbce: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
cbd2: 3301 adds r3, #1
|
|
cbd4: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2++;
|
|
cbd8: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
cbdc: 3301 adds r3, #1
|
|
cbde: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
cbe2: 444d add r5, r9
|
|
for(y = 0; y < h; y++) {
|
|
cbe4: 3601 adds r6, #1
|
|
cbe6: 455e cmp r6, fp
|
|
cbe8: d1d2 bne.n cb90 <lv_draw_rect+0x878>
|
|
cbea: f8dd b040 ldr.w fp, [sp, #64] ; 0x40
|
|
a.x1 = sh_area.x1;
|
|
cbee: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58
|
|
cbf2: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.x2 = a.x1 + corner_size - 1;
|
|
cbf6: 3b01 subs r3, #1
|
|
cbf8: 445b add r3, fp
|
|
cbfa: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.y1 = sh_area.y2 - corner_size + 1;
|
|
cbfe: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e
|
|
cc02: 1c53 adds r3, r2, #1
|
|
cc04: eba3 030b sub.w r3, r3, fp
|
|
cc08: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = sh_area.y2;
|
|
cc0c: f8ad 2076 strh.w r2, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
cc10: 9a04 ldr r2, [sp, #16]
|
|
cc12: a91c add r1, sp, #112 ; 0x70
|
|
cc14: a81e add r0, sp, #120 ; 0x78
|
|
cc16: 4b69 ldr r3, [pc, #420] ; (cdbc <lv_draw_rect+0xaa4>)
|
|
cc18: 4798 blx r3
|
|
if(has_com) {
|
|
cc1a: 2800 cmp r0, #0
|
|
cc1c: d072 beq.n cd04 <lv_draw_rect+0x9ec>
|
|
if(ca.y1 <= h_half) ca.y1 = h_half + 1;
|
|
cc1e: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a
|
|
cc22: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
cc24: 4293 cmp r3, r2
|
|
cc26: dc03 bgt.n cc30 <lv_draw_rect+0x918>
|
|
cc28: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
cc2a: 3301 adds r3, #1
|
|
cc2c: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
if(ca.x2 > w_half) ca.x2 = w_half;
|
|
cc30: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c
|
|
cc34: 990d ldr r1, [sp, #52] ; 0x34
|
|
cc36: 428b cmp r3, r1
|
|
cc38: bfc4 itt gt
|
|
cc3a: 460b movgt r3, r1
|
|
cc3c: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
cc40: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78
|
|
cc44: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
cc48: 3301 adds r3, #1
|
|
cc4a: 1a9b subs r3, r3, r2
|
|
cc4c: b21b sxth r3, r3
|
|
cc4e: 9308 str r3, [sp, #32]
|
|
if(w > 0) {
|
|
cc50: 2b00 cmp r3, #0
|
|
cc52: dd57 ble.n cd04 <lv_draw_rect+0x9ec>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
cc54: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e
|
|
cc58: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a
|
|
sh_buf_tmp += corner_size * (a.y2 - ca.y2);
|
|
cc5c: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76
|
|
cc60: 1b2d subs r5, r5, r4
|
|
sh_buf_tmp = sh_buf + (ca.x1 - a.x1);
|
|
cc62: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70
|
|
cc66: 1ad2 subs r2, r2, r3
|
|
sh_buf_tmp += corner_size * (a.y2 - ca.y2);
|
|
cc68: fb09 2505 mla r5, r9, r5, r2
|
|
cc6c: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
cc6e: 441d add r5, r3
|
|
cc70: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
cc74: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
cc76: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
cc78: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
cc7c: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
cc80: 4283 cmp r3, r0
|
|
cc82: d1f9 bne.n cc78 <lv_draw_rect+0x960>
|
|
fa.y1 = fa.y2; /*Fill from bottom to top*/
|
|
cc84: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
cc88: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
cc8c: 1c67 adds r7, r4, #1
|
|
cc8e: 1bbf subs r7, r7, r6
|
|
for(y = 0; y < h; y++) {
|
|
cc90: b23f sxth r7, r7
|
|
cc92: 2f00 cmp r7, #0
|
|
cc94: dd36 ble.n cd04 <lv_draw_rect+0x9ec>
|
|
cc96: 2600 movs r6, #0
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
cc98: f8df 812c ldr.w r8, [pc, #300] ; cdc8 <lv_draw_rect+0xab0>
|
|
cc9c: f8cd b030 str.w fp, [sp, #48] ; 0x30
|
|
cca0: 46bb mov fp, r7
|
|
cca2: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
cca4: 930b str r3, [sp, #44] ; 0x2c
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
cca6: 9a08 ldr r2, [sp, #32]
|
|
cca8: 4629 mov r1, r5
|
|
ccaa: 9f05 ldr r7, [sp, #20]
|
|
ccac: 4638 mov r0, r7
|
|
ccae: 4c44 ldr r4, [pc, #272] ; (cdc0 <lv_draw_rect+0xaa8>)
|
|
ccb0: 47a0 blx r4
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
ccb2: ac30 add r4, sp, #192 ; 0xc0
|
|
ccb4: 9b08 ldr r3, [sp, #32]
|
|
ccb6: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
ccba: f934 1d38 ldrsh.w r1, [r4, #-56]!
|
|
ccbe: 9705 str r7, [sp, #20]
|
|
ccc0: 4638 mov r0, r7
|
|
ccc2: 4f40 ldr r7, [pc, #256] ; (cdc4 <lv_draw_rect+0xaac>)
|
|
ccc4: 47b8 blx r7
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
ccc6: 2801 cmp r0, #1
|
|
ccc8: bf08 it eq
|
|
ccca: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
cccc: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
ccd0: 9302 str r3, [sp, #8]
|
|
ccd2: 9a0b ldr r2, [sp, #44] ; 0x2c
|
|
ccd4: 9201 str r2, [sp, #4]
|
|
ccd6: 9000 str r0, [sp, #0]
|
|
ccd8: 9b05 ldr r3, [sp, #20]
|
|
ccda: f8ba 201e ldrh.w r2, [sl, #30]
|
|
ccde: 4621 mov r1, r4
|
|
cce0: 9804 ldr r0, [sp, #16]
|
|
cce2: 47c0 blx r8
|
|
fa.y1--;
|
|
cce4: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
cce8: 3b01 subs r3, #1
|
|
ccea: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2--;
|
|
ccee: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
ccf2: 3b01 subs r3, #1
|
|
ccf4: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
ccf8: 444d add r5, r9
|
|
for(y = 0; y < h; y++) {
|
|
ccfa: 3601 adds r6, #1
|
|
ccfc: 455e cmp r6, fp
|
|
ccfe: d1d2 bne.n cca6 <lv_draw_rect+0x98e>
|
|
cd00: f8dd b030 ldr.w fp, [sp, #48] ; 0x30
|
|
a.x1 = sh_area.x1;
|
|
cd04: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58
|
|
cd08: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.x2 = a.x1 + corner_size - 1;
|
|
cd0c: 3b01 subs r3, #1
|
|
cd0e: 445b add r3, fp
|
|
cd10: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.y1 = sh_area.y1 + corner_size;
|
|
cd14: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a
|
|
cd18: 445b add r3, fp
|
|
cd1a: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = sh_area.y2 - corner_size;
|
|
cd1e: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
cd22: eba3 030b sub.w r3, r3, fp
|
|
cd26: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
cd2a: 9a04 ldr r2, [sp, #16]
|
|
cd2c: a91c add r1, sp, #112 ; 0x70
|
|
cd2e: a81e add r0, sp, #120 ; 0x78
|
|
cd30: 4b22 ldr r3, [pc, #136] ; (cdbc <lv_draw_rect+0xaa4>)
|
|
cd32: 4798 blx r3
|
|
if(has_com) {
|
|
cd34: 2800 cmp r0, #0
|
|
cd36: d079 beq.n ce2c <lv_draw_rect+0xb14>
|
|
if(simple_mode) ca.x2 = LV_MATH_MIN(coords->x1, ca.x2);
|
|
cd38: 9b07 ldr r3, [sp, #28]
|
|
cd3a: b14b cbz r3, cd50 <lv_draw_rect+0xa38>
|
|
cd3c: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c
|
|
cd40: 9a06 ldr r2, [sp, #24]
|
|
cd42: f9b2 2000 ldrsh.w r2, [r2]
|
|
cd46: 4293 cmp r3, r2
|
|
cd48: bfa8 it ge
|
|
cd4a: 4613 movge r3, r2
|
|
cd4c: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
cd50: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78
|
|
cd54: f8bd 807c ldrh.w r8, [sp, #124] ; 0x7c
|
|
cd58: f108 0801 add.w r8, r8, #1
|
|
cd5c: eba8 0803 sub.w r8, r8, r3
|
|
cd60: fa0f f888 sxth.w r8, r8
|
|
if(w > 0) {
|
|
cd64: f1b8 0f00 cmp.w r8, #0
|
|
cd68: dd60 ble.n ce2c <lv_draw_rect+0xb14>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
cd6a: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e
|
|
cd6e: 3401 adds r4, #1
|
|
cd70: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a
|
|
cd74: 1aa4 subs r4, r4, r2
|
|
cd76: b224 sxth r4, r4
|
|
sh_buf_tmp = sh_buf + corner_size * (corner_size - 1);
|
|
cd78: f109 31ff add.w r1, r9, #4294967295
|
|
sh_buf_tmp += ca.x1 - a.x1;
|
|
cd7c: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70
|
|
cd80: 1a9b subs r3, r3, r2
|
|
cd82: fb09 3301 mla r3, r9, r1, r3
|
|
cd86: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
cd88: 18d3 adds r3, r2, r3
|
|
cd8a: 9308 str r3, [sp, #32]
|
|
cd8c: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
cd90: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
cd92: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
cd94: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
cd98: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
cd9c: 4283 cmp r3, r0
|
|
cd9e: d1f9 bne.n cd94 <lv_draw_rect+0xa7c>
|
|
fa.y2 = fa.y1;
|
|
cda0: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
cda4: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
for(y = 0; y < h; y++) {
|
|
cda8: 4625 mov r5, r4
|
|
cdaa: 2c00 cmp r4, #0
|
|
cdac: dd3e ble.n ce2c <lv_draw_rect+0xb14>
|
|
cdae: 2400 movs r4, #0
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
cdb0: 4f03 ldr r7, [pc, #12] ; (cdc0 <lv_draw_rect+0xaa8>)
|
|
_lv_blend_fill(clip, &fa,
|
|
cdb2: f8cd 902c str.w r9, [sp, #44] ; 0x2c
|
|
cdb6: 46a9 mov r9, r5
|
|
cdb8: 9d07 ldr r5, [sp, #28]
|
|
cdba: e02d b.n ce18 <lv_draw_rect+0xb00>
|
|
cdbc: 00011501 .word 0x00011501
|
|
cdc0: 0001263d .word 0x0001263d
|
|
cdc4: 0000be05 .word 0x0000be05
|
|
cdc8: 00007739 .word 0x00007739
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
cdcc: 4643 mov r3, r8
|
|
cdce: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
cdd2: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88
|
|
cdd6: 9805 ldr r0, [sp, #20]
|
|
cdd8: 4eaa ldr r6, [pc, #680] ; (d084 <lv_draw_rect+0xd6c>)
|
|
cdda: 47b0 blx r6
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
cddc: 2801 cmp r0, #1
|
|
cdde: bf08 it eq
|
|
cde0: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa,
|
|
cde2: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
cde6: 9302 str r3, [sp, #8]
|
|
cde8: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28
|
|
cdec: 9301 str r3, [sp, #4]
|
|
cdee: 9000 str r0, [sp, #0]
|
|
cdf0: 9b05 ldr r3, [sp, #20]
|
|
cdf2: f8ba 201e ldrh.w r2, [sl, #30]
|
|
cdf6: a922 add r1, sp, #136 ; 0x88
|
|
cdf8: 9804 ldr r0, [sp, #16]
|
|
cdfa: 4ea3 ldr r6, [pc, #652] ; (d088 <lv_draw_rect+0xd70>)
|
|
cdfc: 47b0 blx r6
|
|
fa.y1++;
|
|
cdfe: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
ce02: 3301 adds r3, #1
|
|
ce04: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2++;
|
|
ce08: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
ce0c: 3301 adds r3, #1
|
|
ce0e: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
for(y = 0; y < h; y++) {
|
|
ce12: 3401 adds r4, #1
|
|
ce14: 454c cmp r4, r9
|
|
ce16: d007 beq.n ce28 <lv_draw_rect+0xb10>
|
|
_lv_memcpy(mask_buf, sh_buf_tmp, w);
|
|
ce18: 4642 mov r2, r8
|
|
ce1a: 9908 ldr r1, [sp, #32]
|
|
ce1c: 9805 ldr r0, [sp, #20]
|
|
ce1e: 47b8 blx r7
|
|
if(simple_mode) {
|
|
ce20: 2d00 cmp r5, #0
|
|
ce22: d0d3 beq.n cdcc <lv_draw_rect+0xab4>
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
ce24: 2002 movs r0, #2
|
|
ce26: e7dc b.n cde2 <lv_draw_rect+0xaca>
|
|
ce28: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c
|
|
a.x1 = sh_area.x1 + corner_size;
|
|
ce2c: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58
|
|
ce30: 445b add r3, fp
|
|
ce32: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.x2 = sh_area.x2 - corner_size;
|
|
ce36: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c
|
|
ce3a: eba3 030b sub.w r3, r3, fp
|
|
ce3e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.y1 = sh_area.y1;
|
|
ce42: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a
|
|
ce46: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = sh_area.y1 + corner_size - 1;
|
|
ce4a: 3b01 subs r3, #1
|
|
ce4c: 445b add r3, fp
|
|
ce4e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
ce52: 9a04 ldr r2, [sp, #16]
|
|
ce54: a91c add r1, sp, #112 ; 0x70
|
|
ce56: a81e add r0, sp, #120 ; 0x78
|
|
ce58: 4b8c ldr r3, [pc, #560] ; (d08c <lv_draw_rect+0xd74>)
|
|
ce5a: 4798 blx r3
|
|
if(has_com) {
|
|
ce5c: 2800 cmp r0, #0
|
|
ce5e: d07d beq.n cf5c <lv_draw_rect+0xc44>
|
|
if(simple_mode) ca.y2 = LV_MATH_MIN(ca.y2, coords->y1);
|
|
ce60: 9b07 ldr r3, [sp, #28]
|
|
ce62: b14b cbz r3, ce78 <lv_draw_rect+0xb60>
|
|
ce64: 9b06 ldr r3, [sp, #24]
|
|
ce66: f9b3 3002 ldrsh.w r3, [r3, #2]
|
|
ce6a: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e
|
|
ce6e: 4293 cmp r3, r2
|
|
ce70: bfa8 it ge
|
|
ce72: 4613 movge r3, r2
|
|
ce74: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
ce78: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
ce7c: 3301 adds r3, #1
|
|
ce7e: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78
|
|
ce82: 1a9b subs r3, r3, r2
|
|
ce84: b21b sxth r3, r3
|
|
ce86: 9308 str r3, [sp, #32]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
ce88: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a
|
|
ce8c: f8bd 507e ldrh.w r5, [sp, #126] ; 0x7e
|
|
ce90: 3501 adds r5, #1
|
|
ce92: 1aed subs r5, r5, r3
|
|
ce94: b22d sxth r5, r5
|
|
sh_buf_tmp = sh_buf + corner_size - 1;
|
|
ce96: 46c8 mov r8, r9
|
|
sh_buf_tmp += corner_size * (ca.y1 - a.y1);
|
|
ce98: f9bd 4072 ldrsh.w r4, [sp, #114] ; 0x72
|
|
ce9c: 1b1c subs r4, r3, r4
|
|
sh_buf_tmp = sh_buf + corner_size - 1;
|
|
ce9e: f109 33ff add.w r3, r9, #4294967295
|
|
sh_buf_tmp += corner_size * (ca.y1 - a.y1);
|
|
cea2: fb09 3404 mla r4, r9, r4, r3
|
|
cea6: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
cea8: 441c add r4, r3
|
|
ceaa: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
ceae: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
ceb0: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
ceb2: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
ceb6: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
ceba: 4283 cmp r3, r0
|
|
cebc: d1f9 bne.n ceb2 <lv_draw_rect+0xb9a>
|
|
fa.y2 = fa.y1;
|
|
cebe: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
cec2: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
for(y = 0; y < h; y++) {
|
|
cec6: 462b mov r3, r5
|
|
cec8: 2d00 cmp r5, #0
|
|
ceca: dd47 ble.n cf5c <lv_draw_rect+0xc44>
|
|
cecc: 2500 movs r5, #0
|
|
_lv_memset(mask_buf, opa_tmp, w);
|
|
cece: 4f70 ldr r7, [pc, #448] ; (d090 <lv_draw_rect+0xd78>)
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
ced0: f8cd 902c str.w r9, [sp, #44] ; 0x2c
|
|
ced4: f8dd 9024 ldr.w r9, [sp, #36] ; 0x24
|
|
ced8: f8cd b030 str.w fp, [sp, #48] ; 0x30
|
|
cedc: 469b mov fp, r3
|
|
cede: e02a b.n cf36 <lv_draw_rect+0xc1e>
|
|
if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8;
|
|
cee0: f1b9 0fff cmp.w r9, #255 ; 0xff
|
|
cee4: d12a bne.n cf3c <lv_draw_rect+0xc24>
|
|
lv_opa_t opa_tmp = sh_buf_tmp[0];
|
|
cee6: 4649 mov r1, r9
|
|
cee8: e02c b.n cf44 <lv_draw_rect+0xc2c>
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
ceea: 9b08 ldr r3, [sp, #32]
|
|
ceec: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
cef0: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88
|
|
cef4: 9805 ldr r0, [sp, #20]
|
|
cef6: 4e63 ldr r6, [pc, #396] ; (d084 <lv_draw_rect+0xd6c>)
|
|
cef8: 47b0 blx r6
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
cefa: 2801 cmp r0, #1
|
|
cefc: bf08 it eq
|
|
cefe: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
cf00: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
cf04: 9302 str r3, [sp, #8]
|
|
cf06: 23ff movs r3, #255 ; 0xff
|
|
cf08: 9301 str r3, [sp, #4]
|
|
cf0a: 9000 str r0, [sp, #0]
|
|
cf0c: 9b05 ldr r3, [sp, #20]
|
|
cf0e: f8ba 201e ldrh.w r2, [sl, #30]
|
|
cf12: a922 add r1, sp, #136 ; 0x88
|
|
cf14: 9804 ldr r0, [sp, #16]
|
|
cf16: 4e5c ldr r6, [pc, #368] ; (d088 <lv_draw_rect+0xd70>)
|
|
cf18: 47b0 blx r6
|
|
fa.y1++;
|
|
cf1a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
cf1e: 3301 adds r3, #1
|
|
cf20: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2++;
|
|
cf24: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
cf28: 3301 adds r3, #1
|
|
cf2a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
sh_buf_tmp += corner_size;
|
|
cf2e: 4444 add r4, r8
|
|
for(y = 0; y < h; y++) {
|
|
cf30: 3501 adds r5, #1
|
|
cf32: 455d cmp r5, fp
|
|
cf34: d00e beq.n cf54 <lv_draw_rect+0xc3c>
|
|
lv_opa_t opa_tmp = sh_buf_tmp[0];
|
|
cf36: 7823 ldrb r3, [r4, #0]
|
|
if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8;
|
|
cf38: 2bff cmp r3, #255 ; 0xff
|
|
cf3a: d0d1 beq.n cee0 <lv_draw_rect+0xbc8>
|
|
cf3c: fb03 f309 mul.w r3, r3, r9
|
|
cf40: f3c3 2107 ubfx r1, r3, #8, #8
|
|
_lv_memset(mask_buf, opa_tmp, w);
|
|
cf44: 9a08 ldr r2, [sp, #32]
|
|
cf46: 9805 ldr r0, [sp, #20]
|
|
cf48: 47b8 blx r7
|
|
if(simple_mode) {
|
|
cf4a: 9b07 ldr r3, [sp, #28]
|
|
cf4c: 2b00 cmp r3, #0
|
|
cf4e: d0cc beq.n ceea <lv_draw_rect+0xbd2>
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
cf50: 2002 movs r0, #2
|
|
cf52: e7d5 b.n cf00 <lv_draw_rect+0xbe8>
|
|
cf54: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c
|
|
cf58: f8dd b030 ldr.w fp, [sp, #48] ; 0x30
|
|
a.x1 = sh_area.x1 + corner_size;
|
|
cf5c: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58
|
|
cf60: 445b add r3, fp
|
|
cf62: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.x2 = sh_area.x2 - corner_size;
|
|
cf66: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c
|
|
cf6a: eba3 030b sub.w r3, r3, fp
|
|
cf6e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.y1 = sh_area.y2 - corner_size + 1;
|
|
cf72: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e
|
|
cf76: 1c53 adds r3, r2, #1
|
|
cf78: eba3 030b sub.w r3, r3, fp
|
|
cf7c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = sh_area.y2;
|
|
cf80: f8ad 2076 strh.w r2, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
cf84: 9a04 ldr r2, [sp, #16]
|
|
cf86: a91c add r1, sp, #112 ; 0x70
|
|
cf88: a81e add r0, sp, #120 ; 0x78
|
|
cf8a: 4b40 ldr r3, [pc, #256] ; (d08c <lv_draw_rect+0xd74>)
|
|
cf8c: 4798 blx r3
|
|
if(has_com) {
|
|
cf8e: 2800 cmp r0, #0
|
|
cf90: f000 8082 beq.w d098 <lv_draw_rect+0xd80>
|
|
if(simple_mode) ca.y1 = LV_MATH_MAX(ca.y1, coords->y2);
|
|
cf94: 9b07 ldr r3, [sp, #28]
|
|
cf96: b14b cbz r3, cfac <lv_draw_rect+0xc94>
|
|
cf98: 9b06 ldr r3, [sp, #24]
|
|
cf9a: f9b3 3006 ldrsh.w r3, [r3, #6]
|
|
cf9e: f9bd 207a ldrsh.w r2, [sp, #122] ; 0x7a
|
|
cfa2: 4293 cmp r3, r2
|
|
cfa4: bfb8 it lt
|
|
cfa6: 4613 movlt r3, r2
|
|
cfa8: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
cfac: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c
|
|
cfb0: 3301 adds r3, #1
|
|
cfb2: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78
|
|
cfb6: 1a9b subs r3, r3, r2
|
|
cfb8: b21b sxth r3, r3
|
|
cfba: 9308 str r3, [sp, #32]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
cfbc: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e
|
|
cfc0: 1c5d adds r5, r3, #1
|
|
cfc2: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a
|
|
cfc6: 1aad subs r5, r5, r2
|
|
cfc8: b22d sxth r5, r5
|
|
sh_buf_tmp = sh_buf + corner_size - 1;
|
|
cfca: 46c8 mov r8, r9
|
|
sh_buf_tmp += corner_size * (a.y2 - ca.y2);
|
|
cfcc: f9bd 4076 ldrsh.w r4, [sp, #118] ; 0x76
|
|
cfd0: 1ae4 subs r4, r4, r3
|
|
sh_buf_tmp = sh_buf + corner_size - 1;
|
|
cfd2: f109 33ff add.w r3, r9, #4294967295
|
|
sh_buf_tmp += corner_size * (a.y2 - ca.y2);
|
|
cfd6: fb09 3404 mla r4, r9, r4, r3
|
|
cfda: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
cfdc: 441c add r4, r3
|
|
cfde: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
cfe2: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
cfe4: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
cfe6: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
cfea: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
cfee: 4283 cmp r3, r0
|
|
cff0: d1f9 bne.n cfe6 <lv_draw_rect+0xcce>
|
|
fa.y1 = fa.y2;
|
|
cff2: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
cff6: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
for(y = 0; y < h; y++) {
|
|
cffa: 46a9 mov r9, r5
|
|
cffc: 2d00 cmp r5, #0
|
|
cffe: dd4b ble.n d098 <lv_draw_rect+0xd80>
|
|
d000: 2500 movs r5, #0
|
|
_lv_memset(mask_buf, opa_tmp, w);
|
|
d002: 4f23 ldr r7, [pc, #140] ; (d090 <lv_draw_rect+0xd78>)
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
d004: f8cd b02c str.w fp, [sp, #44] ; 0x2c
|
|
d008: f8dd b024 ldr.w fp, [sp, #36] ; 0x24
|
|
d00c: e02a b.n d064 <lv_draw_rect+0xd4c>
|
|
if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8;
|
|
d00e: f1bb 0fff cmp.w fp, #255 ; 0xff
|
|
d012: d12a bne.n d06a <lv_draw_rect+0xd52>
|
|
lv_opa_t opa_tmp = sh_buf_tmp[0];
|
|
d014: 4659 mov r1, fp
|
|
d016: e02c b.n d072 <lv_draw_rect+0xd5a>
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
d018: 9b08 ldr r3, [sp, #32]
|
|
d01a: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
d01e: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88
|
|
d022: 9805 ldr r0, [sp, #20]
|
|
d024: 4e17 ldr r6, [pc, #92] ; (d084 <lv_draw_rect+0xd6c>)
|
|
d026: 47b0 blx r6
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
d028: 2801 cmp r0, #1
|
|
d02a: bf08 it eq
|
|
d02c: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
d02e: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
d032: 9302 str r3, [sp, #8]
|
|
d034: 23ff movs r3, #255 ; 0xff
|
|
d036: 9301 str r3, [sp, #4]
|
|
d038: 9000 str r0, [sp, #0]
|
|
d03a: 9b05 ldr r3, [sp, #20]
|
|
d03c: f8ba 201e ldrh.w r2, [sl, #30]
|
|
d040: a922 add r1, sp, #136 ; 0x88
|
|
d042: 9804 ldr r0, [sp, #16]
|
|
d044: 4e10 ldr r6, [pc, #64] ; (d088 <lv_draw_rect+0xd70>)
|
|
d046: 47b0 blx r6
|
|
fa.y1--;
|
|
d048: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
d04c: 3b01 subs r3, #1
|
|
d04e: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2--;
|
|
d052: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
d056: 3b01 subs r3, #1
|
|
d058: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
sh_buf_tmp += corner_size;
|
|
d05c: 4444 add r4, r8
|
|
for(y = 0; y < h; y++) {
|
|
d05e: 3501 adds r5, #1
|
|
d060: 454d cmp r5, r9
|
|
d062: d017 beq.n d094 <lv_draw_rect+0xd7c>
|
|
lv_opa_t opa_tmp = sh_buf_tmp[0];
|
|
d064: 7823 ldrb r3, [r4, #0]
|
|
if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8;
|
|
d066: 2bff cmp r3, #255 ; 0xff
|
|
d068: d0d1 beq.n d00e <lv_draw_rect+0xcf6>
|
|
d06a: fb03 f30b mul.w r3, r3, fp
|
|
d06e: f3c3 2107 ubfx r1, r3, #8, #8
|
|
_lv_memset(mask_buf, opa_tmp, w);
|
|
d072: 9a08 ldr r2, [sp, #32]
|
|
d074: 9805 ldr r0, [sp, #20]
|
|
d076: 47b8 blx r7
|
|
if(simple_mode) {
|
|
d078: 9b07 ldr r3, [sp, #28]
|
|
d07a: 2b00 cmp r3, #0
|
|
d07c: d0cc beq.n d018 <lv_draw_rect+0xd00>
|
|
mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
d07e: 2002 movs r0, #2
|
|
d080: e7d5 b.n d02e <lv_draw_rect+0xd16>
|
|
d082: bf00 nop
|
|
d084: 0000be05 .word 0x0000be05
|
|
d088: 00007739 .word 0x00007739
|
|
d08c: 00011501 .word 0x00011501
|
|
d090: 00012a69 .word 0x00012a69
|
|
d094: f8dd b02c ldr.w fp, [sp, #44] ; 0x2c
|
|
a.x1 = sh_area.x1 + corner_size;
|
|
d098: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58
|
|
d09c: 445b add r3, fp
|
|
d09e: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
a.x2 = sh_area.x2 - corner_size;
|
|
d0a2: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c
|
|
d0a6: eba3 030b sub.w r3, r3, fp
|
|
d0aa: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
a.y1 = sh_area.y1 + corner_size;
|
|
d0ae: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a
|
|
d0b2: 445b add r3, fp
|
|
d0b4: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
a.y2 = sh_area.y2 - corner_size;
|
|
d0b8: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
d0bc: eba3 0b0b sub.w fp, r3, fp
|
|
d0c0: f8ad b076 strh.w fp, [sp, #118] ; 0x76
|
|
has_com = _lv_area_intersect(&ca, &a, clip);
|
|
d0c4: 9a04 ldr r2, [sp, #16]
|
|
d0c6: a91c add r1, sp, #112 ; 0x70
|
|
d0c8: a81e add r0, sp, #120 ; 0x78
|
|
d0ca: 4ba2 ldr r3, [pc, #648] ; (d354 <lv_draw_rect+0x103c>)
|
|
d0cc: 4798 blx r3
|
|
if(has_com && simple_mode == false) {
|
|
d0ce: 2800 cmp r0, #0
|
|
d0d0: d050 beq.n d174 <lv_draw_rect+0xe5c>
|
|
d0d2: 9b07 ldr r3, [sp, #28]
|
|
d0d4: 2b00 cmp r3, #0
|
|
d0d6: d14d bne.n d174 <lv_draw_rect+0xe5c>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
d0d8: f8bd 607c ldrh.w r6, [sp, #124] ; 0x7c
|
|
d0dc: 3601 adds r6, #1
|
|
d0de: f8bd 3078 ldrh.w r3, [sp, #120] ; 0x78
|
|
d0e2: 1af6 subs r6, r6, r3
|
|
d0e4: b236 sxth r6, r6
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
d0e6: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e
|
|
d0ea: 3401 adds r4, #1
|
|
d0ec: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a
|
|
d0f0: 1ae4 subs r4, r4, r3
|
|
d0f2: b224 sxth r4, r4
|
|
d0f4: f10d 0277 add.w r2, sp, #119 ; 0x77
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
d0f8: ab22 add r3, sp, #136 ; 0x88
|
|
while(len) {
|
|
d0fa: a824 add r0, sp, #144 ; 0x90
|
|
*d8 = *s8;
|
|
d0fc: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
d100: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
d104: 4283 cmp r3, r0
|
|
d106: d1f9 bne.n d0fc <lv_draw_rect+0xde4>
|
|
fa.y2 = fa.y1;
|
|
d108: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
d10c: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
for(y = 0; y < h; y++) {
|
|
d110: 46a3 mov fp, r4
|
|
d112: 2c00 cmp r4, #0
|
|
d114: dd2e ble.n d174 <lv_draw_rect+0xe5c>
|
|
d116: 2500 movs r5, #0
|
|
_lv_memset(mask_buf, dsc->shadow_opa, w);
|
|
d118: f8df 9254 ldr.w r9, [pc, #596] ; d370 <lv_draw_rect+0x1058>
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
d11c: f8df 8254 ldr.w r8, [pc, #596] ; d374 <lv_draw_rect+0x105c>
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
d120: 4f8d ldr r7, [pc, #564] ; (d358 <lv_draw_rect+0x1040>)
|
|
_lv_memset(mask_buf, dsc->shadow_opa, w);
|
|
d122: 4632 mov r2, r6
|
|
d124: f89a 1028 ldrb.w r1, [sl, #40] ; 0x28
|
|
d128: 9805 ldr r0, [sp, #20]
|
|
d12a: 47c8 blx r9
|
|
mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w);
|
|
d12c: ac30 add r4, sp, #192 ; 0xc0
|
|
d12e: 4633 mov r3, r6
|
|
d130: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a
|
|
d134: f934 1d38 ldrsh.w r1, [r4, #-56]!
|
|
d138: 9805 ldr r0, [sp, #20]
|
|
d13a: 47c0 blx r8
|
|
if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED;
|
|
d13c: 2801 cmp r0, #1
|
|
d13e: bf08 it eq
|
|
d140: 2002 moveq r0, #2
|
|
_lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf,
|
|
d142: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29
|
|
d146: 9302 str r3, [sp, #8]
|
|
d148: 23ff movs r3, #255 ; 0xff
|
|
d14a: 9301 str r3, [sp, #4]
|
|
d14c: 9000 str r0, [sp, #0]
|
|
d14e: 9b05 ldr r3, [sp, #20]
|
|
d150: f8ba 201e ldrh.w r2, [sl, #30]
|
|
d154: 4621 mov r1, r4
|
|
d156: 9804 ldr r0, [sp, #16]
|
|
d158: 47b8 blx r7
|
|
fa.y1++;
|
|
d15a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a
|
|
d15e: 3301 adds r3, #1
|
|
d160: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fa.y2++;
|
|
d164: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e
|
|
d168: 3301 adds r3, #1
|
|
d16a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
for(y = 0; y < h; y++) {
|
|
d16e: 3501 adds r5, #1
|
|
d170: 455d cmp r5, fp
|
|
d172: d1d6 bne.n d122 <lv_draw_rect+0xe0a>
|
|
lv_draw_mask_remove_id(mask_rout_id);
|
|
d174: 980e ldr r0, [sp, #56] ; 0x38
|
|
d176: 4b79 ldr r3, [pc, #484] ; (d35c <lv_draw_rect+0x1044>)
|
|
d178: 4798 blx r3
|
|
_lv_mem_buf_release(mask_buf);
|
|
d17a: 9805 ldr r0, [sp, #20]
|
|
d17c: 4c78 ldr r4, [pc, #480] ; (d360 <lv_draw_rect+0x1048>)
|
|
d17e: 47a0 blx r4
|
|
_lv_mem_buf_release(sh_buf);
|
|
d180: 980a ldr r0, [sp, #40] ; 0x28
|
|
d182: 47a0 blx r4
|
|
if(dsc->bg_opa <= LV_OPA_MIN) return;
|
|
d184: f89a 700c ldrb.w r7, [sl, #12]
|
|
d188: 2f05 cmp r7, #5
|
|
d18a: d942 bls.n d212 <lv_draw_rect+0xefa>
|
|
d18c: 9a06 ldr r2, [sp, #24]
|
|
d18e: 1e53 subs r3, r2, #1
|
|
d190: 1dd0 adds r0, r2, #7
|
|
d192: aa1a add r2, sp, #104 ; 0x68
|
|
*d8 = *s8;
|
|
d194: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
d198: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
d19c: 4298 cmp r0, r3
|
|
d19e: d1f9 bne.n d194 <lv_draw_rect+0xe7c>
|
|
if(dsc->border_width > 1 && dsc->border_opa >= LV_OPA_MAX && dsc->radius != 0) {
|
|
d1a0: f9ba 3010 ldrsh.w r3, [sl, #16]
|
|
d1a4: 2b01 cmp r3, #1
|
|
d1a6: dd24 ble.n d1f2 <lv_draw_rect+0xeda>
|
|
d1a8: f89a 3014 ldrb.w r3, [sl, #20]
|
|
d1ac: 2bf9 cmp r3, #249 ; 0xf9
|
|
d1ae: d920 bls.n d1f2 <lv_draw_rect+0xeda>
|
|
d1b0: f9ba 3000 ldrsh.w r3, [sl]
|
|
d1b4: b1eb cbz r3, d1f2 <lv_draw_rect+0xeda>
|
|
coords_bg.x1 += (dsc->border_side & LV_BORDER_SIDE_LEFT) ? 1 : 0;
|
|
d1b6: f8ba 3012 ldrh.w r3, [sl, #18]
|
|
d1ba: f3c3 0280 ubfx r2, r3, #2, #1
|
|
d1be: f8bd 1068 ldrh.w r1, [sp, #104] ; 0x68
|
|
d1c2: 440a add r2, r1
|
|
d1c4: f8ad 2068 strh.w r2, [sp, #104] ; 0x68
|
|
coords_bg.y1 += (dsc->border_side & LV_BORDER_SIDE_TOP) ? 1 : 0;
|
|
d1c8: f3c3 0240 ubfx r2, r3, #1, #1
|
|
d1cc: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a
|
|
d1d0: 440a add r2, r1
|
|
d1d2: f8ad 206a strh.w r2, [sp, #106] ; 0x6a
|
|
coords_bg.x2 -= (dsc->border_side & LV_BORDER_SIDE_RIGHT) ? 1 : 0;
|
|
d1d6: f3c3 01c0 ubfx r1, r3, #3, #1
|
|
d1da: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c
|
|
d1de: 1a52 subs r2, r2, r1
|
|
d1e0: f8ad 206c strh.w r2, [sp, #108] ; 0x6c
|
|
coords_bg.y2 -= (dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? 1 : 0;
|
|
d1e4: f003 0301 and.w r3, r3, #1
|
|
d1e8: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e
|
|
d1ec: 1ad3 subs r3, r2, r3
|
|
d1ee: f8ad 306e strh.w r3, [sp, #110] ; 0x6e
|
|
if(opa > LV_OPA_MAX) opa = LV_OPA_COVER;
|
|
d1f2: 2ffb cmp r7, #251 ; 0xfb
|
|
d1f4: bf28 it cs
|
|
d1f6: 27ff movcs r7, #255 ; 0xff
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
d1f8: 4b5a ldr r3, [pc, #360] ; (d364 <lv_draw_rect+0x104c>)
|
|
d1fa: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
d1fc: 4b5a ldr r3, [pc, #360] ; (d368 <lv_draw_rect+0x1050>)
|
|
d1fe: 4798 blx r3
|
|
d200: 4680 mov r8, r0
|
|
is_common = _lv_area_intersect(&draw_area, &coords_bg, clip);
|
|
d202: 9a04 ldr r2, [sp, #16]
|
|
d204: a91a add r1, sp, #104 ; 0x68
|
|
d206: a81c add r0, sp, #112 ; 0x70
|
|
d208: 4b52 ldr r3, [pc, #328] ; (d354 <lv_draw_rect+0x103c>)
|
|
d20a: 4798 blx r3
|
|
if(is_common == false) return;
|
|
d20c: 2800 cmp r0, #0
|
|
d20e: f040 80b3 bne.w d378 <lv_draw_rect+0x1060>
|
|
_lv_mem_buf_release(mask_buf);
|
|
}
|
|
|
|
static void draw_pattern(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc)
|
|
{
|
|
if(dsc->pattern_image == NULL) return;
|
|
d212: f8da 002c ldr.w r0, [sl, #44] ; 0x2c
|
|
d216: b120 cbz r0, d222 <lv_draw_rect+0xf0a>
|
|
if(dsc->pattern_opa <= LV_OPA_MIN) return;
|
|
d218: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36
|
|
d21c: 2b05 cmp r3, #5
|
|
d21e: f200 83eb bhi.w d9f8 <lv_draw_rect+0x16e0>
|
|
if(dsc->border_opa <= LV_OPA_MIN) return;
|
|
d222: f89a 4014 ldrb.w r4, [sl, #20]
|
|
d226: 2c05 cmp r4, #5
|
|
d228: d915 bls.n d256 <lv_draw_rect+0xf3e>
|
|
if(dsc->border_width == 0) return;
|
|
d22a: f9ba 3010 ldrsh.w r3, [sl, #16]
|
|
d22e: b193 cbz r3, d256 <lv_draw_rect+0xf3e>
|
|
if(dsc->border_side == LV_BORDER_SIDE_NONE) return;
|
|
d230: f9ba 3012 ldrsh.w r3, [sl, #18]
|
|
d234: b17b cbz r3, d256 <lv_draw_rect+0xf3e>
|
|
if(opa > LV_OPA_MAX) opa = LV_OPA_COVER;
|
|
d236: 2cfb cmp r4, #251 ; 0xfb
|
|
d238: bf28 it cs
|
|
d23a: 24ff movcs r4, #255 ; 0xff
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
d23c: 4b49 ldr r3, [pc, #292] ; (d364 <lv_draw_rect+0x104c>)
|
|
d23e: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
d240: 4b49 ldr r3, [pc, #292] ; (d368 <lv_draw_rect+0x1050>)
|
|
d242: 4798 blx r3
|
|
d244: 4605 mov r5, r0
|
|
is_common = _lv_area_intersect(&draw_area, coords, clip);
|
|
d246: 9a04 ldr r2, [sp, #16]
|
|
d248: 9906 ldr r1, [sp, #24]
|
|
d24a: a818 add r0, sp, #96 ; 0x60
|
|
d24c: 4b41 ldr r3, [pc, #260] ; (d354 <lv_draw_rect+0x103c>)
|
|
d24e: 4798 blx r3
|
|
if(is_common == false) return;
|
|
d250: 2800 cmp r0, #0
|
|
d252: f040 8546 bne.w dce2 <lv_draw_rect+0x19ca>
|
|
}
|
|
|
|
|
|
static void draw_value(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc)
|
|
{
|
|
if(dsc->value_str == NULL) return;
|
|
d256: f8da 103c ldr.w r1, [sl, #60] ; 0x3c
|
|
d25a: b121 cbz r1, d266 <lv_draw_rect+0xf4e>
|
|
if(dsc->value_opa <= LV_OPA_MIN) return;
|
|
d25c: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44
|
|
d260: 2b05 cmp r3, #5
|
|
d262: f201 8053 bhi.w e30c <lv_draw_rect+0x1ff4>
|
|
if(dsc->outline_opa <= LV_OPA_MIN) return;
|
|
d266: f89a b01c ldrb.w fp, [sl, #28]
|
|
d26a: f1bb 0f05 cmp.w fp, #5
|
|
d26e: d96d bls.n d34c <lv_draw_rect+0x1034>
|
|
if(dsc->outline_width == 0) return;
|
|
d270: f9ba 3018 ldrsh.w r3, [sl, #24]
|
|
d274: 2b00 cmp r3, #0
|
|
d276: d069 beq.n d34c <lv_draw_rect+0x1034>
|
|
if(opa > LV_OPA_MAX) opa = LV_OPA_COVER;
|
|
d278: f1bb 0ffb cmp.w fp, #251 ; 0xfb
|
|
d27c: bf28 it cs
|
|
d27e: f04f 0bff movcs.w fp, #255 ; 0xff
|
|
uint8_t other_mask_cnt = lv_draw_mask_get_cnt();
|
|
d282: 4b3a ldr r3, [pc, #232] ; (d36c <lv_draw_rect+0x1054>)
|
|
d284: 4798 blx r3
|
|
d286: 9009 str r0, [sp, #36] ; 0x24
|
|
d288: 9a06 ldr r2, [sp, #24]
|
|
d28a: 1e53 subs r3, r2, #1
|
|
d28c: 1dd0 adds r0, r2, #7
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
d28e: aa16 add r2, sp, #88 ; 0x58
|
|
*d8 = *s8;
|
|
d290: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
d294: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
d298: 4283 cmp r3, r0
|
|
d29a: d1f9 bne.n d290 <lv_draw_rect+0xf78>
|
|
area_inner.x1 -= dsc->outline_pad;
|
|
d29c: f8ba 501a ldrh.w r5, [sl, #26]
|
|
d2a0: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58
|
|
d2a4: 1b5b subs r3, r3, r5
|
|
d2a6: b29b uxth r3, r3
|
|
d2a8: 9306 str r3, [sp, #24]
|
|
d2aa: f8ad 3058 strh.w r3, [sp, #88] ; 0x58
|
|
area_inner.y1 -= dsc->outline_pad;
|
|
d2ae: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a
|
|
d2b2: 1b5b subs r3, r3, r5
|
|
d2b4: b29b uxth r3, r3
|
|
d2b6: 9307 str r3, [sp, #28]
|
|
d2b8: f8ad 305a strh.w r3, [sp, #90] ; 0x5a
|
|
area_inner.x2 += dsc->outline_pad;
|
|
d2bc: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c
|
|
d2c0: 442e add r6, r5
|
|
d2c2: b2b6 uxth r6, r6
|
|
d2c4: f8ad 605c strh.w r6, [sp, #92] ; 0x5c
|
|
area_inner.y2 += dsc->outline_pad;
|
|
d2c8: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
d2cc: 441d add r5, r3
|
|
d2ce: b2ad uxth r5, r5
|
|
d2d0: f8ad 505e strh.w r5, [sp, #94] ; 0x5e
|
|
int32_t rin = dsc->radius;
|
|
d2d4: f9ba 3000 ldrsh.w r3, [sl]
|
|
d2d8: 9308 str r3, [sp, #32]
|
|
int32_t rout = rin + dsc->outline_width;
|
|
d2da: f9ba 3018 ldrsh.w r3, [sl, #24]
|
|
d2de: 9305 str r3, [sp, #20]
|
|
d2e0: f10d 0257 add.w r2, sp, #87 ; 0x57
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
d2e4: ab18 add r3, sp, #96 ; 0x60
|
|
while(len) {
|
|
d2e6: a81a add r0, sp, #104 ; 0x68
|
|
*d8 = *s8;
|
|
d2e8: f812 1f01 ldrb.w r1, [r2, #1]!
|
|
d2ec: f803 1b01 strb.w r1, [r3], #1
|
|
while(len) {
|
|
d2f0: 4283 cmp r3, r0
|
|
d2f2: d1f9 bne.n d2e8 <lv_draw_rect+0xfd0>
|
|
area_outer.x1 -= dsc->outline_width;
|
|
d2f4: f8bd 4014 ldrh.w r4, [sp, #20]
|
|
d2f8: f8bd 9060 ldrh.w r9, [sp, #96] ; 0x60
|
|
d2fc: eba9 0904 sub.w r9, r9, r4
|
|
d300: fa1f f389 uxth.w r3, r9
|
|
d304: 930a str r3, [sp, #40] ; 0x28
|
|
d306: f8ad 3060 strh.w r3, [sp, #96] ; 0x60
|
|
area_outer.x2 += dsc->outline_width;
|
|
d30a: f8bd 7064 ldrh.w r7, [sp, #100] ; 0x64
|
|
d30e: 4427 add r7, r4
|
|
d310: b2bf uxth r7, r7
|
|
d312: f8ad 7064 strh.w r7, [sp, #100] ; 0x64
|
|
area_outer.y1 -= dsc->outline_width;
|
|
d316: f8bd 8062 ldrh.w r8, [sp, #98] ; 0x62
|
|
d31a: eba8 0804 sub.w r8, r8, r4
|
|
d31e: fa1f f888 uxth.w r8, r8
|
|
d322: f8ad 8062 strh.w r8, [sp, #98] ; 0x62
|
|
area_outer.y2 += dsc->outline_width;
|
|
d326: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66
|
|
d32a: 441c add r4, r3
|
|
d32c: b2a4 uxth r4, r4
|
|
d32e: f8ad 4066 strh.w r4, [sp, #102] ; 0x66
|
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
|
d332: 4b0c ldr r3, [pc, #48] ; (d364 <lv_draw_rect+0x104c>)
|
|
d334: 4798 blx r3
|
|
lv_disp_buf_t * vdb = lv_disp_get_buf(disp);
|
|
d336: 4b0c ldr r3, [pc, #48] ; (d368 <lv_draw_rect+0x1050>)
|
|
d338: 4798 blx r3
|
|
d33a: 4681 mov r9, r0
|
|
is_common = _lv_area_intersect(&draw_area, &area_outer, clip);
|
|
d33c: 9a04 ldr r2, [sp, #16]
|
|
d33e: a918 add r1, sp, #96 ; 0x60
|
|
d340: a81a add r0, sp, #104 ; 0x68
|
|
d342: 4b04 ldr r3, [pc, #16] ; (d354 <lv_draw_rect+0x103c>)
|
|
d344: 4798 blx r3
|
|
if(is_common == false) return;
|
|
d346: 2800 cmp r0, #0
|
|
d348: f041 8044 bne.w e3d4 <lv_draw_rect+0x20bc>
|
|
}
|
|
d34c: b031 add sp, #196 ; 0xc4
|
|
d34e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
d352: bf00 nop
|
|
d354: 00011501 .word 0x00011501
|
|
d358: 00007739 .word 0x00007739
|
|
d35c: 0000be55 .word 0x0000be55
|
|
d360: 00012559 .word 0x00012559
|
|
d364: 00005f51 .word 0x00005f51
|
|
d368: 00010fc5 .word 0x00010fc5
|
|
d36c: 0000bead .word 0x0000bead
|
|
d370: 00012a69 .word 0x00012a69
|
|
d374: 0000be05 .word 0x0000be05
|
|
draw_area.x1 -= disp_area->x1;
|
|
d378: f8b8 1010 ldrh.w r1, [r8, #16]
|
|
d37c: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70
|
|
d380: 1a5b subs r3, r3, r1
|
|
d382: b29a uxth r2, r3
|
|
d384: f8ad 2070 strh.w r2, [sp, #112] ; 0x70
|
|
draw_area.y1 -= disp_area->y1;
|
|
d388: f8b8 0012 ldrh.w r0, [r8, #18]
|
|
d38c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
d390: 1a1b subs r3, r3, r0
|
|
d392: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
draw_area.x2 -= disp_area->x1;
|
|
d396: f8bd 3074 ldrh.w r3, [sp, #116] ; 0x74
|
|
d39a: 1a5b subs r3, r3, r1
|
|
d39c: b29b uxth r3, r3
|
|
d39e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
draw_area.y2 -= disp_area->y1;
|
|
d3a2: f8bd 1076 ldrh.w r1, [sp, #118] ; 0x76
|
|
d3a6: 1a09 subs r1, r1, r0
|
|
d3a8: f8ad 1076 strh.w r1, [sp, #118] ; 0x76
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
d3ac: 3301 adds r3, #1
|
|
d3ae: 1a9b subs r3, r3, r2
|
|
d3b0: b21b sxth r3, r3
|
|
d3b2: 9309 str r3, [sp, #36] ; 0x24
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w);
|
|
d3b4: 930a str r3, [sp, #40] ; 0x28
|
|
d3b6: 4618 mov r0, r3
|
|
d3b8: 4b93 ldr r3, [pc, #588] ; (d608 <lv_draw_rect+0x12f0>)
|
|
d3ba: 4798 blx r3
|
|
d3bc: 9005 str r0, [sp, #20]
|
|
uint16_t other_mask_cnt = lv_draw_mask_get_cnt();
|
|
d3be: 4b93 ldr r3, [pc, #588] ; (d60c <lv_draw_rect+0x12f4>)
|
|
d3c0: 4798 blx r3
|
|
d3c2: b283 uxth r3, r0
|
|
d3c4: 930b str r3, [sp, #44] ; 0x2c
|
|
if(other_mask_cnt) simple_mode = false;
|
|
d3c6: bb43 cbnz r3, d41a <lv_draw_rect+0x1102>
|
|
else if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) simple_mode = false;
|
|
d3c8: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d3cc: 3b02 subs r3, #2
|
|
d3ce: bf18 it ne
|
|
d3d0: 2301 movne r3, #1
|
|
d3d2: 9307 str r3, [sp, #28]
|
|
d3d4: f8bd 506c ldrh.w r5, [sp, #108] ; 0x6c
|
|
d3d8: 3501 adds r5, #1
|
|
d3da: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
d3de: 1aed subs r5, r5, r3
|
|
d3e0: b22d sxth r5, r5
|
|
int32_t coords_w = lv_area_get_width(&coords_bg);
|
|
d3e2: 462c mov r4, r5
|
|
int32_t rout = dsc->radius;
|
|
d3e4: f9ba 2000 ldrsh.w r2, [sl]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
d3e8: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e
|
|
d3ec: 3301 adds r3, #1
|
|
d3ee: f8bd 606a ldrh.w r6, [sp, #106] ; 0x6a
|
|
d3f2: 1b9b subs r3, r3, r6
|
|
int32_t coords_h = lv_area_get_height(&coords_bg);
|
|
d3f4: b21e sxth r6, r3
|
|
int32_t short_side = LV_MATH_MIN(coords_w, coords_h);
|
|
d3f6: 4633 mov r3, r6
|
|
d3f8: 42ae cmp r6, r5
|
|
d3fa: bfa8 it ge
|
|
d3fc: 462b movge r3, r5
|
|
if(rout > short_side >> 1) rout = short_side >> 1;
|
|
d3fe: 105e asrs r6, r3, #1
|
|
d400: 4296 cmp r6, r2
|
|
d402: bfa8 it ge
|
|
d404: 4616 movge r6, r2
|
|
if(simple_mode && rout == 0 && (dsc->bg_grad_dir == LV_GRAD_DIR_NONE)) {
|
|
d406: 9b07 ldr r3, [sp, #28]
|
|
d408: b1db cbz r3, d442 <lv_draw_rect+0x112a>
|
|
d40a: b9d6 cbnz r6, d442 <lv_draw_rect+0x112a>
|
|
d40c: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d410: b133 cbz r3, d420 <lv_draw_rect+0x1108>
|
|
int16_t mask_rout_id = LV_MASK_ID_INV;
|
|
d412: f04f 33ff mov.w r3, #4294967295
|
|
d416: 930e str r3, [sp, #56] ; 0x38
|
|
d418: e021 b.n d45e <lv_draw_rect+0x1146>
|
|
if(other_mask_cnt) simple_mode = false;
|
|
d41a: 2300 movs r3, #0
|
|
d41c: 9307 str r3, [sp, #28]
|
|
d41e: e7d9 b.n d3d4 <lv_draw_rect+0x10bc>
|
|
_lv_blend_fill(clip, &coords_bg,
|
|
d420: f89a 300d ldrb.w r3, [sl, #13]
|
|
d424: 9302 str r3, [sp, #8]
|
|
d426: 9701 str r7, [sp, #4]
|
|
d428: 2301 movs r3, #1
|
|
d42a: 9300 str r3, [sp, #0]
|
|
d42c: 2300 movs r3, #0
|
|
d42e: f8ba 2002 ldrh.w r2, [sl, #2]
|
|
d432: a91a add r1, sp, #104 ; 0x68
|
|
d434: 9804 ldr r0, [sp, #16]
|
|
d436: 4c76 ldr r4, [pc, #472] ; (d610 <lv_draw_rect+0x12f8>)
|
|
d438: 47a0 blx r4
|
|
int16_t mask_rout_id = LV_MASK_ID_INV;
|
|
d43a: f04f 33ff mov.w r3, #4294967295
|
|
d43e: 930e str r3, [sp, #56] ; 0x38
|
|
d440: e276 b.n d930 <lv_draw_rect+0x1618>
|
|
if(rout > 0) {
|
|
d442: 2e00 cmp r6, #0
|
|
d444: dd32 ble.n d4ac <lv_draw_rect+0x1194>
|
|
lv_draw_mask_radius_init(&mask_rout_param, &coords_bg, rout, false);
|
|
d446: 2300 movs r3, #0
|
|
d448: 4632 mov r2, r6
|
|
d44a: a91a add r1, sp, #104 ; 0x68
|
|
d44c: a829 add r0, sp, #164 ; 0xa4
|
|
d44e: f8df 91d0 ldr.w r9, [pc, #464] ; d620 <lv_draw_rect+0x1308>
|
|
d452: 47c8 blx r9
|
|
mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL);
|
|
d454: 2100 movs r1, #0
|
|
d456: a829 add r0, sp, #164 ; 0xa4
|
|
d458: 4b6e ldr r3, [pc, #440] ; (d614 <lv_draw_rect+0x12fc>)
|
|
d45a: 4798 blx r3
|
|
d45c: 900e str r0, [sp, #56] ; 0x38
|
|
lv_color_t grad_color = dsc->bg_color;
|
|
d45e: f8ba b002 ldrh.w fp, [sl, #2]
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) {
|
|
d462: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d466: 2b02 cmp r3, #2
|
|
d468: d024 beq.n d4b4 <lv_draw_rect+0x119c>
|
|
lv_color_t * grad_map = NULL;
|
|
d46a: 2300 movs r3, #0
|
|
d46c: 930d str r3, [sp, #52] ; 0x34
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
d46e: f9bd 206c ldrsh.w r2, [sp, #108] ; 0x6c
|
|
d472: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68
|
|
d476: 1c53 adds r3, r2, #1
|
|
d478: 1a5b subs r3, r3, r1
|
|
if(lv_area_get_width(&coords_bg) - 2 * rout > SPLIT_LIMIT) split = true;
|
|
d47a: b21b sxth r3, r3
|
|
d47c: eba3 0946 sub.w r9, r3, r6, lsl #1
|
|
fill_area.x1 = coords_bg.x1;
|
|
d480: f8ad 1078 strh.w r1, [sp, #120] ; 0x78
|
|
fill_area.x2 = coords_bg.x2;
|
|
d484: f8ad 207c strh.w r2, [sp, #124] ; 0x7c
|
|
fill_area.y1 = disp_area->y1 + draw_area.y1;
|
|
d488: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72
|
|
d48c: f8b8 3012 ldrh.w r3, [r8, #18]
|
|
d490: 4413 add r3, r2
|
|
d492: b21b sxth r3, r3
|
|
d494: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area.y2 = fill_area.y1;
|
|
d498: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
d49c: 4615 mov r5, r2
|
|
d49e: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76
|
|
d4a2: 429a cmp r2, r3
|
|
d4a4: f300 8237 bgt.w d916 <lv_draw_rect+0x15fe>
|
|
_lv_blend_fill(clip, &fill_area2,
|
|
d4a8: 9708 str r7, [sp, #32]
|
|
d4aa: e0fa b.n d6a2 <lv_draw_rect+0x138a>
|
|
int16_t mask_rout_id = LV_MASK_ID_INV;
|
|
d4ac: f04f 33ff mov.w r3, #4294967295
|
|
d4b0: 930e str r3, [sp, #56] ; 0x38
|
|
d4b2: e7d4 b.n d45e <lv_draw_rect+0x1146>
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) {
|
|
d4b4: f8ba 3004 ldrh.w r3, [sl, #4]
|
|
d4b8: 459b cmp fp, r3
|
|
d4ba: f000 8089 beq.w d5d0 <lv_draw_rect+0x12b8>
|
|
grad_map = _lv_mem_buf_get(coords_w * sizeof(lv_color_t));
|
|
d4be: 0068 lsls r0, r5, #1
|
|
d4c0: 4b51 ldr r3, [pc, #324] ; (d608 <lv_draw_rect+0x12f0>)
|
|
d4c2: 4798 blx r3
|
|
d4c4: 900d str r0, [sp, #52] ; 0x34
|
|
for(i = 0; i < coords_w; i++) {
|
|
d4c6: 2d00 cmp r5, #0
|
|
d4c8: ddd1 ble.n d46e <lv_draw_rect+0x1156>
|
|
d4ca: f04f 0900 mov.w r9, #0
|
|
d4ce: 9608 str r6, [sp, #32]
|
|
d4d0: 4606 mov r6, r0
|
|
d4d2: e01b b.n d50c <lv_draw_rect+0x11f4>
|
|
if(i <= min) return dsc->bg_color;
|
|
d4d4: f89a 3002 ldrb.w r3, [sl, #2]
|
|
d4d8: f003 031f and.w r3, r3, #31
|
|
d4dc: f8ba 1002 ldrh.w r1, [sl, #2]
|
|
d4e0: f3c1 1145 ubfx r1, r1, #5, #6
|
|
d4e4: f89a 2003 ldrb.w r2, [sl, #3]
|
|
d4e8: 08d2 lsrs r2, r2, #3
|
|
grad_map[i] = grad_get(dsc, coords_w, i);
|
|
d4ea: 7828 ldrb r0, [r5, #0]
|
|
d4ec: f363 0004 bfi r0, r3, #0, #5
|
|
d4f0: 7028 strb r0, [r5, #0]
|
|
d4f2: 882b ldrh r3, [r5, #0]
|
|
d4f4: f361 134a bfi r3, r1, #5, #6
|
|
d4f8: 802b strh r3, [r5, #0]
|
|
d4fa: 0a1b lsrs r3, r3, #8
|
|
d4fc: f362 03c7 bfi r3, r2, #3, #5
|
|
d500: 706b strb r3, [r5, #1]
|
|
for(i = 0; i < coords_w; i++) {
|
|
d502: f109 0901 add.w r9, r9, #1
|
|
d506: 3602 adds r6, #2
|
|
d508: 454c cmp r4, r9
|
|
d50a: d05f beq.n d5cc <lv_draw_rect+0x12b4>
|
|
grad_map[i] = grad_get(dsc, coords_w, i);
|
|
d50c: 4635 mov r5, r6
|
|
int32_t min = (dsc->bg_main_color_stop * s) >> 8;
|
|
d50e: f9ba 0008 ldrsh.w r0, [sl, #8]
|
|
d512: fb00 f304 mul.w r3, r0, r4
|
|
d516: 121b asrs r3, r3, #8
|
|
if(i <= min) return dsc->bg_color;
|
|
d518: fa0f f189 sxth.w r1, r9
|
|
d51c: 428b cmp r3, r1
|
|
d51e: dad9 bge.n d4d4 <lv_draw_rect+0x11bc>
|
|
int32_t max = (dsc->bg_grad_color_stop * s) >> 8;
|
|
d520: f9ba 200a ldrsh.w r2, [sl, #10]
|
|
d524: fb02 fe04 mul.w lr, r2, r4
|
|
if(i >= max) return dsc->bg_grad_color;
|
|
d528: ebb1 2f2e cmp.w r1, lr, asr #8
|
|
d52c: da42 bge.n d5b4 <lv_draw_rect+0x129c>
|
|
int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop;
|
|
d52e: 1a12 subs r2, r2, r0
|
|
d = (s * d) >> 8;
|
|
d530: fb04 f202 mul.w r2, r4, r2
|
|
i -= min;
|
|
d534: eba9 0303 sub.w r3, r9, r3
|
|
lv_opa_t mix = (i * 255) / d;
|
|
d538: b21b sxth r3, r3
|
|
d53a: ebc3 2303 rsb r3, r3, r3, lsl #8
|
|
d = (s * d) >> 8;
|
|
d53e: 1212 asrs r2, r2, #8
|
|
lv_opa_t mix = (i * 255) / d;
|
|
d540: fb93 f3f2 sdiv r3, r3, r2
|
|
d544: b2db uxtb r3, r3
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
d546: f1c3 0eff rsb lr, r3, #255 ; 0xff
|
|
d54a: f89a 2005 ldrb.w r2, [sl, #5]
|
|
d54e: 08d2 lsrs r2, r2, #3
|
|
d550: f89a 1003 ldrb.w r1, [sl, #3]
|
|
d554: 08c9 lsrs r1, r1, #3
|
|
d556: fb0e f101 mul.w r1, lr, r1
|
|
d55a: fb03 1202 mla r2, r3, r2, r1
|
|
d55e: eb02 2102 add.w r1, r2, r2, lsl #8
|
|
d562: eb02 12c1 add.w r2, r2, r1, lsl #7
|
|
d566: f3c2 52c4 ubfx r2, r2, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
d56a: f8ba 1004 ldrh.w r1, [sl, #4]
|
|
d56e: f3c1 1145 ubfx r1, r1, #5, #6
|
|
d572: f8ba 0002 ldrh.w r0, [sl, #2]
|
|
d576: f3c0 1045 ubfx r0, r0, #5, #6
|
|
d57a: fb0e f000 mul.w r0, lr, r0
|
|
d57e: fb03 0101 mla r1, r3, r1, r0
|
|
d582: eb01 2001 add.w r0, r1, r1, lsl #8
|
|
d586: eb01 11c0 add.w r1, r1, r0, lsl #7
|
|
d58a: f3c1 51c5 ubfx r1, r1, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
d58e: f89a 0004 ldrb.w r0, [sl, #4]
|
|
d592: f000 001f and.w r0, r0, #31
|
|
d596: f89a c002 ldrb.w ip, [sl, #2]
|
|
d59a: f00c 0c1f and.w ip, ip, #31
|
|
d59e: fb0e fe0c mul.w lr, lr, ip
|
|
d5a2: fb03 e300 mla r3, r3, r0, lr
|
|
d5a6: eb03 2003 add.w r0, r3, r3, lsl #8
|
|
d5aa: eb03 13c0 add.w r3, r3, r0, lsl #7
|
|
d5ae: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
d5b2: e79a b.n d4ea <lv_draw_rect+0x11d2>
|
|
if(i >= max) return dsc->bg_grad_color;
|
|
d5b4: f89a 3004 ldrb.w r3, [sl, #4]
|
|
d5b8: f003 031f and.w r3, r3, #31
|
|
d5bc: f8ba 1004 ldrh.w r1, [sl, #4]
|
|
d5c0: f3c1 1145 ubfx r1, r1, #5, #6
|
|
d5c4: f89a 2005 ldrb.w r2, [sl, #5]
|
|
d5c8: 08d2 lsrs r2, r2, #3
|
|
d5ca: e78e b.n d4ea <lv_draw_rect+0x11d2>
|
|
d5cc: 9e08 ldr r6, [sp, #32]
|
|
d5ce: e74e b.n d46e <lv_draw_rect+0x1156>
|
|
lv_color_t * grad_map = NULL;
|
|
d5d0: 2300 movs r3, #0
|
|
d5d2: 930d str r3, [sp, #52] ; 0x34
|
|
d5d4: e74b b.n d46e <lv_draw_rect+0x1156>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
d5d6: 990a ldr r1, [sp, #40] ; 0x28
|
|
d5d8: 9f05 ldr r7, [sp, #20]
|
|
d5da: 4638 mov r0, r7
|
|
d5dc: 4b0e ldr r3, [pc, #56] ; (d618 <lv_draw_rect+0x1300>)
|
|
d5de: 4798 blx r3
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
d5e0: f8b8 2012 ldrh.w r2, [r8, #18]
|
|
d5e4: 442a add r2, r5
|
|
d5e6: f8b8 1010 ldrh.w r1, [r8, #16]
|
|
d5ea: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70
|
|
d5ee: 4419 add r1, r3
|
|
d5f0: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
d5f2: b212 sxth r2, r2
|
|
d5f4: b209 sxth r1, r1
|
|
d5f6: 4638 mov r0, r7
|
|
d5f8: 4f08 ldr r7, [pc, #32] ; (d61c <lv_draw_rect+0x1304>)
|
|
d5fa: 47b8 blx r7
|
|
d5fc: 4607 mov r7, r0
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) {
|
|
d5fe: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d602: 2b01 cmp r3, #1
|
|
d604: d129 bne.n d65a <lv_draw_rect+0x1342>
|
|
d606: e07a b.n d6fe <lv_draw_rect+0x13e6>
|
|
d608: 00012925 .word 0x00012925
|
|
d60c: 0000bead .word 0x0000bead
|
|
d610: 00007739 .word 0x00007739
|
|
d614: 0000bda9 .word 0x0000bda9
|
|
d618: 00012bd5 .word 0x00012bd5
|
|
d61c: 0000be05 .word 0x0000be05
|
|
d620: 0000c015 .word 0x0000c015
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
d624: 990a ldr r1, [sp, #40] ; 0x28
|
|
d626: 9f05 ldr r7, [sp, #20]
|
|
d628: 4638 mov r0, r7
|
|
d62a: 4bb6 ldr r3, [pc, #728] ; (d904 <lv_draw_rect+0x15ec>)
|
|
d62c: 4798 blx r3
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
d62e: f8b8 2012 ldrh.w r2, [r8, #18]
|
|
d632: 442a add r2, r5
|
|
d634: f8b8 1010 ldrh.w r1, [r8, #16]
|
|
d638: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70
|
|
d63c: 4419 add r1, r3
|
|
d63e: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
d640: b212 sxth r2, r2
|
|
d642: b209 sxth r1, r1
|
|
d644: 4638 mov r0, r7
|
|
d646: 4fb0 ldr r7, [pc, #704] ; (d908 <lv_draw_rect+0x15f0>)
|
|
d648: 47b8 blx r7
|
|
d64a: 4607 mov r7, r0
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) {
|
|
d64c: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d650: 2b01 cmp r3, #1
|
|
d652: d054 beq.n d6fe <lv_draw_rect+0x13e6>
|
|
if(simple_mode && split &&
|
|
d654: 9a07 ldr r2, [sp, #28]
|
|
d656: 2a00 cmp r2, #0
|
|
d658: d13a bne.n d6d0 <lv_draw_rect+0x13b8>
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) {
|
|
d65a: 2b02 cmp r3, #2
|
|
d65c: f000 8144 beq.w d8e8 <lv_draw_rect+0x15d0>
|
|
else if(other_mask_cnt != 0 || !split) {
|
|
d660: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
d662: b913 cbnz r3, d66a <lv_draw_rect+0x1352>
|
|
d664: f1b9 0f32 cmp.w r9, #50 ; 0x32
|
|
d668: dc0b bgt.n d682 <lv_draw_rect+0x136a>
|
|
_lv_blend_fill(clip, &fill_area,
|
|
d66a: f89a 300d ldrb.w r3, [sl, #13]
|
|
d66e: 9302 str r3, [sp, #8]
|
|
d670: 9b08 ldr r3, [sp, #32]
|
|
d672: 9301 str r3, [sp, #4]
|
|
d674: 9700 str r7, [sp, #0]
|
|
d676: 9b05 ldr r3, [sp, #20]
|
|
d678: 465a mov r2, fp
|
|
d67a: a91e add r1, sp, #120 ; 0x78
|
|
d67c: 9804 ldr r0, [sp, #16]
|
|
d67e: 4ca3 ldr r4, [pc, #652] ; (d90c <lv_draw_rect+0x15f4>)
|
|
d680: 47a0 blx r4
|
|
fill_area.y1++;
|
|
d682: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a
|
|
d686: 3301 adds r3, #1
|
|
d688: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area.y2++;
|
|
d68c: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e
|
|
d690: 3301 adds r3, #1
|
|
d692: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
d696: 3501 adds r5, #1
|
|
d698: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76
|
|
d69c: 429d cmp r5, r3
|
|
d69e: f300 8139 bgt.w d914 <lv_draw_rect+0x15fc>
|
|
int32_t y = h + vdb->area.y1;
|
|
d6a2: f9b8 4012 ldrsh.w r4, [r8, #18]
|
|
d6a6: 442c add r4, r5
|
|
if(y > coords_bg.y1 + rout + 1 &&
|
|
d6a8: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a
|
|
d6ac: 4433 add r3, r6
|
|
d6ae: 3301 adds r3, #1
|
|
d6b0: 429c cmp r4, r3
|
|
d6b2: ddb7 ble.n d624 <lv_draw_rect+0x130c>
|
|
y < coords_bg.y2 - rout - 1) {
|
|
d6b4: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e
|
|
d6b8: 1b9b subs r3, r3, r6
|
|
d6ba: 3b01 subs r3, #1
|
|
if(y > coords_bg.y1 + rout + 1 &&
|
|
d6bc: 429c cmp r4, r3
|
|
d6be: dab1 bge.n d624 <lv_draw_rect+0x130c>
|
|
if(simple_mode == false) {
|
|
d6c0: 9b07 ldr r3, [sp, #28]
|
|
d6c2: 2b00 cmp r3, #0
|
|
d6c4: d087 beq.n d5d6 <lv_draw_rect+0x12be>
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) {
|
|
d6c6: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d6ca: 2b01 cmp r3, #1
|
|
d6cc: d016 beq.n d6fc <lv_draw_rect+0x13e4>
|
|
mask_res = LV_DRAW_MASK_RES_FULL_COVER;
|
|
d6ce: 2701 movs r7, #1
|
|
if(simple_mode && split &&
|
|
d6d0: f1b9 0f32 cmp.w r9, #50 ; 0x32
|
|
d6d4: f300 8093 bgt.w d7fe <lv_draw_rect+0x14e6>
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) {
|
|
d6d8: 2b02 cmp r3, #2
|
|
d6da: f000 8105 beq.w d8e8 <lv_draw_rect+0x15d0>
|
|
else if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) {
|
|
d6de: 2b01 cmp r3, #1
|
|
d6e0: d1be bne.n d660 <lv_draw_rect+0x1348>
|
|
_lv_blend_fill(clip, &fill_area,
|
|
d6e2: f89a 300d ldrb.w r3, [sl, #13]
|
|
d6e6: 9302 str r3, [sp, #8]
|
|
d6e8: 9b08 ldr r3, [sp, #32]
|
|
d6ea: 9301 str r3, [sp, #4]
|
|
d6ec: 9700 str r7, [sp, #0]
|
|
d6ee: 9b05 ldr r3, [sp, #20]
|
|
d6f0: 465a mov r2, fp
|
|
d6f2: a91e add r1, sp, #120 ; 0x78
|
|
d6f4: 9804 ldr r0, [sp, #16]
|
|
d6f6: 4c85 ldr r4, [pc, #532] ; (d90c <lv_draw_rect+0x15f4>)
|
|
d6f8: 47a0 blx r4
|
|
d6fa: e7c2 b.n d682 <lv_draw_rect+0x136a>
|
|
mask_res = LV_DRAW_MASK_RES_FULL_COVER;
|
|
d6fc: 2701 movs r7, #1
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) {
|
|
d6fe: f8ba 2002 ldrh.w r2, [sl, #2]
|
|
d702: f8ba 3004 ldrh.w r3, [sl, #4]
|
|
d706: 429a cmp r2, r3
|
|
d708: d06f beq.n d7ea <lv_draw_rect+0x14d2>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
d70a: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a
|
|
grad_color = grad_get(dsc, lv_area_get_height(&coords_bg), y - coords_bg.y1);
|
|
d70e: 1a62 subs r2, r4, r1
|
|
d710: b293 uxth r3, r2
|
|
d712: 461a mov r2, r3
|
|
d714: 930c str r3, [sp, #48] ; 0x30
|
|
int32_t min = (dsc->bg_main_color_stop * s) >> 8;
|
|
d716: f9ba e008 ldrsh.w lr, [sl, #8]
|
|
d71a: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e
|
|
d71e: 3301 adds r3, #1
|
|
d720: 1a5b subs r3, r3, r1
|
|
d722: b21b sxth r3, r3
|
|
d724: fb03 f10e mul.w r1, r3, lr
|
|
d728: 1209 asrs r1, r1, #8
|
|
if(i <= min) return dsc->bg_color;
|
|
d72a: b210 sxth r0, r2
|
|
d72c: 4281 cmp r1, r0
|
|
d72e: da4b bge.n d7c8 <lv_draw_rect+0x14b0>
|
|
int32_t max = (dsc->bg_grad_color_stop * s) >> 8;
|
|
d730: f9ba c00a ldrsh.w ip, [sl, #10]
|
|
d734: fb0c f203 mul.w r2, ip, r3
|
|
if(i >= max) return dsc->bg_grad_color;
|
|
d738: ebb0 2f22 cmp.w r0, r2, asr #8
|
|
d73c: f280 80b0 bge.w d8a0 <lv_draw_rect+0x1588>
|
|
int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop;
|
|
d740: ebac 0e0e sub.w lr, ip, lr
|
|
d = (s * d) >> 8;
|
|
d744: fb03 f30e mul.w r3, r3, lr
|
|
i -= min;
|
|
d748: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
d74a: 1a52 subs r2, r2, r1
|
|
lv_opa_t mix = (i * 255) / d;
|
|
d74c: b212 sxth r2, r2
|
|
d74e: ebc2 2202 rsb r2, r2, r2, lsl #8
|
|
d = (s * d) >> 8;
|
|
d752: 121b asrs r3, r3, #8
|
|
lv_opa_t mix = (i * 255) / d;
|
|
d754: fb92 f3f3 sdiv r3, r2, r3
|
|
d758: b2db uxtb r3, r3
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
d75a: f1c3 01ff rsb r1, r3, #255 ; 0xff
|
|
d75e: f89a 2005 ldrb.w r2, [sl, #5]
|
|
d762: 08d2 lsrs r2, r2, #3
|
|
d764: f89a 0003 ldrb.w r0, [sl, #3]
|
|
d768: 08c0 lsrs r0, r0, #3
|
|
d76a: fb01 f000 mul.w r0, r1, r0
|
|
d76e: fb03 0202 mla r2, r3, r2, r0
|
|
d772: eb02 2002 add.w r0, r2, r2, lsl #8
|
|
d776: eb02 12c0 add.w r2, r2, r0, lsl #7
|
|
d77a: f3c2 52c4 ubfx r2, r2, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
d77e: f8ba 0004 ldrh.w r0, [sl, #4]
|
|
d782: f3c0 1045 ubfx r0, r0, #5, #6
|
|
d786: f8ba e002 ldrh.w lr, [sl, #2]
|
|
d78a: f3ce 1e45 ubfx lr, lr, #5, #6
|
|
d78e: fb01 fe0e mul.w lr, r1, lr
|
|
d792: fb03 e000 mla r0, r3, r0, lr
|
|
d796: eb00 2e00 add.w lr, r0, r0, lsl #8
|
|
d79a: eb00 10ce add.w r0, r0, lr, lsl #7
|
|
d79e: f3c0 50c5 ubfx r0, r0, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
d7a2: f89a e004 ldrb.w lr, [sl, #4]
|
|
d7a6: f00e 0e1f and.w lr, lr, #31
|
|
d7aa: f89a c002 ldrb.w ip, [sl, #2]
|
|
d7ae: f00c 0c1f and.w ip, ip, #31
|
|
d7b2: fb01 f10c mul.w r1, r1, ip
|
|
d7b6: fb03 130e mla r3, r3, lr, r1
|
|
d7ba: eb03 2103 add.w r1, r3, r3, lsl #8
|
|
d7be: eb03 13c1 add.w r3, r3, r1, lsl #7
|
|
d7c2: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
d7c6: e00a b.n d7de <lv_draw_rect+0x14c6>
|
|
if(i <= min) return dsc->bg_color;
|
|
d7c8: f89a 3002 ldrb.w r3, [sl, #2]
|
|
d7cc: f003 031f and.w r3, r3, #31
|
|
d7d0: f8ba 0002 ldrh.w r0, [sl, #2]
|
|
d7d4: f3c0 1045 ubfx r0, r0, #5, #6
|
|
d7d8: f89a 2003 ldrb.w r2, [sl, #3]
|
|
d7dc: 08d2 lsrs r2, r2, #3
|
|
d7de: f363 0b04 bfi fp, r3, #0, #5
|
|
d7e2: f360 1b4a bfi fp, r0, #5, #6
|
|
d7e6: f362 2bcf bfi fp, r2, #11, #5
|
|
if(simple_mode && split &&
|
|
d7ea: 9b07 ldr r3, [sp, #28]
|
|
d7ec: 2b00 cmp r3, #0
|
|
d7ee: f43f af78 beq.w d6e2 <lv_draw_rect+0x13ca>
|
|
d7f2: f1b9 0f32 cmp.w r9, #50 ; 0x32
|
|
d7f6: bfc8 it gt
|
|
d7f8: 2301 movgt r3, #1
|
|
d7fa: f77f af72 ble.w d6e2 <lv_draw_rect+0x13ca>
|
|
(y < coords_bg.y1 + rout + 1 ||
|
|
d7fe: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a
|
|
d802: 4432 add r2, r6
|
|
d804: 3201 adds r2, #1
|
|
if(simple_mode && split &&
|
|
d806: 4294 cmp r4, r2
|
|
d808: db06 blt.n d818 <lv_draw_rect+0x1500>
|
|
y > coords_bg.y2 - rout - 1)) {
|
|
d80a: f9bd 206e ldrsh.w r2, [sp, #110] ; 0x6e
|
|
d80e: 1b92 subs r2, r2, r6
|
|
d810: 3a01 subs r2, #1
|
|
(y < coords_bg.y1 + rout + 1 ||
|
|
d812: 4294 cmp r4, r2
|
|
d814: f77f af60 ble.w d6d8 <lv_draw_rect+0x13c0>
|
|
fill_area2.x1 = coords_bg.x1;
|
|
d818: f9bd 3068 ldrsh.w r3, [sp, #104] ; 0x68
|
|
d81c: f8ad 3088 strh.w r3, [sp, #136] ; 0x88
|
|
fill_area2.x2 = coords_bg.x1 + rout - 1;
|
|
d820: b2b2 uxth r2, r6
|
|
d822: 920c str r2, [sp, #48] ; 0x30
|
|
d824: 3b01 subs r3, #1
|
|
d826: 4413 add r3, r2
|
|
d828: f8ad 308c strh.w r3, [sp, #140] ; 0x8c
|
|
fill_area2.y1 = fill_area.y1;
|
|
d82c: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a
|
|
d830: f8ad 308a strh.w r3, [sp, #138] ; 0x8a
|
|
fill_area2.y2 = fill_area.y2;
|
|
d834: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e
|
|
d838: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
_lv_blend_fill(clip, &fill_area2,
|
|
d83c: f89a 300d ldrb.w r3, [sl, #13]
|
|
d840: 9302 str r3, [sp, #8]
|
|
d842: 9b08 ldr r3, [sp, #32]
|
|
d844: 9301 str r3, [sp, #4]
|
|
d846: 9700 str r7, [sp, #0]
|
|
d848: 9b05 ldr r3, [sp, #20]
|
|
d84a: 465a mov r2, fp
|
|
d84c: a922 add r1, sp, #136 ; 0x88
|
|
d84e: 9804 ldr r0, [sp, #16]
|
|
d850: 4c2e ldr r4, [pc, #184] ; (d90c <lv_draw_rect+0x15f4>)
|
|
d852: 47a0 blx r4
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) {
|
|
d854: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d858: 2b01 cmp r3, #1
|
|
d85a: d02d beq.n d8b8 <lv_draw_rect+0x15a0>
|
|
fill_area2.x1 = coords_bg.x2 - rout + 1;
|
|
d85c: f9bd 306c ldrsh.w r3, [sp, #108] ; 0x6c
|
|
d860: 1c5a adds r2, r3, #1
|
|
d862: 990c ldr r1, [sp, #48] ; 0x30
|
|
d864: 1a54 subs r4, r2, r1
|
|
d866: f8ad 4088 strh.w r4, [sp, #136] ; 0x88
|
|
fill_area2.x2 = coords_bg.x2;
|
|
d86a: f8ad 308c strh.w r3, [sp, #140] ; 0x8c
|
|
int32_t mask_ofs = (coords_bg.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1);
|
|
d86e: 1b9b subs r3, r3, r6
|
|
d870: 3301 adds r3, #1
|
|
d872: f9b8 2010 ldrsh.w r2, [r8, #16]
|
|
d876: f9bd 1070 ldrsh.w r1, [sp, #112] ; 0x70
|
|
d87a: 440a add r2, r1
|
|
d87c: 1a9b subs r3, r3, r2
|
|
_lv_blend_fill(clip, &fill_area2,
|
|
d87e: f89a 200d ldrb.w r2, [sl, #13]
|
|
d882: 9202 str r2, [sp, #8]
|
|
d884: 9a08 ldr r2, [sp, #32]
|
|
d886: 9201 str r2, [sp, #4]
|
|
d888: 9700 str r7, [sp, #0]
|
|
d88a: 9a05 ldr r2, [sp, #20]
|
|
d88c: 2b00 cmp r3, #0
|
|
d88e: bfa8 it ge
|
|
d890: 18d2 addge r2, r2, r3
|
|
d892: 4613 mov r3, r2
|
|
d894: 465a mov r2, fp
|
|
d896: a922 add r1, sp, #136 ; 0x88
|
|
d898: 9804 ldr r0, [sp, #16]
|
|
d89a: 4c1c ldr r4, [pc, #112] ; (d90c <lv_draw_rect+0x15f4>)
|
|
d89c: 47a0 blx r4
|
|
d89e: e6f0 b.n d682 <lv_draw_rect+0x136a>
|
|
if(i >= max) return dsc->bg_grad_color;
|
|
d8a0: f89a 3004 ldrb.w r3, [sl, #4]
|
|
d8a4: f003 031f and.w r3, r3, #31
|
|
d8a8: f8ba 0004 ldrh.w r0, [sl, #4]
|
|
d8ac: f3c0 1045 ubfx r0, r0, #5, #6
|
|
d8b0: f89a 2005 ldrb.w r2, [sl, #5]
|
|
d8b4: 08d2 lsrs r2, r2, #3
|
|
d8b6: e792 b.n d7de <lv_draw_rect+0x14c6>
|
|
fill_area2.x1 = coords_bg.x1 + rout;
|
|
d8b8: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
d8bc: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
d8be: 4413 add r3, r2
|
|
d8c0: f8ad 3088 strh.w r3, [sp, #136] ; 0x88
|
|
fill_area2.x2 = coords_bg.x2 - rout;
|
|
d8c4: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c
|
|
d8c8: 1a9b subs r3, r3, r2
|
|
d8ca: f8ad 308c strh.w r3, [sp, #140] ; 0x8c
|
|
_lv_blend_fill(clip, &fill_area2,
|
|
d8ce: f89a 300d ldrb.w r3, [sl, #13]
|
|
d8d2: 9302 str r3, [sp, #8]
|
|
d8d4: 9b08 ldr r3, [sp, #32]
|
|
d8d6: 9301 str r3, [sp, #4]
|
|
d8d8: 2301 movs r3, #1
|
|
d8da: 9300 str r3, [sp, #0]
|
|
d8dc: 2300 movs r3, #0
|
|
d8de: 465a mov r2, fp
|
|
d8e0: a922 add r1, sp, #136 ; 0x88
|
|
d8e2: 9804 ldr r0, [sp, #16]
|
|
d8e4: 47a0 blx r4
|
|
d8e6: e7b9 b.n d85c <lv_draw_rect+0x1544>
|
|
_lv_blend_map(clip, &fill_area, grad_map, mask_buf, mask_res, opa, dsc->bg_blend_mode);
|
|
d8e8: f89a 300d ldrb.w r3, [sl, #13]
|
|
d8ec: 9302 str r3, [sp, #8]
|
|
d8ee: 9b08 ldr r3, [sp, #32]
|
|
d8f0: 9301 str r3, [sp, #4]
|
|
d8f2: 9700 str r7, [sp, #0]
|
|
d8f4: 9b05 ldr r3, [sp, #20]
|
|
d8f6: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
d8f8: a91e add r1, sp, #120 ; 0x78
|
|
d8fa: 9804 ldr r0, [sp, #16]
|
|
d8fc: 4c04 ldr r4, [pc, #16] ; (d910 <lv_draw_rect+0x15f8>)
|
|
d8fe: 47a0 blx r4
|
|
d900: e6bf b.n d682 <lv_draw_rect+0x136a>
|
|
d902: bf00 nop
|
|
d904: 00012bd5 .word 0x00012bd5
|
|
d908: 0000be05 .word 0x0000be05
|
|
d90c: 00007739 .word 0x00007739
|
|
d910: 00008269 .word 0x00008269
|
|
d914: 9f08 ldr r7, [sp, #32]
|
|
if(dsc->bg_grad_dir == LV_GRAD_DIR_NONE && other_mask_cnt == 0 && split) {
|
|
d916: f89a 3006 ldrb.w r3, [sl, #6]
|
|
d91a: b923 cbnz r3, d926 <lv_draw_rect+0x160e>
|
|
d91c: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
d91e: b913 cbnz r3, d926 <lv_draw_rect+0x160e>
|
|
d920: f1b9 0f32 cmp.w r9, #50 ; 0x32
|
|
d924: dc0b bgt.n d93e <lv_draw_rect+0x1626>
|
|
if(grad_map) _lv_mem_buf_release(grad_map);
|
|
d926: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
d928: b113 cbz r3, d930 <lv_draw_rect+0x1618>
|
|
d92a: 4618 mov r0, r3
|
|
d92c: 4bb3 ldr r3, [pc, #716] ; (dbfc <lv_draw_rect+0x18e4>)
|
|
d92e: 4798 blx r3
|
|
lv_draw_mask_remove_id(mask_rout_id);
|
|
d930: 980e ldr r0, [sp, #56] ; 0x38
|
|
d932: 4bb3 ldr r3, [pc, #716] ; (dc00 <lv_draw_rect+0x18e8>)
|
|
d934: 4798 blx r3
|
|
_lv_mem_buf_release(mask_buf);
|
|
d936: 9805 ldr r0, [sp, #20]
|
|
d938: 4bb0 ldr r3, [pc, #704] ; (dbfc <lv_draw_rect+0x18e4>)
|
|
d93a: 4798 blx r3
|
|
d93c: e469 b.n d212 <lv_draw_rect+0xefa>
|
|
fill_area.x1 = coords_bg.x1 + rout;
|
|
d93e: b2b6 uxth r6, r6
|
|
d940: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
d944: 4433 add r3, r6
|
|
d946: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area.x2 = coords_bg.x2 - rout;
|
|
d94a: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c
|
|
d94e: 1b9b subs r3, r3, r6
|
|
d950: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
fill_area.y1 = coords_bg.y1;
|
|
d954: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a
|
|
d958: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area.y2 = coords_bg.y1 + rout;
|
|
d95c: 4433 add r3, r6
|
|
d95e: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
_lv_blend_fill(clip, &fill_area,
|
|
d962: f89a 300d ldrb.w r3, [sl, #13]
|
|
d966: 9302 str r3, [sp, #8]
|
|
d968: 9701 str r7, [sp, #4]
|
|
d96a: 2301 movs r3, #1
|
|
d96c: 9300 str r3, [sp, #0]
|
|
d96e: 2300 movs r3, #0
|
|
d970: f8ba 2002 ldrh.w r2, [sl, #2]
|
|
d974: a91e add r1, sp, #120 ; 0x78
|
|
d976: 9804 ldr r0, [sp, #16]
|
|
d978: 4ca2 ldr r4, [pc, #648] ; (dc04 <lv_draw_rect+0x18ec>)
|
|
d97a: 47a0 blx r4
|
|
fill_area.y1 = coords_bg.y2 - rout;
|
|
d97c: f9bd 106e ldrsh.w r1, [sp, #110] ; 0x6e
|
|
d980: 1b8a subs r2, r1, r6
|
|
d982: b212 sxth r2, r2
|
|
d984: f8ad 207a strh.w r2, [sp, #122] ; 0x7a
|
|
if(fill_area.y1 <= fill_area.y2) fill_area.y1 = fill_area.y2 + 1; /*Avoid overdrawing the last line*/
|
|
d988: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e
|
|
d98c: 429a cmp r2, r3
|
|
d98e: bfdc itt le
|
|
d990: 3301 addle r3, #1
|
|
d992: f8ad 307a strhle.w r3, [sp, #122] ; 0x7a
|
|
fill_area.y2 = coords_bg.y2;
|
|
d996: f8ad 107e strh.w r1, [sp, #126] ; 0x7e
|
|
_lv_blend_fill(clip, &fill_area,
|
|
d99a: f89a 300d ldrb.w r3, [sl, #13]
|
|
d99e: 9302 str r3, [sp, #8]
|
|
d9a0: 9701 str r7, [sp, #4]
|
|
d9a2: 2501 movs r5, #1
|
|
d9a4: 9500 str r5, [sp, #0]
|
|
d9a6: 2300 movs r3, #0
|
|
d9a8: f8ba 2002 ldrh.w r2, [sl, #2]
|
|
d9ac: a91e add r1, sp, #120 ; 0x78
|
|
d9ae: f8dd 8010 ldr.w r8, [sp, #16]
|
|
d9b2: 4640 mov r0, r8
|
|
d9b4: 4c93 ldr r4, [pc, #588] ; (dc04 <lv_draw_rect+0x18ec>)
|
|
d9b6: 47a0 blx r4
|
|
fill_area.x1 = coords_bg.x1;
|
|
d9b8: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
d9bc: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area.x2 = coords_bg.x2;
|
|
d9c0: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c
|
|
d9c4: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
fill_area.y1 = coords_bg.y1 + rout + 1;
|
|
d9c8: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a
|
|
d9cc: 442b add r3, r5
|
|
d9ce: 4433 add r3, r6
|
|
d9d0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area.y2 = coords_bg.y2 - rout - 1;
|
|
d9d4: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e
|
|
d9d8: 3b01 subs r3, #1
|
|
d9da: 1b9e subs r6, r3, r6
|
|
d9dc: f8ad 607e strh.w r6, [sp, #126] ; 0x7e
|
|
_lv_blend_fill(clip, &fill_area,
|
|
d9e0: f89a 300d ldrb.w r3, [sl, #13]
|
|
d9e4: 9302 str r3, [sp, #8]
|
|
d9e6: 9701 str r7, [sp, #4]
|
|
d9e8: 9500 str r5, [sp, #0]
|
|
d9ea: 2300 movs r3, #0
|
|
d9ec: f8ba 2002 ldrh.w r2, [sl, #2]
|
|
d9f0: a91e add r1, sp, #120 ; 0x78
|
|
d9f2: 4640 mov r0, r8
|
|
d9f4: 47a0 blx r4
|
|
d9f6: e796 b.n d926 <lv_draw_rect+0x160e>
|
|
lv_img_src_t src_type = lv_img_src_get_type(dsc->pattern_image);
|
|
d9f8: 4b83 ldr r3, [pc, #524] ; (dc08 <lv_draw_rect+0x18f0>)
|
|
d9fa: 4798 blx r3
|
|
d9fc: 4605 mov r5, r0
|
|
if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_VARIABLE) {
|
|
d9fe: 2801 cmp r0, #1
|
|
da00: d912 bls.n da28 <lv_draw_rect+0x1710>
|
|
else if(src_type == LV_IMG_SRC_SYMBOL) {
|
|
da02: 2802 cmp r0, #2
|
|
da04: d039 beq.n da7a <lv_draw_rect+0x1762>
|
|
LV_LOG_WARN("lv_img_design: image source type is unknown");
|
|
da06: 4b81 ldr r3, [pc, #516] ; (dc0c <lv_draw_rect+0x18f4>)
|
|
da08: 9300 str r3, [sp, #0]
|
|
da0a: 4b81 ldr r3, [pc, #516] ; (dc10 <lv_draw_rect+0x18f8>)
|
|
da0c: f240 52ae movw r2, #1454 ; 0x5ae
|
|
da10: 4980 ldr r1, [pc, #512] ; (dc14 <lv_draw_rect+0x18fc>)
|
|
da12: 2002 movs r0, #2
|
|
da14: 4c80 ldr r4, [pc, #512] ; (dc18 <lv_draw_rect+0x1900>)
|
|
da16: 47a0 blx r4
|
|
lv_draw_img(coords, clip, NULL, NULL);
|
|
da18: 2300 movs r3, #0
|
|
da1a: 461a mov r2, r3
|
|
da1c: 9904 ldr r1, [sp, #16]
|
|
da1e: 9806 ldr r0, [sp, #24]
|
|
da20: 4c7e ldr r4, [pc, #504] ; (dc1c <lv_draw_rect+0x1904>)
|
|
da22: 47a0 blx r4
|
|
da24: f7ff bbfd b.w d222 <lv_draw_rect+0xf0a>
|
|
lv_res_t res = lv_img_decoder_get_info(dsc->pattern_image, &header);
|
|
da28: a929 add r1, sp, #164 ; 0xa4
|
|
da2a: f8da 002c ldr.w r0, [sl, #44] ; 0x2c
|
|
da2e: 4b7c ldr r3, [pc, #496] ; (dc20 <lv_draw_rect+0x1908>)
|
|
da30: 4798 blx r3
|
|
if(res != LV_RES_OK) {
|
|
da32: 2801 cmp r0, #1
|
|
da34: d00a beq.n da4c <lv_draw_rect+0x1734>
|
|
LV_LOG_WARN("draw_img: can't get image info");
|
|
da36: 4b7b ldr r3, [pc, #492] ; (dc24 <lv_draw_rect+0x190c>)
|
|
da38: 9300 str r3, [sp, #0]
|
|
da3a: 4b75 ldr r3, [pc, #468] ; (dc10 <lv_draw_rect+0x18f8>)
|
|
da3c: f240 5294 movw r2, #1428 ; 0x594
|
|
da40: 4974 ldr r1, [pc, #464] ; (dc14 <lv_draw_rect+0x18fc>)
|
|
da42: 2002 movs r0, #2
|
|
da44: 4c74 ldr r4, [pc, #464] ; (dc18 <lv_draw_rect+0x1900>)
|
|
da46: 47a0 blx r4
|
|
da48: f7ff bbeb b.w d222 <lv_draw_rect+0xf0a>
|
|
img_w = header.w;
|
|
da4c: 9b29 ldr r3, [sp, #164] ; 0xa4
|
|
da4e: f3c3 298a ubfx r9, r3, #10, #11
|
|
img_h = header.h;
|
|
da52: f8bd 70a6 ldrh.w r7, [sp, #166] ; 0xa6
|
|
da56: f3c7 174a ubfx r7, r7, #5, #11
|
|
lv_draw_img_dsc_init(&img_dsc);
|
|
da5a: a81e add r0, sp, #120 ; 0x78
|
|
da5c: 4b72 ldr r3, [pc, #456] ; (dc28 <lv_draw_rect+0x1910>)
|
|
da5e: 4798 blx r3
|
|
img_dsc.opa = dsc->pattern_opa;
|
|
da60: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36
|
|
da64: f88d 3078 strb.w r3, [sp, #120] ; 0x78
|
|
img_dsc.recolor_opa = dsc->pattern_recolor_opa;
|
|
da68: f89a 3037 ldrb.w r3, [sl, #55] ; 0x37
|
|
da6c: f88d 3082 strb.w r3, [sp, #130] ; 0x82
|
|
img_dsc.recolor = dsc->pattern_recolor;
|
|
da70: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34
|
|
da74: f8ad 3084 strh.w r3, [sp, #132] ; 0x84
|
|
da78: e020 b.n dabc <lv_draw_rect+0x17a4>
|
|
lv_draw_label_dsc_init(&label_dsc);
|
|
da7a: a822 add r0, sp, #136 ; 0x88
|
|
da7c: 4b6b ldr r3, [pc, #428] ; (dc2c <lv_draw_rect+0x1914>)
|
|
da7e: 4798 blx r3
|
|
label_dsc.color = dsc->pattern_recolor;
|
|
da80: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34
|
|
da84: f8ad 3088 strh.w r3, [sp, #136] ; 0x88
|
|
label_dsc.font = dsc->pattern_font;
|
|
da88: f8da 2030 ldr.w r2, [sl, #48] ; 0x30
|
|
da8c: 9223 str r2, [sp, #140] ; 0x8c
|
|
label_dsc.opa = dsc->pattern_opa;
|
|
da8e: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36
|
|
da92: f88d 3090 strb.w r3, [sp, #144] ; 0x90
|
|
_lv_txt_get_size(&s, dsc->pattern_image, label_dsc.font, label_dsc.letter_space, label_dsc.line_space, LV_COORD_MAX,
|
|
da96: f9bd 3094 ldrsh.w r3, [sp, #148] ; 0x94
|
|
da9a: 2100 movs r1, #0
|
|
da9c: 9102 str r1, [sp, #8]
|
|
da9e: f647 4118 movw r1, #31768 ; 0x7c18
|
|
daa2: 9101 str r1, [sp, #4]
|
|
daa4: f9bd 1092 ldrsh.w r1, [sp, #146] ; 0x92
|
|
daa8: 9100 str r1, [sp, #0]
|
|
daaa: f8da 102c ldr.w r1, [sl, #44] ; 0x2c
|
|
daae: a829 add r0, sp, #164 ; 0xa4
|
|
dab0: 4c5f ldr r4, [pc, #380] ; (dc30 <lv_draw_rect+0x1918>)
|
|
dab2: 47a0 blx r4
|
|
img_w = s.x;
|
|
dab4: f9bd 90a4 ldrsh.w r9, [sp, #164] ; 0xa4
|
|
img_h = s.y;
|
|
dab8: f9bd 70a6 ldrsh.w r7, [sp, #166] ; 0xa6
|
|
if(dsc->pattern_repeat) {
|
|
dabc: f89a 3038 ldrb.w r3, [sl, #56] ; 0x38
|
|
dac0: f013 0f01 tst.w r3, #1
|
|
dac4: d13f bne.n db46 <lv_draw_rect+0x182e>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
dac6: 9c06 ldr r4, [sp, #24]
|
|
dac8: 8821 ldrh r1, [r4, #0]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
daca: 8860 ldrh r0, [r4, #2]
|
|
dacc: 88e2 ldrh r2, [r4, #6]
|
|
dace: 3201 adds r2, #1
|
|
dad0: 1a12 subs r2, r2, r0
|
|
int32_t obj_h = lv_area_get_height(coords);
|
|
dad2: b212 sxth r2, r2
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
dad4: 88a3 ldrh r3, [r4, #4]
|
|
dad6: 3301 adds r3, #1
|
|
dad8: 1a5b subs r3, r3, r1
|
|
int32_t obj_w = lv_area_get_width(coords);
|
|
dada: b21b sxth r3, r3
|
|
coords_tmp.x1 = coords->x1 + (obj_w - img_w) / 2;
|
|
dadc: eba3 0309 sub.w r3, r3, r9
|
|
dae0: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
dae4: eb01 0363 add.w r3, r1, r3, asr #1
|
|
dae8: b29b uxth r3, r3
|
|
daea: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
coords_tmp.y1 = coords->y1 + (obj_h - img_h) / 2;
|
|
daee: 1bd2 subs r2, r2, r7
|
|
daf0: eb02 71d2 add.w r1, r2, r2, lsr #31
|
|
daf4: eb00 0161 add.w r1, r0, r1, asr #1
|
|
daf8: b289 uxth r1, r1
|
|
dafa: f8ad 1072 strh.w r1, [sp, #114] ; 0x72
|
|
coords_tmp.x2 = coords_tmp.x1 + img_w - 1;
|
|
dafe: f109 39ff add.w r9, r9, #4294967295
|
|
db02: 4499 add r9, r3
|
|
db04: f8ad 9074 strh.w r9, [sp, #116] ; 0x74
|
|
coords_tmp.y2 = coords_tmp.y1 + img_h - 1;
|
|
db08: 1e7b subs r3, r7, #1
|
|
db0a: 440b add r3, r1
|
|
db0c: b29b uxth r3, r3
|
|
db0e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
if(src_type == LV_IMG_SRC_SYMBOL) {
|
|
db12: 2d02 cmp r5, #2
|
|
db14: f000 80bd beq.w dc92 <lv_draw_rect+0x197a>
|
|
if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) {
|
|
db18: f9ba 2000 ldrsh.w r2, [sl]
|
|
db1c: 9906 ldr r1, [sp, #24]
|
|
db1e: a81c add r0, sp, #112 ; 0x70
|
|
db20: 4b44 ldr r3, [pc, #272] ; (dc34 <lv_draw_rect+0x191c>)
|
|
db22: 4798 blx r3
|
|
int16_t radius_mask_id = LV_MASK_ID_INV;
|
|
db24: f04f 34ff mov.w r4, #4294967295
|
|
if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) {
|
|
db28: 2800 cmp r0, #0
|
|
db2a: f000 86d4 beq.w e8d6 <lv_draw_rect+0x25be>
|
|
else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc);
|
|
db2e: ab1e add r3, sp, #120 ; 0x78
|
|
db30: f8da 202c ldr.w r2, [sl, #44] ; 0x2c
|
|
db34: 9904 ldr r1, [sp, #16]
|
|
db36: a81c add r0, sp, #112 ; 0x70
|
|
db38: 4d38 ldr r5, [pc, #224] ; (dc1c <lv_draw_rect+0x1904>)
|
|
db3a: 47a8 blx r5
|
|
lv_draw_mask_remove_id(radius_mask_id);
|
|
db3c: 4620 mov r0, r4
|
|
db3e: 4b30 ldr r3, [pc, #192] ; (dc00 <lv_draw_rect+0x18e8>)
|
|
db40: 4798 blx r3
|
|
db42: f7ff bb6e b.w d222 <lv_draw_rect+0xf0a>
|
|
lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false);
|
|
db46: 2300 movs r3, #0
|
|
db48: f9ba 2000 ldrsh.w r2, [sl]
|
|
db4c: 9e06 ldr r6, [sp, #24]
|
|
db4e: 4631 mov r1, r6
|
|
db50: a829 add r0, sp, #164 ; 0xa4
|
|
db52: 4c39 ldr r4, [pc, #228] ; (dc38 <lv_draw_rect+0x1920>)
|
|
db54: 47a0 blx r4
|
|
int16_t radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL);
|
|
db56: 2100 movs r1, #0
|
|
db58: a829 add r0, sp, #164 ; 0xa4
|
|
db5a: 4b38 ldr r3, [pc, #224] ; (dc3c <lv_draw_rect+0x1924>)
|
|
db5c: 4798 blx r3
|
|
db5e: 9007 str r0, [sp, #28]
|
|
db60: 88b3 ldrh r3, [r6, #4]
|
|
db62: 3301 adds r3, #1
|
|
db64: 4634 mov r4, r6
|
|
db66: 8832 ldrh r2, [r6, #0]
|
|
db68: 1a9b subs r3, r3, r2
|
|
int32_t ofs_x = (lv_area_get_width(coords) - (lv_area_get_width(coords) / img_w) * img_w) / 2;
|
|
db6a: b21b sxth r3, r3
|
|
db6c: fb93 f2f9 sdiv r2, r3, r9
|
|
db70: fb09 3312 mls r3, r9, r2, r3
|
|
db74: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
db78: ea4f 0b63 mov.w fp, r3, asr #1
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
db7c: f9b6 1006 ldrsh.w r1, [r6, #6]
|
|
db80: 8873 ldrh r3, [r6, #2]
|
|
db82: 1c4a adds r2, r1, #1
|
|
db84: 1ad2 subs r2, r2, r3
|
|
int32_t ofs_y = (lv_area_get_height(coords) - (lv_area_get_height(coords) / img_h) * img_h) / 2;
|
|
db86: b210 sxth r0, r2
|
|
db88: fb90 f2f7 sdiv r2, r0, r7
|
|
db8c: fb07 0212 mls r2, r7, r2, r0
|
|
db90: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
coords_tmp.y1 = coords->y1 - ofs_y;
|
|
db94: eba3 0362 sub.w r3, r3, r2, asr #1
|
|
db98: b29b uxth r3, r3
|
|
db9a: b21a sxth r2, r3
|
|
db9c: f8ad 2072 strh.w r2, [sp, #114] ; 0x72
|
|
coords_tmp.y2 = coords_tmp.y1 + img_h - 1;
|
|
dba0: b2bf uxth r7, r7
|
|
dba2: 1e78 subs r0, r7, #1
|
|
dba4: 4403 add r3, r0
|
|
dba6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) {
|
|
dbaa: 4291 cmp r1, r2
|
|
dbac: db6c blt.n dc88 <lv_draw_rect+0x1970>
|
|
if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL);
|
|
dbae: f8df 8090 ldr.w r8, [pc, #144] ; dc40 <lv_draw_rect+0x1928>
|
|
else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc);
|
|
dbb2: 4e1a ldr r6, [pc, #104] ; (dc1c <lv_draw_rect+0x1904>)
|
|
dbb4: f8cd 9014 str.w r9, [sp, #20]
|
|
dbb8: 46a1 mov r9, r4
|
|
dbba: e052 b.n dc62 <lv_draw_rect+0x194a>
|
|
if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL);
|
|
dbbc: 2300 movs r3, #0
|
|
dbbe: 9300 str r3, [sp, #0]
|
|
dbc0: f8da 302c ldr.w r3, [sl, #44] ; 0x2c
|
|
dbc4: aa22 add r2, sp, #136 ; 0x88
|
|
dbc6: 9904 ldr r1, [sp, #16]
|
|
dbc8: a81c add r0, sp, #112 ; 0x70
|
|
dbca: 47c0 blx r8
|
|
for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) {
|
|
dbcc: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70
|
|
dbd0: 4423 add r3, r4
|
|
dbd2: b21b sxth r3, r3
|
|
dbd4: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
dbd8: f8bd 2074 ldrh.w r2, [sp, #116] ; 0x74
|
|
dbdc: 4422 add r2, r4
|
|
dbde: f8ad 2074 strh.w r2, [sp, #116] ; 0x74
|
|
dbe2: f9b9 2004 ldrsh.w r2, [r9, #4]
|
|
dbe6: 429a cmp r2, r3
|
|
dbe8: db2c blt.n dc44 <lv_draw_rect+0x192c>
|
|
if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL);
|
|
dbea: 2d02 cmp r5, #2
|
|
dbec: d0e6 beq.n dbbc <lv_draw_rect+0x18a4>
|
|
else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc);
|
|
dbee: ab1e add r3, sp, #120 ; 0x78
|
|
dbf0: f8da 202c ldr.w r2, [sl, #44] ; 0x2c
|
|
dbf4: 9904 ldr r1, [sp, #16]
|
|
dbf6: a81c add r0, sp, #112 ; 0x70
|
|
dbf8: 47b0 blx r6
|
|
dbfa: e7e7 b.n dbcc <lv_draw_rect+0x18b4>
|
|
dbfc: 00012559 .word 0x00012559
|
|
dc00: 0000be55 .word 0x0000be55
|
|
dc04: 00007739 .word 0x00007739
|
|
dc08: 00009951 .word 0x00009951
|
|
dc0c: 000250c8 .word 0x000250c8
|
|
dc10: 00025068 .word 0x00025068
|
|
dc14: 00025078 .word 0x00025078
|
|
dc18: 00012245 .word 0x00012245
|
|
dc1c: 000096d1 .word 0x000096d1
|
|
dc20: 0000fdd5 .word 0x0000fdd5
|
|
dc24: 000250a8 .word 0x000250a8
|
|
dc28: 0000962d .word 0x0000962d
|
|
dc2c: 000099b5 .word 0x000099b5
|
|
dc30: 00014065 .word 0x00014065
|
|
dc34: 00011755 .word 0x00011755
|
|
dc38: 0000c015 .word 0x0000c015
|
|
dc3c: 0000bda9 .word 0x0000bda9
|
|
dc40: 00009a0d .word 0x00009a0d
|
|
for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) {
|
|
dc44: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
dc48: 443b add r3, r7
|
|
dc4a: b21b sxth r3, r3
|
|
dc4c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
dc50: f8bd 2076 ldrh.w r2, [sp, #118] ; 0x76
|
|
dc54: 443a add r2, r7
|
|
dc56: f8ad 2076 strh.w r2, [sp, #118] ; 0x76
|
|
dc5a: f9b9 2006 ldrsh.w r2, [r9, #6]
|
|
dc5e: 429a cmp r2, r3
|
|
dc60: db12 blt.n dc88 <lv_draw_rect+0x1970>
|
|
coords_tmp.x1 = coords->x1 - ofs_x;
|
|
dc62: f8b9 3000 ldrh.w r3, [r9]
|
|
dc66: eba3 030b sub.w r3, r3, fp
|
|
dc6a: b29b uxth r3, r3
|
|
dc6c: b21a sxth r2, r3
|
|
dc6e: f8ad 2070 strh.w r2, [sp, #112] ; 0x70
|
|
coords_tmp.x2 = coords_tmp.x1 + img_w - 1;
|
|
dc72: f8bd 4014 ldrh.w r4, [sp, #20]
|
|
dc76: 1e61 subs r1, r4, #1
|
|
dc78: 440b add r3, r1
|
|
dc7a: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) {
|
|
dc7e: f9b9 3004 ldrsh.w r3, [r9, #4]
|
|
dc82: 4293 cmp r3, r2
|
|
dc84: dab1 bge.n dbea <lv_draw_rect+0x18d2>
|
|
dc86: e7dd b.n dc44 <lv_draw_rect+0x192c>
|
|
lv_draw_mask_remove_id(radius_mask_id);
|
|
dc88: 9807 ldr r0, [sp, #28]
|
|
dc8a: 4b8a ldr r3, [pc, #552] ; (deb4 <lv_draw_rect+0x1b9c>)
|
|
dc8c: 4798 blx r3
|
|
dc8e: f7ff bac8 b.w d222 <lv_draw_rect+0xf0a>
|
|
coords_tmp.y1 += y_corr;
|
|
dc92: f002 0201 and.w r2, r2, #1
|
|
dc96: 4411 add r1, r2
|
|
dc98: f8ad 1072 strh.w r1, [sp, #114] ; 0x72
|
|
coords_tmp.y2 += y_corr;
|
|
dc9c: 4413 add r3, r2
|
|
dc9e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) {
|
|
dca2: f9ba 2000 ldrsh.w r2, [sl]
|
|
dca6: 4621 mov r1, r4
|
|
dca8: a81c add r0, sp, #112 ; 0x70
|
|
dcaa: 4b83 ldr r3, [pc, #524] ; (deb8 <lv_draw_rect+0x1ba0>)
|
|
dcac: 4798 blx r3
|
|
dcae: b9a8 cbnz r0, dcdc <lv_draw_rect+0x19c4>
|
|
lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false);
|
|
dcb0: 2300 movs r3, #0
|
|
dcb2: f9ba 2000 ldrsh.w r2, [sl]
|
|
dcb6: 9906 ldr r1, [sp, #24]
|
|
dcb8: a829 add r0, sp, #164 ; 0xa4
|
|
dcba: 4c80 ldr r4, [pc, #512] ; (debc <lv_draw_rect+0x1ba4>)
|
|
dcbc: 47a0 blx r4
|
|
radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL);
|
|
dcbe: 2100 movs r1, #0
|
|
dcc0: a829 add r0, sp, #164 ; 0xa4
|
|
dcc2: 4b7f ldr r3, [pc, #508] ; (dec0 <lv_draw_rect+0x1ba8>)
|
|
dcc4: 4798 blx r3
|
|
dcc6: 4604 mov r4, r0
|
|
if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL);
|
|
dcc8: 2300 movs r3, #0
|
|
dcca: 9300 str r3, [sp, #0]
|
|
dccc: f8da 302c ldr.w r3, [sl, #44] ; 0x2c
|
|
dcd0: aa22 add r2, sp, #136 ; 0x88
|
|
dcd2: 9904 ldr r1, [sp, #16]
|
|
dcd4: a81c add r0, sp, #112 ; 0x70
|
|
dcd6: 4d7b ldr r5, [pc, #492] ; (dec4 <lv_draw_rect+0x1bac>)
|
|
dcd8: 47a8 blx r5
|
|
dcda: e72f b.n db3c <lv_draw_rect+0x1824>
|
|
int16_t radius_mask_id = LV_MASK_ID_INV;
|
|
dcdc: f04f 34ff mov.w r4, #4294967295
|
|
dce0: e7f2 b.n dcc8 <lv_draw_rect+0x19b0>
|
|
draw_area.x1 -= disp_area->x1;
|
|
dce2: 8a29 ldrh r1, [r5, #16]
|
|
dce4: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
dce8: 1a5b subs r3, r3, r1
|
|
dcea: b29a uxth r2, r3
|
|
dcec: f8ad 2060 strh.w r2, [sp, #96] ; 0x60
|
|
draw_area.y1 -= disp_area->y1;
|
|
dcf0: 8a68 ldrh r0, [r5, #18]
|
|
dcf2: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62
|
|
dcf6: 1a1b subs r3, r3, r0
|
|
dcf8: f8ad 3062 strh.w r3, [sp, #98] ; 0x62
|
|
draw_area.x2 -= disp_area->x1;
|
|
dcfc: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64
|
|
dd00: 1a5b subs r3, r3, r1
|
|
dd02: b29b uxth r3, r3
|
|
dd04: f8ad 3064 strh.w r3, [sp, #100] ; 0x64
|
|
draw_area.y2 -= disp_area->y1;
|
|
dd08: f8bd 1066 ldrh.w r1, [sp, #102] ; 0x66
|
|
dd0c: 1a09 subs r1, r1, r0
|
|
dd0e: f8ad 1066 strh.w r1, [sp, #102] ; 0x66
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
dd12: 3301 adds r3, #1
|
|
dd14: 1a9b subs r3, r3, r2
|
|
dd16: b21b sxth r3, r3
|
|
dd18: 9308 str r3, [sp, #32]
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w);
|
|
dd1a: 9309 str r3, [sp, #36] ; 0x24
|
|
dd1c: 4618 mov r0, r3
|
|
dd1e: 4b6a ldr r3, [pc, #424] ; (dec8 <lv_draw_rect+0x1bb0>)
|
|
dd20: 4798 blx r3
|
|
dd22: 4683 mov fp, r0
|
|
uint8_t other_mask_cnt = lv_draw_mask_get_cnt();
|
|
dd24: 4b69 ldr r3, [pc, #420] ; (decc <lv_draw_rect+0x1bb4>)
|
|
dd26: 4798 blx r3
|
|
if(other_mask_cnt) simple_mode = false;
|
|
dd28: b948 cbnz r0, dd3e <lv_draw_rect+0x1a26>
|
|
else if(dsc->border_side != LV_BORDER_SIDE_FULL) simple_mode = false;
|
|
dd2a: f9ba 8012 ldrsh.w r8, [sl, #18]
|
|
dd2e: f1b8 0f0f cmp.w r8, #15
|
|
dd32: bf14 ite ne
|
|
dd34: f04f 0800 movne.w r8, #0
|
|
dd38: f04f 0801 moveq.w r8, #1
|
|
dd3c: e001 b.n dd42 <lv_draw_rect+0x1a2a>
|
|
if(other_mask_cnt) simple_mode = false;
|
|
dd3e: f04f 0800 mov.w r8, #0
|
|
int32_t rout = dsc->radius;
|
|
dd42: f9ba 2000 ldrsh.w r2, [sl]
|
|
dd46: 9e06 ldr r6, [sp, #24]
|
|
dd48: 88b3 ldrh r3, [r6, #4]
|
|
dd4a: 3301 adds r3, #1
|
|
dd4c: 8831 ldrh r1, [r6, #0]
|
|
dd4e: 1a5b subs r3, r3, r1
|
|
int32_t coords_w = lv_area_get_width(coords);
|
|
dd50: b219 sxth r1, r3
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
dd52: 88f3 ldrh r3, [r6, #6]
|
|
dd54: 3301 adds r3, #1
|
|
dd56: 8870 ldrh r0, [r6, #2]
|
|
dd58: 1a1b subs r3, r3, r0
|
|
int32_t coords_h = lv_area_get_height(coords);
|
|
dd5a: b21b sxth r3, r3
|
|
int32_t short_side = LV_MATH_MIN(coords_w, coords_h);
|
|
dd5c: 428b cmp r3, r1
|
|
dd5e: bfa8 it ge
|
|
dd60: 460b movge r3, r1
|
|
if(rout > short_side >> 1) rout = short_side >> 1;
|
|
dd62: 105b asrs r3, r3, #1
|
|
dd64: 4293 cmp r3, r2
|
|
dd66: bfa8 it ge
|
|
dd68: 4613 movge r3, r2
|
|
dd6a: 461a mov r2, r3
|
|
dd6c: 930a str r3, [sp, #40] ; 0x28
|
|
if(rout > 0) {
|
|
dd6e: 2b00 cmp r3, #0
|
|
dd70: f340 8088 ble.w de84 <lv_draw_rect+0x1b6c>
|
|
lv_draw_mask_radius_init(&mask_rout_param, coords, rout, false);
|
|
dd74: 2300 movs r3, #0
|
|
dd76: 4631 mov r1, r6
|
|
dd78: a822 add r0, sp, #136 ; 0x88
|
|
dd7a: 4e50 ldr r6, [pc, #320] ; (debc <lv_draw_rect+0x1ba4>)
|
|
dd7c: 47b0 blx r6
|
|
mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL);
|
|
dd7e: 2100 movs r1, #0
|
|
dd80: a822 add r0, sp, #136 ; 0x88
|
|
dd82: 4b4f ldr r3, [pc, #316] ; (dec0 <lv_draw_rect+0x1ba8>)
|
|
dd84: 4798 blx r3
|
|
dd86: 900e str r0, [sp, #56] ; 0x38
|
|
int32_t rin = rout - dsc->border_width;
|
|
dd88: f9ba 6010 ldrsh.w r6, [sl, #16]
|
|
dd8c: 9a06 ldr r2, [sp, #24]
|
|
dd8e: 1e53 subs r3, r2, #1
|
|
dd90: 1dd0 adds r0, r2, #7
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
dd92: aa1a add r2, sp, #104 ; 0x68
|
|
*d8 = *s8;
|
|
dd94: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
dd98: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
dd9c: 4283 cmp r3, r0
|
|
dd9e: d1f9 bne.n dd94 <lv_draw_rect+0x1a7c>
|
|
area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout));
|
|
dda0: f8bd 2068 ldrh.w r2, [sp, #104] ; 0x68
|
|
dda4: f8ba 3012 ldrh.w r3, [sl, #18]
|
|
dda8: f013 0f04 tst.w r3, #4
|
|
ddac: d06e beq.n de8c <lv_draw_rect+0x1b74>
|
|
ddae: b2b1 uxth r1, r6
|
|
ddb0: 440a add r2, r1
|
|
ddb2: f8ad 2068 strh.w r2, [sp, #104] ; 0x68
|
|
area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout));
|
|
ddb6: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c
|
|
ddba: f013 0f08 tst.w r3, #8
|
|
ddbe: d06a beq.n de96 <lv_draw_rect+0x1b7e>
|
|
ddc0: b2b1 uxth r1, r6
|
|
ddc2: 1a52 subs r2, r2, r1
|
|
ddc4: f8ad 206c strh.w r2, [sp, #108] ; 0x6c
|
|
area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout));
|
|
ddc8: f8bd 206a ldrh.w r2, [sp, #106] ; 0x6a
|
|
ddcc: f013 0f02 tst.w r3, #2
|
|
ddd0: d066 beq.n dea0 <lv_draw_rect+0x1b88>
|
|
ddd2: b2b1 uxth r1, r6
|
|
ddd4: 440a add r2, r1
|
|
ddd6: f8ad 206a strh.w r2, [sp, #106] ; 0x6a
|
|
area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout));
|
|
ddda: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e
|
|
ddde: f013 0f01 tst.w r3, #1
|
|
dde2: d062 beq.n deaa <lv_draw_rect+0x1b92>
|
|
dde4: b2b3 uxth r3, r6
|
|
dde6: 1ad3 subs r3, r2, r3
|
|
dde8: f8ad 306e strh.w r3, [sp, #110] ; 0x6e
|
|
lv_draw_mask_radius_init(&mask_rin_param, &area_small, rout - dsc->border_width, true);
|
|
ddec: f8dd 9028 ldr.w r9, [sp, #40] ; 0x28
|
|
ddf0: fa1f f789 uxth.w r7, r9
|
|
ddf4: 1bba subs r2, r7, r6
|
|
ddf6: 2301 movs r3, #1
|
|
ddf8: b212 sxth r2, r2
|
|
ddfa: a91a add r1, sp, #104 ; 0x68
|
|
ddfc: a829 add r0, sp, #164 ; 0xa4
|
|
ddfe: 4e2f ldr r6, [pc, #188] ; (debc <lv_draw_rect+0x1ba4>)
|
|
de00: 47b0 blx r6
|
|
int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL);
|
|
de02: 2100 movs r1, #0
|
|
de04: a829 add r0, sp, #164 ; 0xa4
|
|
de06: 4b2e ldr r3, [pc, #184] ; (dec0 <lv_draw_rect+0x1ba8>)
|
|
de08: 4798 blx r3
|
|
de0a: 900f str r0, [sp, #60] ; 0x3c
|
|
int32_t corner_size = LV_MATH_MAX(rout, dsc->border_width - 1);
|
|
de0c: f9ba 3010 ldrsh.w r3, [sl, #16]
|
|
de10: 3b01 subs r3, #1
|
|
de12: 454b cmp r3, r9
|
|
de14: bfb8 it lt
|
|
de16: 464b movlt r3, r9
|
|
de18: 4619 mov r1, r3
|
|
de1a: 930d str r3, [sp, #52] ; 0x34
|
|
lv_color_t color = dsc->border_color;
|
|
de1c: f8ba 300e ldrh.w r3, [sl, #14]
|
|
de20: f8ad 3014 strh.w r3, [sp, #20]
|
|
lv_blend_mode_t blend_mode = dsc->border_blend_mode;
|
|
de24: f89a 6015 ldrb.w r6, [sl, #21]
|
|
if(simple_mode) {
|
|
de28: f1b8 0f00 cmp.w r8, #0
|
|
de2c: f000 81bf beq.w e1ae <lv_draw_rect+0x1e96>
|
|
int32_t upper_corner_end = coords->y1 - disp_area->y1 + corner_size;
|
|
de30: f9b5 3012 ldrsh.w r3, [r5, #18]
|
|
de34: 9806 ldr r0, [sp, #24]
|
|
de36: f9b0 2002 ldrsh.w r2, [r0, #2]
|
|
de3a: 1ad2 subs r2, r2, r3
|
|
de3c: 440a add r2, r1
|
|
upper_corner_end = LV_MATH_MIN(upper_corner_end, draw_area.y2);
|
|
de3e: f9bd 1066 ldrsh.w r1, [sp, #102] ; 0x66
|
|
de42: 4291 cmp r1, r2
|
|
de44: bfa8 it ge
|
|
de46: 4611 movge r1, r2
|
|
de48: 910b str r1, [sp, #44] ; 0x2c
|
|
fill_area.x1 = coords->x1;
|
|
de4a: 8802 ldrh r2, [r0, #0]
|
|
de4c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70
|
|
fill_area.x2 = coords->x2;
|
|
de50: 8882 ldrh r2, [r0, #4]
|
|
de52: f8ad 2074 strh.w r2, [sp, #116] ; 0x74
|
|
fill_area.y1 = disp_area->y1 + draw_area.y1;
|
|
de56: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62
|
|
de5a: 4413 add r3, r2
|
|
de5c: b21b sxth r3, r3
|
|
de5e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2 = fill_area.y1;
|
|
de62: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = draw_area.y1; h <= upper_corner_end; h++) {
|
|
de66: 4690 mov r8, r2
|
|
de68: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
de6a: 4293 cmp r3, r2
|
|
de6c: f2c0 80b3 blt.w dfd6 <lv_draw_rect+0x1cbe>
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
de70: f8df 905c ldr.w r9, [pc, #92] ; ded0 <lv_draw_rect+0x1bb8>
|
|
de74: f8cd b01c str.w fp, [sp, #28]
|
|
de78: 46b3 mov fp, r6
|
|
de7a: 4626 mov r6, r4
|
|
de7c: f8cd a030 str.w sl, [sp, #48] ; 0x30
|
|
de80: 4682 mov sl, r0
|
|
de82: e055 b.n df30 <lv_draw_rect+0x1c18>
|
|
int16_t mask_rout_id = LV_MASK_ID_INV;
|
|
de84: f04f 33ff mov.w r3, #4294967295
|
|
de88: 930e str r3, [sp, #56] ; 0x38
|
|
de8a: e77d b.n dd88 <lv_draw_rect+0x1a70>
|
|
area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout));
|
|
de8c: 990a ldr r1, [sp, #40] ; 0x28
|
|
de8e: 1871 adds r1, r6, r1
|
|
de90: 4249 negs r1, r1
|
|
de92: b289 uxth r1, r1
|
|
de94: e78c b.n ddb0 <lv_draw_rect+0x1a98>
|
|
area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout));
|
|
de96: 990a ldr r1, [sp, #40] ; 0x28
|
|
de98: 1871 adds r1, r6, r1
|
|
de9a: 4249 negs r1, r1
|
|
de9c: b289 uxth r1, r1
|
|
de9e: e790 b.n ddc2 <lv_draw_rect+0x1aaa>
|
|
area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout));
|
|
dea0: 990a ldr r1, [sp, #40] ; 0x28
|
|
dea2: 1871 adds r1, r6, r1
|
|
dea4: 4249 negs r1, r1
|
|
dea6: b289 uxth r1, r1
|
|
dea8: e794 b.n ddd4 <lv_draw_rect+0x1abc>
|
|
area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout));
|
|
deaa: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
deac: 18f3 adds r3, r6, r3
|
|
deae: 425b negs r3, r3
|
|
deb0: b29b uxth r3, r3
|
|
deb2: e798 b.n dde6 <lv_draw_rect+0x1ace>
|
|
deb4: 0000be55 .word 0x0000be55
|
|
deb8: 00011755 .word 0x00011755
|
|
debc: 0000c015 .word 0x0000c015
|
|
dec0: 0000bda9 .word 0x0000bda9
|
|
dec4: 00009a0d .word 0x00009a0d
|
|
dec8: 00012925 .word 0x00012925
|
|
decc: 0000bead .word 0x0000bead
|
|
ded0: 00007739 .word 0x00007739
|
|
fill_area2.x1 = coords->x2 - rout + 1;
|
|
ded4: f9ba 3004 ldrsh.w r3, [sl, #4]
|
|
ded8: 1c5a adds r2, r3, #1
|
|
deda: 1bd2 subs r2, r2, r7
|
|
dedc: f8ad 2078 strh.w r2, [sp, #120] ; 0x78
|
|
fill_area2.x2 = coords->x2;
|
|
dee0: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1);
|
|
dee4: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
dee6: 1a9b subs r3, r3, r2
|
|
dee8: 3301 adds r3, #1
|
|
deea: f9b5 2010 ldrsh.w r2, [r5, #16]
|
|
deee: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60
|
|
def2: 440a add r2, r1
|
|
def4: 1a9b subs r3, r3, r2
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode);
|
|
def6: f8cd b008 str.w fp, [sp, #8]
|
|
defa: 9601 str r6, [sp, #4]
|
|
defc: 9400 str r4, [sp, #0]
|
|
defe: 9a07 ldr r2, [sp, #28]
|
|
df00: 2b00 cmp r3, #0
|
|
df02: bfa8 it ge
|
|
df04: 18d2 addge r2, r2, r3
|
|
df06: 4613 mov r3, r2
|
|
df08: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
df0c: a91e add r1, sp, #120 ; 0x78
|
|
df0e: 9804 ldr r0, [sp, #16]
|
|
df10: 47c8 blx r9
|
|
fill_area.y1++;
|
|
df12: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
df16: 3301 adds r3, #1
|
|
df18: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2++;
|
|
df1c: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
df20: 3301 adds r3, #1
|
|
df22: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = draw_area.y1; h <= upper_corner_end; h++) {
|
|
df26: f108 0801 add.w r8, r8, #1
|
|
df2a: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
df2c: 4543 cmp r3, r8
|
|
df2e: db4c blt.n dfca <lv_draw_rect+0x1cb2>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
df30: 9909 ldr r1, [sp, #36] ; 0x24
|
|
df32: 9c07 ldr r4, [sp, #28]
|
|
df34: 4620 mov r0, r4
|
|
df36: 4bc7 ldr r3, [pc, #796] ; (e254 <lv_draw_rect+0x1f3c>)
|
|
df38: 4798 blx r3
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
df3a: 8a6a ldrh r2, [r5, #18]
|
|
df3c: 4442 add r2, r8
|
|
df3e: 8a29 ldrh r1, [r5, #16]
|
|
df40: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
df44: 4419 add r1, r3
|
|
df46: 9b08 ldr r3, [sp, #32]
|
|
df48: b212 sxth r2, r2
|
|
df4a: b209 sxth r1, r1
|
|
df4c: 9407 str r4, [sp, #28]
|
|
df4e: 4620 mov r0, r4
|
|
df50: 4cc1 ldr r4, [pc, #772] ; (e258 <lv_draw_rect+0x1f40>)
|
|
df52: 47a0 blx r4
|
|
df54: 4604 mov r4, r0
|
|
fill_area2.y1 = fill_area.y1;
|
|
df56: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
df5a: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area2.y2 = fill_area.y2;
|
|
df5e: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
df62: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
fill_area2.x1 = coords->x1;
|
|
df66: f9ba 3000 ldrsh.w r3, [sl]
|
|
df6a: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = coords->x1 + rout - 1;
|
|
df6e: 3b01 subs r3, #1
|
|
df70: 443b add r3, r7
|
|
df72: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
df76: f8cd b008 str.w fp, [sp, #8]
|
|
df7a: 9601 str r6, [sp, #4]
|
|
df7c: 9000 str r0, [sp, #0]
|
|
df7e: 9b07 ldr r3, [sp, #28]
|
|
df80: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
df84: a91e add r1, sp, #120 ; 0x78
|
|
df86: 9804 ldr r0, [sp, #16]
|
|
df88: 47c8 blx r9
|
|
if(fill_area2.y2 < coords->y1 + dsc->border_width) {
|
|
df8a: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e
|
|
df8e: f9ba 3002 ldrsh.w r3, [sl, #2]
|
|
df92: 990c ldr r1, [sp, #48] ; 0x30
|
|
df94: f9b1 1010 ldrsh.w r1, [r1, #16]
|
|
df98: 440b add r3, r1
|
|
df9a: 429a cmp r2, r3
|
|
df9c: da9a bge.n ded4 <lv_draw_rect+0x1bbc>
|
|
fill_area2.x1 = coords->x1 + rout;
|
|
df9e: f8ba 3000 ldrh.w r3, [sl]
|
|
dfa2: 443b add r3, r7
|
|
dfa4: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = coords->x2 - rout;
|
|
dfa8: f8ba 3004 ldrh.w r3, [sl, #4]
|
|
dfac: 1bdb subs r3, r3, r7
|
|
dfae: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
_lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
dfb2: f8cd b008 str.w fp, [sp, #8]
|
|
dfb6: 9601 str r6, [sp, #4]
|
|
dfb8: 2301 movs r3, #1
|
|
dfba: 9300 str r3, [sp, #0]
|
|
dfbc: 2300 movs r3, #0
|
|
dfbe: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
dfc2: a91e add r1, sp, #120 ; 0x78
|
|
dfc4: 9804 ldr r0, [sp, #16]
|
|
dfc6: 47c8 blx r9
|
|
dfc8: e784 b.n ded4 <lv_draw_rect+0x1bbc>
|
|
dfca: 4634 mov r4, r6
|
|
dfcc: 465e mov r6, fp
|
|
dfce: f8dd b01c ldr.w fp, [sp, #28]
|
|
dfd2: f8dd a030 ldr.w sl, [sp, #48] ; 0x30
|
|
int32_t lower_corner_end = coords->y2 - disp_area->y1 - corner_size;
|
|
dfd6: f9b5 3012 ldrsh.w r3, [r5, #18]
|
|
dfda: 9a06 ldr r2, [sp, #24]
|
|
dfdc: f9b2 2006 ldrsh.w r2, [r2, #6]
|
|
dfe0: 1ad2 subs r2, r2, r3
|
|
dfe2: 990d ldr r1, [sp, #52] ; 0x34
|
|
dfe4: 1a52 subs r2, r2, r1
|
|
lower_corner_end = LV_MATH_MAX(lower_corner_end, draw_area.y1);
|
|
dfe6: f9bd 8062 ldrsh.w r8, [sp, #98] ; 0x62
|
|
dfea: 4590 cmp r8, r2
|
|
dfec: bfb8 it lt
|
|
dfee: 4690 movlt r8, r2
|
|
if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1;
|
|
dff0: 990b ldr r1, [sp, #44] ; 0x2c
|
|
dff2: 4541 cmp r1, r8
|
|
dff4: bfa8 it ge
|
|
dff6: f101 0801 addge.w r8, r1, #1
|
|
fill_area.y1 = disp_area->y1 + lower_corner_end;
|
|
dffa: 4443 add r3, r8
|
|
dffc: b21b sxth r3, r3
|
|
dffe: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2 = fill_area.y1;
|
|
e002: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = lower_corner_end; h <= draw_area.y2; h++) {
|
|
e006: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66
|
|
e00a: 4598 cmp r8, r3
|
|
e00c: f300 808d bgt.w e12a <lv_draw_rect+0x1e12>
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
e010: f8df 9248 ldr.w r9, [pc, #584] ; e25c <lv_draw_rect+0x1f44>
|
|
e014: f8cd b01c str.w fp, [sp, #28]
|
|
e018: 46b3 mov fp, r6
|
|
e01a: 4626 mov r6, r4
|
|
e01c: f8cd a02c str.w sl, [sp, #44] ; 0x2c
|
|
e020: f8dd a018 ldr.w sl, [sp, #24]
|
|
e024: e02e b.n e084 <lv_draw_rect+0x1d6c>
|
|
fill_area2.x1 = coords->x2 - rout + 1;
|
|
e026: f9ba 3004 ldrsh.w r3, [sl, #4]
|
|
e02a: 1c5a adds r2, r3, #1
|
|
e02c: 1bd2 subs r2, r2, r7
|
|
e02e: f8ad 2078 strh.w r2, [sp, #120] ; 0x78
|
|
fill_area2.x2 = coords->x2;
|
|
e032: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1);
|
|
e036: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
e038: 1a9b subs r3, r3, r2
|
|
e03a: 3301 adds r3, #1
|
|
e03c: f9b5 2010 ldrsh.w r2, [r5, #16]
|
|
e040: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60
|
|
e044: 440a add r2, r1
|
|
e046: 1a9b subs r3, r3, r2
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode);
|
|
e048: f8cd b008 str.w fp, [sp, #8]
|
|
e04c: 9601 str r6, [sp, #4]
|
|
e04e: 9400 str r4, [sp, #0]
|
|
e050: 9a07 ldr r2, [sp, #28]
|
|
e052: 2b00 cmp r3, #0
|
|
e054: bfa8 it ge
|
|
e056: 18d2 addge r2, r2, r3
|
|
e058: 4613 mov r3, r2
|
|
e05a: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e05e: a91e add r1, sp, #120 ; 0x78
|
|
e060: 9804 ldr r0, [sp, #16]
|
|
e062: 47c8 blx r9
|
|
fill_area.y1++;
|
|
e064: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e068: 3301 adds r3, #1
|
|
e06a: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2++;
|
|
e06e: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e072: 3301 adds r3, #1
|
|
e074: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = lower_corner_end; h <= draw_area.y2; h++) {
|
|
e078: f108 0801 add.w r8, r8, #1
|
|
e07c: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66
|
|
e080: 4598 cmp r8, r3
|
|
e082: dc4c bgt.n e11e <lv_draw_rect+0x1e06>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
e084: 9909 ldr r1, [sp, #36] ; 0x24
|
|
e086: 9c07 ldr r4, [sp, #28]
|
|
e088: 4620 mov r0, r4
|
|
e08a: 4b72 ldr r3, [pc, #456] ; (e254 <lv_draw_rect+0x1f3c>)
|
|
e08c: 4798 blx r3
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
e08e: 8a6a ldrh r2, [r5, #18]
|
|
e090: 4442 add r2, r8
|
|
e092: 8a29 ldrh r1, [r5, #16]
|
|
e094: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
e098: 4419 add r1, r3
|
|
e09a: 9b08 ldr r3, [sp, #32]
|
|
e09c: b212 sxth r2, r2
|
|
e09e: b209 sxth r1, r1
|
|
e0a0: 9407 str r4, [sp, #28]
|
|
e0a2: 4620 mov r0, r4
|
|
e0a4: 4c6c ldr r4, [pc, #432] ; (e258 <lv_draw_rect+0x1f40>)
|
|
e0a6: 47a0 blx r4
|
|
e0a8: 4604 mov r4, r0
|
|
fill_area2.x1 = coords->x1;
|
|
e0aa: f9ba 3000 ldrsh.w r3, [sl]
|
|
e0ae: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = coords->x1 + rout - 1;
|
|
e0b2: 3b01 subs r3, #1
|
|
e0b4: 443b add r3, r7
|
|
e0b6: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
fill_area2.y1 = fill_area.y1;
|
|
e0ba: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e0be: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area2.y2 = fill_area.y2;
|
|
e0c2: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e0c6: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
e0ca: f8cd b008 str.w fp, [sp, #8]
|
|
e0ce: 9601 str r6, [sp, #4]
|
|
e0d0: 9000 str r0, [sp, #0]
|
|
e0d2: 9b07 ldr r3, [sp, #28]
|
|
e0d4: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e0d8: a91e add r1, sp, #120 ; 0x78
|
|
e0da: 9804 ldr r0, [sp, #16]
|
|
e0dc: 47c8 blx r9
|
|
if(fill_area2.y2 > coords->y2 - dsc->border_width) {
|
|
e0de: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e
|
|
e0e2: f9ba 3006 ldrsh.w r3, [sl, #6]
|
|
e0e6: 990b ldr r1, [sp, #44] ; 0x2c
|
|
e0e8: f9b1 1010 ldrsh.w r1, [r1, #16]
|
|
e0ec: 1a5b subs r3, r3, r1
|
|
e0ee: 429a cmp r2, r3
|
|
e0f0: dd99 ble.n e026 <lv_draw_rect+0x1d0e>
|
|
fill_area2.x1 = coords->x1 + rout;
|
|
e0f2: f8ba 3000 ldrh.w r3, [sl]
|
|
e0f6: 443b add r3, r7
|
|
e0f8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = coords->x2 - rout;
|
|
e0fc: f8ba 3004 ldrh.w r3, [sl, #4]
|
|
e100: 1bdb subs r3, r3, r7
|
|
e102: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
_lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
e106: f8cd b008 str.w fp, [sp, #8]
|
|
e10a: 9601 str r6, [sp, #4]
|
|
e10c: 2301 movs r3, #1
|
|
e10e: 9300 str r3, [sp, #0]
|
|
e110: 2300 movs r3, #0
|
|
e112: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e116: a91e add r1, sp, #120 ; 0x78
|
|
e118: 9804 ldr r0, [sp, #16]
|
|
e11a: 47c8 blx r9
|
|
e11c: e783 b.n e026 <lv_draw_rect+0x1d0e>
|
|
e11e: 4634 mov r4, r6
|
|
e120: 465e mov r6, fp
|
|
e122: f8dd b01c ldr.w fp, [sp, #28]
|
|
e126: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c
|
|
fill_area.y1 = coords->y1 + corner_size + 1;
|
|
e12a: f8bd 2034 ldrh.w r2, [sp, #52] ; 0x34
|
|
e12e: 9906 ldr r1, [sp, #24]
|
|
e130: 884b ldrh r3, [r1, #2]
|
|
e132: 3301 adds r3, #1
|
|
e134: 4413 add r3, r2
|
|
e136: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2 = coords->y2 - corner_size - 1;
|
|
e13a: 88cb ldrh r3, [r1, #6]
|
|
e13c: 3b01 subs r3, #1
|
|
e13e: 1a9b subs r3, r3, r2
|
|
e140: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
fill_area.x1 = coords->x1;
|
|
e144: f9b1 3000 ldrsh.w r3, [r1]
|
|
e148: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
fill_area.x2 = coords->x1 + dsc->border_width - 1;
|
|
e14c: f8ba 2010 ldrh.w r2, [sl, #16]
|
|
e150: 3a01 subs r2, #1
|
|
e152: 4413 add r3, r2
|
|
e154: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
_lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
e158: 9602 str r6, [sp, #8]
|
|
e15a: 9401 str r4, [sp, #4]
|
|
e15c: 2701 movs r7, #1
|
|
e15e: 9700 str r7, [sp, #0]
|
|
e160: 2300 movs r3, #0
|
|
e162: f8bd 9014 ldrh.w r9, [sp, #20]
|
|
e166: 464a mov r2, r9
|
|
e168: a91c add r1, sp, #112 ; 0x70
|
|
e16a: f8dd 8010 ldr.w r8, [sp, #16]
|
|
e16e: 4640 mov r0, r8
|
|
e170: 4d3a ldr r5, [pc, #232] ; (e25c <lv_draw_rect+0x1f44>)
|
|
e172: 47a8 blx r5
|
|
fill_area.x1 = coords->x2 - dsc->border_width + 1;
|
|
e174: 9b06 ldr r3, [sp, #24]
|
|
e176: f9b3 2004 ldrsh.w r2, [r3, #4]
|
|
e17a: f8ba 3010 ldrh.w r3, [sl, #16]
|
|
e17e: 1afb subs r3, r7, r3
|
|
e180: 4413 add r3, r2
|
|
e182: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
fill_area.x2 = coords->x2;
|
|
e186: f8ad 2074 strh.w r2, [sp, #116] ; 0x74
|
|
_lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
e18a: 9602 str r6, [sp, #8]
|
|
e18c: 9401 str r4, [sp, #4]
|
|
e18e: 9700 str r7, [sp, #0]
|
|
e190: 2300 movs r3, #0
|
|
e192: 464a mov r2, r9
|
|
e194: a91c add r1, sp, #112 ; 0x70
|
|
e196: 4640 mov r0, r8
|
|
e198: 47a8 blx r5
|
|
lv_draw_mask_remove_id(mask_rin_id);
|
|
e19a: 980f ldr r0, [sp, #60] ; 0x3c
|
|
e19c: 4c30 ldr r4, [pc, #192] ; (e260 <lv_draw_rect+0x1f48>)
|
|
e19e: 47a0 blx r4
|
|
lv_draw_mask_remove_id(mask_rout_id);
|
|
e1a0: 980e ldr r0, [sp, #56] ; 0x38
|
|
e1a2: 47a0 blx r4
|
|
_lv_mem_buf_release(mask_buf);
|
|
e1a4: 4658 mov r0, fp
|
|
e1a6: 4b2f ldr r3, [pc, #188] ; (e264 <lv_draw_rect+0x1f4c>)
|
|
e1a8: 4798 blx r3
|
|
e1aa: f7ff b854 b.w d256 <lv_draw_rect+0xf3e>
|
|
fill_area.x1 = coords->x1;
|
|
e1ae: 9a06 ldr r2, [sp, #24]
|
|
e1b0: f9b2 1000 ldrsh.w r1, [r2]
|
|
e1b4: f8ad 1070 strh.w r1, [sp, #112] ; 0x70
|
|
fill_area.x2 = coords->x2;
|
|
e1b8: f9b2 2004 ldrsh.w r2, [r2, #4]
|
|
e1bc: f8ad 2074 strh.w r2, [sp, #116] ; 0x74
|
|
fill_area.y1 = disp_area->y1 + draw_area.y1;
|
|
e1c0: f9bd 0062 ldrsh.w r0, [sp, #98] ; 0x62
|
|
e1c4: 8a6b ldrh r3, [r5, #18]
|
|
e1c6: 4403 add r3, r0
|
|
e1c8: b21b sxth r3, r3
|
|
e1ca: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2 = fill_area.y1;
|
|
e1ce: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size;
|
|
e1d2: f9ba 3012 ldrsh.w r3, [sl, #18]
|
|
e1d6: 2b04 cmp r3, #4
|
|
e1d8: d029 beq.n e22e <lv_draw_rect+0x1f16>
|
|
else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size;
|
|
e1da: 2b08 cmp r3, #8
|
|
e1dc: d044 beq.n e268 <lv_draw_rect+0x1f50>
|
|
volatile bool top_only = false;
|
|
e1de: 2200 movs r2, #0
|
|
e1e0: f88d 204e strb.w r2, [sp, #78] ; 0x4e
|
|
volatile bool bottom_only = false;
|
|
e1e4: f88d 204f strb.w r2, [sp, #79] ; 0x4f
|
|
if(dsc->border_side == LV_BORDER_SIDE_TOP) top_only = true;
|
|
e1e8: 2b02 cmp r3, #2
|
|
e1ea: d129 bne.n e240 <lv_draw_rect+0x1f28>
|
|
e1ec: 2301 movs r3, #1
|
|
e1ee: f88d 304e strb.w r3, [sp, #78] ; 0x4e
|
|
volatile bool normal = !top_only && !bottom_only ? true : false;
|
|
e1f2: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e
|
|
e1f6: b91b cbnz r3, e200 <lv_draw_rect+0x1ee8>
|
|
e1f8: f89d 804f ldrb.w r8, [sp, #79] ; 0x4f
|
|
e1fc: f088 0801 eor.w r8, r8, #1
|
|
e200: f008 0801 and.w r8, r8, #1
|
|
e204: f88d 8050 strb.w r8, [sp, #80] ; 0x50
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
e208: 4607 mov r7, r0
|
|
e20a: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66
|
|
e20e: 4298 cmp r0, r3
|
|
e210: dcc3 bgt.n e19a <lv_draw_rect+0x1e82>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
e212: f8df 8040 ldr.w r8, [pc, #64] ; e254 <lv_draw_rect+0x1f3c>
|
|
_lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode);
|
|
e216: f8df 9044 ldr.w r9, [pc, #68] ; e25c <lv_draw_rect+0x1f44>
|
|
e21a: 940a str r4, [sp, #40] ; 0x28
|
|
e21c: f8cd b01c str.w fp, [sp, #28]
|
|
e220: f8dd b018 ldr.w fp, [sp, #24]
|
|
e224: f8cd a02c str.w sl, [sp, #44] ; 0x2c
|
|
e228: f8dd a034 ldr.w sl, [sp, #52] ; 0x34
|
|
e22c: e04e b.n e2cc <lv_draw_rect+0x1fb4>
|
|
if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size;
|
|
e22e: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
e230: 4411 add r1, r2
|
|
e232: f8ad 1074 strh.w r1, [sp, #116] ; 0x74
|
|
volatile bool top_only = false;
|
|
e236: 2200 movs r2, #0
|
|
e238: f88d 204e strb.w r2, [sp, #78] ; 0x4e
|
|
volatile bool bottom_only = false;
|
|
e23c: f88d 204f strb.w r2, [sp, #79] ; 0x4f
|
|
if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true;
|
|
e240: 2b01 cmp r3, #1
|
|
e242: d016 beq.n e272 <lv_draw_rect+0x1f5a>
|
|
if(dsc->border_side == (LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM)) {
|
|
e244: 2b03 cmp r3, #3
|
|
e246: d1d4 bne.n e1f2 <lv_draw_rect+0x1eda>
|
|
top_only = true;
|
|
e248: 2301 movs r3, #1
|
|
e24a: f88d 304e strb.w r3, [sp, #78] ; 0x4e
|
|
bottom_only = true;
|
|
e24e: f88d 304f strb.w r3, [sp, #79] ; 0x4f
|
|
e252: e7ce b.n e1f2 <lv_draw_rect+0x1eda>
|
|
e254: 00012bd5 .word 0x00012bd5
|
|
e258: 0000be05 .word 0x0000be05
|
|
e25c: 00007739 .word 0x00007739
|
|
e260: 0000be55 .word 0x0000be55
|
|
e264: 00012559 .word 0x00012559
|
|
else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size;
|
|
e268: 990d ldr r1, [sp, #52] ; 0x34
|
|
e26a: 1a52 subs r2, r2, r1
|
|
e26c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70
|
|
e270: e7e1 b.n e236 <lv_draw_rect+0x1f1e>
|
|
if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true;
|
|
e272: f88d 304f strb.w r3, [sp, #79] ; 0x4f
|
|
e276: e7bc b.n e1f2 <lv_draw_rect+0x1eda>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
e278: 9909 ldr r1, [sp, #36] ; 0x24
|
|
e27a: 9c07 ldr r4, [sp, #28]
|
|
e27c: 4620 mov r0, r4
|
|
e27e: 47c0 blx r8
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
e280: 8a6a ldrh r2, [r5, #18]
|
|
e282: 443a add r2, r7
|
|
e284: 8a29 ldrh r1, [r5, #16]
|
|
e286: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
e28a: 4419 add r1, r3
|
|
e28c: 9b08 ldr r3, [sp, #32]
|
|
e28e: b212 sxth r2, r2
|
|
e290: b209 sxth r1, r1
|
|
e292: 9407 str r4, [sp, #28]
|
|
e294: 4620 mov r0, r4
|
|
e296: 4c98 ldr r4, [pc, #608] ; (e4f8 <lv_draw_rect+0x21e0>)
|
|
e298: 47a0 blx r4
|
|
_lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode);
|
|
e29a: 9602 str r6, [sp, #8]
|
|
e29c: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
e29e: 9201 str r2, [sp, #4]
|
|
e2a0: 9000 str r0, [sp, #0]
|
|
e2a2: 9b07 ldr r3, [sp, #28]
|
|
e2a4: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e2a8: a91c add r1, sp, #112 ; 0x70
|
|
e2aa: 9804 ldr r0, [sp, #16]
|
|
e2ac: 47c8 blx r9
|
|
fill_area.y1++;
|
|
e2ae: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e2b2: 3301 adds r3, #1
|
|
e2b4: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2++;
|
|
e2b8: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e2bc: 3301 adds r3, #1
|
|
e2be: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
e2c2: 3701 adds r7, #1
|
|
e2c4: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66
|
|
e2c8: 429f cmp r7, r3
|
|
e2ca: dc1a bgt.n e302 <lv_draw_rect+0x1fea>
|
|
if(normal ||
|
|
e2cc: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50
|
|
e2d0: 2b00 cmp r3, #0
|
|
e2d2: d1d1 bne.n e278 <lv_draw_rect+0x1f60>
|
|
(top_only && fill_area.y1 <= coords->y1 + corner_size) ||
|
|
e2d4: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e
|
|
if(normal ||
|
|
e2d8: b133 cbz r3, e2e8 <lv_draw_rect+0x1fd0>
|
|
(top_only && fill_area.y1 <= coords->y1 + corner_size) ||
|
|
e2da: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72
|
|
e2de: f9bb 3002 ldrsh.w r3, [fp, #2]
|
|
e2e2: 4453 add r3, sl
|
|
e2e4: 429a cmp r2, r3
|
|
e2e6: ddc7 ble.n e278 <lv_draw_rect+0x1f60>
|
|
(bottom_only && fill_area.y1 >= coords->y2 - corner_size)) {
|
|
e2e8: f89d 304f ldrb.w r3, [sp, #79] ; 0x4f
|
|
(top_only && fill_area.y1 <= coords->y1 + corner_size) ||
|
|
e2ec: 2b00 cmp r3, #0
|
|
e2ee: d0de beq.n e2ae <lv_draw_rect+0x1f96>
|
|
(bottom_only && fill_area.y1 >= coords->y2 - corner_size)) {
|
|
e2f0: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72
|
|
e2f4: f9bb 3006 ldrsh.w r3, [fp, #6]
|
|
e2f8: eba3 030a sub.w r3, r3, sl
|
|
e2fc: 429a cmp r2, r3
|
|
e2fe: dbd6 blt.n e2ae <lv_draw_rect+0x1f96>
|
|
e300: e7ba b.n e278 <lv_draw_rect+0x1f60>
|
|
e302: f8dd b01c ldr.w fp, [sp, #28]
|
|
e306: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c
|
|
e30a: e746 b.n e19a <lv_draw_rect+0x1e82>
|
|
|
|
lv_point_t s;
|
|
_lv_txt_get_size(&s, dsc->value_str, dsc->value_font, dsc->value_letter_space, dsc->value_line_space, LV_COORD_MAX,
|
|
e30c: f9ba 304c ldrsh.w r3, [sl, #76] ; 0x4c
|
|
e310: 2400 movs r4, #0
|
|
e312: 9402 str r4, [sp, #8]
|
|
e314: f647 4218 movw r2, #31768 ; 0x7c18
|
|
e318: 9201 str r2, [sp, #4]
|
|
e31a: f9ba 204e ldrsh.w r2, [sl, #78] ; 0x4e
|
|
e31e: 9200 str r2, [sp, #0]
|
|
e320: f8da 2040 ldr.w r2, [sl, #64] ; 0x40
|
|
e324: a81c add r0, sp, #112 ; 0x70
|
|
e326: 4d75 ldr r5, [pc, #468] ; (e4fc <lv_draw_rect+0x21e4>)
|
|
e328: 47a8 blx r5
|
|
LV_TXT_FLAG_NONE);
|
|
|
|
lv_area_t value_area;
|
|
value_area.x1 = 0;
|
|
e32a: f8ad 4088 strh.w r4, [sp, #136] ; 0x88
|
|
value_area.y1 = 0;
|
|
e32e: f8ad 408a strh.w r4, [sp, #138] ; 0x8a
|
|
value_area.x2 = s.x - 1;
|
|
e332: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70
|
|
e336: 3b01 subs r3, #1
|
|
e338: f8ad 308c strh.w r3, [sp, #140] ; 0x8c
|
|
value_area.y2 = s.y - 1;
|
|
e33c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e340: 3b01 subs r3, #1
|
|
e342: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
|
|
lv_point_t p_align;
|
|
_lv_area_align(coords, &value_area, dsc->value_align, &p_align);
|
|
e346: ab1e add r3, sp, #120 ; 0x78
|
|
e348: f89a 2050 ldrb.w r2, [sl, #80] ; 0x50
|
|
e34c: a922 add r1, sp, #136 ; 0x88
|
|
e34e: 9806 ldr r0, [sp, #24]
|
|
e350: 4d6b ldr r5, [pc, #428] ; (e500 <lv_draw_rect+0x21e8>)
|
|
e352: 47a8 blx r5
|
|
|
|
value_area.x1 += p_align.x + dsc->value_ofs_x;
|
|
e354: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78
|
|
e358: f8ba 3048 ldrh.w r3, [sl, #72] ; 0x48
|
|
e35c: 441a add r2, r3
|
|
e35e: b292 uxth r2, r2
|
|
e360: f8bd 3088 ldrh.w r3, [sp, #136] ; 0x88
|
|
e364: 4413 add r3, r2
|
|
e366: f8ad 3088 strh.w r3, [sp, #136] ; 0x88
|
|
value_area.y1 += p_align.y + dsc->value_ofs_y;
|
|
e36a: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a
|
|
e36e: f8ba 104a ldrh.w r1, [sl, #74] ; 0x4a
|
|
e372: 440b add r3, r1
|
|
e374: b29b uxth r3, r3
|
|
e376: f8bd 108a ldrh.w r1, [sp, #138] ; 0x8a
|
|
e37a: 4419 add r1, r3
|
|
e37c: f8ad 108a strh.w r1, [sp, #138] ; 0x8a
|
|
value_area.x2 += p_align.x + dsc->value_ofs_x;
|
|
e380: f8bd 108c ldrh.w r1, [sp, #140] ; 0x8c
|
|
e384: 440a add r2, r1
|
|
e386: f8ad 208c strh.w r2, [sp, #140] ; 0x8c
|
|
value_area.y2 += p_align.y + dsc->value_ofs_y;
|
|
e38a: f8bd 208e ldrh.w r2, [sp, #142] ; 0x8e
|
|
e38e: 4413 add r3, r2
|
|
e390: f8ad 308e strh.w r3, [sp, #142] ; 0x8e
|
|
|
|
lv_draw_label_dsc_t label_dsc;
|
|
lv_draw_label_dsc_init(&label_dsc);
|
|
e394: a829 add r0, sp, #164 ; 0xa4
|
|
e396: 4b5b ldr r3, [pc, #364] ; (e504 <lv_draw_rect+0x21ec>)
|
|
e398: 4798 blx r3
|
|
label_dsc.font = dsc->value_font;
|
|
e39a: f8da 3040 ldr.w r3, [sl, #64] ; 0x40
|
|
e39e: 932a str r3, [sp, #168] ; 0xa8
|
|
label_dsc.letter_space = dsc->value_letter_space;
|
|
e3a0: f8ba 304c ldrh.w r3, [sl, #76] ; 0x4c
|
|
e3a4: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0
|
|
label_dsc.line_space = dsc->value_line_space;
|
|
e3a8: f8ba 304e ldrh.w r3, [sl, #78] ; 0x4e
|
|
e3ac: f8ad 30ae strh.w r3, [sp, #174] ; 0xae
|
|
label_dsc.color = dsc->value_color;
|
|
e3b0: f8ba 3046 ldrh.w r3, [sl, #70] ; 0x46
|
|
e3b4: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4
|
|
label_dsc.opa = dsc->value_opa;
|
|
e3b8: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44
|
|
e3bc: f88d 30ac strb.w r3, [sp, #172] ; 0xac
|
|
|
|
lv_draw_label(&value_area, clip, &label_dsc, dsc->value_str, NULL);
|
|
e3c0: 9400 str r4, [sp, #0]
|
|
e3c2: f8da 303c ldr.w r3, [sl, #60] ; 0x3c
|
|
e3c6: aa29 add r2, sp, #164 ; 0xa4
|
|
e3c8: 9904 ldr r1, [sp, #16]
|
|
e3ca: a822 add r0, sp, #136 ; 0x88
|
|
e3cc: 4c4e ldr r4, [pc, #312] ; (e508 <lv_draw_rect+0x21f0>)
|
|
e3ce: 47a0 blx r4
|
|
e3d0: f7fe bf49 b.w d266 <lv_draw_rect+0xf4e>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
e3d4: 1c72 adds r2, r6, #1
|
|
e3d6: 9b06 ldr r3, [sp, #24]
|
|
e3d8: 1ad2 subs r2, r2, r3
|
|
int32_t inner_w = lv_area_get_width(&area_inner);
|
|
e3da: b212 sxth r2, r2
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
e3dc: 1c6b adds r3, r5, #1
|
|
e3de: 9907 ldr r1, [sp, #28]
|
|
e3e0: 1a5b subs r3, r3, r1
|
|
int32_t inner_h = lv_area_get_height(&area_inner);
|
|
e3e2: b21b sxth r3, r3
|
|
int32_t short_side = LV_MATH_MIN(inner_w, inner_h);
|
|
e3e4: 429a cmp r2, r3
|
|
e3e6: bfa8 it ge
|
|
e3e8: 461a movge r2, r3
|
|
if(rin > short_side >> 1) rin = short_side >> 1;
|
|
e3ea: 1052 asrs r2, r2, #1
|
|
e3ec: 9b08 ldr r3, [sp, #32]
|
|
e3ee: 429a cmp r2, r3
|
|
e3f0: bfa8 it ge
|
|
e3f2: 461a movge r2, r3
|
|
int32_t rout = rin + dsc->outline_width;
|
|
e3f4: 9b05 ldr r3, [sp, #20]
|
|
e3f6: 4413 add r3, r2
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
e3f8: 3701 adds r7, #1
|
|
e3fa: 990a ldr r1, [sp, #40] ; 0x28
|
|
e3fc: 1a79 subs r1, r7, r1
|
|
int32_t coords_out_w = lv_area_get_width(&area_outer);
|
|
e3fe: b208 sxth r0, r1
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
e400: 1c61 adds r1, r4, #1
|
|
e402: eba1 0108 sub.w r1, r1, r8
|
|
int32_t coords_out_h = lv_area_get_height(&area_outer);
|
|
e406: b209 sxth r1, r1
|
|
short_side = LV_MATH_MIN(coords_out_w, coords_out_h);
|
|
e408: 4281 cmp r1, r0
|
|
e40a: bfa8 it ge
|
|
e40c: 4601 movge r1, r0
|
|
if(rout > short_side >> 1) rout = short_side >> 1;
|
|
e40e: 1049 asrs r1, r1, #1
|
|
e410: 4299 cmp r1, r3
|
|
e412: bfa8 it ge
|
|
e414: 4619 movge r1, r3
|
|
e416: 460f mov r7, r1
|
|
e418: 9106 str r1, [sp, #24]
|
|
draw_area.x1 -= disp_area->x1;
|
|
e41a: f8b9 0010 ldrh.w r0, [r9, #16]
|
|
e41e: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
e422: 1a1b subs r3, r3, r0
|
|
e424: b299 uxth r1, r3
|
|
e426: f8ad 1068 strh.w r1, [sp, #104] ; 0x68
|
|
draw_area.y1 -= disp_area->y1;
|
|
e42a: f8b9 4012 ldrh.w r4, [r9, #18]
|
|
e42e: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a
|
|
e432: 1b1b subs r3, r3, r4
|
|
e434: f8ad 306a strh.w r3, [sp, #106] ; 0x6a
|
|
draw_area.x2 -= disp_area->x1;
|
|
e438: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c
|
|
e43c: 1a1b subs r3, r3, r0
|
|
e43e: b29b uxth r3, r3
|
|
e440: f8ad 306c strh.w r3, [sp, #108] ; 0x6c
|
|
draw_area.y2 -= disp_area->y1;
|
|
e444: f8bd 006e ldrh.w r0, [sp, #110] ; 0x6e
|
|
e448: 1b00 subs r0, r0, r4
|
|
e44a: f8ad 006e strh.w r0, [sp, #110] ; 0x6e
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
e44e: 3301 adds r3, #1
|
|
e450: 1a5b subs r3, r3, r1
|
|
e452: b21b sxth r3, r3
|
|
e454: 461e mov r6, r3
|
|
e456: 9307 str r3, [sp, #28]
|
|
lv_draw_mask_radius_init(&mask_rin_param, &area_inner, rin, true);
|
|
e458: 2301 movs r3, #1
|
|
e45a: a916 add r1, sp, #88 ; 0x58
|
|
e45c: a822 add r0, sp, #136 ; 0x88
|
|
e45e: 4d2b ldr r5, [pc, #172] ; (e50c <lv_draw_rect+0x21f4>)
|
|
e460: 47a8 blx r5
|
|
int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL);
|
|
e462: 2100 movs r1, #0
|
|
e464: a822 add r0, sp, #136 ; 0x88
|
|
e466: 4c2a ldr r4, [pc, #168] ; (e510 <lv_draw_rect+0x21f8>)
|
|
e468: 47a0 blx r4
|
|
e46a: 900c str r0, [sp, #48] ; 0x30
|
|
lv_draw_mask_radius_init(&mask_rout_param, &area_outer, rout, false);
|
|
e46c: 2300 movs r3, #0
|
|
e46e: b23a sxth r2, r7
|
|
e470: a918 add r1, sp, #96 ; 0x60
|
|
e472: a829 add r0, sp, #164 ; 0xa4
|
|
e474: 47a8 blx r5
|
|
int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL);
|
|
e476: 2100 movs r1, #0
|
|
e478: a829 add r0, sp, #164 ; 0xa4
|
|
e47a: 47a0 blx r4
|
|
e47c: 900d str r0, [sp, #52] ; 0x34
|
|
lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w);
|
|
e47e: 9608 str r6, [sp, #32]
|
|
e480: 4630 mov r0, r6
|
|
e482: 4b24 ldr r3, [pc, #144] ; (e514 <lv_draw_rect+0x21fc>)
|
|
e484: 4798 blx r3
|
|
e486: 900b str r0, [sp, #44] ; 0x2c
|
|
int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1);
|
|
e488: f9ba 3018 ldrsh.w r3, [sl, #24]
|
|
lv_color_t color = dsc->outline_color;
|
|
e48c: f8ba 2016 ldrh.w r2, [sl, #22]
|
|
e490: f8ad 2014 strh.w r2, [sp, #20]
|
|
lv_blend_mode_t blend_mode = dsc->outline_blend_mode;
|
|
e494: f89a 501d ldrb.w r5, [sl, #29]
|
|
if(simple_mode) {
|
|
e498: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
e49a: 2a00 cmp r2, #0
|
|
e49c: f040 81a6 bne.w e7ec <lv_draw_rect+0x24d4>
|
|
int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1);
|
|
e4a0: 3b01 subs r3, #1
|
|
e4a2: 42bb cmp r3, r7
|
|
e4a4: bfb8 it lt
|
|
e4a6: 463b movlt r3, r7
|
|
e4a8: 4619 mov r1, r3
|
|
e4aa: 930e str r3, [sp, #56] ; 0x38
|
|
int32_t upper_corner_end = area_outer.y1 - disp_area->y1 + corner_size;
|
|
e4ac: f9b9 3012 ldrsh.w r3, [r9, #18]
|
|
e4b0: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62
|
|
e4b4: 1ad2 subs r2, r2, r3
|
|
e4b6: 440a add r2, r1
|
|
e4b8: 4611 mov r1, r2
|
|
e4ba: 9209 str r2, [sp, #36] ; 0x24
|
|
fill_area.x1 = area_outer.x1;
|
|
e4bc: f8bd 2060 ldrh.w r2, [sp, #96] ; 0x60
|
|
e4c0: f8ad 2070 strh.w r2, [sp, #112] ; 0x70
|
|
fill_area.x2 = area_outer.x2;
|
|
e4c4: f8bd 2064 ldrh.w r2, [sp, #100] ; 0x64
|
|
e4c8: f8ad 2074 strh.w r2, [sp, #116] ; 0x74
|
|
fill_area.y1 = disp_area->y1 + draw_area.y1;
|
|
e4cc: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a
|
|
e4d0: 4413 add r3, r2
|
|
e4d2: b21b sxth r3, r3
|
|
e4d4: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2 = fill_area.y1;
|
|
e4d8: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = draw_area.y1; h <= upper_corner_end; h++) {
|
|
e4dc: 4616 mov r6, r2
|
|
e4de: 4291 cmp r1, r2
|
|
e4e0: f2c0 809d blt.w e61e <lv_draw_rect+0x2306>
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
e4e4: f8df 8030 ldr.w r8, [pc, #48] ; e518 <lv_draw_rect+0x2200>
|
|
e4e8: 462b mov r3, r5
|
|
e4ea: 465d mov r5, fp
|
|
e4ec: f8cd a028 str.w sl, [sp, #40] ; 0x28
|
|
e4f0: 4682 mov sl, r0
|
|
e4f2: 469b mov fp, r3
|
|
e4f4: e03f b.n e576 <lv_draw_rect+0x225e>
|
|
e4f6: bf00 nop
|
|
e4f8: 0000be05 .word 0x0000be05
|
|
e4fc: 00014065 .word 0x00014065
|
|
e500: 0001180d .word 0x0001180d
|
|
e504: 000099b5 .word 0x000099b5
|
|
e508: 00009a0d .word 0x00009a0d
|
|
e50c: 0000c015 .word 0x0000c015
|
|
e510: 0000bda9 .word 0x0000bda9
|
|
e514: 00012925 .word 0x00012925
|
|
e518: 00007739 .word 0x00007739
|
|
fill_area2.x1 = area_outer.x2 - rout + 1;
|
|
e51c: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64
|
|
e520: 1c5a adds r2, r3, #1
|
|
e522: 1b14 subs r4, r2, r4
|
|
e524: f8ad 4078 strh.w r4, [sp, #120] ; 0x78
|
|
fill_area2.x2 = area_outer.x2;
|
|
e528: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1);
|
|
e52c: 9a06 ldr r2, [sp, #24]
|
|
e52e: 1a9b subs r3, r3, r2
|
|
e530: 3301 adds r3, #1
|
|
e532: f9b9 2010 ldrsh.w r2, [r9, #16]
|
|
e536: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68
|
|
e53a: 440a add r2, r1
|
|
e53c: 1a9b subs r3, r3, r2
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode);
|
|
e53e: f8cd b008 str.w fp, [sp, #8]
|
|
e542: 9501 str r5, [sp, #4]
|
|
e544: 9700 str r7, [sp, #0]
|
|
e546: 2b00 cmp r3, #0
|
|
e548: bfac ite ge
|
|
e54a: 4453 addge r3, sl
|
|
e54c: f10a 0300 addlt.w r3, sl, #0
|
|
e550: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e554: a91e add r1, sp, #120 ; 0x78
|
|
e556: 9804 ldr r0, [sp, #16]
|
|
e558: 47c0 blx r8
|
|
fill_area.y1++;
|
|
e55a: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e55e: 3301 adds r3, #1
|
|
e560: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2++;
|
|
e564: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e568: 3301 adds r3, #1
|
|
e56a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = draw_area.y1; h <= upper_corner_end; h++) {
|
|
e56e: 3601 adds r6, #1
|
|
e570: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
e572: 42b3 cmp r3, r6
|
|
e574: db4e blt.n e614 <lv_draw_rect+0x22fc>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
e576: 9908 ldr r1, [sp, #32]
|
|
e578: 4650 mov r0, sl
|
|
e57a: 4bcc ldr r3, [pc, #816] ; (e8ac <lv_draw_rect+0x2594>)
|
|
e57c: 4798 blx r3
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
e57e: f8b9 2012 ldrh.w r2, [r9, #18]
|
|
e582: 4432 add r2, r6
|
|
e584: f8b9 1010 ldrh.w r1, [r9, #16]
|
|
e588: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
e58c: 4419 add r1, r3
|
|
e58e: 9b07 ldr r3, [sp, #28]
|
|
e590: b212 sxth r2, r2
|
|
e592: b209 sxth r1, r1
|
|
e594: 4650 mov r0, sl
|
|
e596: 4cc6 ldr r4, [pc, #792] ; (e8b0 <lv_draw_rect+0x2598>)
|
|
e598: 47a0 blx r4
|
|
e59a: 4607 mov r7, r0
|
|
fill_area2.y1 = fill_area.y1;
|
|
e59c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e5a0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area2.y2 = fill_area.y2;
|
|
e5a4: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e5a8: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
fill_area2.x1 = area_outer.x1;
|
|
e5ac: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60
|
|
e5b0: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = area_outer.x1 + rout - 1;
|
|
e5b4: f8bd 4018 ldrh.w r4, [sp, #24]
|
|
e5b8: 3b01 subs r3, #1
|
|
e5ba: 4423 add r3, r4
|
|
e5bc: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
e5c0: f8cd b008 str.w fp, [sp, #8]
|
|
e5c4: 9501 str r5, [sp, #4]
|
|
e5c6: 9000 str r0, [sp, #0]
|
|
e5c8: 4653 mov r3, sl
|
|
e5ca: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e5ce: a91e add r1, sp, #120 ; 0x78
|
|
e5d0: 9804 ldr r0, [sp, #16]
|
|
e5d2: 47c0 blx r8
|
|
if(fill_area2.y2 < area_outer.y1 + dsc->outline_width) {
|
|
e5d4: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e
|
|
e5d8: f9bd 3062 ldrsh.w r3, [sp, #98] ; 0x62
|
|
e5dc: 990a ldr r1, [sp, #40] ; 0x28
|
|
e5de: f9b1 1018 ldrsh.w r1, [r1, #24]
|
|
e5e2: 440b add r3, r1
|
|
e5e4: 429a cmp r2, r3
|
|
e5e6: da99 bge.n e51c <lv_draw_rect+0x2204>
|
|
fill_area2.x1 = area_outer.x1 + rout;
|
|
e5e8: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
e5ec: 4423 add r3, r4
|
|
e5ee: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = area_outer.x2 - rout;
|
|
e5f2: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64
|
|
e5f6: 1b1b subs r3, r3, r4
|
|
e5f8: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
_lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
e5fc: f8cd b008 str.w fp, [sp, #8]
|
|
e600: 9501 str r5, [sp, #4]
|
|
e602: 2301 movs r3, #1
|
|
e604: 9300 str r3, [sp, #0]
|
|
e606: 2300 movs r3, #0
|
|
e608: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e60c: a91e add r1, sp, #120 ; 0x78
|
|
e60e: 9804 ldr r0, [sp, #16]
|
|
e610: 47c0 blx r8
|
|
e612: e783 b.n e51c <lv_draw_rect+0x2204>
|
|
e614: 465b mov r3, fp
|
|
e616: 46ab mov fp, r5
|
|
e618: f8dd a028 ldr.w sl, [sp, #40] ; 0x28
|
|
e61c: 461d mov r5, r3
|
|
int32_t lower_corner_end = area_outer.y2 - disp_area->y1 - corner_size;
|
|
e61e: f9b9 3012 ldrsh.w r3, [r9, #18]
|
|
e622: f9bd 6066 ldrsh.w r6, [sp, #102] ; 0x66
|
|
e626: 1af6 subs r6, r6, r3
|
|
e628: 9a0e ldr r2, [sp, #56] ; 0x38
|
|
e62a: 1ab6 subs r6, r6, r2
|
|
if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1;
|
|
e62c: 9909 ldr r1, [sp, #36] ; 0x24
|
|
e62e: 460a mov r2, r1
|
|
e630: 42b1 cmp r1, r6
|
|
e632: bfa4 itt ge
|
|
e634: 3201 addge r2, #1
|
|
e636: 4616 movge r6, r2
|
|
fill_area.y1 = disp_area->y1 + lower_corner_end;
|
|
e638: 4433 add r3, r6
|
|
e63a: b21b sxth r3, r3
|
|
e63c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2 = fill_area.y1;
|
|
e640: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = lower_corner_end; h <= draw_area.y2; h++) {
|
|
e644: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e
|
|
e648: 429e cmp r6, r3
|
|
e64a: f300 808c bgt.w e766 <lv_draw_rect+0x244e>
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
e64e: f8df 8264 ldr.w r8, [pc, #612] ; e8b4 <lv_draw_rect+0x259c>
|
|
e652: 462b mov r3, r5
|
|
e654: 465d mov r5, fp
|
|
e656: f8cd a024 str.w sl, [sp, #36] ; 0x24
|
|
e65a: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c
|
|
e65e: 469b mov fp, r3
|
|
e660: e02d b.n e6be <lv_draw_rect+0x23a6>
|
|
fill_area2.x1 = area_outer.x2 - rout + 1;
|
|
e662: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64
|
|
e666: 1c5a adds r2, r3, #1
|
|
e668: 1b14 subs r4, r2, r4
|
|
e66a: f8ad 4078 strh.w r4, [sp, #120] ; 0x78
|
|
fill_area2.x2 = area_outer.x2;
|
|
e66e: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1);
|
|
e672: 9a06 ldr r2, [sp, #24]
|
|
e674: 1a9b subs r3, r3, r2
|
|
e676: 3301 adds r3, #1
|
|
e678: f9b9 2010 ldrsh.w r2, [r9, #16]
|
|
e67c: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68
|
|
e680: 440a add r2, r1
|
|
e682: 1a9b subs r3, r3, r2
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode);
|
|
e684: f8cd b008 str.w fp, [sp, #8]
|
|
e688: 9501 str r5, [sp, #4]
|
|
e68a: 9700 str r7, [sp, #0]
|
|
e68c: 2b00 cmp r3, #0
|
|
e68e: bfac ite ge
|
|
e690: 4453 addge r3, sl
|
|
e692: f10a 0300 addlt.w r3, sl, #0
|
|
e696: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e69a: a91e add r1, sp, #120 ; 0x78
|
|
e69c: 9804 ldr r0, [sp, #16]
|
|
e69e: 47c0 blx r8
|
|
fill_area.y1++;
|
|
e6a0: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e6a4: 3301 adds r3, #1
|
|
e6a6: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2++;
|
|
e6aa: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e6ae: 3301 adds r3, #1
|
|
e6b0: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = lower_corner_end; h <= draw_area.y2; h++) {
|
|
e6b4: 3601 adds r6, #1
|
|
e6b6: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e
|
|
e6ba: 429e cmp r6, r3
|
|
e6bc: dc4e bgt.n e75c <lv_draw_rect+0x2444>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
e6be: 9908 ldr r1, [sp, #32]
|
|
e6c0: 4650 mov r0, sl
|
|
e6c2: 4b7a ldr r3, [pc, #488] ; (e8ac <lv_draw_rect+0x2594>)
|
|
e6c4: 4798 blx r3
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
e6c6: f8b9 2012 ldrh.w r2, [r9, #18]
|
|
e6ca: 4432 add r2, r6
|
|
e6cc: f8b9 1010 ldrh.w r1, [r9, #16]
|
|
e6d0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
e6d4: 4419 add r1, r3
|
|
e6d6: 9b07 ldr r3, [sp, #28]
|
|
e6d8: b212 sxth r2, r2
|
|
e6da: b209 sxth r1, r1
|
|
e6dc: 4650 mov r0, sl
|
|
e6de: 4c74 ldr r4, [pc, #464] ; (e8b0 <lv_draw_rect+0x2598>)
|
|
e6e0: 47a0 blx r4
|
|
e6e2: 4607 mov r7, r0
|
|
fill_area2.x1 = area_outer.x1;
|
|
e6e4: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60
|
|
e6e8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = area_outer.x1 + rout - 1;
|
|
e6ec: f8bd 4018 ldrh.w r4, [sp, #24]
|
|
e6f0: 3b01 subs r3, #1
|
|
e6f2: 4423 add r3, r4
|
|
e6f4: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
fill_area2.y1 = fill_area.y1;
|
|
e6f8: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e6fc: f8ad 307a strh.w r3, [sp, #122] ; 0x7a
|
|
fill_area2.y2 = fill_area.y2;
|
|
e700: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e704: f8ad 307e strh.w r3, [sp, #126] ; 0x7e
|
|
_lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode);
|
|
e708: f8cd b008 str.w fp, [sp, #8]
|
|
e70c: 9501 str r5, [sp, #4]
|
|
e70e: 9000 str r0, [sp, #0]
|
|
e710: 4653 mov r3, sl
|
|
e712: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e716: a91e add r1, sp, #120 ; 0x78
|
|
e718: 9804 ldr r0, [sp, #16]
|
|
e71a: 47c0 blx r8
|
|
if(fill_area2.y2 > area_outer.y2 - dsc->outline_width) {
|
|
e71c: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e
|
|
e720: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66
|
|
e724: 9909 ldr r1, [sp, #36] ; 0x24
|
|
e726: f9b1 1018 ldrsh.w r1, [r1, #24]
|
|
e72a: 1a5b subs r3, r3, r1
|
|
e72c: 429a cmp r2, r3
|
|
e72e: dd98 ble.n e662 <lv_draw_rect+0x234a>
|
|
fill_area2.x1 = area_outer.x1 + rout;
|
|
e730: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
e734: 4423 add r3, r4
|
|
e736: f8ad 3078 strh.w r3, [sp, #120] ; 0x78
|
|
fill_area2.x2 = area_outer.x2 - rout;
|
|
e73a: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64
|
|
e73e: 1b1b subs r3, r3, r4
|
|
e740: f8ad 307c strh.w r3, [sp, #124] ; 0x7c
|
|
_lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
e744: f8cd b008 str.w fp, [sp, #8]
|
|
e748: 9501 str r5, [sp, #4]
|
|
e74a: 2301 movs r3, #1
|
|
e74c: 9300 str r3, [sp, #0]
|
|
e74e: 2300 movs r3, #0
|
|
e750: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e754: a91e add r1, sp, #120 ; 0x78
|
|
e756: 9804 ldr r0, [sp, #16]
|
|
e758: 47c0 blx r8
|
|
e75a: e782 b.n e662 <lv_draw_rect+0x234a>
|
|
e75c: 465b mov r3, fp
|
|
e75e: 46ab mov fp, r5
|
|
e760: f8dd a024 ldr.w sl, [sp, #36] ; 0x24
|
|
e764: 461d mov r5, r3
|
|
fill_area.y1 = area_outer.y1 + corner_size + 1;
|
|
e766: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38
|
|
e76a: f8bd 2062 ldrh.w r2, [sp, #98] ; 0x62
|
|
e76e: 3201 adds r2, #1
|
|
e770: 441a add r2, r3
|
|
e772: f8ad 2072 strh.w r2, [sp, #114] ; 0x72
|
|
fill_area.y2 = area_outer.y2 - corner_size - 1;
|
|
e776: f8bd 2066 ldrh.w r2, [sp, #102] ; 0x66
|
|
e77a: 3a01 subs r2, #1
|
|
e77c: 1ad3 subs r3, r2, r3
|
|
e77e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
fill_area.x1 = area_outer.x1;
|
|
e782: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60
|
|
e786: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
fill_area.x2 = area_outer.x1 + dsc->outline_width - 1;
|
|
e78a: 3b01 subs r3, #1
|
|
e78c: f8ba 2018 ldrh.w r2, [sl, #24]
|
|
e790: 4413 add r3, r2
|
|
e792: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
_lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
e796: 9502 str r5, [sp, #8]
|
|
e798: f8cd b004 str.w fp, [sp, #4]
|
|
e79c: 2601 movs r6, #1
|
|
e79e: 9600 str r6, [sp, #0]
|
|
e7a0: 2300 movs r3, #0
|
|
e7a2: f8bd 8014 ldrh.w r8, [sp, #20]
|
|
e7a6: 4642 mov r2, r8
|
|
e7a8: a91c add r1, sp, #112 ; 0x70
|
|
e7aa: 9f04 ldr r7, [sp, #16]
|
|
e7ac: 4638 mov r0, r7
|
|
e7ae: 4c41 ldr r4, [pc, #260] ; (e8b4 <lv_draw_rect+0x259c>)
|
|
e7b0: 47a0 blx r4
|
|
fill_area.x1 = area_outer.x2 - dsc->outline_width + 1;
|
|
e7b2: f9bd 2064 ldrsh.w r2, [sp, #100] ; 0x64
|
|
e7b6: 1993 adds r3, r2, r6
|
|
e7b8: f8ba 1018 ldrh.w r1, [sl, #24]
|
|
e7bc: 1a5b subs r3, r3, r1
|
|
e7be: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
fill_area.x2 = area_outer.x2;
|
|
e7c2: f8ad 2074 strh.w r2, [sp, #116] ; 0x74
|
|
_lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode);
|
|
e7c6: 9502 str r5, [sp, #8]
|
|
e7c8: f8cd b004 str.w fp, [sp, #4]
|
|
e7cc: 9600 str r6, [sp, #0]
|
|
e7ce: 2300 movs r3, #0
|
|
e7d0: 4642 mov r2, r8
|
|
e7d2: a91c add r1, sp, #112 ; 0x70
|
|
e7d4: 4638 mov r0, r7
|
|
e7d6: 47a0 blx r4
|
|
lv_draw_mask_remove_id(mask_rin_id);
|
|
e7d8: 980c ldr r0, [sp, #48] ; 0x30
|
|
e7da: 4c37 ldr r4, [pc, #220] ; (e8b8 <lv_draw_rect+0x25a0>)
|
|
e7dc: 47a0 blx r4
|
|
lv_draw_mask_remove_id(mask_rout_id);
|
|
e7de: 980d ldr r0, [sp, #52] ; 0x34
|
|
e7e0: 47a0 blx r4
|
|
_lv_mem_buf_release(mask_buf);
|
|
e7e2: 980b ldr r0, [sp, #44] ; 0x2c
|
|
e7e4: 4b35 ldr r3, [pc, #212] ; (e8bc <lv_draw_rect+0x25a4>)
|
|
e7e6: 4798 blx r3
|
|
e7e8: f7fe bdb0 b.w d34c <lv_draw_rect+0x1034>
|
|
fill_area.x1 = area_outer.x1;
|
|
e7ec: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60
|
|
e7f0: f8ad 3070 strh.w r3, [sp, #112] ; 0x70
|
|
fill_area.x2 = area_outer.x2;
|
|
e7f4: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64
|
|
e7f8: f8ad 3074 strh.w r3, [sp, #116] ; 0x74
|
|
fill_area.y1 = disp_area->y1 + draw_area.y1;
|
|
e7fc: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a
|
|
e800: f8b9 3012 ldrh.w r3, [r9, #18]
|
|
e804: 4413 add r3, r2
|
|
e806: b21b sxth r3, r3
|
|
e808: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2 = fill_area.y1;
|
|
e80c: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
e810: 4614 mov r4, r2
|
|
e812: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e
|
|
e816: 429a cmp r2, r3
|
|
e818: dcde bgt.n e7d8 <lv_draw_rect+0x24c0>
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
e81a: f8df 8090 ldr.w r8, [pc, #144] ; e8ac <lv_draw_rect+0x2594>
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
e81e: 4f24 ldr r7, [pc, #144] ; (e8b0 <lv_draw_rect+0x2598>)
|
|
_lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode);
|
|
e820: 4e24 ldr r6, [pc, #144] ; (e8b4 <lv_draw_rect+0x259c>)
|
|
e822: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c
|
|
e826: 462b mov r3, r5
|
|
e828: 465d mov r5, fp
|
|
e82a: 469b mov fp, r3
|
|
_lv_memset_ff(mask_buf, draw_area_w);
|
|
e82c: 9908 ldr r1, [sp, #32]
|
|
e82e: 4650 mov r0, sl
|
|
e830: 47c0 blx r8
|
|
mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w);
|
|
e832: f8b9 2012 ldrh.w r2, [r9, #18]
|
|
e836: 4422 add r2, r4
|
|
e838: f8b9 1010 ldrh.w r1, [r9, #16]
|
|
e83c: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68
|
|
e840: 4419 add r1, r3
|
|
e842: 9b07 ldr r3, [sp, #28]
|
|
e844: b212 sxth r2, r2
|
|
e846: b209 sxth r1, r1
|
|
e848: 4650 mov r0, sl
|
|
e84a: 47b8 blx r7
|
|
_lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode);
|
|
e84c: f8cd b008 str.w fp, [sp, #8]
|
|
e850: 9501 str r5, [sp, #4]
|
|
e852: 9000 str r0, [sp, #0]
|
|
e854: 4653 mov r3, sl
|
|
e856: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
e85a: a91c add r1, sp, #112 ; 0x70
|
|
e85c: 9804 ldr r0, [sp, #16]
|
|
e85e: 47b0 blx r6
|
|
fill_area.y1++;
|
|
e860: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72
|
|
e864: 3301 adds r3, #1
|
|
e866: f8ad 3072 strh.w r3, [sp, #114] ; 0x72
|
|
fill_area.y2++;
|
|
e86a: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76
|
|
e86e: 3301 adds r3, #1
|
|
e870: f8ad 3076 strh.w r3, [sp, #118] ; 0x76
|
|
for(h = draw_area.y1; h <= draw_area.y2; h++) {
|
|
e874: 3401 adds r4, #1
|
|
e876: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e
|
|
e87a: 429c cmp r4, r3
|
|
e87c: ddd6 ble.n e82c <lv_draw_rect+0x2514>
|
|
e87e: e7ab b.n e7d8 <lv_draw_rect+0x24c0>
|
|
_lv_mem_buf_release(mask_line);
|
|
e880: 980c ldr r0, [sp, #48] ; 0x30
|
|
e882: 4b0e ldr r3, [pc, #56] ; (e8bc <lv_draw_rect+0x25a4>)
|
|
e884: 4798 blx r3
|
|
for(i = 0; i < size * size; i++) {
|
|
e886: fb07 f707 mul.w r7, r7, r7
|
|
e88a: 2f00 cmp r7, #0
|
|
e88c: f43d aeec beq.w c668 <lv_draw_rect+0x350>
|
|
e890: 980a ldr r0, [sp, #40] ; 0x28
|
|
e892: 4602 mov r2, r0
|
|
e894: 1e41 subs r1, r0, #1
|
|
e896: eb00 0047 add.w r0, r0, r7, lsl #1
|
|
res_buf[i] = (sh_buf[i] >> SHADOW_UPSACALE_SHIFT);
|
|
e89a: f832 3b02 ldrh.w r3, [r2], #2
|
|
e89e: 099b lsrs r3, r3, #6
|
|
e8a0: f801 3f01 strb.w r3, [r1, #1]!
|
|
for(i = 0; i < size * size; i++) {
|
|
e8a4: 4290 cmp r0, r2
|
|
e8a6: d1f8 bne.n e89a <lv_draw_rect+0x2582>
|
|
e8a8: f7fd bede b.w c668 <lv_draw_rect+0x350>
|
|
e8ac: 00012bd5 .word 0x00012bd5
|
|
e8b0: 0000be05 .word 0x0000be05
|
|
e8b4: 00007739 .word 0x00007739
|
|
e8b8: 0000be55 .word 0x0000be55
|
|
e8bc: 00012559 .word 0x00012559
|
|
lv_opa_t * mask_line = _lv_mem_buf_get(size);
|
|
e8c0: 9707 str r7, [sp, #28]
|
|
e8c2: 4638 mov r0, r7
|
|
e8c4: 4b0b ldr r3, [pc, #44] ; (e8f4 <lv_draw_rect+0x25dc>)
|
|
e8c6: 4798 blx r3
|
|
e8c8: 900c str r0, [sp, #48] ; 0x30
|
|
for(y = 0; y < size; y++) {
|
|
e8ca: 2f00 cmp r7, #0
|
|
e8cc: ddd8 ble.n e880 <lv_draw_rect+0x2568>
|
|
e8ce: 2301 movs r3, #1
|
|
e8d0: 930b str r3, [sp, #44] ; 0x2c
|
|
e8d2: f7fd be27 b.w c524 <lv_draw_rect+0x20c>
|
|
lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false);
|
|
e8d6: 2300 movs r3, #0
|
|
e8d8: f9ba 2000 ldrsh.w r2, [sl]
|
|
e8dc: 9906 ldr r1, [sp, #24]
|
|
e8de: a829 add r0, sp, #164 ; 0xa4
|
|
e8e0: 4c05 ldr r4, [pc, #20] ; (e8f8 <lv_draw_rect+0x25e0>)
|
|
e8e2: 47a0 blx r4
|
|
radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL);
|
|
e8e4: 2100 movs r1, #0
|
|
e8e6: a829 add r0, sp, #164 ; 0xa4
|
|
e8e8: 4b04 ldr r3, [pc, #16] ; (e8fc <lv_draw_rect+0x25e4>)
|
|
e8ea: 4798 blx r3
|
|
e8ec: 4604 mov r4, r0
|
|
e8ee: f7ff b91e b.w db2e <lv_draw_rect+0x1816>
|
|
e8f2: bf00 nop
|
|
e8f4: 00012925 .word 0x00012925
|
|
e8f8: 0000c015 .word 0x0000c015
|
|
e8fc: 0000bda9 .word 0x0000bda9
|
|
|
|
0000e900 <lv_img_buf_get_px_color>:
|
|
* Not used in other cases.
|
|
* @param safe true: check out of bounds
|
|
* @return color of the point
|
|
*/
|
|
lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color)
|
|
{
|
|
e900: b5f0 push {r4, r5, r6, r7, lr}
|
|
e902: b083 sub sp, #12
|
|
lv_color_t p_color = LV_COLOR_BLACK;
|
|
e904: f89d 4004 ldrb.w r4, [sp, #4]
|
|
e908: f36f 0404 bfc r4, #0, #5
|
|
e90c: f88d 4004 strb.w r4, [sp, #4]
|
|
e910: f8bd 4004 ldrh.w r4, [sp, #4]
|
|
e914: f36f 144a bfc r4, #5, #6
|
|
e918: f8ad 4004 strh.w r4, [sp, #4]
|
|
e91c: 0a24 lsrs r4, r4, #8
|
|
e91e: f36f 04c7 bfc r4, #3, #5
|
|
e922: f88d 4005 strb.w r4, [sp, #5]
|
|
uint8_t * buf_u8 = (uint8_t *)dsc->data;
|
|
e926: 6886 ldr r6, [r0, #8]
|
|
|
|
if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED ||
|
|
e928: 7804 ldrb r4, [r0, #0]
|
|
e92a: f004 041f and.w r4, r4, #31
|
|
e92e: 1f25 subs r5, r4, #4
|
|
e930: b2ed uxtb r5, r5
|
|
e932: 2d02 cmp r5, #2
|
|
e934: d90e bls.n e954 <lv_img_buf_get_px_color+0x54>
|
|
_lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t));
|
|
#if LV_COLOR_SIZE == 32
|
|
p_color.ch.alpha = 0xFF; /*Only the color should be get so use a deafult alpha value*/
|
|
#endif
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT) {
|
|
e936: 2c07 cmp r4, #7
|
|
e938: d028 beq.n e98c <lv_img_buf_get_px_color+0x8c>
|
|
* dsc->header.w + 7 means rounding up to 8 because the lines are byte aligned
|
|
* so the possible real width are 8, 16, 24 ...*/
|
|
uint32_t px = ((dsc->header.w + 7) >> 3) * y + x;
|
|
p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit);
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_INDEXED_2BIT) {
|
|
e93a: 2c08 cmp r4, #8
|
|
e93c: d03b beq.n e9b6 <lv_img_buf_get_px_color+0xb6>
|
|
* dsc->header.w + 3 means rounding up to 4 because the lines are byte aligned
|
|
* so the possible real width are 4, 8, 12 ...*/
|
|
uint32_t px = ((dsc->header.w + 3) >> 2) * y + x;
|
|
p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit);
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_INDEXED_4BIT) {
|
|
e93e: 2c09 cmp r4, #9
|
|
e940: d050 beq.n e9e4 <lv_img_buf_get_px_color+0xe4>
|
|
* dsc->header.w + 1 means rounding up to 2 because the lines are byte aligned
|
|
* so the possible real width are 2, 4, 6 ...*/
|
|
uint32_t px = ((dsc->header.w + 1) >> 1) * y + x;
|
|
p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit);
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) {
|
|
e942: 2c0a cmp r4, #10
|
|
e944: d066 beq.n ea14 <lv_img_buf_get_px_color+0x114>
|
|
buf_u8 += 4 * 256;
|
|
uint32_t px = dsc->header.w * y + x;
|
|
p_color.full = buf_u8[px];
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT ||
|
|
dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) {
|
|
e946: 3c0b subs r4, #11
|
|
else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT ||
|
|
e948: b2e4 uxtb r4, r4
|
|
e94a: 2c03 cmp r4, #3
|
|
p_color = color;
|
|
e94c: bf98 it ls
|
|
e94e: f8ad 3004 strhls.w r3, [sp, #4]
|
|
e952: e017 b.n e984 <lv_img_buf_get_px_color+0x84>
|
|
e954: 4614 mov r4, r2
|
|
e956: 460f mov r7, r1
|
|
e958: 4605 mov r5, r0
|
|
uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf) >> 3;
|
|
e95a: 7800 ldrb r0, [r0, #0]
|
|
e95c: f000 001f and.w r0, r0, #31
|
|
e960: 4b32 ldr r3, [pc, #200] ; (ea2c <lv_img_buf_get_px_color+0x12c>)
|
|
e962: 4798 blx r3
|
|
uint32_t px = dsc->header.w * y * px_size + x * px_size;
|
|
e964: 682b ldr r3, [r5, #0]
|
|
e966: f3c3 238a ubfx r3, r3, #10, #11
|
|
e96a: fb04 7203 mla r2, r4, r3, r7
|
|
e96e: f3c0 00c7 ubfx r0, r0, #3, #8
|
|
e972: fb00 f202 mul.w r2, r0, r2
|
|
_lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t));
|
|
e976: 18b3 adds r3, r6, r2
|
|
*d8 = *s8;
|
|
e978: 5cb2 ldrb r2, [r6, r2]
|
|
e97a: f88d 2004 strb.w r2, [sp, #4]
|
|
e97e: 785b ldrb r3, [r3, #1]
|
|
e980: f88d 3005 strb.w r3, [sp, #5]
|
|
}
|
|
return p_color;
|
|
}
|
|
e984: f8bd 0004 ldrh.w r0, [sp, #4]
|
|
e988: b003 add sp, #12
|
|
e98a: bdf0 pop {r4, r5, r6, r7, pc}
|
|
p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit);
|
|
e98c: f001 0307 and.w r3, r1, #7
|
|
e990: f1c3 0407 rsb r4, r3, #7
|
|
uint32_t px = ((dsc->header.w + 7) >> 3) * y + x;
|
|
e994: 6803 ldr r3, [r0, #0]
|
|
e996: f3c3 238a ubfx r3, r3, #10, #11
|
|
e99a: 3307 adds r3, #7
|
|
e99c: 10db asrs r3, r3, #3
|
|
p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit);
|
|
e99e: fb02 6603 mla r6, r2, r3, r6
|
|
e9a2: eb06 01e1 add.w r1, r6, r1, asr #3
|
|
e9a6: 7a0b ldrb r3, [r1, #8]
|
|
e9a8: 2201 movs r2, #1
|
|
e9aa: 40a2 lsls r2, r4
|
|
e9ac: 4013 ands r3, r2
|
|
e9ae: 4123 asrs r3, r4
|
|
e9b0: f8ad 3004 strh.w r3, [sp, #4]
|
|
e9b4: e7e6 b.n e984 <lv_img_buf_get_px_color+0x84>
|
|
uint8_t bit = (x & 0x3) * 2;
|
|
e9b6: f001 0403 and.w r4, r1, #3
|
|
p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit);
|
|
e9ba: 0064 lsls r4, r4, #1
|
|
e9bc: f1c4 0406 rsb r4, r4, #6
|
|
uint32_t px = ((dsc->header.w + 3) >> 2) * y + x;
|
|
e9c0: 6803 ldr r3, [r0, #0]
|
|
e9c2: f3c3 238a ubfx r3, r3, #10, #11
|
|
e9c6: 3303 adds r3, #3
|
|
e9c8: 109b asrs r3, r3, #2
|
|
p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit);
|
|
e9ca: fb02 6603 mla r6, r2, r3, r6
|
|
e9ce: eb06 01a1 add.w r1, r6, r1, asr #2
|
|
e9d2: 7c0b ldrb r3, [r1, #16]
|
|
e9d4: 2203 movs r2, #3
|
|
e9d6: 40a2 lsls r2, r4
|
|
e9d8: 4013 ands r3, r2
|
|
e9da: fa43 f404 asr.w r4, r3, r4
|
|
e9de: f8ad 4004 strh.w r4, [sp, #4]
|
|
e9e2: e7cf b.n e984 <lv_img_buf_get_px_color+0x84>
|
|
uint8_t bit = (x & 0x1) * 4;
|
|
e9e4: f001 0401 and.w r4, r1, #1
|
|
p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit);
|
|
e9e8: 00a4 lsls r4, r4, #2
|
|
e9ea: f1c4 0404 rsb r4, r4, #4
|
|
uint32_t px = ((dsc->header.w + 1) >> 1) * y + x;
|
|
e9ee: 6803 ldr r3, [r0, #0]
|
|
e9f0: f3c3 238a ubfx r3, r3, #10, #11
|
|
e9f4: 3301 adds r3, #1
|
|
e9f6: 105b asrs r3, r3, #1
|
|
p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit);
|
|
e9f8: fb02 6603 mla r6, r2, r3, r6
|
|
e9fc: eb06 0161 add.w r1, r6, r1, asr #1
|
|
ea00: f891 3040 ldrb.w r3, [r1, #64] ; 0x40
|
|
ea04: 220f movs r2, #15
|
|
ea06: 40a2 lsls r2, r4
|
|
ea08: 4013 ands r3, r2
|
|
ea0a: fa43 f404 asr.w r4, r3, r4
|
|
ea0e: f8ad 4004 strh.w r4, [sp, #4]
|
|
ea12: e7b7 b.n e984 <lv_img_buf_get_px_color+0x84>
|
|
uint32_t px = dsc->header.w * y + x;
|
|
ea14: 6803 ldr r3, [r0, #0]
|
|
ea16: f3c3 238a ubfx r3, r3, #10, #11
|
|
p_color.full = buf_u8[px];
|
|
ea1a: 4431 add r1, r6
|
|
ea1c: fb02 1103 mla r1, r2, r3, r1
|
|
ea20: f891 3400 ldrb.w r3, [r1, #1024] ; 0x400
|
|
ea24: f8ad 3004 strh.w r3, [sp, #4]
|
|
ea28: e7ac b.n e984 <lv_img_buf_get_px_color+0x84>
|
|
ea2a: bf00 nop
|
|
ea2c: 00009669 .word 0x00009669
|
|
|
|
0000ea30 <lv_img_buf_get_px_alpha>:
|
|
* @param y x coordinate of the point to set
|
|
* @param safe true: check out of bounds
|
|
* @return alpha value of the point
|
|
*/
|
|
lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y)
|
|
{
|
|
ea30: b5f0 push {r4, r5, r6, r7, lr}
|
|
ea32: b085 sub sp, #20
|
|
ea34: 4604 mov r4, r0
|
|
ea36: 460d mov r5, r1
|
|
ea38: 4617 mov r7, r2
|
|
uint8_t * buf_u8 = (uint8_t *)dsc->data;
|
|
ea3a: 6886 ldr r6, [r0, #8]
|
|
|
|
if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA) {
|
|
ea3c: 7803 ldrb r3, [r0, #0]
|
|
ea3e: f003 031f and.w r3, r3, #31
|
|
ea42: 2b05 cmp r3, #5
|
|
ea44: d00a beq.n ea5c <lv_img_buf_get_px_alpha+0x2c>
|
|
uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE;
|
|
return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1];
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT) {
|
|
ea46: 2b0b cmp r3, #11
|
|
ea48: d012 beq.n ea70 <lv_img_buf_get_px_alpha+0x40>
|
|
* so the possible real width are 8 ,16, 24 ...*/
|
|
uint32_t px = ((dsc->header.w + 7) >> 3) * y + x;
|
|
uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit);
|
|
return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER;
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_ALPHA_2BIT) {
|
|
ea4a: 2b0c cmp r3, #12
|
|
ea4c: d027 beq.n ea9e <lv_img_buf_get_px_alpha+0x6e>
|
|
* so the possible real width are 4 ,8, 12 ...*/
|
|
uint32_t px = ((dsc->header.w + 3) >> 2) * y + x;
|
|
uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit);
|
|
return opa_table[px_opa];
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_ALPHA_4BIT) {
|
|
ea4e: 2b0d cmp r3, #13
|
|
ea50: d049 beq.n eae6 <lv_img_buf_get_px_alpha+0xb6>
|
|
* so the possible real width are 2 ,4, 6 ...*/
|
|
uint32_t px = ((dsc->header.w + 1) >> 1) * y + x;
|
|
uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit);
|
|
return opa_table[px_opa];
|
|
}
|
|
else if(dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) {
|
|
ea52: 2b0e cmp r3, #14
|
|
ea54: d064 beq.n eb20 <lv_img_buf_get_px_alpha+0xf0>
|
|
uint32_t px = dsc->header.w * y + x;
|
|
return buf_u8[px];
|
|
}
|
|
|
|
return LV_OPA_COVER;
|
|
ea56: 20ff movs r0, #255 ; 0xff
|
|
}
|
|
ea58: b005 add sp, #20
|
|
ea5a: bdf0 pop {r4, r5, r6, r7, pc}
|
|
uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE;
|
|
ea5c: 6802 ldr r2, [r0, #0]
|
|
ea5e: f3c2 228a ubfx r2, r2, #10, #11
|
|
ea62: fb07 1502 mla r5, r7, r2, r1
|
|
return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1];
|
|
ea66: eb05 0545 add.w r5, r5, r5, lsl #1
|
|
ea6a: 4435 add r5, r6
|
|
ea6c: 78a8 ldrb r0, [r5, #2]
|
|
ea6e: e7f3 b.n ea58 <lv_img_buf_get_px_alpha+0x28>
|
|
uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit);
|
|
ea70: f001 0307 and.w r3, r1, #7
|
|
ea74: f1c3 0107 rsb r1, r3, #7
|
|
uint32_t px = ((dsc->header.w + 7) >> 3) * y + x;
|
|
ea78: 6802 ldr r2, [r0, #0]
|
|
ea7a: f3c2 228a ubfx r2, r2, #10, #11
|
|
ea7e: 3207 adds r2, #7
|
|
ea80: 10d2 asrs r2, r2, #3
|
|
ea82: 10ed asrs r5, r5, #3
|
|
uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit);
|
|
ea84: fb07 6202 mla r2, r7, r2, r6
|
|
ea88: 5d53 ldrb r3, [r2, r5]
|
|
ea8a: 2201 movs r2, #1
|
|
ea8c: 408a lsls r2, r1
|
|
ea8e: 4013 ands r3, r2
|
|
ea90: 410b asrs r3, r1
|
|
return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER;
|
|
ea92: f013 0fff tst.w r3, #255 ; 0xff
|
|
ea96: bf0c ite eq
|
|
ea98: 20ff moveq r0, #255 ; 0xff
|
|
ea9a: 2000 movne r0, #0
|
|
ea9c: e7dc b.n ea58 <lv_img_buf_get_px_alpha+0x28>
|
|
const uint8_t opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/
|
|
ea9e: 2300 movs r3, #0
|
|
eaa0: f88d 3000 strb.w r3, [sp]
|
|
eaa4: 2355 movs r3, #85 ; 0x55
|
|
eaa6: f88d 3001 strb.w r3, [sp, #1]
|
|
eaaa: 23aa movs r3, #170 ; 0xaa
|
|
eaac: f88d 3002 strb.w r3, [sp, #2]
|
|
eab0: 23ff movs r3, #255 ; 0xff
|
|
eab2: f88d 3003 strb.w r3, [sp, #3]
|
|
uint8_t bit = (x & 0x3) * 2;
|
|
eab6: f001 0303 and.w r3, r1, #3
|
|
uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit);
|
|
eaba: 005b lsls r3, r3, #1
|
|
eabc: f1c3 0106 rsb r1, r3, #6
|
|
uint32_t px = ((dsc->header.w + 3) >> 2) * y + x;
|
|
eac0: 6802 ldr r2, [r0, #0]
|
|
eac2: f3c2 228a ubfx r2, r2, #10, #11
|
|
eac6: 3203 adds r2, #3
|
|
eac8: 1092 asrs r2, r2, #2
|
|
eaca: 10ad asrs r5, r5, #2
|
|
uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit);
|
|
eacc: fb07 6202 mla r2, r7, r2, r6
|
|
ead0: 5d53 ldrb r3, [r2, r5]
|
|
ead2: 2203 movs r2, #3
|
|
ead4: 408a lsls r2, r1
|
|
ead6: 4013 ands r3, r2
|
|
ead8: 410b asrs r3, r1
|
|
return opa_table[px_opa];
|
|
eada: aa04 add r2, sp, #16
|
|
eadc: fa52 f383 uxtab r3, r2, r3
|
|
eae0: f813 0c10 ldrb.w r0, [r3, #-16]
|
|
eae4: e7b8 b.n ea58 <lv_img_buf_get_px_alpha+0x28>
|
|
const uint8_t opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/
|
|
eae6: 4b12 ldr r3, [pc, #72] ; (eb30 <lv_img_buf_get_px_alpha+0x100>)
|
|
eae8: cb0f ldmia r3, {r0, r1, r2, r3}
|
|
eaea: f10d 0e10 add.w lr, sp, #16
|
|
eaee: e90e 000f stmdb lr, {r0, r1, r2, r3}
|
|
uint8_t bit = (x & 0x1) * 4;
|
|
eaf2: f005 0301 and.w r3, r5, #1
|
|
uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit);
|
|
eaf6: 009b lsls r3, r3, #2
|
|
eaf8: f1c3 0104 rsb r1, r3, #4
|
|
uint32_t px = ((dsc->header.w + 1) >> 1) * y + x;
|
|
eafc: 6822 ldr r2, [r4, #0]
|
|
eafe: f3c2 228a ubfx r2, r2, #10, #11
|
|
eb02: 3201 adds r2, #1
|
|
eb04: 1052 asrs r2, r2, #1
|
|
eb06: 106d asrs r5, r5, #1
|
|
uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit);
|
|
eb08: fb07 6202 mla r2, r7, r2, r6
|
|
eb0c: 5d53 ldrb r3, [r2, r5]
|
|
eb0e: 220f movs r2, #15
|
|
eb10: 408a lsls r2, r1
|
|
eb12: 4013 ands r3, r2
|
|
eb14: 410b asrs r3, r1
|
|
return opa_table[px_opa];
|
|
eb16: fa5e f383 uxtab r3, lr, r3
|
|
eb1a: f813 0c10 ldrb.w r0, [r3, #-16]
|
|
eb1e: e79b b.n ea58 <lv_img_buf_get_px_alpha+0x28>
|
|
uint32_t px = dsc->header.w * y + x;
|
|
eb20: 6802 ldr r2, [r0, #0]
|
|
eb22: f3c2 228a ubfx r2, r2, #10, #11
|
|
return buf_u8[px];
|
|
eb26: fb07 6202 mla r2, r7, r2, r6
|
|
eb2a: 5c50 ldrb r0, [r2, r1]
|
|
eb2c: e794 b.n ea58 <lv_img_buf_get_px_alpha+0x28>
|
|
eb2e: bf00 nop
|
|
eb30: 000250f4 .word 0x000250f4
|
|
|
|
0000eb34 <_lv_img_buf_transform_init>:
|
|
/**
|
|
* Initialize a descriptor to tranform an image
|
|
* @param dsc pointer to an `lv_img_transform_dsc_t` variable whose `cfg` field is initialized
|
|
*/
|
|
void _lv_img_buf_transform_init(lv_img_transform_dsc_t * dsc)
|
|
{
|
|
eb34: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
eb38: 4604 mov r4, r0
|
|
dsc->tmp.pivot_x_256 = dsc->cfg.pivot_x * 256;
|
|
eb3a: f9b0 3008 ldrsh.w r3, [r0, #8]
|
|
eb3e: 021b lsls r3, r3, #8
|
|
eb40: 6243 str r3, [r0, #36] ; 0x24
|
|
dsc->tmp.pivot_y_256 = dsc->cfg.pivot_y * 256;
|
|
eb42: f9b0 300a ldrsh.w r3, [r0, #10]
|
|
eb46: 021b lsls r3, r3, #8
|
|
eb48: 6283 str r3, [r0, #40] ; 0x28
|
|
|
|
int32_t angle_low = dsc->cfg.angle / 10;
|
|
eb4a: f9b0 000c ldrsh.w r0, [r0, #12]
|
|
eb4e: f8df 80f4 ldr.w r8, [pc, #244] ; ec44 <_lv_img_buf_transform_init+0x110>
|
|
eb52: fb88 2300 smull r2, r3, r8, r0
|
|
eb56: 17c5 asrs r5, r0, #31
|
|
eb58: ebc5 05a3 rsb r5, r5, r3, asr #2
|
|
eb5c: b22d sxth r5, r5
|
|
int32_t angle_hight = angle_low + 1;
|
|
int32_t angle_rem = dsc->cfg.angle - (angle_low * 10);
|
|
eb5e: f06f 0709 mvn.w r7, #9
|
|
eb62: fb07 0705 mla r7, r7, r5, r0
|
|
|
|
int32_t s1 = _lv_trigo_sin(-angle_low);
|
|
eb66: fa1f fa85 uxth.w sl, r5
|
|
eb6a: f1ca 0000 rsb r0, sl, #0
|
|
eb6e: b200 sxth r0, r0
|
|
eb70: f8df 90d4 ldr.w r9, [pc, #212] ; ec48 <_lv_img_buf_transform_init+0x114>
|
|
eb74: 47c8 blx r9
|
|
eb76: 4606 mov r6, r0
|
|
int32_t angle_hight = angle_low + 1;
|
|
eb78: 3501 adds r5, #1
|
|
int32_t s2 = _lv_trigo_sin(-angle_hight);
|
|
eb7a: b2ad uxth r5, r5
|
|
eb7c: 4268 negs r0, r5
|
|
eb7e: b200 sxth r0, r0
|
|
eb80: 47c8 blx r9
|
|
eb82: 4683 mov fp, r0
|
|
|
|
int32_t c1 = _lv_trigo_sin(-angle_low + 90);
|
|
eb84: f1ca 005a rsb r0, sl, #90 ; 0x5a
|
|
eb88: b200 sxth r0, r0
|
|
eb8a: 47c8 blx r9
|
|
eb8c: 4682 mov sl, r0
|
|
int32_t c2 = _lv_trigo_sin(-angle_hight + 90);
|
|
eb8e: f1c5 055a rsb r5, r5, #90 ; 0x5a
|
|
eb92: b228 sxth r0, r5
|
|
eb94: 47c8 blx r9
|
|
|
|
dsc->tmp.sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10;
|
|
eb96: f1c7 030a rsb r3, r7, #10
|
|
eb9a: fb07 fb0b mul.w fp, r7, fp
|
|
eb9e: fb03 b606 mla r6, r3, r6, fp
|
|
eba2: fb88 2b06 smull r2, fp, r8, r6
|
|
eba6: 17f6 asrs r6, r6, #31
|
|
eba8: ebc6 06ab rsb r6, r6, fp, asr #2
|
|
ebac: 62e6 str r6, [r4, #44] ; 0x2c
|
|
dsc->tmp.cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10;
|
|
ebae: fb07 f000 mul.w r0, r7, r0
|
|
ebb2: fb03 000a mla r0, r3, sl, r0
|
|
ebb6: fb88 3800 smull r3, r8, r8, r0
|
|
ebba: 17c0 asrs r0, r0, #31
|
|
ebbc: ebc0 00a8 rsb r0, r0, r8, asr #2
|
|
ebc0: 6320 str r0, [r4, #48] ; 0x30
|
|
|
|
dsc->tmp.chroma_keyed = lv_img_cf_is_chroma_keyed(dsc->cfg.cf) ? 1 : 0;
|
|
ebc2: 7ca0 ldrb r0, [r4, #18]
|
|
ebc4: 4b1d ldr r3, [pc, #116] ; (ec3c <_lv_img_buf_transform_init+0x108>)
|
|
ebc6: 4798 blx r3
|
|
ebc8: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
ebcc: f360 0300 bfi r3, r0, #0, #1
|
|
ebd0: f884 3034 strb.w r3, [r4, #52] ; 0x34
|
|
dsc->tmp.has_alpha = lv_img_cf_has_alpha(dsc->cfg.cf) ? 1 : 0;
|
|
ebd4: 7ca0 ldrb r0, [r4, #18]
|
|
ebd6: 4b1a ldr r3, [pc, #104] ; (ec40 <_lv_img_buf_transform_init+0x10c>)
|
|
ebd8: 4798 blx r3
|
|
ebda: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
ebde: f360 0341 bfi r3, r0, #1, #1
|
|
ebe2: f884 3034 strb.w r3, [r4, #52] ; 0x34
|
|
if(dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR || dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_ALPHA ||
|
|
ebe6: 7ca2 ldrb r2, [r4, #18]
|
|
ebe8: 1f13 subs r3, r2, #4
|
|
ebea: b2db uxtb r3, r3
|
|
ebec: 2b02 cmp r3, #2
|
|
dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) {
|
|
dsc->tmp.native_color = 1;
|
|
ebee: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
ebf2: bf94 ite ls
|
|
ebf4: f043 0304 orrls.w r3, r3, #4
|
|
}
|
|
else {
|
|
dsc->tmp.native_color = 0;
|
|
ebf8: f36f 0382 bfchi r3, #2, #1
|
|
ebfc: f884 3034 strb.w r3, [r4, #52] ; 0x34
|
|
}
|
|
|
|
dsc->tmp.img_dsc.data = dsc->cfg.src;
|
|
ec00: 6823 ldr r3, [r4, #0]
|
|
ec02: 6223 str r3, [r4, #32]
|
|
dsc->tmp.img_dsc.header.always_zero = 0;
|
|
ec04: 7e23 ldrb r3, [r4, #24]
|
|
dsc->tmp.img_dsc.header.cf = dsc->cfg.cf;
|
|
ec06: f003 031f and.w r3, r3, #31
|
|
ec0a: f362 0304 bfi r3, r2, #0, #5
|
|
ec0e: 7623 strb r3, [r4, #24]
|
|
dsc->tmp.img_dsc.header.w = dsc->cfg.src_w;
|
|
ec10: 69a3 ldr r3, [r4, #24]
|
|
ec12: 88a2 ldrh r2, [r4, #4]
|
|
ec14: f362 2394 bfi r3, r2, #10, #11
|
|
ec18: 61a3 str r3, [r4, #24]
|
|
dsc->tmp.img_dsc.header.h = dsc->cfg.src_h;
|
|
ec1a: 0c1b lsrs r3, r3, #16
|
|
ec1c: 88e2 ldrh r2, [r4, #6]
|
|
ec1e: f362 134f bfi r3, r2, #5, #11
|
|
ec22: 8363 strh r3, [r4, #26]
|
|
|
|
dsc->tmp.zoom_inv = (256 * 256) / dsc->cfg.zoom;
|
|
ec24: 89e2 ldrh r2, [r4, #14]
|
|
ec26: f44f 3380 mov.w r3, #65536 ; 0x10000
|
|
ec2a: fb93 f3f2 sdiv r3, r3, r2
|
|
ec2e: 86e3 strh r3, [r4, #54] ; 0x36
|
|
|
|
dsc->res.opa = LV_OPA_COVER;
|
|
ec30: 23ff movs r3, #255 ; 0xff
|
|
ec32: 75a3 strb r3, [r4, #22]
|
|
dsc->res.color = dsc->cfg.color;
|
|
ec34: 8a23 ldrh r3, [r4, #16]
|
|
ec36: 82a3 strh r3, [r4, #20]
|
|
ec38: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
ec3c: 0000969b .word 0x0000969b
|
|
ec40: 000096af .word 0x000096af
|
|
ec44: 66666667 .word 0x66666667
|
|
ec48: 0001228d .word 0x0001228d
|
|
|
|
0000ec4c <_lv_img_buf_get_transformed_area>:
|
|
* @param zoom zoom, (256 no zoom)
|
|
* @param pivot x,y pivot coordinates of rotation
|
|
*/
|
|
void _lv_img_buf_get_transformed_area(lv_area_t * res, lv_coord_t w, lv_coord_t h, int16_t angle, uint16_t zoom,
|
|
lv_point_t * pivot)
|
|
{
|
|
ec4c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
ec50: b087 sub sp, #28
|
|
ec52: 9003 str r0, [sp, #12]
|
|
ec54: 9104 str r1, [sp, #16]
|
|
ec56: 9205 str r2, [sp, #20]
|
|
ec58: f8bd 4040 ldrh.w r4, [sp, #64] ; 0x40
|
|
ec5c: 9401 str r4, [sp, #4]
|
|
ec5e: f8dd b044 ldr.w fp, [sp, #68] ; 0x44
|
|
#if LV_USE_IMG_TRANSFORM
|
|
int32_t angle_low = angle / 10;
|
|
ec62: 4f5e ldr r7, [pc, #376] ; (eddc <_lv_img_buf_get_transformed_area+0x190>)
|
|
ec64: fb87 6003 smull r6, r0, r7, r3
|
|
ec68: 17dd asrs r5, r3, #31
|
|
ec6a: ebc5 05a0 rsb r5, r5, r0, asr #2
|
|
ec6e: b22d sxth r5, r5
|
|
int32_t angle_hight = angle_low + 1;
|
|
ec70: f105 0901 add.w r9, r5, #1
|
|
int32_t angle_rem = angle - (angle_low * 10);
|
|
ec74: f06f 0609 mvn.w r6, #9
|
|
ec78: fb06 3605 mla r6, r6, r5, r3
|
|
|
|
int32_t s1 = _lv_trigo_sin(angle_low);
|
|
ec7c: 4628 mov r0, r5
|
|
ec7e: f8df 8160 ldr.w r8, [pc, #352] ; ede0 <_lv_img_buf_get_transformed_area+0x194>
|
|
ec82: 47c0 blx r8
|
|
ec84: 4604 mov r4, r0
|
|
int32_t s2 = _lv_trigo_sin(angle_hight);
|
|
ec86: fa0f f089 sxth.w r0, r9
|
|
ec8a: 47c0 blx r8
|
|
ec8c: 4682 mov sl, r0
|
|
|
|
int32_t c1 = _lv_trigo_sin(angle_low + 90);
|
|
ec8e: f105 005a add.w r0, r5, #90 ; 0x5a
|
|
ec92: b200 sxth r0, r0
|
|
ec94: 47c0 blx r8
|
|
ec96: 4605 mov r5, r0
|
|
int32_t c2 = _lv_trigo_sin(angle_hight + 90);
|
|
ec98: f109 005a add.w r0, r9, #90 ; 0x5a
|
|
ec9c: b200 sxth r0, r0
|
|
ec9e: 47c0 blx r8
|
|
|
|
int32_t sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10;
|
|
eca0: f1c6 030a rsb r3, r6, #10
|
|
eca4: fb06 fa0a mul.w sl, r6, sl
|
|
eca8: fb03 a404 mla r4, r3, r4, sl
|
|
ecac: fb87 ea04 smull lr, sl, r7, r4
|
|
ecb0: 17e4 asrs r4, r4, #31
|
|
ecb2: ebc4 04aa rsb r4, r4, sl, asr #2
|
|
int32_t cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10;
|
|
ecb6: fb06 f000 mul.w r0, r6, r0
|
|
ecba: fb03 0505 mla r5, r3, r5, r0
|
|
ecbe: fb87 3705 smull r3, r7, r7, r5
|
|
ecc2: 17ed asrs r5, r5, #31
|
|
ecc4: ebc5 07a7 rsb r7, r5, r7, asr #2
|
|
|
|
lv_coord_t xt;
|
|
lv_coord_t yt;
|
|
|
|
lv_area_t a;
|
|
a.x1 = ((-pivot->x) * zoom) >> 8;
|
|
ecc8: f9bb c000 ldrsh.w ip, [fp]
|
|
a.y1 = ((-pivot->y) * zoom) >> 8;
|
|
eccc: f9bb 8002 ldrsh.w r8, [fp, #2]
|
|
a.x1 = ((-pivot->x) * zoom) >> 8;
|
|
ecd0: f1cc 0300 rsb r3, ip, #0
|
|
ecd4: 9d01 ldr r5, [sp, #4]
|
|
ecd6: fb05 f303 mul.w r3, r5, r3
|
|
a.x2 = ((w - pivot->x) * zoom) >> 8;
|
|
a.y2 = ((h - pivot->y) * zoom) >> 8;
|
|
|
|
xt = a.x1;
|
|
yt = a.y1;
|
|
lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x;
|
|
ecda: f343 230f sbfx r3, r3, #8, #16
|
|
ecde: fb03 fa07 mul.w sl, r3, r7
|
|
a.y1 = ((-pivot->y) * zoom) >> 8;
|
|
ece2: f1c8 0200 rsb r2, r8, #0
|
|
ece6: fb05 f202 mul.w r2, r5, r2
|
|
lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x;
|
|
ecea: f342 220f sbfx r2, r2, #8, #16
|
|
ecee: fb02 fe04 mul.w lr, r2, r4
|
|
ecf2: fa1f f68c uxth.w r6, ip
|
|
ecf6: ebaa 0b0e sub.w fp, sl, lr
|
|
ecfa: eb06 3beb add.w fp, r6, fp, asr #15
|
|
ecfe: fa0f fb8b sxth.w fp, fp
|
|
lt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y;
|
|
ed02: fb03 f304 mul.w r3, r3, r4
|
|
ed06: fb02 f207 mul.w r2, r2, r7
|
|
ed0a: fa1f f088 uxth.w r0, r8
|
|
ed0e: 1899 adds r1, r3, r2
|
|
ed10: eb00 31e1 add.w r1, r0, r1, asr #15
|
|
ed14: b209 sxth r1, r1
|
|
ed16: 9102 str r1, [sp, #8]
|
|
a.x2 = ((w - pivot->x) * zoom) >> 8;
|
|
ed18: 9904 ldr r1, [sp, #16]
|
|
ed1a: eba1 0c0c sub.w ip, r1, ip
|
|
ed1e: fb05 fc0c mul.w ip, r5, ip
|
|
|
|
xt = a.x2;
|
|
yt = a.y1;
|
|
rt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x;
|
|
ed22: f34c 2c0f sbfx ip, ip, #8, #16
|
|
ed26: fb0c f907 mul.w r9, ip, r7
|
|
ed2a: eba9 0e0e sub.w lr, r9, lr
|
|
ed2e: eb06 3eee add.w lr, r6, lr, asr #15
|
|
ed32: fa0f fe8e sxth.w lr, lr
|
|
rt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y;
|
|
ed36: fb0c fc04 mul.w ip, ip, r4
|
|
ed3a: 4462 add r2, ip
|
|
ed3c: eb00 32e2 add.w r2, r0, r2, asr #15
|
|
ed40: b212 sxth r2, r2
|
|
a.y2 = ((h - pivot->y) * zoom) >> 8;
|
|
ed42: 9905 ldr r1, [sp, #20]
|
|
ed44: eba1 0808 sub.w r8, r1, r8
|
|
ed48: fb05 f808 mul.w r8, r5, r8
|
|
|
|
xt = a.x1;
|
|
yt = a.y2;
|
|
lb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x;
|
|
ed4c: f348 280f sbfx r8, r8, #8, #16
|
|
ed50: fb08 f404 mul.w r4, r8, r4
|
|
ed54: ebaa 0504 sub.w r5, sl, r4
|
|
ed58: eb06 35e5 add.w r5, r6, r5, asr #15
|
|
ed5c: b22d sxth r5, r5
|
|
lb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y;
|
|
ed5e: fb08 f707 mul.w r7, r8, r7
|
|
ed62: 443b add r3, r7
|
|
ed64: eb00 33e3 add.w r3, r0, r3, asr #15
|
|
ed68: b21b sxth r3, r3
|
|
|
|
xt = a.x2;
|
|
yt = a.y2;
|
|
rb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x;
|
|
ed6a: eba9 0404 sub.w r4, r9, r4
|
|
ed6e: eb06 36e4 add.w r6, r6, r4, asr #15
|
|
ed72: b236 sxth r6, r6
|
|
rb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y;
|
|
ed74: 44bc add ip, r7
|
|
ed76: eb00 30ec add.w r0, r0, ip, asr #15
|
|
ed7a: b200 sxth r0, r0
|
|
|
|
res->x1 = LV_MATH_MIN4(lb.x, lt.x, rb.x, rt.x);
|
|
ed7c: 465c mov r4, fp
|
|
ed7e: 45f3 cmp fp, lr
|
|
ed80: bfa8 it ge
|
|
ed82: 4674 movge r4, lr
|
|
ed84: 42ac cmp r4, r5
|
|
ed86: bfa8 it ge
|
|
ed88: 462c movge r4, r5
|
|
ed8a: 42b4 cmp r4, r6
|
|
ed8c: bfa8 it ge
|
|
ed8e: 4634 movge r4, r6
|
|
ed90: 9903 ldr r1, [sp, #12]
|
|
ed92: 460f mov r7, r1
|
|
ed94: 800c strh r4, [r1, #0]
|
|
res->x2 = LV_MATH_MAX4(lb.x, lt.x, rb.x, rt.x);
|
|
ed96: 45de cmp lr, fp
|
|
ed98: bfb8 it lt
|
|
ed9a: 46de movlt lr, fp
|
|
ed9c: 4575 cmp r5, lr
|
|
ed9e: bfb8 it lt
|
|
eda0: 4675 movlt r5, lr
|
|
eda2: 42ae cmp r6, r5
|
|
eda4: bfb8 it lt
|
|
eda6: 462e movlt r6, r5
|
|
eda8: 808e strh r6, [r1, #4]
|
|
res->y1 = LV_MATH_MIN4(lb.y, lt.y, rb.y, rt.y);
|
|
edaa: 9902 ldr r1, [sp, #8]
|
|
edac: 460c mov r4, r1
|
|
edae: 4291 cmp r1, r2
|
|
edb0: bfa8 it ge
|
|
edb2: 4614 movge r4, r2
|
|
edb4: 429c cmp r4, r3
|
|
edb6: bfa8 it ge
|
|
edb8: 461c movge r4, r3
|
|
edba: 4284 cmp r4, r0
|
|
edbc: bfa8 it ge
|
|
edbe: 4604 movge r4, r0
|
|
edc0: 807c strh r4, [r7, #2]
|
|
res->y2 = LV_MATH_MAX4(lb.y, lt.y, rb.y, rt.y);
|
|
edc2: 4291 cmp r1, r2
|
|
edc4: bfb8 it lt
|
|
edc6: 4611 movlt r1, r2
|
|
edc8: 428b cmp r3, r1
|
|
edca: bfb8 it lt
|
|
edcc: 460b movlt r3, r1
|
|
edce: 4298 cmp r0, r3
|
|
edd0: bfb8 it lt
|
|
edd2: 4618 movlt r0, r3
|
|
edd4: 80f8 strh r0, [r7, #6]
|
|
res->x1 = 0;
|
|
res->y1 = 0;
|
|
res->x2 = w;
|
|
res->y2 = h;
|
|
#endif
|
|
}
|
|
edd6: b007 add sp, #28
|
|
edd8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
eddc: 66666667 .word 0x66666667
|
|
ede0: 0001228d .word 0x0001228d
|
|
|
|
0000ede4 <_lv_img_buf_transform_anti_alias>:
|
|
/**
|
|
* Continue transformation by taking the neighbors into account
|
|
* @param dsc pointer to the transformation descriptor
|
|
*/
|
|
bool _lv_img_buf_transform_anti_alias(lv_img_transform_dsc_t * dsc)
|
|
{
|
|
ede4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
ede8: b089 sub sp, #36 ; 0x24
|
|
edea: 4604 mov r4, r0
|
|
const uint8_t * src_u8 = dsc->cfg.src;
|
|
|
|
/*Get the fractional part of the source pixel*/
|
|
int xs_fract = dsc->tmp.xs & 0xff;
|
|
edec: f9b0 5038 ldrsh.w r5, [r0, #56] ; 0x38
|
|
edf0: b2ea uxtb r2, r5
|
|
int ys_fract = dsc->tmp.ys & 0xff;
|
|
edf2: f9b0 603a ldrsh.w r6, [r0, #58] ; 0x3a
|
|
edf6: b2f3 uxtb r3, r6
|
|
int32_t xn; /*x neightboor*/
|
|
lv_opa_t xr; /*x mix ratio*/
|
|
|
|
if(xs_fract < 0x70) {
|
|
edf8: 2a6f cmp r2, #111 ; 0x6f
|
|
edfa: dc74 bgt.n eee6 <_lv_img_buf_transform_anti_alias+0x102>
|
|
xn = - 1;
|
|
if(dsc->tmp.xs_int + xn < 0) xn = 0;
|
|
edfc: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c
|
|
ee00: 4249 negs r1, r1
|
|
ee02: 17c9 asrs r1, r1, #31
|
|
xr = xs_fract + 0x80;
|
|
ee04: 3d80 subs r5, #128 ; 0x80
|
|
ee06: b2ed uxtb r5, r5
|
|
}
|
|
|
|
int32_t yn; /*x neightboor*/
|
|
lv_opa_t yr; /*x mix ratio*/
|
|
|
|
if(ys_fract < 0x70) {
|
|
ee08: 2b6f cmp r3, #111 ; 0x6f
|
|
ee0a: dc7e bgt.n ef0a <_lv_img_buf_transform_anti_alias+0x126>
|
|
yn = - 1;
|
|
if(dsc->tmp.ys_int + yn < 0) yn = 0;
|
|
ee0c: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e
|
|
ee10: f1cb 0b00 rsb fp, fp, #0
|
|
ee14: ea4f 7beb mov.w fp, fp, asr #31
|
|
|
|
yr = ys_fract + 0x80;
|
|
ee18: 3e80 subs r6, #128 ; 0x80
|
|
ee1a: b2f6 uxtb r6, r6
|
|
else {
|
|
yn = 0;
|
|
yr = 0xFF;
|
|
}
|
|
|
|
lv_color_t c00 = dsc->res.color;
|
|
ee1c: f894 9014 ldrb.w r9, [r4, #20]
|
|
ee20: f009 091f and.w r9, r9, #31
|
|
ee24: f8b4 8014 ldrh.w r8, [r4, #20]
|
|
ee28: f3c8 1845 ubfx r8, r8, #5, #6
|
|
ee2c: 7d67 ldrb r7, [r4, #21]
|
|
ee2e: 08ff lsrs r7, r7, #3
|
|
lv_color_t c01;
|
|
lv_color_t c10;
|
|
lv_color_t c11;
|
|
|
|
lv_opa_t a00 = dsc->res.opa;
|
|
ee30: 7da3 ldrb r3, [r4, #22]
|
|
ee32: 9300 str r3, [sp, #0]
|
|
lv_opa_t a10 = 0;
|
|
lv_opa_t a01 = 0;
|
|
lv_opa_t a11 = 0;
|
|
|
|
if(dsc->tmp.native_color) {
|
|
ee34: f894 c034 ldrb.w ip, [r4, #52] ; 0x34
|
|
ee38: f01c 0f04 tst.w ip, #4
|
|
ee3c: d07b beq.n ef36 <_lv_img_buf_transform_anti_alias+0x152>
|
|
const uint8_t * src_u8 = dsc->cfg.src;
|
|
ee3e: 6823 ldr r3, [r4, #0]
|
|
_lv_memcpy_small(&c01, &src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn], sizeof(lv_color_t));
|
|
ee40: 6c20 ldr r0, [r4, #64] ; 0x40
|
|
ee42: f894 e044 ldrb.w lr, [r4, #68] ; 0x44
|
|
ee46: fb0e 0101 mla r1, lr, r1, r0
|
|
ee4a: 185a adds r2, r3, r1
|
|
ee4c: f813 a001 ldrb.w sl, [r3, r1]
|
|
ee50: f88d a01c strb.w sl, [sp, #28]
|
|
ee54: 7852 ldrb r2, [r2, #1]
|
|
ee56: f88d 201d strb.w r2, [sp, #29]
|
|
_lv_memcpy_small(&c10, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn], sizeof(lv_color_t));
|
|
ee5a: f9b4 2004 ldrsh.w r2, [r4, #4]
|
|
ee5e: fb0e f202 mul.w r2, lr, r2
|
|
ee62: fb0b fb02 mul.w fp, fp, r2
|
|
ee66: 4458 add r0, fp
|
|
ee68: 181a adds r2, r3, r0
|
|
ee6a: f813 a000 ldrb.w sl, [r3, r0]
|
|
ee6e: f88d a018 strb.w sl, [sp, #24]
|
|
ee72: 7852 ldrb r2, [r2, #1]
|
|
ee74: f88d 2019 strb.w r2, [sp, #25]
|
|
_lv_memcpy_small(&c11, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn],
|
|
ee78: eb01 020b add.w r2, r1, fp
|
|
ee7c: eb03 0a02 add.w sl, r3, r2
|
|
ee80: f813 b002 ldrb.w fp, [r3, r2]
|
|
ee84: f88d b014 strb.w fp, [sp, #20]
|
|
ee88: f89a a001 ldrb.w sl, [sl, #1]
|
|
ee8c: f88d a015 strb.w sl, [sp, #21]
|
|
sizeof(lv_color_t));
|
|
if(dsc->tmp.has_alpha) {
|
|
ee90: f01c 0f02 tst.w ip, #2
|
|
ee94: f000 8081 beq.w ef9a <_lv_img_buf_transform_anti_alias+0x1b6>
|
|
ee98: f10e 3eff add.w lr, lr, #4294967295
|
|
a10 = src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1];
|
|
ee9c: 4473 add r3, lr
|
|
ee9e: f813 b001 ldrb.w fp, [r3, r1]
|
|
a01 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size - 1];
|
|
eea2: f813 a000 ldrb.w sl, [r3, r0]
|
|
a11 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1];
|
|
eea6: 5c98 ldrb r0, [r3, r2]
|
|
}
|
|
|
|
lv_opa_t xr0 = xr;
|
|
lv_opa_t xr1 = xr;
|
|
if(dsc->tmp.has_alpha) {
|
|
lv_opa_t a0 = (a00 * xr + (a10 * (255 - xr))) >> 8;
|
|
eea8: f1c5 03ff rsb r3, r5, #255 ; 0xff
|
|
eeac: fb03 f10b mul.w r1, r3, fp
|
|
eeb0: 9a00 ldr r2, [sp, #0]
|
|
eeb2: fb05 1102 mla r1, r5, r2, r1
|
|
lv_opa_t a1 = (a01 * xr + (a11 * (255 - xr))) >> 8;
|
|
eeb6: fb03 f300 mul.w r3, r3, r0
|
|
eeba: fb05 330a mla r3, r5, sl, r3
|
|
eebe: f3c3 2307 ubfx r3, r3, #8, #8
|
|
dsc->res.opa = (a0 * yr + (a1 * (255 - yr))) >> 8;
|
|
eec2: f1c6 02ff rsb r2, r6, #255 ; 0xff
|
|
eec6: f3c1 2107 ubfx r1, r1, #8, #8
|
|
eeca: fb06 fe01 mul.w lr, r6, r1
|
|
eece: fb02 e203 mla r2, r2, r3, lr
|
|
eed2: 1212 asrs r2, r2, #8
|
|
eed4: 75a2 strb r2, [r4, #22]
|
|
|
|
if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false;
|
|
eed6: 2905 cmp r1, #5
|
|
eed8: f200 80dc bhi.w f094 <_lv_img_buf_transform_anti_alias+0x2b0>
|
|
eedc: 2b05 cmp r3, #5
|
|
eede: f240 817d bls.w f1dc <_lv_img_buf_transform_anti_alias+0x3f8>
|
|
if(a0 <= LV_OPA_MIN) yr = LV_OPA_TRANSP;
|
|
eee2: 2600 movs r6, #0
|
|
eee4: e0d9 b.n f09a <_lv_img_buf_transform_anti_alias+0x2b6>
|
|
else if(xs_fract > 0x90) {
|
|
eee6: 2a90 cmp r2, #144 ; 0x90
|
|
eee8: dd0c ble.n ef04 <_lv_img_buf_transform_anti_alias+0x120>
|
|
if(dsc->tmp.xs_int + xn >= dsc->cfg.src_w) xn = 0;
|
|
eeea: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c
|
|
eeee: 3101 adds r1, #1
|
|
eef0: f9b0 2004 ldrsh.w r2, [r0, #4]
|
|
eef4: 4291 cmp r1, r2
|
|
eef6: bfac ite ge
|
|
eef8: 2100 movge r1, #0
|
|
eefa: 2101 movlt r1, #1
|
|
xr = (0xFF - xs_fract) + 0x80;
|
|
eefc: f1c5 057f rsb r5, r5, #127 ; 0x7f
|
|
ef00: b2ed uxtb r5, r5
|
|
ef02: e781 b.n ee08 <_lv_img_buf_transform_anti_alias+0x24>
|
|
xr = 0xFF;
|
|
ef04: 25ff movs r5, #255 ; 0xff
|
|
xn = 0;
|
|
ef06: 2100 movs r1, #0
|
|
ef08: e77e b.n ee08 <_lv_img_buf_transform_anti_alias+0x24>
|
|
else if(ys_fract > 0x90) {
|
|
ef0a: 2b90 cmp r3, #144 ; 0x90
|
|
ef0c: dd0f ble.n ef2e <_lv_img_buf_transform_anti_alias+0x14a>
|
|
if(dsc->tmp.ys_int + yn >= dsc->cfg.src_h) yn = 0;
|
|
ef0e: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e
|
|
ef12: f10b 0b01 add.w fp, fp, #1
|
|
ef16: f9b4 2006 ldrsh.w r2, [r4, #6]
|
|
ef1a: 4593 cmp fp, r2
|
|
ef1c: bfac ite ge
|
|
ef1e: f04f 0b00 movge.w fp, #0
|
|
ef22: f04f 0b01 movlt.w fp, #1
|
|
yr = (0xFF - ys_fract) + 0x80;
|
|
ef26: f1c6 067f rsb r6, r6, #127 ; 0x7f
|
|
ef2a: b2f6 uxtb r6, r6
|
|
ef2c: e776 b.n ee1c <_lv_img_buf_transform_anti_alias+0x38>
|
|
yr = 0xFF;
|
|
ef2e: 26ff movs r6, #255 ; 0xff
|
|
yn = 0;
|
|
ef30: f04f 0b00 mov.w fp, #0
|
|
ef34: e772 b.n ee1c <_lv_img_buf_transform_anti_alias+0x38>
|
|
c01 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int, dsc->cfg.color);
|
|
ef36: f104 0318 add.w r3, r4, #24
|
|
ef3a: 4618 mov r0, r3
|
|
ef3c: b28b uxth r3, r1
|
|
ef3e: 8fa1 ldrh r1, [r4, #60] ; 0x3c
|
|
ef40: 9302 str r3, [sp, #8]
|
|
ef42: 4419 add r1, r3
|
|
ef44: 8a23 ldrh r3, [r4, #16]
|
|
ef46: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e
|
|
ef4a: b209 sxth r1, r1
|
|
ef4c: 9001 str r0, [sp, #4]
|
|
ef4e: f8df a294 ldr.w sl, [pc, #660] ; f1e4 <_lv_img_buf_transform_anti_alias+0x400>
|
|
ef52: 47d0 blx sl
|
|
ef54: f8ad 001c strh.w r0, [sp, #28]
|
|
c10 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn, dsc->cfg.color);
|
|
ef58: fa1f f18b uxth.w r1, fp
|
|
ef5c: 8fe2 ldrh r2, [r4, #62] ; 0x3e
|
|
ef5e: 9103 str r1, [sp, #12]
|
|
ef60: 440a add r2, r1
|
|
ef62: 8a23 ldrh r3, [r4, #16]
|
|
ef64: b212 sxth r2, r2
|
|
ef66: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c
|
|
ef6a: f8dd b004 ldr.w fp, [sp, #4]
|
|
ef6e: 4658 mov r0, fp
|
|
ef70: 47d0 blx sl
|
|
ef72: f8ad 0018 strh.w r0, [sp, #24]
|
|
c11 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn, dsc->cfg.color);
|
|
ef76: 8fe2 ldrh r2, [r4, #62] ; 0x3e
|
|
ef78: 9903 ldr r1, [sp, #12]
|
|
ef7a: 440a add r2, r1
|
|
ef7c: 8fa1 ldrh r1, [r4, #60] ; 0x3c
|
|
ef7e: 9b02 ldr r3, [sp, #8]
|
|
ef80: 4419 add r1, r3
|
|
ef82: 8a23 ldrh r3, [r4, #16]
|
|
ef84: b212 sxth r2, r2
|
|
ef86: b209 sxth r1, r1
|
|
ef88: 4658 mov r0, fp
|
|
ef8a: 47d0 blx sl
|
|
ef8c: f8ad 0014 strh.w r0, [sp, #20]
|
|
if(dsc->tmp.has_alpha) {
|
|
ef90: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
ef94: f013 0f02 tst.w r3, #2
|
|
ef98: d152 bne.n f040 <_lv_img_buf_transform_anti_alias+0x25c>
|
|
if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER;
|
|
}
|
|
else {
|
|
xr0 = xr;
|
|
xr1 = xr;
|
|
dsc->res.opa = LV_OPA_COVER;
|
|
ef9a: 23ff movs r3, #255 ; 0xff
|
|
ef9c: 75a3 strb r3, [r4, #22]
|
|
xr0 = xr;
|
|
ef9e: 462b mov r3, r5
|
|
}
|
|
|
|
lv_color_t c0;
|
|
if(xr0 == LV_OPA_TRANSP) c0 = c01;
|
|
efa0: 2b00 cmp r3, #0
|
|
efa2: f040 808b bne.w f0bc <_lv_img_buf_transform_anti_alias+0x2d8>
|
|
efa6: f89d 901c ldrb.w r9, [sp, #28]
|
|
efaa: f009 091f and.w r9, r9, #31
|
|
efae: f8bd 801c ldrh.w r8, [sp, #28]
|
|
efb2: f3c8 1845 ubfx r8, r8, #5, #6
|
|
efb6: f89d 701d ldrb.w r7, [sp, #29]
|
|
efba: 08ff lsrs r7, r7, #3
|
|
else if(xr0 == LV_OPA_COVER) c0 = c00;
|
|
else c0 = lv_color_mix(c00, c01, xr0);
|
|
|
|
lv_color_t c1;
|
|
if(xr1 == LV_OPA_TRANSP) c1 = c11;
|
|
efbc: 2d00 cmp r5, #0
|
|
efbe: f040 80ac bne.w f11a <_lv_img_buf_transform_anti_alias+0x336>
|
|
efc2: f89d 5014 ldrb.w r5, [sp, #20]
|
|
efc6: f005 051f and.w r5, r5, #31
|
|
efca: f8bd 3014 ldrh.w r3, [sp, #20]
|
|
efce: f3c3 1345 ubfx r3, r3, #5, #6
|
|
efd2: f89d 1015 ldrb.w r1, [sp, #21]
|
|
efd6: 08c9 lsrs r1, r1, #3
|
|
else if(xr1 == LV_OPA_COVER) c1 = c10;
|
|
else c1 = lv_color_mix(c10, c11, xr1);
|
|
|
|
if(yr == LV_OPA_TRANSP) dsc->res.color = c1;
|
|
efd8: 2e00 cmp r6, #0
|
|
efda: f000 80e3 beq.w f1a4 <_lv_img_buf_transform_anti_alias+0x3c0>
|
|
else if(yr == LV_OPA_COVER) dsc->res.color = c0;
|
|
efde: 2eff cmp r6, #255 ; 0xff
|
|
efe0: f000 80ee beq.w f1c0 <_lv_img_buf_transform_anti_alias+0x3dc>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
efe4: f1c6 02ff rsb r2, r6, #255 ; 0xff
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
efe8: fb02 f505 mul.w r5, r2, r5
|
|
efec: fb06 5509 mla r5, r6, r9, r5
|
|
eff0: eb05 2905 add.w r9, r5, r5, lsl #8
|
|
eff4: eb05 15c9 add.w r5, r5, r9, lsl #7
|
|
eff8: 0ded lsrs r5, r5, #23
|
|
else dsc->res.color = lv_color_mix(c0, c1, yr);
|
|
effa: 7d20 ldrb r0, [r4, #20]
|
|
effc: f365 0004 bfi r0, r5, #0, #5
|
|
f000: 7520 strb r0, [r4, #20]
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
f002: fb02 f303 mul.w r3, r2, r3
|
|
f006: fb06 3808 mla r8, r6, r8, r3
|
|
f00a: eb08 2308 add.w r3, r8, r8, lsl #8
|
|
f00e: eb08 18c3 add.w r8, r8, r3, lsl #7
|
|
f012: ea4f 58d8 mov.w r8, r8, lsr #23
|
|
f016: 8aa3 ldrh r3, [r4, #20]
|
|
f018: f368 134a bfi r3, r8, #5, #6
|
|
f01c: 82a3 strh r3, [r4, #20]
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
f01e: fb02 f101 mul.w r1, r2, r1
|
|
f022: fb06 1607 mla r6, r6, r7, r1
|
|
f026: eb06 2706 add.w r7, r6, r6, lsl #8
|
|
f02a: eb06 16c7 add.w r6, r6, r7, lsl #7
|
|
f02e: 0df6 lsrs r6, r6, #23
|
|
f030: 0a1b lsrs r3, r3, #8
|
|
f032: f366 03c7 bfi r3, r6, #3, #5
|
|
f036: 7563 strb r3, [r4, #21]
|
|
|
|
return true;
|
|
f038: 2001 movs r0, #1
|
|
}
|
|
f03a: b009 add sp, #36 ; 0x24
|
|
f03c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
a10 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int);
|
|
f040: 8fa1 ldrh r1, [r4, #60] ; 0x3c
|
|
f042: 9b02 ldr r3, [sp, #8]
|
|
f044: 4419 add r1, r3
|
|
f046: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e
|
|
f04a: b209 sxth r1, r1
|
|
f04c: f8dd a004 ldr.w sl, [sp, #4]
|
|
f050: 4650 mov r0, sl
|
|
f052: 4b63 ldr r3, [pc, #396] ; (f1e0 <_lv_img_buf_transform_anti_alias+0x3fc>)
|
|
f054: 4798 blx r3
|
|
f056: 4683 mov fp, r0
|
|
a01 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn);
|
|
f058: 8fe2 ldrh r2, [r4, #62] ; 0x3e
|
|
f05a: 9903 ldr r1, [sp, #12]
|
|
f05c: 440a add r2, r1
|
|
f05e: b212 sxth r2, r2
|
|
f060: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c
|
|
f064: f8cd a004 str.w sl, [sp, #4]
|
|
f068: 4650 mov r0, sl
|
|
f06a: 4b5d ldr r3, [pc, #372] ; (f1e0 <_lv_img_buf_transform_anti_alias+0x3fc>)
|
|
f06c: 4798 blx r3
|
|
f06e: 4682 mov sl, r0
|
|
a11 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn);
|
|
f070: 8fe2 ldrh r2, [r4, #62] ; 0x3e
|
|
f072: 9903 ldr r1, [sp, #12]
|
|
f074: 440a add r2, r1
|
|
f076: 8fa1 ldrh r1, [r4, #60] ; 0x3c
|
|
f078: 9b02 ldr r3, [sp, #8]
|
|
f07a: 4419 add r1, r3
|
|
f07c: b212 sxth r2, r2
|
|
f07e: b209 sxth r1, r1
|
|
f080: 9801 ldr r0, [sp, #4]
|
|
f082: 4b57 ldr r3, [pc, #348] ; (f1e0 <_lv_img_buf_transform_anti_alias+0x3fc>)
|
|
f084: 4798 blx r3
|
|
if(dsc->tmp.has_alpha) {
|
|
f086: f894 3034 ldrb.w r3, [r4, #52] ; 0x34
|
|
f08a: f013 0f02 tst.w r3, #2
|
|
f08e: f47f af0b bne.w eea8 <_lv_img_buf_transform_anti_alias+0xc4>
|
|
f092: e782 b.n ef9a <_lv_img_buf_transform_anti_alias+0x1b6>
|
|
if(a1 <= LV_OPA_MIN) yr = LV_OPA_COVER;
|
|
f094: 2b05 cmp r3, #5
|
|
f096: bf98 it ls
|
|
f098: 26ff movls r6, #255 ; 0xff
|
|
if(a00 <= LV_OPA_MIN) xr0 = LV_OPA_TRANSP;
|
|
f09a: 9b00 ldr r3, [sp, #0]
|
|
f09c: 2b05 cmp r3, #5
|
|
f09e: bf8c ite hi
|
|
f0a0: 462b movhi r3, r5
|
|
f0a2: 2300 movls r3, #0
|
|
if(a10 <= LV_OPA_MIN) xr0 = LV_OPA_COVER;
|
|
f0a4: f1bb 0f05 cmp.w fp, #5
|
|
f0a8: bf98 it ls
|
|
f0aa: 23ff movls r3, #255 ; 0xff
|
|
if(a01 <= LV_OPA_MIN) xr1 = LV_OPA_TRANSP;
|
|
f0ac: f1ba 0f05 cmp.w sl, #5
|
|
f0b0: bf98 it ls
|
|
f0b2: 2500 movls r5, #0
|
|
if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER;
|
|
f0b4: 2805 cmp r0, #5
|
|
f0b6: bf98 it ls
|
|
f0b8: 25ff movls r5, #255 ; 0xff
|
|
f0ba: e771 b.n efa0 <_lv_img_buf_transform_anti_alias+0x1bc>
|
|
else if(xr0 == LV_OPA_COVER) c0 = c00;
|
|
f0bc: 2bff cmp r3, #255 ; 0xff
|
|
f0be: f43f af7d beq.w efbc <_lv_img_buf_transform_anti_alias+0x1d8>
|
|
f0c2: f1c3 01ff rsb r1, r3, #255 ; 0xff
|
|
f0c6: f89d 201d ldrb.w r2, [sp, #29]
|
|
f0ca: 08d2 lsrs r2, r2, #3
|
|
f0cc: fb03 f707 mul.w r7, r3, r7
|
|
f0d0: fb01 7702 mla r7, r1, r2, r7
|
|
f0d4: eb07 2207 add.w r2, r7, r7, lsl #8
|
|
f0d8: eb07 17c2 add.w r7, r7, r2, lsl #7
|
|
f0dc: f3c7 57c4 ubfx r7, r7, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
f0e0: f8bd 201c ldrh.w r2, [sp, #28]
|
|
f0e4: f3c2 1245 ubfx r2, r2, #5, #6
|
|
f0e8: fb03 f808 mul.w r8, r3, r8
|
|
f0ec: fb01 8802 mla r8, r1, r2, r8
|
|
f0f0: eb08 2208 add.w r2, r8, r8, lsl #8
|
|
f0f4: eb08 18c2 add.w r8, r8, r2, lsl #7
|
|
f0f8: f3c8 58c5 ubfx r8, r8, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
f0fc: f89d 201c ldrb.w r2, [sp, #28]
|
|
f100: f002 021f and.w r2, r2, #31
|
|
f104: fb03 f909 mul.w r9, r3, r9
|
|
f108: fb01 9902 mla r9, r1, r2, r9
|
|
f10c: eb09 2309 add.w r3, r9, r9, lsl #8
|
|
f110: eb09 19c3 add.w r9, r9, r3, lsl #7
|
|
f114: f3c9 59c4 ubfx r9, r9, #23, #5
|
|
f118: e750 b.n efbc <_lv_img_buf_transform_anti_alias+0x1d8>
|
|
else if(xr1 == LV_OPA_COVER) c1 = c10;
|
|
f11a: 2dff cmp r5, #255 ; 0xff
|
|
f11c: d036 beq.n f18c <_lv_img_buf_transform_anti_alias+0x3a8>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
f11e: f1c5 00ff rsb r0, r5, #255 ; 0xff
|
|
f122: f89d 1019 ldrb.w r1, [sp, #25]
|
|
f126: 08c9 lsrs r1, r1, #3
|
|
f128: f89d 3015 ldrb.w r3, [sp, #21]
|
|
f12c: 08db lsrs r3, r3, #3
|
|
f12e: fb00 f303 mul.w r3, r0, r3
|
|
f132: fb05 3101 mla r1, r5, r1, r3
|
|
f136: eb01 2301 add.w r3, r1, r1, lsl #8
|
|
f13a: eb01 11c3 add.w r1, r1, r3, lsl #7
|
|
f13e: f3c1 51c4 ubfx r1, r1, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
f142: f8bd 3018 ldrh.w r3, [sp, #24]
|
|
f146: f3c3 1345 ubfx r3, r3, #5, #6
|
|
f14a: f8bd 2014 ldrh.w r2, [sp, #20]
|
|
f14e: f3c2 1245 ubfx r2, r2, #5, #6
|
|
f152: fb00 f202 mul.w r2, r0, r2
|
|
f156: fb05 2303 mla r3, r5, r3, r2
|
|
f15a: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
f15e: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
f162: f3c3 53c5 ubfx r3, r3, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
f166: f89d 2018 ldrb.w r2, [sp, #24]
|
|
f16a: f002 021f and.w r2, r2, #31
|
|
f16e: f89d e014 ldrb.w lr, [sp, #20]
|
|
f172: f00e 0e1f and.w lr, lr, #31
|
|
f176: fb00 f00e mul.w r0, r0, lr
|
|
f17a: fb05 0502 mla r5, r5, r2, r0
|
|
f17e: eb05 2205 add.w r2, r5, r5, lsl #8
|
|
f182: eb05 15c2 add.w r5, r5, r2, lsl #7
|
|
f186: f3c5 55c4 ubfx r5, r5, #23, #5
|
|
f18a: e725 b.n efd8 <_lv_img_buf_transform_anti_alias+0x1f4>
|
|
f18c: f89d 5018 ldrb.w r5, [sp, #24]
|
|
f190: f005 051f and.w r5, r5, #31
|
|
f194: f8bd 3018 ldrh.w r3, [sp, #24]
|
|
f198: f3c3 1345 ubfx r3, r3, #5, #6
|
|
f19c: f89d 1019 ldrb.w r1, [sp, #25]
|
|
f1a0: 08c9 lsrs r1, r1, #3
|
|
f1a2: e719 b.n efd8 <_lv_img_buf_transform_anti_alias+0x1f4>
|
|
if(yr == LV_OPA_TRANSP) dsc->res.color = c1;
|
|
f1a4: 7d22 ldrb r2, [r4, #20]
|
|
f1a6: f365 0204 bfi r2, r5, #0, #5
|
|
f1aa: 7522 strb r2, [r4, #20]
|
|
f1ac: 8aa2 ldrh r2, [r4, #20]
|
|
f1ae: f363 124a bfi r2, r3, #5, #6
|
|
f1b2: 82a2 strh r2, [r4, #20]
|
|
f1b4: 0a12 lsrs r2, r2, #8
|
|
f1b6: f361 02c7 bfi r2, r1, #3, #5
|
|
f1ba: 7562 strb r2, [r4, #21]
|
|
return true;
|
|
f1bc: 2001 movs r0, #1
|
|
f1be: e73c b.n f03a <_lv_img_buf_transform_anti_alias+0x256>
|
|
else if(yr == LV_OPA_COVER) dsc->res.color = c0;
|
|
f1c0: 7d23 ldrb r3, [r4, #20]
|
|
f1c2: f369 0304 bfi r3, r9, #0, #5
|
|
f1c6: 7523 strb r3, [r4, #20]
|
|
f1c8: 8aa3 ldrh r3, [r4, #20]
|
|
f1ca: f368 134a bfi r3, r8, #5, #6
|
|
f1ce: 82a3 strh r3, [r4, #20]
|
|
f1d0: 0a1b lsrs r3, r3, #8
|
|
f1d2: f367 03c7 bfi r3, r7, #3, #5
|
|
f1d6: 7563 strb r3, [r4, #21]
|
|
return true;
|
|
f1d8: 2001 movs r0, #1
|
|
f1da: e72e b.n f03a <_lv_img_buf_transform_anti_alias+0x256>
|
|
if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false;
|
|
f1dc: 2000 movs r0, #0
|
|
f1de: e72c b.n f03a <_lv_img_buf_transform_anti_alias+0x256>
|
|
f1e0: 0000ea31 .word 0x0000ea31
|
|
f1e4: 0000e901 .word 0x0000e901
|
|
|
|
0000f1e8 <_lv_img_cache_open>:
|
|
* @param src source of the image. Path to file or pointer to an `lv_img_dsc_t` variable
|
|
* @param style style of the image
|
|
* @return pointer to the cache entry or NULL if can open the image
|
|
*/
|
|
lv_img_cache_entry_t * _lv_img_cache_open(const void * src, lv_color_t color)
|
|
{
|
|
f1e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
f1ec: b083 sub sp, #12
|
|
f1ee: 4688 mov r8, r1
|
|
if(entry_cnt == 0) {
|
|
f1f0: 4b5d ldr r3, [pc, #372] ; (f368 <_lv_img_cache_open+0x180>)
|
|
f1f2: 8819 ldrh r1, [r3, #0]
|
|
f1f4: b1e1 cbz r1, f230 <_lv_img_cache_open+0x48>
|
|
f1f6: 4607 mov r7, r0
|
|
LV_LOG_WARN("lv_img_cache_open: the cache size is 0");
|
|
return NULL;
|
|
}
|
|
|
|
lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array);
|
|
f1f8: 4b5c ldr r3, [pc, #368] ; (f36c <_lv_img_cache_open+0x184>)
|
|
f1fa: 681e ldr r6, [r3, #0]
|
|
f1fc: 4633 mov r3, r6
|
|
f1fe: 3901 subs r1, #1
|
|
f200: b289 uxth r1, r1
|
|
f202: 3101 adds r1, #1
|
|
f204: eb01 01c1 add.w r1, r1, r1, lsl #3
|
|
f208: eb06 0181 add.w r1, r6, r1, lsl #2
|
|
|
|
/*Decrement all lifes. Make the entries older*/
|
|
uint16_t i;
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
if(cache[i].life > INT32_MIN + LV_IMG_CACHE_AGING) {
|
|
f20c: 4858 ldr r0, [pc, #352] ; (f370 <_lv_img_cache_open+0x188>)
|
|
f20e: 6a1a ldr r2, [r3, #32]
|
|
f210: 4282 cmp r2, r0
|
|
cache[i].life -= LV_IMG_CACHE_AGING;
|
|
f212: bfa4 itt ge
|
|
f214: f102 32ff addge.w r2, r2, #4294967295
|
|
f218: 621a strge r2, [r3, #32]
|
|
f21a: 3324 adds r3, #36 ; 0x24
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f21c: 428b cmp r3, r1
|
|
f21e: d1f6 bne.n f20e <_lv_img_cache_open+0x26>
|
|
f220: 2400 movs r4, #0
|
|
|
|
/*Is the image cached?*/
|
|
lv_img_cache_entry_t * cached_src = NULL;
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
bool match = false;
|
|
lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src);
|
|
f222: f8df 9180 ldr.w r9, [pc, #384] ; f3a4 <_lv_img_cache_open+0x1bc>
|
|
if(src_type == LV_IMG_SRC_VARIABLE) {
|
|
if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true;
|
|
}
|
|
else if(src_type == LV_IMG_SRC_FILE) {
|
|
if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true;
|
|
f226: f8df b180 ldr.w fp, [pc, #384] ; f3a8 <_lv_img_cache_open+0x1c0>
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f22a: f8df a13c ldr.w sl, [pc, #316] ; f368 <_lv_img_cache_open+0x180>
|
|
f22e: e011 b.n f254 <_lv_img_cache_open+0x6c>
|
|
LV_LOG_WARN("lv_img_cache_open: the cache size is 0");
|
|
f230: 4b50 ldr r3, [pc, #320] ; (f374 <_lv_img_cache_open+0x18c>)
|
|
f232: 9300 str r3, [sp, #0]
|
|
f234: 4b50 ldr r3, [pc, #320] ; (f378 <_lv_img_cache_open+0x190>)
|
|
f236: 2244 movs r2, #68 ; 0x44
|
|
f238: 4950 ldr r1, [pc, #320] ; (f37c <_lv_img_cache_open+0x194>)
|
|
f23a: 2002 movs r0, #2
|
|
f23c: 4c50 ldr r4, [pc, #320] ; (f380 <_lv_img_cache_open+0x198>)
|
|
f23e: 47a0 blx r4
|
|
return NULL;
|
|
f240: 2500 movs r5, #0
|
|
f242: e025 b.n f290 <_lv_img_cache_open+0xa8>
|
|
else if(src_type == LV_IMG_SRC_FILE) {
|
|
f244: 2801 cmp r0, #1
|
|
f246: d027 beq.n f298 <_lv_img_cache_open+0xb0>
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f248: 3401 adds r4, #1
|
|
f24a: b2a4 uxth r4, r4
|
|
f24c: f8ba 3000 ldrh.w r3, [sl]
|
|
f250: 42a3 cmp r3, r4
|
|
f252: d92a bls.n f2aa <_lv_img_cache_open+0xc2>
|
|
lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src);
|
|
f254: eb04 05c4 add.w r5, r4, r4, lsl #3
|
|
f258: eb06 0585 add.w r5, r6, r5, lsl #2
|
|
f25c: 6868 ldr r0, [r5, #4]
|
|
f25e: 47c8 blx r9
|
|
if(src_type == LV_IMG_SRC_VARIABLE) {
|
|
f260: 2800 cmp r0, #0
|
|
f262: d1ef bne.n f244 <_lv_img_cache_open+0x5c>
|
|
if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true;
|
|
f264: 686b ldr r3, [r5, #4]
|
|
f266: 42bb cmp r3, r7
|
|
f268: d1ee bne.n f248 <_lv_img_cache_open+0x60>
|
|
f26a: 8928 ldrh r0, [r5, #8]
|
|
f26c: fa1f f388 uxth.w r3, r8
|
|
f270: 4298 cmp r0, r3
|
|
f272: bf14 ite ne
|
|
f274: 2000 movne r0, #0
|
|
f276: 2001 moveq r0, #1
|
|
}
|
|
|
|
if(match) {
|
|
f278: 2800 cmp r0, #0
|
|
f27a: d0e5 beq.n f248 <_lv_img_cache_open+0x60>
|
|
/* If opened increment its life.
|
|
* Image difficult to open should live longer to keep avoid frequent their recaching.
|
|
* Therefore increase `life` with `time_to_open`*/
|
|
cached_src = &cache[i];
|
|
cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN;
|
|
f27c: 6a2b ldr r3, [r5, #32]
|
|
f27e: 696a ldr r2, [r5, #20]
|
|
f280: 4413 add r3, r2
|
|
if(cached_src->life > LV_IMG_CACHE_LIFE_LIMIT) cached_src->life = LV_IMG_CACHE_LIFE_LIMIT;
|
|
f282: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8
|
|
f286: dd0e ble.n f2a6 <_lv_img_cache_open+0xbe>
|
|
f288: f44f 737a mov.w r3, #1000 ; 0x3e8
|
|
f28c: 622b str r3, [r5, #32]
|
|
break;
|
|
}
|
|
}
|
|
|
|
/*The image is not cached then cache it now*/
|
|
if(cached_src == NULL) {
|
|
f28e: b165 cbz r5, f2aa <_lv_img_cache_open+0xc2>
|
|
|
|
if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1;
|
|
}
|
|
|
|
return cached_src;
|
|
}
|
|
f290: 4628 mov r0, r5
|
|
f292: b003 add sp, #12
|
|
f294: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true;
|
|
f298: 4639 mov r1, r7
|
|
f29a: 6868 ldr r0, [r5, #4]
|
|
f29c: 47d8 blx fp
|
|
f29e: fab0 f080 clz r0, r0
|
|
f2a2: 0940 lsrs r0, r0, #5
|
|
f2a4: e7e8 b.n f278 <_lv_img_cache_open+0x90>
|
|
cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN;
|
|
f2a6: 622b str r3, [r5, #32]
|
|
f2a8: e7f1 b.n f28e <_lv_img_cache_open+0xa6>
|
|
for(i = 1; i < entry_cnt; i++) {
|
|
f2aa: 4b2f ldr r3, [pc, #188] ; (f368 <_lv_img_cache_open+0x180>)
|
|
f2ac: 881a ldrh r2, [r3, #0]
|
|
f2ae: 2a01 cmp r2, #1
|
|
f2b0: d937 bls.n f322 <_lv_img_cache_open+0x13a>
|
|
f2b2: f106 0324 add.w r3, r6, #36 ; 0x24
|
|
f2b6: 3a02 subs r2, #2
|
|
f2b8: b292 uxth r2, r2
|
|
f2ba: eb02 02c2 add.w r2, r2, r2, lsl #3
|
|
f2be: eb06 0282 add.w r2, r6, r2, lsl #2
|
|
f2c2: 3248 adds r2, #72 ; 0x48
|
|
f2c4: 4635 mov r5, r6
|
|
if(cache[i].life < cached_src->life) {
|
|
f2c6: 6a18 ldr r0, [r3, #32]
|
|
f2c8: 6a29 ldr r1, [r5, #32]
|
|
cached_src = &cache[i];
|
|
f2ca: 4288 cmp r0, r1
|
|
f2cc: bfb8 it lt
|
|
f2ce: 461d movlt r5, r3
|
|
f2d0: 3324 adds r3, #36 ; 0x24
|
|
for(i = 1; i < entry_cnt; i++) {
|
|
f2d2: 4293 cmp r3, r2
|
|
f2d4: d1f7 bne.n f2c6 <_lv_img_cache_open+0xde>
|
|
if(cached_src->dec_dsc.src) {
|
|
f2d6: 686b ldr r3, [r5, #4]
|
|
f2d8: b32b cbz r3, f326 <_lv_img_cache_open+0x13e>
|
|
lv_img_decoder_close(&cached_src->dec_dsc);
|
|
f2da: 4628 mov r0, r5
|
|
f2dc: 4b29 ldr r3, [pc, #164] ; (f384 <_lv_img_cache_open+0x19c>)
|
|
f2de: 4798 blx r3
|
|
LV_LOG_INFO("image draw: cache miss, close and reuse an entry");
|
|
f2e0: 4b29 ldr r3, [pc, #164] ; (f388 <_lv_img_cache_open+0x1a0>)
|
|
f2e2: 9300 str r3, [sp, #0]
|
|
f2e4: 4b24 ldr r3, [pc, #144] ; (f378 <_lv_img_cache_open+0x190>)
|
|
f2e6: 2277 movs r2, #119 ; 0x77
|
|
f2e8: 4924 ldr r1, [pc, #144] ; (f37c <_lv_img_cache_open+0x194>)
|
|
f2ea: 2001 movs r0, #1
|
|
f2ec: 4c24 ldr r4, [pc, #144] ; (f380 <_lv_img_cache_open+0x198>)
|
|
f2ee: 47a0 blx r4
|
|
t_start = lv_tick_get();
|
|
f2f0: 4b26 ldr r3, [pc, #152] ; (f38c <_lv_img_cache_open+0x1a4>)
|
|
f2f2: 4798 blx r3
|
|
f2f4: 4604 mov r4, r0
|
|
cached_src->dec_dsc.time_to_open = 0;
|
|
f2f6: 2300 movs r3, #0
|
|
f2f8: 616b str r3, [r5, #20]
|
|
lv_res_t open_res = lv_img_decoder_open(&cached_src->dec_dsc, src, color);
|
|
f2fa: 4642 mov r2, r8
|
|
f2fc: 4639 mov r1, r7
|
|
f2fe: 4628 mov r0, r5
|
|
f300: 4b23 ldr r3, [pc, #140] ; (f390 <_lv_img_cache_open+0x1a8>)
|
|
f302: 4798 blx r3
|
|
if(open_res == LV_RES_INV) {
|
|
f304: b1c0 cbz r0, f338 <_lv_img_cache_open+0x150>
|
|
cached_src->life = 0;
|
|
f306: 2300 movs r3, #0
|
|
f308: 622b str r3, [r5, #32]
|
|
if(cached_src->dec_dsc.time_to_open == 0) {
|
|
f30a: 696b ldr r3, [r5, #20]
|
|
f30c: 2b00 cmp r3, #0
|
|
f30e: d1bf bne.n f290 <_lv_img_cache_open+0xa8>
|
|
cached_src->dec_dsc.time_to_open = lv_tick_elaps(t_start);
|
|
f310: 4620 mov r0, r4
|
|
f312: 4b20 ldr r3, [pc, #128] ; (f394 <_lv_img_cache_open+0x1ac>)
|
|
f314: 4798 blx r3
|
|
f316: 6168 str r0, [r5, #20]
|
|
if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1;
|
|
f318: 2800 cmp r0, #0
|
|
f31a: d1b9 bne.n f290 <_lv_img_cache_open+0xa8>
|
|
f31c: 2301 movs r3, #1
|
|
f31e: 616b str r3, [r5, #20]
|
|
f320: e7b6 b.n f290 <_lv_img_cache_open+0xa8>
|
|
for(i = 1; i < entry_cnt; i++) {
|
|
f322: 4635 mov r5, r6
|
|
f324: e7d7 b.n f2d6 <_lv_img_cache_open+0xee>
|
|
LV_LOG_INFO("image draw: cache miss, cached to an empty entry");
|
|
f326: 4b1c ldr r3, [pc, #112] ; (f398 <_lv_img_cache_open+0x1b0>)
|
|
f328: 9300 str r3, [sp, #0]
|
|
f32a: 4b13 ldr r3, [pc, #76] ; (f378 <_lv_img_cache_open+0x190>)
|
|
f32c: 227a movs r2, #122 ; 0x7a
|
|
f32e: 4913 ldr r1, [pc, #76] ; (f37c <_lv_img_cache_open+0x194>)
|
|
f330: 2001 movs r0, #1
|
|
f332: 4c13 ldr r4, [pc, #76] ; (f380 <_lv_img_cache_open+0x198>)
|
|
f334: 47a0 blx r4
|
|
f336: e7db b.n f2f0 <_lv_img_cache_open+0x108>
|
|
LV_LOG_WARN("Image draw cannot open the image resource");
|
|
f338: 4b18 ldr r3, [pc, #96] ; (f39c <_lv_img_cache_open+0x1b4>)
|
|
f33a: 9300 str r3, [sp, #0]
|
|
f33c: 4b0e ldr r3, [pc, #56] ; (f378 <_lv_img_cache_open+0x190>)
|
|
f33e: 2283 movs r2, #131 ; 0x83
|
|
f340: 490e ldr r1, [pc, #56] ; (f37c <_lv_img_cache_open+0x194>)
|
|
f342: 2002 movs r0, #2
|
|
f344: 4c0e ldr r4, [pc, #56] ; (f380 <_lv_img_cache_open+0x198>)
|
|
f346: 47a0 blx r4
|
|
lv_img_decoder_close(&cached_src->dec_dsc);
|
|
f348: 4628 mov r0, r5
|
|
f34a: 4b0e ldr r3, [pc, #56] ; (f384 <_lv_img_cache_open+0x19c>)
|
|
f34c: 4798 blx r3
|
|
_lv_memset_00(&cached_src->dec_dsc, sizeof(lv_img_decoder_dsc_t));
|
|
f34e: 2120 movs r1, #32
|
|
f350: 4628 mov r0, r5
|
|
f352: 4c13 ldr r4, [pc, #76] ; (f3a0 <_lv_img_cache_open+0x1b8>)
|
|
f354: 47a0 blx r4
|
|
_lv_memset_00(cached_src, sizeof(lv_img_cache_entry_t));
|
|
f356: 2124 movs r1, #36 ; 0x24
|
|
f358: 4628 mov r0, r5
|
|
f35a: 47a0 blx r4
|
|
cached_src->life = INT32_MIN; /*Make the empty entry very "weak" to force its use */
|
|
f35c: f04f 4300 mov.w r3, #2147483648 ; 0x80000000
|
|
f360: 622b str r3, [r5, #32]
|
|
return NULL;
|
|
f362: 2500 movs r5, #0
|
|
f364: e794 b.n f290 <_lv_img_cache_open+0xa8>
|
|
f366: bf00 nop
|
|
f368: 20002b58 .word 0x20002b58
|
|
f36c: 20006d58 .word 0x20006d58
|
|
f370: 80000002 .word 0x80000002
|
|
f374: 00025178 .word 0x00025178
|
|
f378: 0002511c .word 0x0002511c
|
|
f37c: 00025148 .word 0x00025148
|
|
f380: 00012245 .word 0x00012245
|
|
f384: 0000ff1d .word 0x0000ff1d
|
|
f388: 000251a0 .word 0x000251a0
|
|
f38c: 00011041 .word 0x00011041
|
|
f390: 0000fe31 .word 0x0000fe31
|
|
f394: 00011059 .word 0x00011059
|
|
f398: 000251d4 .word 0x000251d4
|
|
f39c: 00025208 .word 0x00025208
|
|
f3a0: 00012b1f .word 0x00012b1f
|
|
f3a4: 00009951 .word 0x00009951
|
|
f3a8: 0001b4e3 .word 0x0001b4e3
|
|
|
|
0000f3ac <lv_img_cache_invalidate_src>:
|
|
* Invalidate an image source in the cache.
|
|
* Useful if the image source is updated therefore it needs to be cached again.
|
|
* @param src an image source path to a file or pointer to an `lv_img_dsc_t` variable.
|
|
*/
|
|
void lv_img_cache_invalidate_src(const void * src)
|
|
{
|
|
f3ac: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
|
|
lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array);
|
|
f3b0: 4b14 ldr r3, [pc, #80] ; (f404 <lv_img_cache_invalidate_src+0x58>)
|
|
f3b2: 681f ldr r7, [r3, #0]
|
|
|
|
uint16_t i;
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f3b4: 4b14 ldr r3, [pc, #80] ; (f408 <lv_img_cache_invalidate_src+0x5c>)
|
|
f3b6: 881b ldrh r3, [r3, #0]
|
|
f3b8: b30b cbz r3, f3fe <lv_img_cache_invalidate_src+0x52>
|
|
f3ba: 4606 mov r6, r0
|
|
f3bc: 2400 movs r4, #0
|
|
if(cache[i].dec_dsc.src == src || src == NULL) {
|
|
if(cache[i].dec_dsc.src != NULL) {
|
|
lv_img_decoder_close(&cache[i].dec_dsc);
|
|
}
|
|
|
|
_lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t));
|
|
f3be: f8df 904c ldr.w r9, [pc, #76] ; f40c <lv_img_cache_invalidate_src+0x60>
|
|
lv_img_decoder_close(&cache[i].dec_dsc);
|
|
f3c2: f8df a04c ldr.w sl, [pc, #76] ; f410 <lv_img_cache_invalidate_src+0x64>
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f3c6: f8df 8040 ldr.w r8, [pc, #64] ; f408 <lv_img_cache_invalidate_src+0x5c>
|
|
f3ca: e00e b.n f3ea <lv_img_cache_invalidate_src+0x3e>
|
|
if(cache[i].dec_dsc.src != NULL) {
|
|
f3cc: b10b cbz r3, f3d2 <lv_img_cache_invalidate_src+0x26>
|
|
lv_img_decoder_close(&cache[i].dec_dsc);
|
|
f3ce: 4628 mov r0, r5
|
|
f3d0: 47d0 blx sl
|
|
_lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t));
|
|
f3d2: 2120 movs r1, #32
|
|
f3d4: 4628 mov r0, r5
|
|
f3d6: 47c8 blx r9
|
|
_lv_memset_00(&cache[i], sizeof(lv_img_cache_entry_t));
|
|
f3d8: 2124 movs r1, #36 ; 0x24
|
|
f3da: 4628 mov r0, r5
|
|
f3dc: 47c8 blx r9
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f3de: 3401 adds r4, #1
|
|
f3e0: b2a4 uxth r4, r4
|
|
f3e2: f8b8 3000 ldrh.w r3, [r8]
|
|
f3e6: 42a3 cmp r3, r4
|
|
f3e8: d909 bls.n f3fe <lv_img_cache_invalidate_src+0x52>
|
|
if(cache[i].dec_dsc.src == src || src == NULL) {
|
|
f3ea: eb04 05c4 add.w r5, r4, r4, lsl #3
|
|
f3ee: eb07 0585 add.w r5, r7, r5, lsl #2
|
|
f3f2: 686b ldr r3, [r5, #4]
|
|
f3f4: 42b3 cmp r3, r6
|
|
f3f6: d0e9 beq.n f3cc <lv_img_cache_invalidate_src+0x20>
|
|
f3f8: 2e00 cmp r6, #0
|
|
f3fa: d1f0 bne.n f3de <lv_img_cache_invalidate_src+0x32>
|
|
f3fc: e7e6 b.n f3cc <lv_img_cache_invalidate_src+0x20>
|
|
f3fe: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
f402: bf00 nop
|
|
f404: 20006d58 .word 0x20006d58
|
|
f408: 20002b58 .word 0x20002b58
|
|
f40c: 00012b1f .word 0x00012b1f
|
|
f410: 0000ff1d .word 0x0000ff1d
|
|
|
|
0000f414 <lv_img_cache_set_size>:
|
|
{
|
|
f414: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
f418: b082 sub sp, #8
|
|
f41a: 4604 mov r4, r0
|
|
if(LV_GC_ROOT(_lv_img_cache_array) != NULL) {
|
|
f41c: 4b21 ldr r3, [pc, #132] ; (f4a4 <lv_img_cache_set_size+0x90>)
|
|
f41e: 681b ldr r3, [r3, #0]
|
|
f420: b133 cbz r3, f430 <lv_img_cache_set_size+0x1c>
|
|
lv_img_cache_invalidate_src(NULL);
|
|
f422: 2000 movs r0, #0
|
|
f424: 4b20 ldr r3, [pc, #128] ; (f4a8 <lv_img_cache_set_size+0x94>)
|
|
f426: 4798 blx r3
|
|
lv_mem_free(LV_GC_ROOT(_lv_img_cache_array));
|
|
f428: 4b1e ldr r3, [pc, #120] ; (f4a4 <lv_img_cache_set_size+0x90>)
|
|
f42a: 6818 ldr r0, [r3, #0]
|
|
f42c: 4b1f ldr r3, [pc, #124] ; (f4ac <lv_img_cache_set_size+0x98>)
|
|
f42e: 4798 blx r3
|
|
LV_GC_ROOT(_lv_img_cache_array) = lv_mem_alloc(sizeof(lv_img_cache_entry_t) * new_entry_cnt);
|
|
f430: eb04 00c4 add.w r0, r4, r4, lsl #3
|
|
f434: 0080 lsls r0, r0, #2
|
|
f436: 4b1e ldr r3, [pc, #120] ; (f4b0 <lv_img_cache_set_size+0x9c>)
|
|
f438: 4798 blx r3
|
|
f43a: 4b1a ldr r3, [pc, #104] ; (f4a4 <lv_img_cache_set_size+0x90>)
|
|
f43c: 6018 str r0, [r3, #0]
|
|
LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array));
|
|
f43e: 4b1d ldr r3, [pc, #116] ; (f4b4 <lv_img_cache_set_size+0xa0>)
|
|
f440: 4798 blx r3
|
|
f442: b1e8 cbz r0, f480 <lv_img_cache_set_size+0x6c>
|
|
if(LV_GC_ROOT(_lv_img_cache_array) == NULL) {
|
|
f444: 4b17 ldr r3, [pc, #92] ; (f4a4 <lv_img_cache_set_size+0x90>)
|
|
f446: 681b ldr r3, [r3, #0]
|
|
f448: b343 cbz r3, f49c <lv_img_cache_set_size+0x88>
|
|
entry_cnt = new_entry_cnt;
|
|
f44a: 4b1b ldr r3, [pc, #108] ; (f4b8 <lv_img_cache_set_size+0xa4>)
|
|
f44c: 801c strh r4, [r3, #0]
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f44e: b1a4 cbz r4, f47a <lv_img_cache_set_size+0x66>
|
|
f450: 2400 movs r4, #0
|
|
_lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t));
|
|
f452: 4f14 ldr r7, [pc, #80] ; (f4a4 <lv_img_cache_set_size+0x90>)
|
|
f454: 4e19 ldr r6, [pc, #100] ; (f4bc <lv_img_cache_set_size+0xa8>)
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f456: 4698 mov r8, r3
|
|
_lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t));
|
|
f458: eb04 05c4 add.w r5, r4, r4, lsl #3
|
|
f45c: 00ad lsls r5, r5, #2
|
|
f45e: 6838 ldr r0, [r7, #0]
|
|
f460: 2120 movs r1, #32
|
|
f462: 4428 add r0, r5
|
|
f464: 47b0 blx r6
|
|
_lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i], sizeof(lv_img_cache_entry_t));
|
|
f466: 6838 ldr r0, [r7, #0]
|
|
f468: 2124 movs r1, #36 ; 0x24
|
|
f46a: 4428 add r0, r5
|
|
f46c: 47b0 blx r6
|
|
for(i = 0; i < entry_cnt; i++) {
|
|
f46e: 3401 adds r4, #1
|
|
f470: b2a4 uxth r4, r4
|
|
f472: f8b8 3000 ldrh.w r3, [r8]
|
|
f476: 42a3 cmp r3, r4
|
|
f478: d8ee bhi.n f458 <lv_img_cache_set_size+0x44>
|
|
}
|
|
f47a: b002 add sp, #8
|
|
f47c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array));
|
|
f480: 4b0f ldr r3, [pc, #60] ; (f4c0 <lv_img_cache_set_size+0xac>)
|
|
f482: 9300 str r3, [sp, #0]
|
|
f484: 22a8 movs r2, #168 ; 0xa8
|
|
f486: 490f ldr r1, [pc, #60] ; (f4c4 <lv_img_cache_set_size+0xb0>)
|
|
f488: 2003 movs r0, #3
|
|
f48a: 4c0f ldr r4, [pc, #60] ; (f4c8 <lv_img_cache_set_size+0xb4>)
|
|
f48c: 47a0 blx r4
|
|
f48e: 4b05 ldr r3, [pc, #20] ; (f4a4 <lv_img_cache_set_size+0x90>)
|
|
f490: 681a ldr r2, [r3, #0]
|
|
f492: 2300 movs r3, #0
|
|
f494: 480d ldr r0, [pc, #52] ; (f4cc <lv_img_cache_set_size+0xb8>)
|
|
f496: 490e ldr r1, [pc, #56] ; (f4d0 <lv_img_cache_set_size+0xbc>)
|
|
f498: 4788 blx r1
|
|
f49a: e7fe b.n f49a <lv_img_cache_set_size+0x86>
|
|
entry_cnt = 0;
|
|
f49c: 2200 movs r2, #0
|
|
f49e: 4b06 ldr r3, [pc, #24] ; (f4b8 <lv_img_cache_set_size+0xa4>)
|
|
f4a0: 801a strh r2, [r3, #0]
|
|
return;
|
|
f4a2: e7ea b.n f47a <lv_img_cache_set_size+0x66>
|
|
f4a4: 20006d58 .word 0x20006d58
|
|
f4a8: 0000f3ad .word 0x0000f3ad
|
|
f4ac: 000124ad .word 0x000124ad
|
|
f4b0: 000123c5 .word 0x000123c5
|
|
f4b4: 00002299 .word 0x00002299
|
|
f4b8: 20002b58 .word 0x20002b58
|
|
f4bc: 00012b1f .word 0x00012b1f
|
|
f4c0: 00025130 .word 0x00025130
|
|
f4c4: 00025148 .word 0x00025148
|
|
f4c8: 00012245 .word 0x00012245
|
|
f4cc: 00023fc0 .word 0x00023fc0
|
|
f4d0: 000022a1 .word 0x000022a1
|
|
|
|
0000f4d4 <lv_img_decoder_built_in_info>:
|
|
* @param src the image source: pointer to an `lv_img_dsc_t` variable, a file path or a symbol
|
|
* @param header store the image data here
|
|
* @return LV_RES_OK: the info is successfully stored in `header`; LV_RES_INV: unknown format or other error.
|
|
*/
|
|
lv_res_t lv_img_decoder_built_in_info(lv_img_decoder_t * decoder, const void * src, lv_img_header_t * header)
|
|
{
|
|
f4d4: b530 push {r4, r5, lr}
|
|
f4d6: b087 sub sp, #28
|
|
f4d8: 460c mov r4, r1
|
|
f4da: 4615 mov r5, r2
|
|
(void)decoder; /*Unused*/
|
|
|
|
lv_img_src_t src_type = lv_img_src_get_type(src);
|
|
f4dc: 4608 mov r0, r1
|
|
f4de: 4b33 ldr r3, [pc, #204] ; (f5ac <lv_img_decoder_built_in_info+0xd8>)
|
|
f4e0: 4798 blx r3
|
|
if(src_type == LV_IMG_SRC_VARIABLE) {
|
|
f4e2: b9d8 cbnz r0, f51c <lv_img_decoder_built_in_info+0x48>
|
|
lv_img_cf_t cf = ((lv_img_dsc_t *)src)->header.cf;
|
|
f4e4: 7823 ldrb r3, [r4, #0]
|
|
f4e6: f3c3 0304 ubfx r3, r3, #0, #5
|
|
if(cf < CF_BUILT_IN_FIRST || cf > CF_BUILT_IN_LAST) return LV_RES_INV;
|
|
f4ea: 3b04 subs r3, #4
|
|
f4ec: b2db uxtb r3, r3
|
|
f4ee: 2b0a cmp r3, #10
|
|
f4f0: d859 bhi.n f5a6 <lv_img_decoder_built_in_info+0xd2>
|
|
|
|
header->w = ((lv_img_dsc_t *)src)->header.w;
|
|
f4f2: 6823 ldr r3, [r4, #0]
|
|
f4f4: f3c3 238a ubfx r3, r3, #10, #11
|
|
f4f8: 682a ldr r2, [r5, #0]
|
|
f4fa: f363 2294 bfi r2, r3, #10, #11
|
|
f4fe: 602a str r2, [r5, #0]
|
|
header->h = ((lv_img_dsc_t *)src)->header.h;
|
|
f500: 8863 ldrh r3, [r4, #2]
|
|
f502: f3c3 134a ubfx r3, r3, #5, #11
|
|
f506: 886a ldrh r2, [r5, #2]
|
|
f508: f363 124f bfi r2, r3, #5, #11
|
|
f50c: 806a strh r2, [r5, #2]
|
|
header->cf = ((lv_img_dsc_t *)src)->header.cf;
|
|
f50e: 7822 ldrb r2, [r4, #0]
|
|
f510: 782b ldrb r3, [r5, #0]
|
|
f512: f362 0304 bfi r3, r2, #0, #5
|
|
f516: 702b strb r3, [r5, #0]
|
|
}
|
|
else {
|
|
LV_LOG_WARN("Image get info found unknown src type");
|
|
return LV_RES_INV;
|
|
}
|
|
return LV_RES_OK;
|
|
f518: 2001 movs r0, #1
|
|
f51a: e00d b.n f538 <lv_img_decoder_built_in_info+0x64>
|
|
else if(src_type == LV_IMG_SRC_FILE) {
|
|
f51c: 2801 cmp r0, #1
|
|
f51e: d00d beq.n f53c <lv_img_decoder_built_in_info+0x68>
|
|
else if(src_type == LV_IMG_SRC_SYMBOL) {
|
|
f520: 2802 cmp r0, #2
|
|
f522: d032 beq.n f58a <lv_img_decoder_built_in_info+0xb6>
|
|
LV_LOG_WARN("Image get info found unknown src type");
|
|
f524: 4b22 ldr r3, [pc, #136] ; (f5b0 <lv_img_decoder_built_in_info+0xdc>)
|
|
f526: 9300 str r3, [sp, #0]
|
|
f528: 4b22 ldr r3, [pc, #136] ; (f5b4 <lv_img_decoder_built_in_info+0xe0>)
|
|
f52a: f44f 729a mov.w r2, #308 ; 0x134
|
|
f52e: 4922 ldr r1, [pc, #136] ; (f5b8 <lv_img_decoder_built_in_info+0xe4>)
|
|
f530: 2002 movs r0, #2
|
|
f532: 4c22 ldr r4, [pc, #136] ; (f5bc <lv_img_decoder_built_in_info+0xe8>)
|
|
f534: 47a0 blx r4
|
|
return LV_RES_INV;
|
|
f536: 2000 movs r0, #0
|
|
}
|
|
f538: b007 add sp, #28
|
|
f53a: bd30 pop {r4, r5, pc}
|
|
res = lv_fs_open(&file, src, LV_FS_MODE_RD);
|
|
f53c: 2202 movs r2, #2
|
|
f53e: 4621 mov r1, r4
|
|
f540: a804 add r0, sp, #16
|
|
f542: 4b1f ldr r3, [pc, #124] ; (f5c0 <lv_img_decoder_built_in_info+0xec>)
|
|
f544: 4798 blx r3
|
|
if(res == LV_FS_RES_OK) {
|
|
f546: b138 cbz r0, f558 <lv_img_decoder_built_in_info+0x84>
|
|
if(header->cf < CF_BUILT_IN_FIRST || header->cf > CF_BUILT_IN_LAST) return LV_RES_INV;
|
|
f548: 782b ldrb r3, [r5, #0]
|
|
f54a: 331c adds r3, #28
|
|
f54c: f003 031f and.w r3, r3, #31
|
|
f550: 2b0a cmp r3, #10
|
|
f552: d818 bhi.n f586 <lv_img_decoder_built_in_info+0xb2>
|
|
return LV_RES_OK;
|
|
f554: 2001 movs r0, #1
|
|
f556: e7ef b.n f538 <lv_img_decoder_built_in_info+0x64>
|
|
res = lv_fs_read(&file, header, sizeof(lv_img_header_t), &rn);
|
|
f558: ab03 add r3, sp, #12
|
|
f55a: 2204 movs r2, #4
|
|
f55c: 4629 mov r1, r5
|
|
f55e: a804 add r0, sp, #16
|
|
f560: 4c18 ldr r4, [pc, #96] ; (f5c4 <lv_img_decoder_built_in_info+0xf0>)
|
|
f562: 47a0 blx r4
|
|
f564: 4604 mov r4, r0
|
|
lv_fs_close(&file);
|
|
f566: a804 add r0, sp, #16
|
|
f568: 4b17 ldr r3, [pc, #92] ; (f5c8 <lv_img_decoder_built_in_info+0xf4>)
|
|
f56a: 4798 blx r3
|
|
if(res != LV_FS_RES_OK || rn != sizeof(lv_img_header_t)) {
|
|
f56c: b914 cbnz r4, f574 <lv_img_decoder_built_in_info+0xa0>
|
|
f56e: 9b03 ldr r3, [sp, #12]
|
|
f570: 2b04 cmp r3, #4
|
|
f572: d0e9 beq.n f548 <lv_img_decoder_built_in_info+0x74>
|
|
LV_LOG_WARN("Image get info get read file header");
|
|
f574: 4b15 ldr r3, [pc, #84] ; (f5cc <lv_img_decoder_built_in_info+0xf8>)
|
|
f576: 9300 str r3, [sp, #0]
|
|
f578: 4b0e ldr r3, [pc, #56] ; (f5b4 <lv_img_decoder_built_in_info+0xe0>)
|
|
f57a: f240 1221 movw r2, #289 ; 0x121
|
|
f57e: 490e ldr r1, [pc, #56] ; (f5b8 <lv_img_decoder_built_in_info+0xe4>)
|
|
f580: 2002 movs r0, #2
|
|
f582: 4c0e ldr r4, [pc, #56] ; (f5bc <lv_img_decoder_built_in_info+0xe8>)
|
|
f584: 47a0 blx r4
|
|
return LV_RES_INV;
|
|
f586: 2000 movs r0, #0
|
|
f588: e7d6 b.n f538 <lv_img_decoder_built_in_info+0x64>
|
|
header->w = 1;
|
|
f58a: 682b ldr r3, [r5, #0]
|
|
f58c: 2001 movs r0, #1
|
|
f58e: f360 2394 bfi r3, r0, #10, #11
|
|
f592: 602b str r3, [r5, #0]
|
|
header->h = 1;
|
|
f594: 0c1a lsrs r2, r3, #16
|
|
f596: f360 124f bfi r2, r0, #5, #11
|
|
f59a: 806a strh r2, [r5, #2]
|
|
header->cf = LV_IMG_CF_ALPHA_1BIT;
|
|
f59c: 220b movs r2, #11
|
|
f59e: f362 0304 bfi r3, r2, #0, #5
|
|
f5a2: 702b strb r3, [r5, #0]
|
|
f5a4: e7c8 b.n f538 <lv_img_decoder_built_in_info+0x64>
|
|
if(cf < CF_BUILT_IN_FIRST || cf > CF_BUILT_IN_LAST) return LV_RES_INV;
|
|
f5a6: 2000 movs r0, #0
|
|
f5a8: e7c6 b.n f538 <lv_img_decoder_built_in_info+0x64>
|
|
f5aa: bf00 nop
|
|
f5ac: 00009951 .word 0x00009951
|
|
f5b0: 00025354 .word 0x00025354
|
|
f5b4: 00025234 .word 0x00025234
|
|
f5b8: 00025300 .word 0x00025300
|
|
f5bc: 00012245 .word 0x00012245
|
|
f5c0: 00011d35 .word 0x00011d35
|
|
f5c4: 00011ca5 .word 0x00011ca5
|
|
f5c8: 00011c75 .word 0x00011c75
|
|
f5cc: 00025330 .word 0x00025330
|
|
|
|
0000f5d0 <lv_img_decoder_built_in_close>:
|
|
* Close the pending decoding. Free resources etc.
|
|
* @param decoder pointer to the decoder the function associated with
|
|
* @param dsc pointer to decoder descriptor
|
|
*/
|
|
void lv_img_decoder_built_in_close(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t * dsc)
|
|
{
|
|
f5d0: b538 push {r3, r4, r5, lr}
|
|
(void)decoder; /*Unused*/
|
|
|
|
lv_img_decoder_built_in_data_t * user_data = dsc->user_data;
|
|
f5d2: 69cc ldr r4, [r1, #28]
|
|
if(user_data) {
|
|
f5d4: b1a4 cbz r4, f600 <lv_img_decoder_built_in_close+0x30>
|
|
f5d6: 460d mov r5, r1
|
|
#if LV_USE_FILESYSTEM
|
|
if(user_data->f) {
|
|
f5d8: 6820 ldr r0, [r4, #0]
|
|
f5da: b120 cbz r0, f5e6 <lv_img_decoder_built_in_close+0x16>
|
|
lv_fs_close(user_data->f);
|
|
f5dc: 4b09 ldr r3, [pc, #36] ; (f604 <lv_img_decoder_built_in_close+0x34>)
|
|
f5de: 4798 blx r3
|
|
lv_mem_free(user_data->f);
|
|
f5e0: 6820 ldr r0, [r4, #0]
|
|
f5e2: 4b09 ldr r3, [pc, #36] ; (f608 <lv_img_decoder_built_in_close+0x38>)
|
|
f5e4: 4798 blx r3
|
|
}
|
|
#endif
|
|
if(user_data->palette) lv_mem_free(user_data->palette);
|
|
f5e6: 6860 ldr r0, [r4, #4]
|
|
f5e8: b108 cbz r0, f5ee <lv_img_decoder_built_in_close+0x1e>
|
|
f5ea: 4b07 ldr r3, [pc, #28] ; (f608 <lv_img_decoder_built_in_close+0x38>)
|
|
f5ec: 4798 blx r3
|
|
if(user_data->opa) lv_mem_free(user_data->opa);
|
|
f5ee: 68a0 ldr r0, [r4, #8]
|
|
f5f0: b108 cbz r0, f5f6 <lv_img_decoder_built_in_close+0x26>
|
|
f5f2: 4b05 ldr r3, [pc, #20] ; (f608 <lv_img_decoder_built_in_close+0x38>)
|
|
f5f4: 4798 blx r3
|
|
|
|
lv_mem_free(user_data);
|
|
f5f6: 4620 mov r0, r4
|
|
f5f8: 4b03 ldr r3, [pc, #12] ; (f608 <lv_img_decoder_built_in_close+0x38>)
|
|
f5fa: 4798 blx r3
|
|
|
|
dsc->user_data = NULL;
|
|
f5fc: 2300 movs r3, #0
|
|
f5fe: 61eb str r3, [r5, #28]
|
|
f600: bd38 pop {r3, r4, r5, pc}
|
|
f602: bf00 nop
|
|
f604: 00011c75 .word 0x00011c75
|
|
f608: 000124ad .word 0x000124ad
|
|
|
|
0000f60c <lv_img_decoder_built_in_open>:
|
|
{
|
|
f60c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
f610: b085 sub sp, #20
|
|
f612: 4605 mov r5, r0
|
|
f614: 460c mov r4, r1
|
|
if(dsc->src_type == LV_IMG_SRC_FILE) {
|
|
f616: 7a8b ldrb r3, [r1, #10]
|
|
f618: 2b01 cmp r3, #1
|
|
f61a: d016 beq.n f64a <lv_img_decoder_built_in_open+0x3e>
|
|
else if(dsc->src_type == LV_IMG_SRC_VARIABLE) {
|
|
f61c: 2b00 cmp r3, #0
|
|
f61e: f040 81aa bne.w f976 <lv_img_decoder_built_in_open+0x36a>
|
|
if(((lv_img_dsc_t *)dsc->src)->data == NULL) {
|
|
f622: 684b ldr r3, [r1, #4]
|
|
f624: 689b ldr r3, [r3, #8]
|
|
f626: 2b00 cmp r3, #0
|
|
f628: f000 81a3 beq.w f972 <lv_img_decoder_built_in_open+0x366>
|
|
lv_img_cf_t cf = dsc->header.cf;
|
|
f62c: 7b08 ldrb r0, [r1, #12]
|
|
f62e: f000 001f and.w r0, r0, #31
|
|
if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) {
|
|
f632: 1f03 subs r3, r0, #4
|
|
f634: b2db uxtb r3, r3
|
|
f636: 2b02 cmp r3, #2
|
|
f638: f200 8085 bhi.w f746 <lv_img_decoder_built_in_open+0x13a>
|
|
dsc->img_data = ((lv_img_dsc_t *)dsc->src)->data;
|
|
f63c: 6863 ldr r3, [r4, #4]
|
|
f63e: 689b ldr r3, [r3, #8]
|
|
f640: 6123 str r3, [r4, #16]
|
|
return LV_RES_OK;
|
|
f642: 2001 movs r0, #1
|
|
}
|
|
f644: b005 add sp, #20
|
|
f646: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV;
|
|
f64a: 6848 ldr r0, [r1, #4]
|
|
f64c: 4b96 ldr r3, [pc, #600] ; (f8a8 <lv_img_decoder_built_in_open+0x29c>)
|
|
f64e: 4798 blx r3
|
|
f650: 4996 ldr r1, [pc, #600] ; (f8ac <lv_img_decoder_built_in_open+0x2a0>)
|
|
f652: 4b97 ldr r3, [pc, #604] ; (f8b0 <lv_img_decoder_built_in_open+0x2a4>)
|
|
f654: 4798 blx r3
|
|
f656: 2800 cmp r0, #0
|
|
f658: d12a bne.n f6b0 <lv_img_decoder_built_in_open+0xa4>
|
|
lv_fs_res_t res = lv_fs_open(&f, dsc->src, LV_FS_MODE_RD);
|
|
f65a: 2202 movs r2, #2
|
|
f65c: 6861 ldr r1, [r4, #4]
|
|
f65e: a802 add r0, sp, #8
|
|
f660: 4b94 ldr r3, [pc, #592] ; (f8b4 <lv_img_decoder_built_in_open+0x2a8>)
|
|
f662: 4798 blx r3
|
|
if(res != LV_FS_RES_OK) {
|
|
f664: b9d8 cbnz r0, f69e <lv_img_decoder_built_in_open+0x92>
|
|
if(dsc->user_data == NULL) {
|
|
f666: 69e3 ldr r3, [r4, #28]
|
|
f668: b323 cbz r3, f6b4 <lv_img_decoder_built_in_open+0xa8>
|
|
lv_img_decoder_built_in_data_t * user_data = dsc->user_data;
|
|
f66a: 69e6 ldr r6, [r4, #28]
|
|
user_data->f = lv_mem_alloc(sizeof(f));
|
|
f66c: 2008 movs r0, #8
|
|
f66e: 4b92 ldr r3, [pc, #584] ; (f8b8 <lv_img_decoder_built_in_open+0x2ac>)
|
|
f670: 4798 blx r3
|
|
f672: 6030 str r0, [r6, #0]
|
|
LV_ASSERT_MEM(user_data->f);
|
|
f674: 4b91 ldr r3, [pc, #580] ; (f8bc <lv_img_decoder_built_in_open+0x2b0>)
|
|
f676: 4798 blx r3
|
|
f678: 2800 cmp r0, #0
|
|
f67a: d040 beq.n f6fe <lv_img_decoder_built_in_open+0xf2>
|
|
if(user_data->f == NULL) {
|
|
f67c: 6833 ldr r3, [r6, #0]
|
|
f67e: 2b00 cmp r3, #0
|
|
f680: d14b bne.n f71a <lv_img_decoder_built_in_open+0x10e>
|
|
LV_LOG_ERROR("img_decoder_built_in_open: out of memory");
|
|
f682: 4b8f ldr r3, [pc, #572] ; (f8c0 <lv_img_decoder_built_in_open+0x2b4>)
|
|
f684: 9300 str r3, [sp, #0]
|
|
f686: 4b8f ldr r3, [pc, #572] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f688: f240 125f movw r2, #351 ; 0x15f
|
|
f68c: 498e ldr r1, [pc, #568] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f68e: 2003 movs r0, #3
|
|
f690: 4e8e ldr r6, [pc, #568] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f692: 47b0 blx r6
|
|
lv_img_decoder_built_in_close(decoder, dsc);
|
|
f694: 4621 mov r1, r4
|
|
f696: 4628 mov r0, r5
|
|
f698: 4b8d ldr r3, [pc, #564] ; (f8d0 <lv_img_decoder_built_in_open+0x2c4>)
|
|
f69a: 4798 blx r3
|
|
return LV_RES_INV;
|
|
f69c: e008 b.n f6b0 <lv_img_decoder_built_in_open+0xa4>
|
|
LV_LOG_WARN("Built-in image decoder can't open the file");
|
|
f69e: 4b8d ldr r3, [pc, #564] ; (f8d4 <lv_img_decoder_built_in_open+0x2c8>)
|
|
f6a0: 9300 str r3, [sp, #0]
|
|
f6a2: 4b88 ldr r3, [pc, #544] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f6a4: f44f 72a6 mov.w r2, #332 ; 0x14c
|
|
f6a8: 4987 ldr r1, [pc, #540] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f6aa: 2002 movs r0, #2
|
|
f6ac: 4c87 ldr r4, [pc, #540] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f6ae: 47a0 blx r4
|
|
if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV;
|
|
f6b0: 2000 movs r0, #0
|
|
f6b2: e7c7 b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t));
|
|
f6b4: 200c movs r0, #12
|
|
f6b6: 4b80 ldr r3, [pc, #512] ; (f8b8 <lv_img_decoder_built_in_open+0x2ac>)
|
|
f6b8: 4798 blx r3
|
|
f6ba: 61e0 str r0, [r4, #28]
|
|
LV_ASSERT_MEM(dsc->user_data);
|
|
f6bc: 4b7f ldr r3, [pc, #508] ; (f8bc <lv_img_decoder_built_in_open+0x2b0>)
|
|
f6be: 4798 blx r3
|
|
f6c0: b968 cbnz r0, f6de <lv_img_decoder_built_in_open+0xd2>
|
|
f6c2: 4b80 ldr r3, [pc, #512] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f6c4: 9300 str r3, [sp, #0]
|
|
f6c6: f240 1253 movw r2, #339 ; 0x153
|
|
f6ca: 497f ldr r1, [pc, #508] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f6cc: 2003 movs r0, #3
|
|
f6ce: 4d7f ldr r5, [pc, #508] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f6d0: 47a8 blx r5
|
|
f6d2: 69e2 ldr r2, [r4, #28]
|
|
f6d4: 2300 movs r3, #0
|
|
f6d6: 4880 ldr r0, [pc, #512] ; (f8d8 <lv_img_decoder_built_in_open+0x2cc>)
|
|
f6d8: 4980 ldr r1, [pc, #512] ; (f8dc <lv_img_decoder_built_in_open+0x2d0>)
|
|
f6da: 4788 blx r1
|
|
f6dc: e7fe b.n f6dc <lv_img_decoder_built_in_open+0xd0>
|
|
if(dsc->user_data == NULL) {
|
|
f6de: 69e0 ldr r0, [r4, #28]
|
|
f6e0: b948 cbnz r0, f6f6 <lv_img_decoder_built_in_open+0xea>
|
|
LV_LOG_ERROR("img_decoder_built_in_open: out of memory");
|
|
f6e2: 4b77 ldr r3, [pc, #476] ; (f8c0 <lv_img_decoder_built_in_open+0x2b4>)
|
|
f6e4: 9300 str r3, [sp, #0]
|
|
f6e6: 4b77 ldr r3, [pc, #476] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f6e8: f240 1255 movw r2, #341 ; 0x155
|
|
f6ec: 4976 ldr r1, [pc, #472] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f6ee: 2003 movs r0, #3
|
|
f6f0: 4c76 ldr r4, [pc, #472] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f6f2: 47a0 blx r4
|
|
return LV_RES_INV;
|
|
f6f4: e7dc b.n f6b0 <lv_img_decoder_built_in_open+0xa4>
|
|
_lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t));
|
|
f6f6: 210c movs r1, #12
|
|
f6f8: 4b79 ldr r3, [pc, #484] ; (f8e0 <lv_img_decoder_built_in_open+0x2d4>)
|
|
f6fa: 4798 blx r3
|
|
f6fc: e7b5 b.n f66a <lv_img_decoder_built_in_open+0x5e>
|
|
LV_ASSERT_MEM(user_data->f);
|
|
f6fe: 4b71 ldr r3, [pc, #452] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f700: 9300 str r3, [sp, #0]
|
|
f702: f240 125d movw r2, #349 ; 0x15d
|
|
f706: 4970 ldr r1, [pc, #448] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f708: 2003 movs r0, #3
|
|
f70a: 4c70 ldr r4, [pc, #448] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f70c: 47a0 blx r4
|
|
f70e: 6832 ldr r2, [r6, #0]
|
|
f710: 2300 movs r3, #0
|
|
f712: 4871 ldr r0, [pc, #452] ; (f8d8 <lv_img_decoder_built_in_open+0x2cc>)
|
|
f714: 4971 ldr r1, [pc, #452] ; (f8dc <lv_img_decoder_built_in_open+0x2d0>)
|
|
f716: 4788 blx r1
|
|
f718: e7fe b.n f718 <lv_img_decoder_built_in_open+0x10c>
|
|
f71a: f10d 0207 add.w r2, sp, #7
|
|
f71e: f103 0108 add.w r1, r3, #8
|
|
f722: f812 0f01 ldrb.w r0, [r2, #1]!
|
|
f726: f803 0b01 strb.w r0, [r3], #1
|
|
while(len) {
|
|
f72a: 428b cmp r3, r1
|
|
f72c: d1f9 bne.n f722 <lv_img_decoder_built_in_open+0x116>
|
|
lv_img_cf_t cf = dsc->header.cf;
|
|
f72e: 7b20 ldrb r0, [r4, #12]
|
|
f730: f000 001f and.w r0, r0, #31
|
|
if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) {
|
|
f734: 1f03 subs r3, r0, #4
|
|
f736: b2db uxtb r3, r3
|
|
f738: 2b02 cmp r3, #2
|
|
f73a: d804 bhi.n f746 <lv_img_decoder_built_in_open+0x13a>
|
|
if(dsc->src_type == LV_IMG_SRC_VARIABLE) {
|
|
f73c: 7aa3 ldrb r3, [r4, #10]
|
|
f73e: 2b00 cmp r3, #0
|
|
f740: f43f af7c beq.w f63c <lv_img_decoder_built_in_open+0x30>
|
|
f744: e11f b.n f986 <lv_img_decoder_built_in_open+0x37a>
|
|
else if(cf == LV_IMG_CF_INDEXED_1BIT || cf == LV_IMG_CF_INDEXED_2BIT || cf == LV_IMG_CF_INDEXED_4BIT ||
|
|
f746: 1fc3 subs r3, r0, #7
|
|
f748: b2db uxtb r3, r3
|
|
f74a: 2b03 cmp r3, #3
|
|
f74c: d909 bls.n f762 <lv_img_decoder_built_in_open+0x156>
|
|
else if(cf == LV_IMG_CF_ALPHA_1BIT || cf == LV_IMG_CF_ALPHA_2BIT || cf == LV_IMG_CF_ALPHA_4BIT ||
|
|
f74e: f1a0 030b sub.w r3, r0, #11
|
|
f752: b2db uxtb r3, r3
|
|
f754: 2b03 cmp r3, #3
|
|
f756: f200 80fd bhi.w f954 <lv_img_decoder_built_in_open+0x348>
|
|
dsc->img_data = NULL;
|
|
f75a: 2300 movs r3, #0
|
|
f75c: 6123 str r3, [r4, #16]
|
|
return LV_RES_OK; /*Nothing to process*/
|
|
f75e: 2001 movs r0, #1
|
|
f760: e770 b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
uint8_t px_size = lv_img_cf_get_px_size(cf);
|
|
f762: 4b60 ldr r3, [pc, #384] ; (f8e4 <lv_img_decoder_built_in_open+0x2d8>)
|
|
f764: 4798 blx r3
|
|
f766: 4607 mov r7, r0
|
|
if(dsc->user_data == NULL) {
|
|
f768: 69e3 ldr r3, [r4, #28]
|
|
f76a: b1bb cbz r3, f79c <lv_img_decoder_built_in_open+0x190>
|
|
lv_img_decoder_built_in_data_t * user_data = dsc->user_data;
|
|
f76c: 69e6 ldr r6, [r4, #28]
|
|
user_data->palette = lv_mem_alloc(palette_size * sizeof(lv_color_t));
|
|
f76e: 2002 movs r0, #2
|
|
f770: 40b8 lsls r0, r7
|
|
f772: 4b51 ldr r3, [pc, #324] ; (f8b8 <lv_img_decoder_built_in_open+0x2ac>)
|
|
f774: 4798 blx r3
|
|
f776: 6070 str r0, [r6, #4]
|
|
LV_ASSERT_MEM(user_data->palette);
|
|
f778: 4b50 ldr r3, [pc, #320] ; (f8bc <lv_img_decoder_built_in_open+0x2b0>)
|
|
f77a: 4798 blx r3
|
|
f77c: 2800 cmp r0, #0
|
|
f77e: d137 bne.n f7f0 <lv_img_decoder_built_in_open+0x1e4>
|
|
f780: 4b50 ldr r3, [pc, #320] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f782: 9300 str r3, [sp, #0]
|
|
f784: f240 1297 movw r2, #407 ; 0x197
|
|
f788: 494f ldr r1, [pc, #316] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f78a: 2003 movs r0, #3
|
|
f78c: 4c4f ldr r4, [pc, #316] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f78e: 47a0 blx r4
|
|
f790: 6872 ldr r2, [r6, #4]
|
|
f792: 2300 movs r3, #0
|
|
f794: 4850 ldr r0, [pc, #320] ; (f8d8 <lv_img_decoder_built_in_open+0x2cc>)
|
|
f796: 4951 ldr r1, [pc, #324] ; (f8dc <lv_img_decoder_built_in_open+0x2d0>)
|
|
f798: 4788 blx r1
|
|
f79a: e7fe b.n f79a <lv_img_decoder_built_in_open+0x18e>
|
|
dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t));
|
|
f79c: 200c movs r0, #12
|
|
f79e: 4b46 ldr r3, [pc, #280] ; (f8b8 <lv_img_decoder_built_in_open+0x2ac>)
|
|
f7a0: 4798 blx r3
|
|
f7a2: 61e0 str r0, [r4, #28]
|
|
LV_ASSERT_MEM(dsc->user_data);
|
|
f7a4: 4b45 ldr r3, [pc, #276] ; (f8bc <lv_img_decoder_built_in_open+0x2b0>)
|
|
f7a6: 4798 blx r3
|
|
f7a8: b968 cbnz r0, f7c6 <lv_img_decoder_built_in_open+0x1ba>
|
|
f7aa: 4b46 ldr r3, [pc, #280] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f7ac: 9300 str r3, [sp, #0]
|
|
f7ae: f44f 72c6 mov.w r2, #396 ; 0x18c
|
|
f7b2: 4945 ldr r1, [pc, #276] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f7b4: 2003 movs r0, #3
|
|
f7b6: 4d45 ldr r5, [pc, #276] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f7b8: 47a8 blx r5
|
|
f7ba: 69e2 ldr r2, [r4, #28]
|
|
f7bc: 2300 movs r3, #0
|
|
f7be: 4846 ldr r0, [pc, #280] ; (f8d8 <lv_img_decoder_built_in_open+0x2cc>)
|
|
f7c0: 4946 ldr r1, [pc, #280] ; (f8dc <lv_img_decoder_built_in_open+0x2d0>)
|
|
f7c2: 4788 blx r1
|
|
f7c4: e7fe b.n f7c4 <lv_img_decoder_built_in_open+0x1b8>
|
|
if(dsc->user_data == NULL) {
|
|
f7c6: 69e0 ldr r0, [r4, #28]
|
|
f7c8: b970 cbnz r0, f7e8 <lv_img_decoder_built_in_open+0x1dc>
|
|
LV_LOG_ERROR("img_decoder_built_in_open: out of memory");
|
|
f7ca: 4b3d ldr r3, [pc, #244] ; (f8c0 <lv_img_decoder_built_in_open+0x2b4>)
|
|
f7cc: 9300 str r3, [sp, #0]
|
|
f7ce: 4b3d ldr r3, [pc, #244] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f7d0: f44f 72c7 mov.w r2, #398 ; 0x18e
|
|
f7d4: 493c ldr r1, [pc, #240] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f7d6: 2003 movs r0, #3
|
|
f7d8: 4e3c ldr r6, [pc, #240] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f7da: 47b0 blx r6
|
|
lv_img_decoder_built_in_close(decoder, dsc);
|
|
f7dc: 4621 mov r1, r4
|
|
f7de: 4628 mov r0, r5
|
|
f7e0: 4b3b ldr r3, [pc, #236] ; (f8d0 <lv_img_decoder_built_in_open+0x2c4>)
|
|
f7e2: 4798 blx r3
|
|
return LV_RES_INV;
|
|
f7e4: 2000 movs r0, #0
|
|
f7e6: e72d b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
_lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t));
|
|
f7e8: 210c movs r1, #12
|
|
f7ea: 4b3d ldr r3, [pc, #244] ; (f8e0 <lv_img_decoder_built_in_open+0x2d4>)
|
|
f7ec: 4798 blx r3
|
|
f7ee: e7bd b.n f76c <lv_img_decoder_built_in_open+0x160>
|
|
uint32_t palette_size = 1 << px_size;
|
|
f7f0: 2301 movs r3, #1
|
|
f7f2: fa03 f707 lsl.w r7, r3, r7
|
|
user_data->opa = lv_mem_alloc(palette_size * sizeof(lv_opa_t));
|
|
f7f6: 4638 mov r0, r7
|
|
f7f8: 4b2f ldr r3, [pc, #188] ; (f8b8 <lv_img_decoder_built_in_open+0x2ac>)
|
|
f7fa: 4798 blx r3
|
|
f7fc: 60b0 str r0, [r6, #8]
|
|
LV_ASSERT_MEM(user_data->opa);
|
|
f7fe: 4b2f ldr r3, [pc, #188] ; (f8bc <lv_img_decoder_built_in_open+0x2b0>)
|
|
f800: 4798 blx r3
|
|
f802: 2800 cmp r0, #0
|
|
f804: d032 beq.n f86c <lv_img_decoder_built_in_open+0x260>
|
|
if(user_data->palette == NULL || user_data->opa == NULL) {
|
|
f806: 6873 ldr r3, [r6, #4]
|
|
f808: 2b00 cmp r3, #0
|
|
f80a: d03d beq.n f888 <lv_img_decoder_built_in_open+0x27c>
|
|
f80c: 68b3 ldr r3, [r6, #8]
|
|
f80e: 2b00 cmp r3, #0
|
|
f810: d03a beq.n f888 <lv_img_decoder_built_in_open+0x27c>
|
|
if(dsc->src_type == LV_IMG_SRC_FILE) {
|
|
f812: 7aa3 ldrb r3, [r4, #10]
|
|
f814: 2b01 cmp r3, #1
|
|
f816: d067 beq.n f8e8 <lv_img_decoder_built_in_open+0x2dc>
|
|
lv_color32_t * palette_p = (lv_color32_t *)((lv_img_dsc_t *)dsc->src)->data;
|
|
f818: 6863 ldr r3, [r4, #4]
|
|
f81a: 689a ldr r2, [r3, #8]
|
|
for(i = 0; i < palette_size; i++) {
|
|
f81c: 2f00 cmp r7, #0
|
|
f81e: f000 8095 beq.w f94c <lv_img_decoder_built_in_open+0x340>
|
|
f822: 2300 movs r3, #0
|
|
user_data->palette[i] = lv_color_make(palette_p[i].ch.red, palette_p[i].ch.green, palette_p[i].ch.blue);
|
|
f824: 6870 ldr r0, [r6, #4]
|
|
f826: eb00 0c43 add.w ip, r0, r3, lsl #1
|
|
#define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/
|
|
#endif
|
|
|
|
static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b)
|
|
{
|
|
return LV_COLOR_MAKE(r, g, b);
|
|
f82a: f892 e001 ldrb.w lr, [r2, #1]
|
|
f82e: ea4f 0e9e mov.w lr, lr, lsr #2
|
|
f832: 7895 ldrb r5, [r2, #2]
|
|
f834: 08ed lsrs r5, r5, #3
|
|
f836: 7811 ldrb r1, [r2, #0]
|
|
f838: 08c9 lsrs r1, r1, #3
|
|
f83a: f810 8013 ldrb.w r8, [r0, r3, lsl #1]
|
|
f83e: f361 0804 bfi r8, r1, #0, #5
|
|
f842: f800 8013 strb.w r8, [r0, r3, lsl #1]
|
|
f846: f830 1013 ldrh.w r1, [r0, r3, lsl #1]
|
|
f84a: f36e 114a bfi r1, lr, #5, #6
|
|
f84e: f820 1013 strh.w r1, [r0, r3, lsl #1]
|
|
f852: 0a09 lsrs r1, r1, #8
|
|
f854: f365 01c7 bfi r1, r5, #3, #5
|
|
f858: f88c 1001 strb.w r1, [ip, #1]
|
|
user_data->opa[i] = palette_p[i].ch.alpha;
|
|
f85c: 78d0 ldrb r0, [r2, #3]
|
|
f85e: 68b1 ldr r1, [r6, #8]
|
|
f860: 54c8 strb r0, [r1, r3]
|
|
for(i = 0; i < palette_size; i++) {
|
|
f862: 3301 adds r3, #1
|
|
f864: 3204 adds r2, #4
|
|
f866: 429f cmp r7, r3
|
|
f868: d1dc bne.n f824 <lv_img_decoder_built_in_open+0x218>
|
|
f86a: e06f b.n f94c <lv_img_decoder_built_in_open+0x340>
|
|
LV_ASSERT_MEM(user_data->opa);
|
|
f86c: 4b15 ldr r3, [pc, #84] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f86e: 9300 str r3, [sp, #0]
|
|
f870: f240 1299 movw r2, #409 ; 0x199
|
|
f874: 4914 ldr r1, [pc, #80] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f876: 2003 movs r0, #3
|
|
f878: 4c14 ldr r4, [pc, #80] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f87a: 47a0 blx r4
|
|
f87c: 68b2 ldr r2, [r6, #8]
|
|
f87e: 2300 movs r3, #0
|
|
f880: 4815 ldr r0, [pc, #84] ; (f8d8 <lv_img_decoder_built_in_open+0x2cc>)
|
|
f882: 4916 ldr r1, [pc, #88] ; (f8dc <lv_img_decoder_built_in_open+0x2d0>)
|
|
f884: 4788 blx r1
|
|
f886: e7fe b.n f886 <lv_img_decoder_built_in_open+0x27a>
|
|
LV_LOG_ERROR("img_decoder_built_in_open: out of memory");
|
|
f888: 4b0d ldr r3, [pc, #52] ; (f8c0 <lv_img_decoder_built_in_open+0x2b4>)
|
|
f88a: 9300 str r3, [sp, #0]
|
|
f88c: 4b0d ldr r3, [pc, #52] ; (f8c4 <lv_img_decoder_built_in_open+0x2b8>)
|
|
f88e: f240 129b movw r2, #411 ; 0x19b
|
|
f892: 490d ldr r1, [pc, #52] ; (f8c8 <lv_img_decoder_built_in_open+0x2bc>)
|
|
f894: 2003 movs r0, #3
|
|
f896: 4e0d ldr r6, [pc, #52] ; (f8cc <lv_img_decoder_built_in_open+0x2c0>)
|
|
f898: 47b0 blx r6
|
|
lv_img_decoder_built_in_close(decoder, dsc);
|
|
f89a: 4621 mov r1, r4
|
|
f89c: 4628 mov r0, r5
|
|
f89e: 4b0c ldr r3, [pc, #48] ; (f8d0 <lv_img_decoder_built_in_open+0x2c4>)
|
|
f8a0: 4798 blx r3
|
|
return LV_RES_INV;
|
|
f8a2: 2000 movs r0, #0
|
|
f8a4: e6ce b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
f8a6: bf00 nop
|
|
f8a8: 00011e09 .word 0x00011e09
|
|
f8ac: 0002537c .word 0x0002537c
|
|
f8b0: 0001b4e3 .word 0x0001b4e3
|
|
f8b4: 00011d35 .word 0x00011d35
|
|
f8b8: 000123c5 .word 0x000123c5
|
|
f8bc: 00002299 .word 0x00002299
|
|
f8c0: 000253ac .word 0x000253ac
|
|
f8c4: 00025254 .word 0x00025254
|
|
f8c8: 00025300 .word 0x00025300
|
|
f8cc: 00012245 .word 0x00012245
|
|
f8d0: 0000f5d1 .word 0x0000f5d1
|
|
f8d4: 00025380 .word 0x00025380
|
|
f8d8: 00023fc0 .word 0x00023fc0
|
|
f8dc: 000022a1 .word 0x000022a1
|
|
f8e0: 00012b1f .word 0x00012b1f
|
|
f8e4: 00009669 .word 0x00009669
|
|
lv_fs_seek(user_data->f, 4); /*Skip the header*/
|
|
f8e8: 2104 movs r1, #4
|
|
f8ea: 6830 ldr r0, [r6, #0]
|
|
f8ec: 4b28 ldr r3, [pc, #160] ; (f990 <lv_img_decoder_built_in_open+0x384>)
|
|
f8ee: 4798 blx r3
|
|
for(i = 0; i < palette_size; i++) {
|
|
f8f0: b367 cbz r7, f94c <lv_img_decoder_built_in_open+0x340>
|
|
f8f2: 2500 movs r5, #0
|
|
lv_fs_read(user_data->f, &cur_color, sizeof(lv_color32_t), NULL);
|
|
f8f4: 46a9 mov r9, r5
|
|
f8f6: f8df 80b0 ldr.w r8, [pc, #176] ; f9a8 <lv_img_decoder_built_in_open+0x39c>
|
|
f8fa: 464b mov r3, r9
|
|
f8fc: 2204 movs r2, #4
|
|
f8fe: a902 add r1, sp, #8
|
|
f900: 6830 ldr r0, [r6, #0]
|
|
f902: 47c0 blx r8
|
|
user_data->palette[i] = lv_color_make(cur_color.ch.red, cur_color.ch.green, cur_color.ch.blue);
|
|
f904: 6872 ldr r2, [r6, #4]
|
|
f906: eb02 0e45 add.w lr, r2, r5, lsl #1
|
|
f90a: f89d 0009 ldrb.w r0, [sp, #9]
|
|
f90e: 0880 lsrs r0, r0, #2
|
|
f910: f89d 100a ldrb.w r1, [sp, #10]
|
|
f914: 08c9 lsrs r1, r1, #3
|
|
f916: f89d 3008 ldrb.w r3, [sp, #8]
|
|
f91a: 08db lsrs r3, r3, #3
|
|
f91c: f812 c015 ldrb.w ip, [r2, r5, lsl #1]
|
|
f920: f363 0c04 bfi ip, r3, #0, #5
|
|
f924: f802 c015 strb.w ip, [r2, r5, lsl #1]
|
|
f928: f832 3015 ldrh.w r3, [r2, r5, lsl #1]
|
|
f92c: f360 134a bfi r3, r0, #5, #6
|
|
f930: f822 3015 strh.w r3, [r2, r5, lsl #1]
|
|
f934: 0a1b lsrs r3, r3, #8
|
|
f936: f361 03c7 bfi r3, r1, #3, #5
|
|
f93a: f88e 3001 strb.w r3, [lr, #1]
|
|
user_data->opa[i] = cur_color.ch.alpha;
|
|
f93e: f89d 200b ldrb.w r2, [sp, #11]
|
|
f942: 68b3 ldr r3, [r6, #8]
|
|
f944: 555a strb r2, [r3, r5]
|
|
for(i = 0; i < palette_size; i++) {
|
|
f946: 3501 adds r5, #1
|
|
f948: 42af cmp r7, r5
|
|
f94a: d1d6 bne.n f8fa <lv_img_decoder_built_in_open+0x2ee>
|
|
dsc->img_data = NULL;
|
|
f94c: 2300 movs r3, #0
|
|
f94e: 6123 str r3, [r4, #16]
|
|
return LV_RES_OK;
|
|
f950: 2001 movs r0, #1
|
|
f952: e677 b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
lv_img_decoder_built_in_close(decoder, dsc);
|
|
f954: 4621 mov r1, r4
|
|
f956: 4628 mov r0, r5
|
|
f958: 4b0e ldr r3, [pc, #56] ; (f994 <lv_img_decoder_built_in_open+0x388>)
|
|
f95a: 4798 blx r3
|
|
LV_LOG_WARN("Image decoder open: unknown color format")
|
|
f95c: 4b0e ldr r3, [pc, #56] ; (f998 <lv_img_decoder_built_in_open+0x38c>)
|
|
f95e: 9300 str r3, [sp, #0]
|
|
f960: 4b0e ldr r3, [pc, #56] ; (f99c <lv_img_decoder_built_in_open+0x390>)
|
|
f962: f240 12d3 movw r2, #467 ; 0x1d3
|
|
f966: 490e ldr r1, [pc, #56] ; (f9a0 <lv_img_decoder_built_in_open+0x394>)
|
|
f968: 2002 movs r0, #2
|
|
f96a: 4c0e ldr r4, [pc, #56] ; (f9a4 <lv_img_decoder_built_in_open+0x398>)
|
|
f96c: 47a0 blx r4
|
|
return LV_RES_INV;
|
|
f96e: 2000 movs r0, #0
|
|
f970: e668 b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
return LV_RES_INV;
|
|
f972: 2000 movs r0, #0
|
|
f974: e666 b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
lv_img_cf_t cf = dsc->header.cf;
|
|
f976: 7b08 ldrb r0, [r1, #12]
|
|
f978: f000 001f and.w r0, r0, #31
|
|
if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) {
|
|
f97c: 1f03 subs r3, r0, #4
|
|
f97e: b2db uxtb r3, r3
|
|
f980: 2b02 cmp r3, #2
|
|
f982: f63f aee0 bhi.w f746 <lv_img_decoder_built_in_open+0x13a>
|
|
dsc->img_data = NULL;
|
|
f986: 2300 movs r3, #0
|
|
f988: 6123 str r3, [r4, #16]
|
|
return LV_RES_OK;
|
|
f98a: 2001 movs r0, #1
|
|
f98c: e65a b.n f644 <lv_img_decoder_built_in_open+0x38>
|
|
f98e: bf00 nop
|
|
f990: 00011ce1 .word 0x00011ce1
|
|
f994: 0000f5d1 .word 0x0000f5d1
|
|
f998: 000253d8 .word 0x000253d8
|
|
f99c: 00025254 .word 0x00025254
|
|
f9a0: 00025300 .word 0x00025300
|
|
f9a4: 00012245 .word 0x00012245
|
|
f9a8: 00011ca5 .word 0x00011ca5
|
|
|
|
0000f9ac <lv_img_decoder_built_in_read_line>:
|
|
{
|
|
f9ac: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
f9b0: b08b sub sp, #44 ; 0x2c
|
|
f9b2: 460d mov r5, r1
|
|
f9b4: 4614 mov r4, r2
|
|
f9b6: 469a mov sl, r3
|
|
f9b8: f9bd 6050 ldrsh.w r6, [sp, #80] ; 0x50
|
|
if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA ||
|
|
f9bc: 7b0b ldrb r3, [r1, #12]
|
|
f9be: f003 031f and.w r3, r3, #31
|
|
f9c2: 1f1a subs r2, r3, #4
|
|
f9c4: b2d2 uxtb r2, r2
|
|
f9c6: 2a02 cmp r2, #2
|
|
f9c8: d845 bhi.n fa56 <lv_img_decoder_built_in_read_line+0xaa>
|
|
if(dsc->src_type == LV_IMG_SRC_FILE) {
|
|
f9ca: 7a8b ldrb r3, [r1, #10]
|
|
f9cc: 2b01 cmp r3, #1
|
|
f9ce: d003 beq.n f9d8 <lv_img_decoder_built_in_read_line+0x2c>
|
|
lv_res_t res = LV_RES_INV;
|
|
f9d0: 2000 movs r0, #0
|
|
}
|
|
f9d2: b00b add sp, #44 ; 0x2c
|
|
f9d4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
|
|
static lv_res_t lv_img_decoder_built_in_line_true_color(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y,
|
|
lv_coord_t len, uint8_t * buf)
|
|
{
|
|
#if LV_USE_FILESYSTEM
|
|
lv_img_decoder_built_in_data_t * user_data = dsc->user_data;
|
|
f9d8: f8d1 801c ldr.w r8, [r1, #28]
|
|
lv_fs_res_t res;
|
|
uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf);
|
|
f9dc: 7b08 ldrb r0, [r1, #12]
|
|
f9de: f000 001f and.w r0, r0, #31
|
|
f9e2: 4b9e ldr r3, [pc, #632] ; (fc5c <lv_img_decoder_built_in_read_line+0x2b0>)
|
|
f9e4: 4798 blx r3
|
|
f9e6: 4607 mov r7, r0
|
|
|
|
uint32_t pos = ((y * dsc->header.w + x) * px_size) >> 3;
|
|
f9e8: 68e9 ldr r1, [r5, #12]
|
|
f9ea: f3c1 218a ubfx r1, r1, #10, #11
|
|
f9ee: fb0a 4101 mla r1, sl, r1, r4
|
|
f9f2: fb00 f101 mul.w r1, r0, r1
|
|
f9f6: 10c9 asrs r1, r1, #3
|
|
pos += 4; /*Skip the header*/
|
|
res = lv_fs_seek(user_data->f, pos);
|
|
f9f8: 3104 adds r1, #4
|
|
f9fa: f8d8 0000 ldr.w r0, [r8]
|
|
f9fe: 4b98 ldr r3, [pc, #608] ; (fc60 <lv_img_decoder_built_in_read_line+0x2b4>)
|
|
fa00: 4798 blx r3
|
|
if(res != LV_FS_RES_OK) {
|
|
fa02: b9d8 cbnz r0, fa3c <lv_img_decoder_built_in_read_line+0x90>
|
|
LV_LOG_WARN("Built-in image decoder seek failed");
|
|
return LV_RES_INV;
|
|
}
|
|
uint32_t btr = len * (px_size >> 3);
|
|
fa04: f3c7 07c7 ubfx r7, r7, #3, #8
|
|
fa08: fb06 f607 mul.w r6, r6, r7
|
|
uint32_t br = 0;
|
|
fa0c: ab0a add r3, sp, #40 ; 0x28
|
|
fa0e: 2200 movs r2, #0
|
|
fa10: f843 2d10 str.w r2, [r3, #-16]!
|
|
lv_fs_read(user_data->f, buf, btr, &br);
|
|
fa14: 4632 mov r2, r6
|
|
fa16: 9915 ldr r1, [sp, #84] ; 0x54
|
|
fa18: f8d8 0000 ldr.w r0, [r8]
|
|
fa1c: 4c91 ldr r4, [pc, #580] ; (fc64 <lv_img_decoder_built_in_read_line+0x2b8>)
|
|
fa1e: 47a0 blx r4
|
|
if(res != LV_FS_RES_OK || btr != br) {
|
|
fa20: 9b06 ldr r3, [sp, #24]
|
|
fa22: 429e cmp r6, r3
|
|
fa24: d015 beq.n fa52 <lv_img_decoder_built_in_read_line+0xa6>
|
|
LV_LOG_WARN("Built-in image decoder read failed");
|
|
fa26: 4b90 ldr r3, [pc, #576] ; (fc68 <lv_img_decoder_built_in_read_line+0x2bc>)
|
|
fa28: 9300 str r3, [sp, #0]
|
|
fa2a: 4b90 ldr r3, [pc, #576] ; (fc6c <lv_img_decoder_built_in_read_line+0x2c0>)
|
|
fa2c: f240 2235 movw r2, #565 ; 0x235
|
|
fa30: 498f ldr r1, [pc, #572] ; (fc70 <lv_img_decoder_built_in_read_line+0x2c4>)
|
|
fa32: 2002 movs r0, #2
|
|
fa34: 4c8f ldr r4, [pc, #572] ; (fc74 <lv_img_decoder_built_in_read_line+0x2c8>)
|
|
fa36: 47a0 blx r4
|
|
return LV_RES_INV;
|
|
fa38: 2000 movs r0, #0
|
|
fa3a: e7ca b.n f9d2 <lv_img_decoder_built_in_read_line+0x26>
|
|
LV_LOG_WARN("Built-in image decoder seek failed");
|
|
fa3c: 4b8e ldr r3, [pc, #568] ; (fc78 <lv_img_decoder_built_in_read_line+0x2cc>)
|
|
fa3e: 9300 str r3, [sp, #0]
|
|
fa40: 4b8a ldr r3, [pc, #552] ; (fc6c <lv_img_decoder_built_in_read_line+0x2c0>)
|
|
fa42: f240 222e movw r2, #558 ; 0x22e
|
|
fa46: 498a ldr r1, [pc, #552] ; (fc70 <lv_img_decoder_built_in_read_line+0x2c4>)
|
|
fa48: 2002 movs r0, #2
|
|
fa4a: 4c8a ldr r4, [pc, #552] ; (fc74 <lv_img_decoder_built_in_read_line+0x2c8>)
|
|
fa4c: 47a0 blx r4
|
|
return LV_RES_INV;
|
|
fa4e: 2000 movs r0, #0
|
|
fa50: e7bf b.n f9d2 <lv_img_decoder_built_in_read_line+0x26>
|
|
}
|
|
|
|
return LV_RES_OK;
|
|
fa52: 2001 movs r0, #1
|
|
fa54: e7bd b.n f9d2 <lv_img_decoder_built_in_read_line+0x26>
|
|
dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) {
|
|
fa56: f1a3 020b sub.w r2, r3, #11
|
|
else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT ||
|
|
fa5a: b2d2 uxtb r2, r2
|
|
fa5c: 2a03 cmp r2, #3
|
|
fa5e: d90f bls.n fa80 <lv_img_decoder_built_in_read_line+0xd4>
|
|
dsc->header.cf == LV_IMG_CF_INDEXED_4BIT || dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) {
|
|
fa60: 3b07 subs r3, #7
|
|
else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT || dsc->header.cf == LV_IMG_CF_INDEXED_2BIT ||
|
|
fa62: b2db uxtb r3, r3
|
|
fa64: 2b03 cmp r3, #3
|
|
fa66: f240 80df bls.w fc28 <lv_img_decoder_built_in_read_line+0x27c>
|
|
LV_LOG_WARN("Built-in image decoder read not supports the color format");
|
|
fa6a: 4b84 ldr r3, [pc, #528] ; (fc7c <lv_img_decoder_built_in_read_line+0x2d0>)
|
|
fa6c: 9300 str r3, [sp, #0]
|
|
fa6e: 4b84 ldr r3, [pc, #528] ; (fc80 <lv_img_decoder_built_in_read_line+0x2d4>)
|
|
fa70: f44f 72fe mov.w r2, #508 ; 0x1fc
|
|
fa74: 497e ldr r1, [pc, #504] ; (fc70 <lv_img_decoder_built_in_read_line+0x2c4>)
|
|
fa76: 2002 movs r0, #2
|
|
fa78: 4c7e ldr r4, [pc, #504] ; (fc74 <lv_img_decoder_built_in_read_line+0x2c8>)
|
|
fa7a: 47a0 blx r4
|
|
return LV_RES_INV;
|
|
fa7c: 2000 movs r0, #0
|
|
fa7e: e7a8 b.n f9d2 <lv_img_decoder_built_in_read_line+0x26>
|
|
static lv_res_t lv_img_decoder_built_in_line_alpha(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y,
|
|
lv_coord_t len, uint8_t * buf)
|
|
{
|
|
|
|
#if LV_IMG_CF_ALPHA
|
|
const lv_opa_t alpha1_opa_table[2] = {0, 255}; /*Opacity mapping with bpp = 1 (Just for compatibility)*/
|
|
fa80: 2200 movs r2, #0
|
|
fa82: f88d 2010 strb.w r2, [sp, #16]
|
|
fa86: 23ff movs r3, #255 ; 0xff
|
|
fa88: f88d 3011 strb.w r3, [sp, #17]
|
|
const lv_opa_t alpha2_opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/
|
|
fa8c: f88d 2014 strb.w r2, [sp, #20]
|
|
fa90: 2255 movs r2, #85 ; 0x55
|
|
fa92: f88d 2015 strb.w r2, [sp, #21]
|
|
fa96: 22aa movs r2, #170 ; 0xaa
|
|
fa98: f88d 2016 strb.w r2, [sp, #22]
|
|
fa9c: f88d 3017 strb.w r3, [sp, #23]
|
|
const lv_opa_t alpha4_opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/
|
|
faa0: 4b78 ldr r3, [pc, #480] ; (fc84 <lv_img_decoder_built_in_read_line+0x2d8>)
|
|
faa2: cb0f ldmia r3, {r0, r1, r2, r3}
|
|
faa4: af0a add r7, sp, #40 ; 0x28
|
|
faa6: e907 000f stmdb r7, {r0, r1, r2, r3}
|
|
68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 255
|
|
};
|
|
|
|
/*Simply fill the buffer with the color. Later only the alpha value will be modified.*/
|
|
lv_color_t bg_color = dsc->color;
|
|
faaa: 8929 ldrh r1, [r5, #8]
|
|
lv_coord_t i;
|
|
for(i = 0; i < len; i++) {
|
|
faac: 2e00 cmp r6, #0
|
|
faae: dd0c ble.n faca <lv_img_decoder_built_in_read_line+0x11e>
|
|
#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full;
|
|
#elif LV_COLOR_DEPTH == 16
|
|
/*Because of Alpha byte 16 bit color can start on odd address which can cause crash*/
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full & 0xFF;
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF;
|
|
fab0: 0a08 lsrs r0, r1, #8
|
|
fab2: 9b15 ldr r3, [sp, #84] ; 0x54
|
|
fab4: 1e72 subs r2, r6, #1
|
|
fab6: b292 uxth r2, r2
|
|
fab8: 3201 adds r2, #1
|
|
faba: eb02 0242 add.w r2, r2, r2, lsl #1
|
|
fabe: 441a add r2, r3
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full & 0xFF;
|
|
fac0: 7019 strb r1, [r3, #0]
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF;
|
|
fac2: 7058 strb r0, [r3, #1]
|
|
fac4: 3303 adds r3, #3
|
|
for(i = 0; i < len; i++) {
|
|
fac6: 429a cmp r2, r3
|
|
fac8: d1fa bne.n fac0 <lv_img_decoder_built_in_read_line+0x114>
|
|
#error "Invalid LV_COLOR_DEPTH. Check it in lv_conf.h"
|
|
#endif
|
|
}
|
|
|
|
const lv_opa_t * opa_table = NULL;
|
|
uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf);
|
|
faca: 7b28 ldrb r0, [r5, #12]
|
|
facc: f000 001f and.w r0, r0, #31
|
|
fad0: 4b62 ldr r3, [pc, #392] ; (fc5c <lv_img_decoder_built_in_read_line+0x2b0>)
|
|
fad2: 4798 blx r3
|
|
fad4: 4680 mov r8, r0
|
|
uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/
|
|
fad6: 2701 movs r7, #1
|
|
fad8: 4087 lsls r7, r0
|
|
fada: 3f01 subs r7, #1
|
|
fadc: b2bf uxth r7, r7
|
|
|
|
lv_coord_t w = 0;
|
|
uint32_t ofs = 0;
|
|
int8_t pos = 0;
|
|
switch(dsc->header.cf) {
|
|
fade: 7b2b ldrb r3, [r5, #12]
|
|
fae0: f003 031f and.w r3, r3, #31
|
|
fae4: 3b0b subs r3, #11
|
|
fae6: 2b03 cmp r3, #3
|
|
fae8: f200 8083 bhi.w fbf2 <lv_img_decoder_built_in_read_line+0x246>
|
|
faec: e8df f003 tbb [pc, r3]
|
|
faf0: 76614c02 .word 0x76614c02
|
|
case LV_IMG_CF_ALPHA_1BIT:
|
|
w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/
|
|
faf4: 68eb ldr r3, [r5, #12]
|
|
faf6: f3c3 238a ubfx r3, r3, #10, #11
|
|
fafa: 10da asrs r2, r3, #3
|
|
if(dsc->header.w & 0x7) w++;
|
|
fafc: f013 0f07 tst.w r3, #7
|
|
w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/
|
|
fb00: bf0c ite eq
|
|
fb02: fa0f fb82 sxtheq.w fp, r2
|
|
if(dsc->header.w & 0x7) w++;
|
|
fb06: f102 0b01 addne.w fp, r2, #1
|
|
ofs += w * y + (x >> 3); /*First pixel*/
|
|
fb0a: 10e3 asrs r3, r4, #3
|
|
fb0c: fb0a 3a0b mla sl, sl, fp, r3
|
|
pos = 7 - (x & 0x7);
|
|
fb10: 43e4 mvns r4, r4
|
|
fb12: f004 0407 and.w r4, r4, #7
|
|
opa_table = alpha1_opa_table;
|
|
fb16: f10d 0910 add.w r9, sp, #16
|
|
pos = 0;
|
|
break;
|
|
}
|
|
|
|
#if LV_USE_FILESYSTEM
|
|
lv_img_decoder_built_in_data_t * user_data = dsc->user_data;
|
|
fb1a: 69eb ldr r3, [r5, #28]
|
|
fb1c: 9303 str r3, [sp, #12]
|
|
uint8_t * fs_buf = _lv_mem_buf_get(w);
|
|
fb1e: 4658 mov r0, fp
|
|
fb20: 4b59 ldr r3, [pc, #356] ; (fc88 <lv_img_decoder_built_in_read_line+0x2dc>)
|
|
fb22: 4798 blx r3
|
|
fb24: 9002 str r0, [sp, #8]
|
|
#endif
|
|
|
|
const uint8_t * data_tmp = NULL;
|
|
if(dsc->src_type == LV_IMG_SRC_VARIABLE) {
|
|
fb26: 7aab ldrb r3, [r5, #10]
|
|
fb28: 2b00 cmp r3, #0
|
|
fb2a: d16b bne.n fc04 <lv_img_decoder_built_in_read_line+0x258>
|
|
const lv_img_dsc_t * img_dsc = dsc->src;
|
|
|
|
data_tmp = img_dsc->data + ofs;
|
|
fb2c: 686b ldr r3, [r5, #4]
|
|
fb2e: 689b ldr r3, [r3, #8]
|
|
fb30: 449a add sl, r3
|
|
data_tmp = NULL; /*To avoid warnings*/
|
|
return LV_RES_INV;
|
|
#endif
|
|
}
|
|
|
|
for(i = 0; i < len; i++) {
|
|
fb32: 2e00 cmp r6, #0
|
|
fb34: dd23 ble.n fb7e <lv_img_decoder_built_in_read_line+0x1d2>
|
|
fb36: 9a15 ldr r2, [sp, #84] ; 0x54
|
|
fb38: 1e71 subs r1, r6, #1
|
|
fb3a: b289 uxth r1, r1
|
|
fb3c: 3101 adds r1, #1
|
|
fb3e: eb01 0141 add.w r1, r1, r1, lsl #1
|
|
fb42: 4411 add r1, r2
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] =
|
|
dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act];
|
|
|
|
pos -= px_size;
|
|
if(pos < 0) {
|
|
pos = 8 - px_size;
|
|
fb44: f1c8 0008 rsb r0, r8, #8
|
|
fb48: b240 sxtb r0, r0
|
|
uint8_t val_act = (*data_tmp & (mask << pos)) >> pos;
|
|
fb4a: f89a 3000 ldrb.w r3, [sl]
|
|
fb4e: fa07 f604 lsl.w r6, r7, r4
|
|
fb52: 4033 ands r3, r6
|
|
fb54: 4123 asrs r3, r4
|
|
dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act];
|
|
fb56: 7b2e ldrb r6, [r5, #12]
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] =
|
|
fb58: f006 061f and.w r6, r6, #31
|
|
fb5c: 2e0e cmp r6, #14
|
|
uint8_t val_act = (*data_tmp & (mask << pos)) >> pos;
|
|
fb5e: b2db uxtb r3, r3
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] =
|
|
fb60: bf18 it ne
|
|
fb62: f819 3003 ldrbne.w r3, [r9, r3]
|
|
fb66: 7093 strb r3, [r2, #2]
|
|
pos -= px_size;
|
|
fb68: eba4 0408 sub.w r4, r4, r8
|
|
fb6c: b264 sxtb r4, r4
|
|
if(pos < 0) {
|
|
fb6e: 2c00 cmp r4, #0
|
|
pos = 8 - px_size;
|
|
fb70: bfbc itt lt
|
|
fb72: 4604 movlt r4, r0
|
|
data_tmp++;
|
|
fb74: f10a 0a01 addlt.w sl, sl, #1
|
|
fb78: 3203 adds r2, #3
|
|
for(i = 0; i < len; i++) {
|
|
fb7a: 428a cmp r2, r1
|
|
fb7c: d1e5 bne.n fb4a <lv_img_decoder_built_in_read_line+0x19e>
|
|
}
|
|
}
|
|
#if LV_USE_FILESYSTEM
|
|
_lv_mem_buf_release(fs_buf);
|
|
fb7e: 9802 ldr r0, [sp, #8]
|
|
fb80: 4b42 ldr r3, [pc, #264] ; (fc8c <lv_img_decoder_built_in_read_line+0x2e0>)
|
|
fb82: 4798 blx r3
|
|
res = lv_img_decoder_built_in_line_alpha(dsc, x, y, len, buf);
|
|
fb84: 2001 movs r0, #1
|
|
fb86: e724 b.n f9d2 <lv_img_decoder_built_in_read_line+0x26>
|
|
w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/
|
|
fb88: 68eb ldr r3, [r5, #12]
|
|
fb8a: f3c3 238a ubfx r3, r3, #10, #11
|
|
fb8e: 109a asrs r2, r3, #2
|
|
if(dsc->header.w & 0x3) w++;
|
|
fb90: f013 0f03 tst.w r3, #3
|
|
w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/
|
|
fb94: bf0c ite eq
|
|
fb96: fa0f fb82 sxtheq.w fp, r2
|
|
if(dsc->header.w & 0x3) w++;
|
|
fb9a: f102 0b01 addne.w fp, r2, #1
|
|
ofs += w * y + (x >> 2); /*First pixel*/
|
|
fb9e: 10a3 asrs r3, r4, #2
|
|
fba0: fb0a 3a0b mla sl, sl, fp, r3
|
|
pos = 6 - ((x & 0x3) * 2);
|
|
fba4: 43e4 mvns r4, r4
|
|
fba6: f004 0403 and.w r4, r4, #3
|
|
fbaa: 0064 lsls r4, r4, #1
|
|
opa_table = alpha2_opa_table;
|
|
fbac: f10d 0914 add.w r9, sp, #20
|
|
fbb0: e7b3 b.n fb1a <lv_img_decoder_built_in_read_line+0x16e>
|
|
w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/
|
|
fbb2: 68eb ldr r3, [r5, #12]
|
|
fbb4: f3c3 238a ubfx r3, r3, #10, #11
|
|
fbb8: 105a asrs r2, r3, #1
|
|
if(dsc->header.w & 0x1) w++;
|
|
fbba: f013 0f01 tst.w r3, #1
|
|
w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/
|
|
fbbe: bf0c ite eq
|
|
fbc0: fa0f fb82 sxtheq.w fp, r2
|
|
if(dsc->header.w & 0x1) w++;
|
|
fbc4: f102 0b01 addne.w fp, r2, #1
|
|
ofs += w * y + (x >> 1); /*First pixel*/
|
|
fbc8: 1063 asrs r3, r4, #1
|
|
fbca: fb0a 3a0b mla sl, sl, fp, r3
|
|
pos = 4 - ((x & 0x1) * 4);
|
|
fbce: f014 0f01 tst.w r4, #1
|
|
fbd2: d013 beq.n fbfc <lv_img_decoder_built_in_read_line+0x250>
|
|
fbd4: 2400 movs r4, #0
|
|
opa_table = alpha4_opa_table;
|
|
fbd6: f10d 0918 add.w r9, sp, #24
|
|
fbda: e79e b.n fb1a <lv_img_decoder_built_in_read_line+0x16e>
|
|
w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/
|
|
fbdc: 68eb ldr r3, [r5, #12]
|
|
fbde: f3c3 238a ubfx r3, r3, #10, #11
|
|
fbe2: b29a uxth r2, r3
|
|
fbe4: fa0f fb83 sxth.w fp, r3
|
|
ofs += w * y + x; /*First pixel*/
|
|
fbe8: fb0a 4a02 mla sl, sl, r2, r4
|
|
pos = 0;
|
|
fbec: 2400 movs r4, #0
|
|
const lv_opa_t * opa_table = NULL;
|
|
fbee: 46a1 mov r9, r4
|
|
fbf0: e793 b.n fb1a <lv_img_decoder_built_in_read_line+0x16e>
|
|
int8_t pos = 0;
|
|
fbf2: 2400 movs r4, #0
|
|
uint32_t ofs = 0;
|
|
fbf4: 46a2 mov sl, r4
|
|
lv_coord_t w = 0;
|
|
fbf6: 46a3 mov fp, r4
|
|
const lv_opa_t * opa_table = NULL;
|
|
fbf8: 46a1 mov r9, r4
|
|
fbfa: e78e b.n fb1a <lv_img_decoder_built_in_read_line+0x16e>
|
|
pos = 4 - ((x & 0x1) * 4);
|
|
fbfc: 2404 movs r4, #4
|
|
opa_table = alpha4_opa_table;
|
|
fbfe: f10d 0918 add.w r9, sp, #24
|
|
fc02: e78a b.n fb1a <lv_img_decoder_built_in_read_line+0x16e>
|
|
lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/
|
|
fc04: f10a 0104 add.w r1, sl, #4
|
|
fc08: 9b03 ldr r3, [sp, #12]
|
|
fc0a: 6818 ldr r0, [r3, #0]
|
|
fc0c: 4b14 ldr r3, [pc, #80] ; (fc60 <lv_img_decoder_built_in_read_line+0x2b4>)
|
|
fc0e: 4798 blx r3
|
|
lv_fs_read(user_data->f, fs_buf, w, NULL);
|
|
fc10: 2300 movs r3, #0
|
|
fc12: 465a mov r2, fp
|
|
fc14: f8dd b008 ldr.w fp, [sp, #8]
|
|
fc18: 4659 mov r1, fp
|
|
fc1a: 9803 ldr r0, [sp, #12]
|
|
fc1c: 6800 ldr r0, [r0, #0]
|
|
fc1e: f8df a044 ldr.w sl, [pc, #68] ; fc64 <lv_img_decoder_built_in_read_line+0x2b8>
|
|
fc22: 47d0 blx sl
|
|
data_tmp = fs_buf;
|
|
fc24: 46da mov sl, fp
|
|
fc26: e784 b.n fb32 <lv_img_decoder_built_in_read_line+0x186>
|
|
static lv_res_t lv_img_decoder_built_in_line_indexed(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y,
|
|
lv_coord_t len, uint8_t * buf)
|
|
{
|
|
|
|
#if LV_IMG_CF_INDEXED
|
|
uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf);
|
|
fc28: 7b08 ldrb r0, [r1, #12]
|
|
fc2a: f000 001f and.w r0, r0, #31
|
|
fc2e: 4b0b ldr r3, [pc, #44] ; (fc5c <lv_img_decoder_built_in_read_line+0x2b0>)
|
|
fc30: 4798 blx r3
|
|
fc32: 4681 mov r9, r0
|
|
uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/
|
|
fc34: f04f 0801 mov.w r8, #1
|
|
fc38: fa08 f800 lsl.w r8, r8, r0
|
|
fc3c: f108 38ff add.w r8, r8, #4294967295
|
|
fc40: fa1f f888 uxth.w r8, r8
|
|
|
|
lv_coord_t w = 0;
|
|
int8_t pos = 0;
|
|
uint32_t ofs = 0;
|
|
switch(dsc->header.cf) {
|
|
fc44: 7b2b ldrb r3, [r5, #12]
|
|
fc46: f003 031f and.w r3, r3, #31
|
|
fc4a: 3b07 subs r3, #7
|
|
fc4c: 2b03 cmp r3, #3
|
|
fc4e: f200 80a5 bhi.w fd9c <lv_img_decoder_built_in_read_line+0x3f0>
|
|
fc52: e8df f003 tbb [pc, r3]
|
|
fc56: 681d .short 0x681d
|
|
fc58: 967e .short 0x967e
|
|
fc5a: bf00 nop
|
|
fc5c: 00009669 .word 0x00009669
|
|
fc60: 00011ce1 .word 0x00011ce1
|
|
fc64: 00011ca5 .word 0x00011ca5
|
|
fc68: 00025428 .word 0x00025428
|
|
fc6c: 00025274 .word 0x00025274
|
|
fc70: 00025300 .word 0x00025300
|
|
fc74: 00012245 .word 0x00012245
|
|
fc78: 00025404 .word 0x00025404
|
|
fc7c: 0002544c .word 0x0002544c
|
|
fc80: 000252ac .word 0x000252ac
|
|
fc84: 0002529c .word 0x0002529c
|
|
fc88: 00012925 .word 0x00012925
|
|
fc8c: 00012559 .word 0x00012559
|
|
case LV_IMG_CF_INDEXED_1BIT:
|
|
w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/
|
|
fc90: 68eb ldr r3, [r5, #12]
|
|
fc92: f3c3 238a ubfx r3, r3, #10, #11
|
|
fc96: ea4f 0be3 mov.w fp, r3, asr #3
|
|
if(dsc->header.w & 0x7) w++;
|
|
fc9a: f013 0f07 tst.w r3, #7
|
|
w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/
|
|
fc9e: bf0c ite eq
|
|
fca0: fa0f fb8b sxtheq.w fp, fp
|
|
if(dsc->header.w & 0x7) w++;
|
|
fca4: f10b 0b01 addne.w fp, fp, #1
|
|
ofs += w * y + (x >> 3); /*First pixel*/
|
|
fca8: 10e3 asrs r3, r4, #3
|
|
fcaa: fb0a 3a0b mla sl, sl, fp, r3
|
|
ofs += 8; /*Skip the palette*/
|
|
fcae: f10a 0a08 add.w sl, sl, #8
|
|
pos = 7 - (x & 0x7);
|
|
fcb2: 43e4 mvns r4, r4
|
|
fcb4: f004 0407 and.w r4, r4, #7
|
|
ofs += 1024; /*Skip the palette*/
|
|
pos = 0;
|
|
break;
|
|
}
|
|
|
|
lv_img_decoder_built_in_data_t * user_data = dsc->user_data;
|
|
fcb8: 69ef ldr r7, [r5, #28]
|
|
|
|
#if LV_USE_FILESYSTEM
|
|
uint8_t * fs_buf = _lv_mem_buf_get(w);
|
|
fcba: 4658 mov r0, fp
|
|
fcbc: 4b41 ldr r3, [pc, #260] ; (fdc4 <lv_img_decoder_built_in_read_line+0x418>)
|
|
fcbe: 4798 blx r3
|
|
fcc0: 9002 str r0, [sp, #8]
|
|
#endif
|
|
const uint8_t * data_tmp = NULL;
|
|
if(dsc->src_type == LV_IMG_SRC_VARIABLE) {
|
|
fcc2: 7aab ldrb r3, [r5, #10]
|
|
fcc4: 2b00 cmp r3, #0
|
|
fcc6: d16e bne.n fda6 <lv_img_decoder_built_in_read_line+0x3fa>
|
|
const lv_img_dsc_t * img_dsc = dsc->src;
|
|
data_tmp = img_dsc->data + ofs;
|
|
fcc8: 686b ldr r3, [r5, #4]
|
|
fcca: 689b ldr r3, [r3, #8]
|
|
fccc: 449a add sl, r3
|
|
return LV_RES_INV;
|
|
#endif
|
|
}
|
|
|
|
lv_coord_t i;
|
|
for(i = 0; i < len; i++) {
|
|
fcce: 2e00 cmp r6, #0
|
|
fcd0: dd24 ble.n fd1c <lv_img_decoder_built_in_read_line+0x370>
|
|
fcd2: 9a15 ldr r2, [sp, #84] ; 0x54
|
|
fcd4: 1e71 subs r1, r6, #1
|
|
fcd6: b289 uxth r1, r1
|
|
fcd8: 3101 adds r1, #1
|
|
fcda: eb01 0141 add.w r1, r1, r1, lsl #1
|
|
fcde: 4411 add r1, r2
|
|
#endif
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act];
|
|
|
|
pos -= px_size;
|
|
if(pos < 0) {
|
|
pos = 8 - px_size;
|
|
fce0: f1c9 0508 rsb r5, r9, #8
|
|
fce4: b26d sxtb r5, r5
|
|
uint8_t val_act = (*data_tmp & (mask << pos)) >> pos;
|
|
fce6: f89a 3000 ldrb.w r3, [sl]
|
|
fcea: fa08 f004 lsl.w r0, r8, r4
|
|
fcee: 4003 ands r3, r0
|
|
fcf0: 4123 asrs r3, r4
|
|
lv_color_t color = user_data->palette[val_act];
|
|
fcf2: b2db uxtb r3, r3
|
|
fcf4: 6878 ldr r0, [r7, #4]
|
|
fcf6: f830 0013 ldrh.w r0, [r0, r3, lsl #1]
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = color.full & 0xFF;
|
|
fcfa: 7010 strb r0, [r2, #0]
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (color.full >> 8) & 0xFF;
|
|
fcfc: 0a00 lsrs r0, r0, #8
|
|
fcfe: 7050 strb r0, [r2, #1]
|
|
buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act];
|
|
fd00: 68b8 ldr r0, [r7, #8]
|
|
fd02: 5cc3 ldrb r3, [r0, r3]
|
|
fd04: 7093 strb r3, [r2, #2]
|
|
pos -= px_size;
|
|
fd06: eba4 0409 sub.w r4, r4, r9
|
|
fd0a: b264 sxtb r4, r4
|
|
if(pos < 0) {
|
|
fd0c: 2c00 cmp r4, #0
|
|
pos = 8 - px_size;
|
|
fd0e: bfbc itt lt
|
|
fd10: 462c movlt r4, r5
|
|
data_tmp++;
|
|
fd12: f10a 0a01 addlt.w sl, sl, #1
|
|
fd16: 3203 adds r2, #3
|
|
for(i = 0; i < len; i++) {
|
|
fd18: 428a cmp r2, r1
|
|
fd1a: d1e4 bne.n fce6 <lv_img_decoder_built_in_read_line+0x33a>
|
|
}
|
|
}
|
|
#if LV_USE_FILESYSTEM
|
|
_lv_mem_buf_release(fs_buf);
|
|
fd1c: 9802 ldr r0, [sp, #8]
|
|
fd1e: 4b2a ldr r3, [pc, #168] ; (fdc8 <lv_img_decoder_built_in_read_line+0x41c>)
|
|
fd20: 4798 blx r3
|
|
res = lv_img_decoder_built_in_line_indexed(dsc, x, y, len, buf);
|
|
fd22: 2001 movs r0, #1
|
|
fd24: e655 b.n f9d2 <lv_img_decoder_built_in_read_line+0x26>
|
|
w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/
|
|
fd26: 68eb ldr r3, [r5, #12]
|
|
fd28: f3c3 238a ubfx r3, r3, #10, #11
|
|
fd2c: ea4f 0ba3 mov.w fp, r3, asr #2
|
|
if(dsc->header.w & 0x3) w++;
|
|
fd30: f013 0f03 tst.w r3, #3
|
|
w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/
|
|
fd34: bf0c ite eq
|
|
fd36: fa0f fb8b sxtheq.w fp, fp
|
|
if(dsc->header.w & 0x3) w++;
|
|
fd3a: f10b 0b01 addne.w fp, fp, #1
|
|
ofs += w * y + (x >> 2); /*First pixel*/
|
|
fd3e: 10a3 asrs r3, r4, #2
|
|
fd40: fb0a 3a0b mla sl, sl, fp, r3
|
|
ofs += 16; /*Skip the palette*/
|
|
fd44: f10a 0a10 add.w sl, sl, #16
|
|
pos = 6 - ((x & 0x3) * 2);
|
|
fd48: 43e4 mvns r4, r4
|
|
fd4a: f004 0403 and.w r4, r4, #3
|
|
fd4e: 0064 lsls r4, r4, #1
|
|
fd50: e7b2 b.n fcb8 <lv_img_decoder_built_in_read_line+0x30c>
|
|
w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/
|
|
fd52: 68eb ldr r3, [r5, #12]
|
|
fd54: f3c3 238a ubfx r3, r3, #10, #11
|
|
fd58: ea4f 0b63 mov.w fp, r3, asr #1
|
|
if(dsc->header.w & 0x1) w++;
|
|
fd5c: f013 0f01 tst.w r3, #1
|
|
w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/
|
|
fd60: bf0c ite eq
|
|
fd62: fa0f fb8b sxtheq.w fp, fp
|
|
if(dsc->header.w & 0x1) w++;
|
|
fd66: f10b 0b01 addne.w fp, fp, #1
|
|
ofs += w * y + (x >> 1); /*First pixel*/
|
|
fd6a: 1063 asrs r3, r4, #1
|
|
fd6c: fb0a 3a0b mla sl, sl, fp, r3
|
|
ofs += 64; /*Skip the palette*/
|
|
fd70: f10a 0a40 add.w sl, sl, #64 ; 0x40
|
|
pos = 4 - ((x & 0x1) * 4);
|
|
fd74: f004 0401 and.w r4, r4, #1
|
|
fd78: 2c00 cmp r4, #0
|
|
fd7a: bf0c ite eq
|
|
fd7c: 2404 moveq r4, #4
|
|
fd7e: 2400 movne r4, #0
|
|
fd80: e79a b.n fcb8 <lv_img_decoder_built_in_read_line+0x30c>
|
|
w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/
|
|
fd82: 68eb ldr r3, [r5, #12]
|
|
fd84: f3c3 2b8a ubfx fp, r3, #10, #11
|
|
fd88: fa1f f38b uxth.w r3, fp
|
|
fd8c: fa0f fb8b sxth.w fp, fp
|
|
ofs += w * y + x; /*First pixel*/
|
|
fd90: fb0a 4a03 mla sl, sl, r3, r4
|
|
ofs += 1024; /*Skip the palette*/
|
|
fd94: f50a 6a80 add.w sl, sl, #1024 ; 0x400
|
|
pos = 0;
|
|
fd98: 2400 movs r4, #0
|
|
fd9a: e78d b.n fcb8 <lv_img_decoder_built_in_read_line+0x30c>
|
|
uint32_t ofs = 0;
|
|
fd9c: f04f 0a00 mov.w sl, #0
|
|
int8_t pos = 0;
|
|
fda0: 4654 mov r4, sl
|
|
lv_coord_t w = 0;
|
|
fda2: 46d3 mov fp, sl
|
|
fda4: e788 b.n fcb8 <lv_img_decoder_built_in_read_line+0x30c>
|
|
lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/
|
|
fda6: f10a 0104 add.w r1, sl, #4
|
|
fdaa: 6838 ldr r0, [r7, #0]
|
|
fdac: 4b07 ldr r3, [pc, #28] ; (fdcc <lv_img_decoder_built_in_read_line+0x420>)
|
|
fdae: 4798 blx r3
|
|
lv_fs_read(user_data->f, fs_buf, w, NULL);
|
|
fdb0: 2300 movs r3, #0
|
|
fdb2: 465a mov r2, fp
|
|
fdb4: f8dd a008 ldr.w sl, [sp, #8]
|
|
fdb8: 4651 mov r1, sl
|
|
fdba: 6838 ldr r0, [r7, #0]
|
|
fdbc: 4d04 ldr r5, [pc, #16] ; (fdd0 <lv_img_decoder_built_in_read_line+0x424>)
|
|
fdbe: 47a8 blx r5
|
|
fdc0: e785 b.n fcce <lv_img_decoder_built_in_read_line+0x322>
|
|
fdc2: bf00 nop
|
|
fdc4: 00012925 .word 0x00012925
|
|
fdc8: 00012559 .word 0x00012559
|
|
fdcc: 00011ce1 .word 0x00011ce1
|
|
fdd0: 00011ca5 .word 0x00011ca5
|
|
|
|
0000fdd4 <lv_img_decoder_get_info>:
|
|
{
|
|
fdd4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
fdd8: 4681 mov r9, r0
|
|
fdda: 460e mov r6, r1
|
|
header->always_zero = 0;
|
|
fddc: 780b ldrb r3, [r1, #0]
|
|
fdde: f36f 1347 bfc r3, #5, #3
|
|
fde2: 700b strb r3, [r1, #0]
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) {
|
|
fde4: 480f ldr r0, [pc, #60] ; (fe24 <lv_img_decoder_get_info+0x50>)
|
|
fde6: 4b10 ldr r3, [pc, #64] ; (fe28 <lv_img_decoder_get_info+0x54>)
|
|
fde8: 4798 blx r3
|
|
fdea: b1c8 cbz r0, fe20 <lv_img_decoder_get_info+0x4c>
|
|
fdec: 4604 mov r4, r0
|
|
res = LV_RES_INV;
|
|
fdee: f04f 0a00 mov.w sl, #0
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) {
|
|
fdf2: f8df 8030 ldr.w r8, [pc, #48] ; fe24 <lv_img_decoder_get_info+0x50>
|
|
fdf6: 4f0d ldr r7, [pc, #52] ; (fe2c <lv_img_decoder_get_info+0x58>)
|
|
fdf8: e005 b.n fe06 <lv_img_decoder_get_info+0x32>
|
|
res = LV_RES_INV;
|
|
fdfa: 4655 mov r5, sl
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) {
|
|
fdfc: 4621 mov r1, r4
|
|
fdfe: 4640 mov r0, r8
|
|
fe00: 47b8 blx r7
|
|
fe02: 4604 mov r4, r0
|
|
fe04: b148 cbz r0, fe1a <lv_img_decoder_get_info+0x46>
|
|
if(d->info_cb) {
|
|
fe06: 6823 ldr r3, [r4, #0]
|
|
fe08: 2b00 cmp r3, #0
|
|
fe0a: d0f6 beq.n fdfa <lv_img_decoder_get_info+0x26>
|
|
res = d->info_cb(d, src, header);
|
|
fe0c: 4632 mov r2, r6
|
|
fe0e: 4649 mov r1, r9
|
|
fe10: 4620 mov r0, r4
|
|
fe12: 4798 blx r3
|
|
fe14: 4605 mov r5, r0
|
|
if(res == LV_RES_OK) break;
|
|
fe16: 2801 cmp r0, #1
|
|
fe18: d1f0 bne.n fdfc <lv_img_decoder_get_info+0x28>
|
|
}
|
|
fe1a: 4628 mov r0, r5
|
|
fe1c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
lv_res_t res = LV_RES_INV;
|
|
fe20: 2500 movs r5, #0
|
|
fe22: e7fa b.n fe1a <lv_img_decoder_get_info+0x46>
|
|
fe24: 20006ca4 .word 0x20006ca4
|
|
fe28: 00011f91 .word 0x00011f91
|
|
fe2c: 00011fa5 .word 0x00011fa5
|
|
|
|
0000fe30 <lv_img_decoder_open>:
|
|
{
|
|
fe30: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
fe34: 4682 mov sl, r0
|
|
fe36: 4688 mov r8, r1
|
|
dsc->color = color;
|
|
fe38: 8102 strh r2, [r0, #8]
|
|
dsc->src_type = lv_img_src_get_type(src);
|
|
fe3a: 4608 mov r0, r1
|
|
fe3c: 4b26 ldr r3, [pc, #152] ; (fed8 <lv_img_decoder_open+0xa8>)
|
|
fe3e: 4798 blx r3
|
|
fe40: f88a 000a strb.w r0, [sl, #10]
|
|
dsc->user_data = NULL;
|
|
fe44: 2300 movs r3, #0
|
|
fe46: f8ca 301c str.w r3, [sl, #28]
|
|
if(dsc->src_type == LV_IMG_SRC_FILE) {
|
|
fe4a: 2801 cmp r0, #1
|
|
fe4c: d00d beq.n fe6a <lv_img_decoder_open+0x3a>
|
|
dsc->src = src;
|
|
fe4e: f8ca 8004 str.w r8, [sl, #4]
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) {
|
|
fe52: 4822 ldr r0, [pc, #136] ; (fedc <lv_img_decoder_open+0xac>)
|
|
fe54: 4b22 ldr r3, [pc, #136] ; (fee0 <lv_img_decoder_open+0xb0>)
|
|
fe56: 4798 blx r3
|
|
fe58: 4604 mov r4, r0
|
|
fe5a: 2800 cmp r0, #0
|
|
fe5c: d036 beq.n fecc <lv_img_decoder_open+0x9c>
|
|
fe5e: 2500 movs r5, #0
|
|
res = d->info_cb(d, src, &dsc->header);
|
|
fe60: f10a 090c add.w r9, sl, #12
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) {
|
|
fe64: 4f1d ldr r7, [pc, #116] ; (fedc <lv_img_decoder_open+0xac>)
|
|
fe66: 4e1f ldr r6, [pc, #124] ; (fee4 <lv_img_decoder_open+0xb4>)
|
|
fe68: e010 b.n fe8c <lv_img_decoder_open+0x5c>
|
|
size_t fnlen = strlen(src);
|
|
fe6a: 4640 mov r0, r8
|
|
fe6c: 4b1e ldr r3, [pc, #120] ; (fee8 <lv_img_decoder_open+0xb8>)
|
|
fe6e: 4798 blx r3
|
|
dsc->src = lv_mem_alloc(fnlen + 1);
|
|
fe70: 3001 adds r0, #1
|
|
fe72: 4b1e ldr r3, [pc, #120] ; (feec <lv_img_decoder_open+0xbc>)
|
|
fe74: 4798 blx r3
|
|
fe76: f8ca 0004 str.w r0, [sl, #4]
|
|
strcpy((char *)dsc->src, src);
|
|
fe7a: 4641 mov r1, r8
|
|
fe7c: 4b1c ldr r3, [pc, #112] ; (fef0 <lv_img_decoder_open+0xc0>)
|
|
fe7e: 4798 blx r3
|
|
fe80: e7e7 b.n fe52 <lv_img_decoder_open+0x22>
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) {
|
|
fe82: 4621 mov r1, r4
|
|
fe84: 4638 mov r0, r7
|
|
fe86: 47b0 blx r6
|
|
fe88: 4604 mov r4, r0
|
|
fe8a: b1d8 cbz r0, fec4 <lv_img_decoder_open+0x94>
|
|
if(d->info_cb == NULL || d->open_cb == NULL) continue;
|
|
fe8c: 6823 ldr r3, [r4, #0]
|
|
fe8e: 2b00 cmp r3, #0
|
|
fe90: d0f7 beq.n fe82 <lv_img_decoder_open+0x52>
|
|
fe92: 6862 ldr r2, [r4, #4]
|
|
fe94: 2a00 cmp r2, #0
|
|
fe96: d0f4 beq.n fe82 <lv_img_decoder_open+0x52>
|
|
res = d->info_cb(d, src, &dsc->header);
|
|
fe98: 464a mov r2, r9
|
|
fe9a: 4641 mov r1, r8
|
|
fe9c: 4620 mov r0, r4
|
|
fe9e: 4798 blx r3
|
|
fea0: 4605 mov r5, r0
|
|
if(res != LV_RES_OK) continue;
|
|
fea2: 2801 cmp r0, #1
|
|
fea4: d1ed bne.n fe82 <lv_img_decoder_open+0x52>
|
|
dsc->error_msg = NULL;
|
|
fea6: 2300 movs r3, #0
|
|
fea8: f8ca 3018 str.w r3, [sl, #24]
|
|
dsc->img_data = NULL;
|
|
feac: f8ca 3010 str.w r3, [sl, #16]
|
|
dsc->decoder = d;
|
|
feb0: f8ca 4000 str.w r4, [sl]
|
|
res = d->open_cb(d, dsc);
|
|
feb4: 6863 ldr r3, [r4, #4]
|
|
feb6: 4651 mov r1, sl
|
|
feb8: 4620 mov r0, r4
|
|
feba: 4798 blx r3
|
|
febc: 4605 mov r5, r0
|
|
if(res == LV_RES_OK) break;
|
|
febe: 2801 cmp r0, #1
|
|
fec0: d1df bne.n fe82 <lv_img_decoder_open+0x52>
|
|
fec2: e000 b.n fec6 <lv_img_decoder_open+0x96>
|
|
if(res == LV_RES_INV) {
|
|
fec4: b11d cbz r5, fece <lv_img_decoder_open+0x9e>
|
|
}
|
|
fec6: 4628 mov r0, r5
|
|
fec8: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
lv_res_t res = LV_RES_INV;
|
|
fecc: 2500 movs r5, #0
|
|
_lv_memset_00(dsc, sizeof(lv_img_decoder_dsc_t));
|
|
fece: 2120 movs r1, #32
|
|
fed0: 4650 mov r0, sl
|
|
fed2: 4b08 ldr r3, [pc, #32] ; (fef4 <lv_img_decoder_open+0xc4>)
|
|
fed4: 4798 blx r3
|
|
fed6: e7f6 b.n fec6 <lv_img_decoder_open+0x96>
|
|
fed8: 00009951 .word 0x00009951
|
|
fedc: 20006ca4 .word 0x20006ca4
|
|
fee0: 00011f91 .word 0x00011f91
|
|
fee4: 00011fa5 .word 0x00011fa5
|
|
fee8: 0001b507 .word 0x0001b507
|
|
feec: 000123c5 .word 0x000123c5
|
|
fef0: 0001b4f7 .word 0x0001b4f7
|
|
fef4: 00012b1f .word 0x00012b1f
|
|
|
|
0000fef8 <lv_img_decoder_read_line>:
|
|
{
|
|
fef8: b570 push {r4, r5, r6, lr}
|
|
fefa: b082 sub sp, #8
|
|
if(dsc->decoder->read_line_cb) res = dsc->decoder->read_line_cb(dsc->decoder, dsc, x, y, len, buf);
|
|
fefc: 6806 ldr r6, [r0, #0]
|
|
fefe: 68b4 ldr r4, [r6, #8]
|
|
ff00: b154 cbz r4, ff18 <lv_img_decoder_read_line+0x20>
|
|
ff02: 461d mov r5, r3
|
|
ff04: 4613 mov r3, r2
|
|
ff06: 460a mov r2, r1
|
|
ff08: 4601 mov r1, r0
|
|
ff0a: 9806 ldr r0, [sp, #24]
|
|
ff0c: 9001 str r0, [sp, #4]
|
|
ff0e: 9500 str r5, [sp, #0]
|
|
ff10: 4630 mov r0, r6
|
|
ff12: 47a0 blx r4
|
|
}
|
|
ff14: b002 add sp, #8
|
|
ff16: bd70 pop {r4, r5, r6, pc}
|
|
lv_res_t res = LV_RES_INV;
|
|
ff18: 2000 movs r0, #0
|
|
ff1a: e7fb b.n ff14 <lv_img_decoder_read_line+0x1c>
|
|
|
|
0000ff1c <lv_img_decoder_close>:
|
|
if(dsc->decoder) {
|
|
ff1c: 6803 ldr r3, [r0, #0]
|
|
ff1e: b183 cbz r3, ff42 <lv_img_decoder_close+0x26>
|
|
{
|
|
ff20: b510 push {r4, lr}
|
|
ff22: 4604 mov r4, r0
|
|
if(dsc->decoder->close_cb) dsc->decoder->close_cb(dsc->decoder, dsc);
|
|
ff24: 68da ldr r2, [r3, #12]
|
|
ff26: b112 cbz r2, ff2e <lv_img_decoder_close+0x12>
|
|
ff28: 4601 mov r1, r0
|
|
ff2a: 4618 mov r0, r3
|
|
ff2c: 4790 blx r2
|
|
if(dsc->src_type == LV_IMG_SRC_FILE) {
|
|
ff2e: 7aa3 ldrb r3, [r4, #10]
|
|
ff30: 2b01 cmp r3, #1
|
|
ff32: d000 beq.n ff36 <lv_img_decoder_close+0x1a>
|
|
ff34: bd10 pop {r4, pc}
|
|
lv_mem_free(dsc->src);
|
|
ff36: 6860 ldr r0, [r4, #4]
|
|
ff38: 4b02 ldr r3, [pc, #8] ; (ff44 <lv_img_decoder_close+0x28>)
|
|
ff3a: 4798 blx r3
|
|
dsc->src = NULL;
|
|
ff3c: 2300 movs r3, #0
|
|
ff3e: 6063 str r3, [r4, #4]
|
|
}
|
|
ff40: e7f8 b.n ff34 <lv_img_decoder_close+0x18>
|
|
ff42: 4770 bx lr
|
|
ff44: 000124ad .word 0x000124ad
|
|
|
|
0000ff48 <lv_img_decoder_create>:
|
|
{
|
|
ff48: b530 push {r4, r5, lr}
|
|
ff4a: b083 sub sp, #12
|
|
decoder = _lv_ll_ins_head(&LV_GC_ROOT(_lv_img_defoder_ll));
|
|
ff4c: 480d ldr r0, [pc, #52] ; (ff84 <lv_img_decoder_create+0x3c>)
|
|
ff4e: 4b0e ldr r3, [pc, #56] ; (ff88 <lv_img_decoder_create+0x40>)
|
|
ff50: 4798 blx r3
|
|
ff52: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(decoder);
|
|
ff54: 4b0d ldr r3, [pc, #52] ; (ff8c <lv_img_decoder_create+0x44>)
|
|
ff56: 4798 blx r3
|
|
ff58: b138 cbz r0, ff6a <lv_img_decoder_create+0x22>
|
|
if(decoder == NULL) return NULL;
|
|
ff5a: b11c cbz r4, ff64 <lv_img_decoder_create+0x1c>
|
|
_lv_memset_00(decoder, sizeof(lv_img_decoder_t));
|
|
ff5c: 2110 movs r1, #16
|
|
ff5e: 4620 mov r0, r4
|
|
ff60: 4b0b ldr r3, [pc, #44] ; (ff90 <lv_img_decoder_create+0x48>)
|
|
ff62: 4798 blx r3
|
|
}
|
|
ff64: 4620 mov r0, r4
|
|
ff66: b003 add sp, #12
|
|
ff68: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_MEM(decoder);
|
|
ff6a: 4b0a ldr r3, [pc, #40] ; (ff94 <lv_img_decoder_create+0x4c>)
|
|
ff6c: 9300 str r3, [sp, #0]
|
|
ff6e: 22c9 movs r2, #201 ; 0xc9
|
|
ff70: 4909 ldr r1, [pc, #36] ; (ff98 <lv_img_decoder_create+0x50>)
|
|
ff72: 2003 movs r0, #3
|
|
ff74: 4d09 ldr r5, [pc, #36] ; (ff9c <lv_img_decoder_create+0x54>)
|
|
ff76: 47a8 blx r5
|
|
ff78: 4622 mov r2, r4
|
|
ff7a: 2300 movs r3, #0
|
|
ff7c: 4808 ldr r0, [pc, #32] ; (ffa0 <lv_img_decoder_create+0x58>)
|
|
ff7e: 4909 ldr r1, [pc, #36] ; (ffa4 <lv_img_decoder_create+0x5c>)
|
|
ff80: 4788 blx r1
|
|
ff82: e7fe b.n ff82 <lv_img_decoder_create+0x3a>
|
|
ff84: 20006ca4 .word 0x20006ca4
|
|
ff88: 00011ef9 .word 0x00011ef9
|
|
ff8c: 00002299 .word 0x00002299
|
|
ff90: 00012b1f .word 0x00012b1f
|
|
ff94: 000252d0 .word 0x000252d0
|
|
ff98: 00025300 .word 0x00025300
|
|
ff9c: 00012245 .word 0x00012245
|
|
ffa0: 00023fc0 .word 0x00023fc0
|
|
ffa4: 000022a1 .word 0x000022a1
|
|
|
|
0000ffa8 <_lv_img_decoder_init>:
|
|
{
|
|
ffa8: b510 push {r4, lr}
|
|
ffaa: b082 sub sp, #8
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_img_defoder_ll), sizeof(lv_img_decoder_t));
|
|
ffac: 2110 movs r1, #16
|
|
ffae: 4814 ldr r0, [pc, #80] ; (10000 <STACK_SIZE>)
|
|
ffb0: 4b14 ldr r3, [pc, #80] ; (10004 <STACK_SIZE+0x4>)
|
|
ffb2: 4798 blx r3
|
|
decoder = lv_img_decoder_create();
|
|
ffb4: 4b14 ldr r3, [pc, #80] ; (10008 <STACK_SIZE+0x8>)
|
|
ffb6: 4798 blx r3
|
|
if(decoder == NULL) {
|
|
ffb8: b148 cbz r0, ffce <_lv_img_decoder_init+0x26>
|
|
decoder->info_cb = info_cb;
|
|
ffba: 4a14 ldr r2, [pc, #80] ; (1000c <STACK_SIZE+0xc>)
|
|
ffbc: 6002 str r2, [r0, #0]
|
|
decoder->open_cb = open_cb;
|
|
ffbe: 4a14 ldr r2, [pc, #80] ; (10010 <STACK_SIZE+0x10>)
|
|
ffc0: 6042 str r2, [r0, #4]
|
|
decoder->read_line_cb = read_line_cb;
|
|
ffc2: 4a14 ldr r2, [pc, #80] ; (10014 <STACK_SIZE+0x14>)
|
|
ffc4: 6082 str r2, [r0, #8]
|
|
decoder->close_cb = close_cb;
|
|
ffc6: 4a14 ldr r2, [pc, #80] ; (10018 <STACK_SIZE+0x18>)
|
|
ffc8: 60c2 str r2, [r0, #12]
|
|
}
|
|
ffca: b002 add sp, #8
|
|
ffcc: bd10 pop {r4, pc}
|
|
LV_LOG_WARN("lv_img_decoder_init: out of memory");
|
|
ffce: 4b13 ldr r3, [pc, #76] ; (1001c <STACK_SIZE+0x1c>)
|
|
ffd0: 9300 str r3, [sp, #0]
|
|
ffd2: 4b13 ldr r3, [pc, #76] ; (10020 <STACK_SIZE+0x20>)
|
|
ffd4: 2247 movs r2, #71 ; 0x47
|
|
ffd6: 4913 ldr r1, [pc, #76] ; (10024 <STACK_SIZE+0x24>)
|
|
ffd8: 2002 movs r0, #2
|
|
ffda: 4c13 ldr r4, [pc, #76] ; (10028 <STACK_SIZE+0x28>)
|
|
ffdc: 47a0 blx r4
|
|
LV_ASSERT_MEM(decoder);
|
|
ffde: 2000 movs r0, #0
|
|
ffe0: 4b12 ldr r3, [pc, #72] ; (1002c <STACK_SIZE+0x2c>)
|
|
ffe2: 4798 blx r3
|
|
ffe4: 2800 cmp r0, #0
|
|
ffe6: d1f0 bne.n ffca <_lv_img_decoder_init+0x22>
|
|
ffe8: 4b0d ldr r3, [pc, #52] ; (10020 <STACK_SIZE+0x20>)
|
|
ffea: 9300 str r3, [sp, #0]
|
|
ffec: 2248 movs r2, #72 ; 0x48
|
|
ffee: 490d ldr r1, [pc, #52] ; (10024 <STACK_SIZE+0x24>)
|
|
fff0: 2003 movs r0, #3
|
|
fff2: 47a0 blx r4
|
|
fff4: 2200 movs r2, #0
|
|
fff6: 2300 movs r3, #0
|
|
fff8: 480d ldr r0, [pc, #52] ; (10030 <STACK_SIZE+0x30>)
|
|
fffa: 490e ldr r1, [pc, #56] ; (10034 <STACK_SIZE+0x34>)
|
|
fffc: 4788 blx r1
|
|
fffe: e7fe b.n fffe <_lv_img_decoder_init+0x56>
|
|
10000: 20006ca4 .word 0x20006ca4
|
|
10004: 00011ee1 .word 0x00011ee1
|
|
10008: 0000ff49 .word 0x0000ff49
|
|
1000c: 0000f4d5 .word 0x0000f4d5
|
|
10010: 0000f60d .word 0x0000f60d
|
|
10014: 0000f9ad .word 0x0000f9ad
|
|
10018: 0000f5d1 .word 0x0000f5d1
|
|
1001c: 00025488 .word 0x00025488
|
|
10020: 000252e8 .word 0x000252e8
|
|
10024: 00025300 .word 0x00025300
|
|
10028: 00012245 .word 0x00012245
|
|
1002c: 00002299 .word 0x00002299
|
|
10030: 00023fc0 .word 0x00023fc0
|
|
10034: 000022a1 .word 0x000022a1
|
|
|
|
00010038 <lv_font_get_glyph_bitmap>:
|
|
* @param font_p pointer to a font
|
|
* @param letter an UNICODE character code
|
|
* @return pointer to the bitmap of the letter
|
|
*/
|
|
const uint8_t * lv_font_get_glyph_bitmap(const lv_font_t * font_p, uint32_t letter)
|
|
{
|
|
10038: b508 push {r3, lr}
|
|
return font_p->get_glyph_bitmap(font_p, letter);
|
|
1003a: 6843 ldr r3, [r0, #4]
|
|
1003c: 4798 blx r3
|
|
}
|
|
1003e: bd08 pop {r3, pc}
|
|
|
|
00010040 <lv_font_get_glyph_dsc>:
|
|
* @return true: descriptor is successfully loaded into `dsc_out`.
|
|
* false: the letter was not found, no data is loaded to `dsc_out`
|
|
*/
|
|
bool lv_font_get_glyph_dsc(const lv_font_t * font_p, lv_font_glyph_dsc_t * dsc_out, uint32_t letter,
|
|
uint32_t letter_next)
|
|
{
|
|
10040: b510 push {r4, lr}
|
|
return font_p->get_glyph_dsc(font_p, dsc_out, letter, letter_next);
|
|
10042: 6804 ldr r4, [r0, #0]
|
|
10044: 47a0 blx r4
|
|
}
|
|
10046: bd10 pop {r4, pc}
|
|
|
|
00010048 <lv_font_get_glyph_width>:
|
|
* @param letter an UNICODE letter
|
|
* @param letter_next the next letter after `letter`. Used for kerning
|
|
* @return the width of the glyph
|
|
*/
|
|
uint16_t lv_font_get_glyph_width(const lv_font_t * font, uint32_t letter, uint32_t letter_next)
|
|
{
|
|
10048: b510 push {r4, lr}
|
|
1004a: b084 sub sp, #16
|
|
lv_font_glyph_dsc_t g;
|
|
bool ret;
|
|
ret = lv_font_get_glyph_dsc(font, &g, letter, letter_next);
|
|
1004c: 4613 mov r3, r2
|
|
1004e: 460a mov r2, r1
|
|
10050: a901 add r1, sp, #4
|
|
10052: 4c04 ldr r4, [pc, #16] ; (10064 <lv_font_get_glyph_width+0x1c>)
|
|
10054: 47a0 blx r4
|
|
if(ret) return g.adv_w;
|
|
10056: b118 cbz r0, 10060 <lv_font_get_glyph_width+0x18>
|
|
10058: f8bd 0004 ldrh.w r0, [sp, #4]
|
|
else return 0;
|
|
}
|
|
1005c: b004 add sp, #16
|
|
1005e: bd10 pop {r4, pc}
|
|
else return 0;
|
|
10060: 2000 movs r0, #0
|
|
10062: e7fb b.n 1005c <lv_font_get_glyph_width+0x14>
|
|
10064: 00010041 .word 0x00010041
|
|
|
|
00010068 <kern_pair_8_compare>:
|
|
{
|
|
const uint8_t * ref8_p = ref;
|
|
const uint8_t * element8_p = element;
|
|
|
|
/*If the MSB is different it will matter. If not return the diff. of the LSB*/
|
|
if(ref8_p[0] != element8_p[0]) return (int32_t)ref8_p[0] - element8_p[0];
|
|
10068: 7803 ldrb r3, [r0, #0]
|
|
1006a: 780a ldrb r2, [r1, #0]
|
|
1006c: 4293 cmp r3, r2
|
|
1006e: bf11 iteee ne
|
|
10070: 1a98 subne r0, r3, r2
|
|
else return (int32_t) ref8_p[1] - element8_p[1];
|
|
10072: 7840 ldrbeq r0, [r0, #1]
|
|
10074: 784b ldrbeq r3, [r1, #1]
|
|
10076: 1ac0 subeq r0, r0, r3
|
|
|
|
}
|
|
10078: 4770 bx lr
|
|
|
|
0001007a <kern_pair_16_compare>:
|
|
{
|
|
const uint16_t * ref16_p = ref;
|
|
const uint16_t * element16_p = element;
|
|
|
|
/*If the MSB is different it will matter. If not return the diff. of the LSB*/
|
|
if(ref16_p[0] != element16_p[0]) return (int32_t)ref16_p[0] - element16_p[0];
|
|
1007a: 8803 ldrh r3, [r0, #0]
|
|
1007c: 880a ldrh r2, [r1, #0]
|
|
1007e: 4293 cmp r3, r2
|
|
10080: bf11 iteee ne
|
|
10082: 1a98 subne r0, r3, r2
|
|
else return (int32_t) ref16_p[1] - element16_p[1];
|
|
10084: 8840 ldrheq r0, [r0, #2]
|
|
10086: 884b ldrheq r3, [r1, #2]
|
|
10088: 1ac0 subeq r0, r0, r3
|
|
}
|
|
1008a: 4770 bx lr
|
|
|
|
0001008c <unicode_list_compare>:
|
|
* @retval > 0 Reference is less than element.
|
|
*
|
|
*/
|
|
static int32_t unicode_list_compare(const void * ref, const void * element)
|
|
{
|
|
return ((int32_t)(*(uint16_t *)ref)) - ((int32_t)(*(uint16_t *)element));
|
|
1008c: 8800 ldrh r0, [r0, #0]
|
|
1008e: 880b ldrh r3, [r1, #0]
|
|
}
|
|
10090: 1ac0 subs r0, r0, r3
|
|
10092: 4770 bx lr
|
|
|
|
00010094 <get_glyph_dsc_id>:
|
|
if(letter == '\0') return 0;
|
|
10094: 460b mov r3, r1
|
|
10096: 2900 cmp r1, #0
|
|
10098: d06c beq.n 10174 <get_glyph_dsc_id+0xe0>
|
|
{
|
|
1009a: b5f0 push {r4, r5, r6, r7, lr}
|
|
1009c: b085 sub sp, #20
|
|
lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;
|
|
1009e: 6904 ldr r4, [r0, #16]
|
|
if(letter == fdsc->last_letter) return fdsc->last_glyph_id;
|
|
100a0: 69a2 ldr r2, [r4, #24]
|
|
100a2: 4291 cmp r1, r2
|
|
100a4: d015 beq.n 100d2 <get_glyph_dsc_id+0x3e>
|
|
for(i = 0; i < fdsc->cmap_num; i++) {
|
|
100a6: 8a67 ldrh r7, [r4, #18]
|
|
100a8: f3c7 0709 ubfx r7, r7, #0, #10
|
|
100ac: 2f00 cmp r7, #0
|
|
100ae: d05d beq.n 1016c <get_glyph_dsc_id+0xd8>
|
|
uint32_t rcp = letter - fdsc->cmaps[i].range_start;
|
|
100b0: 68a1 ldr r1, [r4, #8]
|
|
100b2: 6808 ldr r0, [r1, #0]
|
|
100b4: 1a1a subs r2, r3, r0
|
|
100b6: 9203 str r2, [sp, #12]
|
|
if(rcp > fdsc->cmaps[i].range_length) continue;
|
|
100b8: 8888 ldrh r0, [r1, #4]
|
|
100ba: 4282 cmp r2, r0
|
|
100bc: d80b bhi.n 100d6 <get_glyph_dsc_id+0x42>
|
|
uint32_t rcp = letter - fdsc->cmaps[i].range_start;
|
|
100be: 2600 movs r6, #0
|
|
100c0: 461d mov r5, r3
|
|
if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY) {
|
|
100c2: 7c8b ldrb r3, [r1, #18]
|
|
100c4: b9e3 cbnz r3, 10100 <get_glyph_dsc_id+0x6c>
|
|
glyph_id = fdsc->cmaps[i].glyph_id_start + rcp;
|
|
100c6: 88c8 ldrh r0, [r1, #6]
|
|
100c8: 4410 add r0, r2
|
|
fdsc->last_letter = letter;
|
|
100ca: 61a5 str r5, [r4, #24]
|
|
fdsc->last_glyph_id = glyph_id;
|
|
100cc: 61e0 str r0, [r4, #28]
|
|
}
|
|
100ce: b005 add sp, #20
|
|
100d0: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(letter == fdsc->last_letter) return fdsc->last_glyph_id;
|
|
100d2: 69e0 ldr r0, [r4, #28]
|
|
100d4: e7fb b.n 100ce <get_glyph_dsc_id+0x3a>
|
|
if(rcp > fdsc->cmaps[i].range_length) continue;
|
|
100d6: 2500 movs r5, #0
|
|
for(i = 0; i < fdsc->cmap_num; i++) {
|
|
100d8: 3501 adds r5, #1
|
|
100da: b2ad uxth r5, r5
|
|
100dc: 42bd cmp r5, r7
|
|
100de: da45 bge.n 1016c <get_glyph_dsc_id+0xd8>
|
|
uint32_t rcp = letter - fdsc->cmaps[i].range_start;
|
|
100e0: eb05 0085 add.w r0, r5, r5, lsl #2
|
|
100e4: 0082 lsls r2, r0, #2
|
|
100e6: 4616 mov r6, r2
|
|
100e8: eb01 0e02 add.w lr, r1, r2
|
|
100ec: f851 2020 ldr.w r2, [r1, r0, lsl #2]
|
|
100f0: 1a9a subs r2, r3, r2
|
|
100f2: 9203 str r2, [sp, #12]
|
|
if(rcp > fdsc->cmaps[i].range_length) continue;
|
|
100f4: f8be 0004 ldrh.w r0, [lr, #4]
|
|
100f8: 4282 cmp r2, r0
|
|
100fa: d8ed bhi.n 100d8 <get_glyph_dsc_id+0x44>
|
|
uint32_t rcp = letter - fdsc->cmaps[i].range_start;
|
|
100fc: 4671 mov r1, lr
|
|
100fe: e7df b.n 100c0 <get_glyph_dsc_id+0x2c>
|
|
else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL) {
|
|
10100: 2b01 cmp r3, #1
|
|
10102: d005 beq.n 10110 <get_glyph_dsc_id+0x7c>
|
|
else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_TINY) {
|
|
10104: 2b02 cmp r3, #2
|
|
10106: d008 beq.n 1011a <get_glyph_dsc_id+0x86>
|
|
else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_FULL) {
|
|
10108: 2b03 cmp r3, #3
|
|
1010a: d018 beq.n 1013e <get_glyph_dsc_id+0xaa>
|
|
uint32_t glyph_id = 0;
|
|
1010c: 2000 movs r0, #0
|
|
1010e: e7dc b.n 100ca <get_glyph_dsc_id+0x36>
|
|
glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_8[rcp];
|
|
10110: 68cb ldr r3, [r1, #12]
|
|
10112: 5c9b ldrb r3, [r3, r2]
|
|
10114: 88c8 ldrh r0, [r1, #6]
|
|
10116: 4418 add r0, r3
|
|
10118: e7d7 b.n 100ca <get_glyph_dsc_id+0x36>
|
|
uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length,
|
|
1011a: 8a0a ldrh r2, [r1, #16]
|
|
1011c: 6889 ldr r1, [r1, #8]
|
|
1011e: 4b16 ldr r3, [pc, #88] ; (10178 <get_glyph_dsc_id+0xe4>)
|
|
10120: 9300 str r3, [sp, #0]
|
|
10122: 2302 movs r3, #2
|
|
10124: a803 add r0, sp, #12
|
|
10126: 4f15 ldr r7, [pc, #84] ; (1017c <get_glyph_dsc_id+0xe8>)
|
|
10128: 47b8 blx r7
|
|
if(p) {
|
|
1012a: 4603 mov r3, r0
|
|
1012c: b1d0 cbz r0, 10164 <get_glyph_dsc_id+0xd0>
|
|
lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list);
|
|
1012e: 68a2 ldr r2, [r4, #8]
|
|
10130: 4416 add r6, r2
|
|
10132: 68b0 ldr r0, [r6, #8]
|
|
10134: 1a18 subs r0, r3, r0
|
|
glyph_id = fdsc->cmaps[i].glyph_id_start + ofs;
|
|
10136: 88f3 ldrh r3, [r6, #6]
|
|
10138: eb03 0050 add.w r0, r3, r0, lsr #1
|
|
1013c: e7c5 b.n 100ca <get_glyph_dsc_id+0x36>
|
|
uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length,
|
|
1013e: 8a0a ldrh r2, [r1, #16]
|
|
10140: 6889 ldr r1, [r1, #8]
|
|
10142: 4b0d ldr r3, [pc, #52] ; (10178 <get_glyph_dsc_id+0xe4>)
|
|
10144: 9300 str r3, [sp, #0]
|
|
10146: 2302 movs r3, #2
|
|
10148: a803 add r0, sp, #12
|
|
1014a: 4f0c ldr r7, [pc, #48] ; (1017c <get_glyph_dsc_id+0xe8>)
|
|
1014c: 47b8 blx r7
|
|
if(p) {
|
|
1014e: b158 cbz r0, 10168 <get_glyph_dsc_id+0xd4>
|
|
lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list);
|
|
10150: 68a2 ldr r2, [r4, #8]
|
|
10152: 4416 add r6, r2
|
|
10154: 68b2 ldr r2, [r6, #8]
|
|
10156: 1a83 subs r3, r0, r2
|
|
ofs = ofs >> 1; /*The list stores `uint16_t` so the get the index divide by 2*/
|
|
10158: 085b lsrs r3, r3, #1
|
|
glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_16[ofs];
|
|
1015a: 68f2 ldr r2, [r6, #12]
|
|
1015c: 5cd3 ldrb r3, [r2, r3]
|
|
1015e: 88f0 ldrh r0, [r6, #6]
|
|
10160: 4418 add r0, r3
|
|
10162: e7b2 b.n 100ca <get_glyph_dsc_id+0x36>
|
|
uint32_t glyph_id = 0;
|
|
10164: 2000 movs r0, #0
|
|
10166: e7b0 b.n 100ca <get_glyph_dsc_id+0x36>
|
|
10168: 2000 movs r0, #0
|
|
1016a: e7ae b.n 100ca <get_glyph_dsc_id+0x36>
|
|
fdsc->last_letter = letter;
|
|
1016c: 61a3 str r3, [r4, #24]
|
|
fdsc->last_glyph_id = 0;
|
|
1016e: 2000 movs r0, #0
|
|
10170: 61e0 str r0, [r4, #28]
|
|
return 0;
|
|
10172: e7ac b.n 100ce <get_glyph_dsc_id+0x3a>
|
|
if(letter == '\0') return 0;
|
|
10174: 4608 mov r0, r1
|
|
10176: 4770 bx lr
|
|
10178: 0001008d .word 0x0001008d
|
|
1017c: 0001416d .word 0x0001416d
|
|
|
|
00010180 <lv_font_get_bitmap_fmt_txt>:
|
|
{
|
|
10180: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
10184: b09f sub sp, #124 ; 0x7c
|
|
if(unicode_letter == '\t') unicode_letter = ' ';
|
|
10186: 2909 cmp r1, #9
|
|
lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;
|
|
10188: 6905 ldr r5, [r0, #16]
|
|
uint32_t gid = get_glyph_dsc_id(font, unicode_letter);
|
|
1018a: bf08 it eq
|
|
1018c: 2120 moveq r1, #32
|
|
1018e: 4ba0 ldr r3, [pc, #640] ; (10410 <lv_font_get_bitmap_fmt_txt+0x290>)
|
|
10190: 4798 blx r3
|
|
if(!gid) return NULL;
|
|
10192: 2800 cmp r0, #0
|
|
10194: f000 84ea beq.w 10b6c <lv_font_get_bitmap_fmt_txt+0x9ec>
|
|
10198: 4680 mov r8, r0
|
|
const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid];
|
|
1019a: 686f ldr r7, [r5, #4]
|
|
1019c: eb07 06c0 add.w r6, r7, r0, lsl #3
|
|
if(fdsc->bitmap_format == LV_FONT_FMT_TXT_PLAIN) {
|
|
101a0: 7d2b ldrb r3, [r5, #20]
|
|
101a2: f013 0f03 tst.w r3, #3
|
|
101a6: d10b bne.n 101c0 <lv_font_get_bitmap_fmt_txt+0x40>
|
|
if(gdsc) return &fdsc->glyph_bitmap[gdsc->bitmap_index];
|
|
101a8: 2e00 cmp r6, #0
|
|
101aa: f000 84e2 beq.w 10b72 <lv_font_get_bitmap_fmt_txt+0x9f2>
|
|
101ae: f857 3030 ldr.w r3, [r7, r0, lsl #3]
|
|
101b2: f3c3 0313 ubfx r3, r3, #0, #20
|
|
101b6: 6828 ldr r0, [r5, #0]
|
|
101b8: 4418 add r0, r3
|
|
}
|
|
101ba: b01f add sp, #124 ; 0x7c
|
|
101bc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
uint32_t gsize = gdsc->box_w * gdsc->box_h;
|
|
101c0: 7933 ldrb r3, [r6, #4]
|
|
101c2: 7974 ldrb r4, [r6, #5]
|
|
101c4: fb04 f403 mul.w r4, r4, r3
|
|
if(gsize == 0) return NULL;
|
|
101c8: 2c00 cmp r4, #0
|
|
101ca: f000 84d5 beq.w 10b78 <lv_font_get_bitmap_fmt_txt+0x9f8>
|
|
switch(fdsc->bpp) {
|
|
101ce: 7ceb ldrb r3, [r5, #19]
|
|
101d0: f3c3 0383 ubfx r3, r3, #2, #4
|
|
101d4: 3b01 subs r3, #1
|
|
101d6: 2b03 cmp r3, #3
|
|
101d8: d805 bhi.n 101e6 <lv_font_get_bitmap_fmt_txt+0x66>
|
|
101da: e8df f003 tbb [pc, r3]
|
|
101de: 7502 .short 0x7502
|
|
101e0: 7b78 .short 0x7b78
|
|
buf_size = (gsize + 7) >> 3;
|
|
101e2: 3407 adds r4, #7
|
|
101e4: 08e4 lsrs r4, r4, #3
|
|
if(_lv_mem_get_size(decompr_buf) < buf_size) {
|
|
101e6: 4b8b ldr r3, [pc, #556] ; (10414 <lv_font_get_bitmap_fmt_txt+0x294>)
|
|
101e8: 6818 ldr r0, [r3, #0]
|
|
101ea: 4b8b ldr r3, [pc, #556] ; (10418 <lv_font_get_bitmap_fmt_txt+0x298>)
|
|
101ec: 4798 blx r3
|
|
101ee: 4284 cmp r4, r0
|
|
101f0: d911 bls.n 10216 <lv_font_get_bitmap_fmt_txt+0x96>
|
|
decompr_buf = lv_mem_realloc(decompr_buf, buf_size);
|
|
101f2: f8df 9220 ldr.w r9, [pc, #544] ; 10414 <lv_font_get_bitmap_fmt_txt+0x294>
|
|
101f6: 4621 mov r1, r4
|
|
101f8: f8d9 0000 ldr.w r0, [r9]
|
|
101fc: 4b87 ldr r3, [pc, #540] ; (1041c <lv_font_get_bitmap_fmt_txt+0x29c>)
|
|
101fe: 4798 blx r3
|
|
10200: f8c9 0000 str.w r0, [r9]
|
|
LV_ASSERT_MEM(decompr_buf);
|
|
10204: 4b86 ldr r3, [pc, #536] ; (10420 <lv_font_get_bitmap_fmt_txt+0x2a0>)
|
|
10206: 4798 blx r3
|
|
10208: 2800 cmp r0, #0
|
|
1020a: d066 beq.n 102da <lv_font_get_bitmap_fmt_txt+0x15a>
|
|
if(decompr_buf == NULL) return NULL;
|
|
1020c: 4b81 ldr r3, [pc, #516] ; (10414 <lv_font_get_bitmap_fmt_txt+0x294>)
|
|
1020e: 681b ldr r3, [r3, #0]
|
|
10210: 2b00 cmp r3, #0
|
|
10212: f000 84b4 beq.w 10b7e <lv_font_get_bitmap_fmt_txt+0x9fe>
|
|
decompress(&fdsc->glyph_bitmap[gdsc->bitmap_index], decompr_buf, gdsc->box_w, gdsc->box_h, (uint8_t)fdsc->bpp);
|
|
10216: f857 1038 ldr.w r1, [r7, r8, lsl #3]
|
|
1021a: f3c1 0113 ubfx r1, r1, #0, #20
|
|
1021e: 682b ldr r3, [r5, #0]
|
|
10220: 4419 add r1, r3
|
|
10222: 4b7c ldr r3, [pc, #496] ; (10414 <lv_font_get_bitmap_fmt_txt+0x294>)
|
|
10224: f8d3 9000 ldr.w r9, [r3]
|
|
10228: 7933 ldrb r3, [r6, #4]
|
|
1022a: 930c str r3, [sp, #48] ; 0x30
|
|
1022c: 469b mov fp, r3
|
|
1022e: b21a sxth r2, r3
|
|
10230: 4617 mov r7, r2
|
|
10232: 9218 str r2, [sp, #96] ; 0x60
|
|
10234: 7972 ldrb r2, [r6, #5]
|
|
10236: 9215 str r2, [sp, #84] ; 0x54
|
|
10238: 7cea ldrb r2, [r5, #19]
|
|
1023a: f3c2 0283 ubfx r2, r2, #2, #4
|
|
1023e: b2d3 uxtb r3, r2
|
|
10240: 930f str r3, [sp, #60] ; 0x3c
|
|
if(bpp == 3) wr_size = 4;
|
|
10242: 2b03 cmp r3, #3
|
|
10244: bf14 ite ne
|
|
10246: 4618 movne r0, r3
|
|
10248: 2004 moveq r0, #4
|
|
1024a: 9008 str r0, [sp, #32]
|
|
rle_in = in;
|
|
1024c: 4b71 ldr r3, [pc, #452] ; (10414 <lv_font_get_bitmap_fmt_txt+0x294>)
|
|
1024e: 6059 str r1, [r3, #4]
|
|
rle_bpp = bpp;
|
|
10250: 721a strb r2, [r3, #8]
|
|
rle_state = RLE_STATE_SINGLE;
|
|
10252: 2200 movs r2, #0
|
|
10254: 725a strb r2, [r3, #9]
|
|
rle_rdp = 0;
|
|
10256: 60da str r2, [r3, #12]
|
|
rle_prev_v = 0;
|
|
10258: 741a strb r2, [r3, #16]
|
|
rle_cnt = 0;
|
|
1025a: 745a strb r2, [r3, #17]
|
|
uint8_t * line_buf1 = _lv_mem_buf_get(w);
|
|
1025c: 4658 mov r0, fp
|
|
1025e: 4c71 ldr r4, [pc, #452] ; (10424 <lv_font_get_bitmap_fmt_txt+0x2a4>)
|
|
10260: 47a0 blx r4
|
|
10262: 9016 str r0, [sp, #88] ; 0x58
|
|
uint8_t * line_buf2 = _lv_mem_buf_get(w);
|
|
10264: 4658 mov r0, fp
|
|
10266: 47a0 blx r4
|
|
10268: 9017 str r0, [sp, #92] ; 0x5c
|
|
for(i = 0; i < w; i++) {
|
|
1026a: 2f00 cmp r7, #0
|
|
1026c: f000 8251 beq.w 10712 <lv_font_get_bitmap_fmt_txt+0x592>
|
|
10270: 4b68 ldr r3, [pc, #416] ; (10414 <lv_font_get_bitmap_fmt_txt+0x294>)
|
|
10272: 7c19 ldrb r1, [r3, #16]
|
|
10274: 9103 str r1, [sp, #12]
|
|
10276: 7c5c ldrb r4, [r3, #17]
|
|
ret = get_bits(rle_in, rle_rdp, rle_bpp);
|
|
10278: 685f ldr r7, [r3, #4]
|
|
1027a: 68dd ldr r5, [r3, #12]
|
|
1027c: f893 a008 ldrb.w sl, [r3, #8]
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
10280: 2201 movs r2, #1
|
|
10282: fa02 f20a lsl.w r2, r2, sl
|
|
10286: 1e51 subs r1, r2, #1
|
|
if(bit_pos + len >= 8) {
|
|
10288: 46d0 mov r8, sl
|
|
1028a: f1ca 0608 rsb r6, sl, #8
|
|
1028e: 960a str r6, [sp, #40] ; 0x28
|
|
10290: f1ca 0610 rsb r6, sl, #16
|
|
10294: 9609 str r6, [sp, #36] ; 0x24
|
|
10296: f893 c009 ldrb.w ip, [r3, #9]
|
|
1029a: 9816 ldr r0, [sp, #88] ; 0x58
|
|
1029c: f100 3eff add.w lr, r0, #4294967295
|
|
102a0: f10b 33ff add.w r3, fp, #4294967295
|
|
102a4: b29b uxth r3, r3
|
|
102a6: 930d str r3, [sp, #52] ; 0x34
|
|
102a8: eb00 0b03 add.w fp, r0, r3
|
|
102ac: 4676 mov r6, lr
|
|
102ae: 2300 movs r3, #0
|
|
102b0: 9305 str r3, [sp, #20]
|
|
102b2: 9307 str r3, [sp, #28]
|
|
102b4: 461a mov r2, r3
|
|
switch(len) {
|
|
102b6: f10a 3aff add.w sl, sl, #4294967295
|
|
rle_rdp += rle_bpp;
|
|
102ba: 2301 movs r3, #1
|
|
102bc: 9304 str r3, [sp, #16]
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
102be: b2cb uxtb r3, r1
|
|
102c0: 930b str r3, [sp, #44] ; 0x2c
|
|
bit_mask = 0x3;
|
|
102c2: 9206 str r2, [sp, #24]
|
|
102c4: 4661 mov r1, ip
|
|
102c6: e034 b.n 10332 <lv_font_get_bitmap_fmt_txt+0x1b2>
|
|
buf_size = (gsize + 3) >> 2;
|
|
102c8: 3403 adds r4, #3
|
|
102ca: 08a4 lsrs r4, r4, #2
|
|
break;
|
|
102cc: e78b b.n 101e6 <lv_font_get_bitmap_fmt_txt+0x66>
|
|
buf_size = (gsize + 1) >> 1;
|
|
102ce: 3401 adds r4, #1
|
|
102d0: 0864 lsrs r4, r4, #1
|
|
break;
|
|
102d2: e788 b.n 101e6 <lv_font_get_bitmap_fmt_txt+0x66>
|
|
buf_size = (gsize + 1) >> 1;
|
|
102d4: 3401 adds r4, #1
|
|
102d6: 0864 lsrs r4, r4, #1
|
|
break;
|
|
102d8: e785 b.n 101e6 <lv_font_get_bitmap_fmt_txt+0x66>
|
|
LV_ASSERT_MEM(decompr_buf);
|
|
102da: 4b53 ldr r3, [pc, #332] ; (10428 <lv_font_get_bitmap_fmt_txt+0x2a8>)
|
|
102dc: 9300 str r3, [sp, #0]
|
|
102de: 2272 movs r2, #114 ; 0x72
|
|
102e0: 4952 ldr r1, [pc, #328] ; (1042c <lv_font_get_bitmap_fmt_txt+0x2ac>)
|
|
102e2: 2003 movs r0, #3
|
|
102e4: 4c52 ldr r4, [pc, #328] ; (10430 <lv_font_get_bitmap_fmt_txt+0x2b0>)
|
|
102e6: 47a0 blx r4
|
|
102e8: f8d9 2000 ldr.w r2, [r9]
|
|
102ec: 2300 movs r3, #0
|
|
102ee: 4851 ldr r0, [pc, #324] ; (10434 <lv_font_get_bitmap_fmt_txt+0x2b4>)
|
|
102f0: 4951 ldr r1, [pc, #324] ; (10438 <lv_font_get_bitmap_fmt_txt+0x2b8>)
|
|
102f2: 4788 blx r1
|
|
102f4: e7fe b.n 102f4 <lv_font_get_bitmap_fmt_txt+0x174>
|
|
bit_mask = 0x3;
|
|
102f6: 2003 movs r0, #3
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
102f8: 08eb lsrs r3, r5, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
102fa: f005 0207 and.w r2, r5, #7
|
|
if(bit_pos + len >= 8) {
|
|
102fe: eb02 0c08 add.w ip, r2, r8
|
|
10302: f1bc 0f07 cmp.w ip, #7
|
|
10306: d835 bhi.n 10374 <lv_font_get_bitmap_fmt_txt+0x1f4>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
10308: f817 c003 ldrb.w ip, [r7, r3]
|
|
1030c: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
1030e: 1a9a subs r2, r3, r2
|
|
10310: fa4c f302 asr.w r3, ip, r2
|
|
10314: 4003 ands r3, r0
|
|
if(rle_rdp != 0 && rle_prev_v == ret) {
|
|
10316: b115 cbz r5, 1031e <lv_font_get_bitmap_fmt_txt+0x19e>
|
|
10318: 9a03 ldr r2, [sp, #12]
|
|
1031a: 4293 cmp r3, r2
|
|
1031c: d038 beq.n 10390 <lv_font_get_bitmap_fmt_txt+0x210>
|
|
rle_rdp += rle_bpp;
|
|
1031e: 4445 add r5, r8
|
|
rle_prev_v = ret;
|
|
10320: 9303 str r3, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
10322: 2201 movs r2, #1
|
|
10324: 9804 ldr r0, [sp, #16]
|
|
10326: 9006 str r0, [sp, #24]
|
|
out[i] = rle_next();
|
|
10328: f806 3f01 strb.w r3, [r6, #1]!
|
|
for(i = 0; i < w; i++) {
|
|
1032c: 455e cmp r6, fp
|
|
1032e: f000 814e beq.w 105ce <lv_font_get_bitmap_fmt_txt+0x44e>
|
|
if(rle_state == RLE_STATE_SINGLE) {
|
|
10332: bba1 cbnz r1, 1039e <lv_font_get_bitmap_fmt_txt+0x21e>
|
|
switch(len) {
|
|
10334: f1ba 0f07 cmp.w sl, #7
|
|
10338: d818 bhi.n 1036c <lv_font_get_bitmap_fmt_txt+0x1ec>
|
|
1033a: a301 add r3, pc, #4 ; (adr r3, 10340 <lv_font_get_bitmap_fmt_txt+0x1c0>)
|
|
1033c: f853 f02a ldr.w pc, [r3, sl, lsl #2]
|
|
10340: 00010371 .word 0x00010371
|
|
10344: 000102f7 .word 0x000102f7
|
|
10348: 00010361 .word 0x00010361
|
|
1034c: 00010365 .word 0x00010365
|
|
10350: 0001036d .word 0x0001036d
|
|
10354: 0001036d .word 0x0001036d
|
|
10358: 0001036d .word 0x0001036d
|
|
1035c: 00010369 .word 0x00010369
|
|
bit_mask = 0x7;
|
|
10360: 2007 movs r0, #7
|
|
10362: e7c9 b.n 102f8 <lv_font_get_bitmap_fmt_txt+0x178>
|
|
bit_mask = 0xF;
|
|
10364: 200f movs r0, #15
|
|
10366: e7c7 b.n 102f8 <lv_font_get_bitmap_fmt_txt+0x178>
|
|
bit_mask = 0xFF;
|
|
10368: 20ff movs r0, #255 ; 0xff
|
|
1036a: e7c5 b.n 102f8 <lv_font_get_bitmap_fmt_txt+0x178>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
1036c: 980b ldr r0, [sp, #44] ; 0x2c
|
|
1036e: e7c3 b.n 102f8 <lv_font_get_bitmap_fmt_txt+0x178>
|
|
bit_mask = 0x1;
|
|
10370: 2001 movs r0, #1
|
|
10372: e7c1 b.n 102f8 <lv_font_get_bitmap_fmt_txt+0x178>
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
10374: f817 c003 ldrb.w ip, [r7, r3]
|
|
10378: 443b add r3, r7
|
|
1037a: 785b ldrb r3, [r3, #1]
|
|
1037c: eb03 230c add.w r3, r3, ip, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
10380: fa1f fc83 uxth.w ip, r3
|
|
10384: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
10386: 1a9a subs r2, r3, r2
|
|
10388: fa4c f302 asr.w r3, ip, r2
|
|
1038c: 4003 ands r3, r0
|
|
1038e: e7c2 b.n 10316 <lv_font_get_bitmap_fmt_txt+0x196>
|
|
if(rle_rdp != 0 && rle_prev_v == ret) {
|
|
10390: 2201 movs r2, #1
|
|
10392: 9205 str r2, [sp, #20]
|
|
rle_cnt = 0;
|
|
10394: 2400 movs r4, #0
|
|
if(rle_rdp != 0 && rle_prev_v == ret) {
|
|
10396: 9a04 ldr r2, [sp, #16]
|
|
10398: 9207 str r2, [sp, #28]
|
|
rle_state = RLE_STATE_REPEATE;
|
|
1039a: 4611 mov r1, r2
|
|
1039c: e7bf b.n 1031e <lv_font_get_bitmap_fmt_txt+0x19e>
|
|
else if(rle_state == RLE_STATE_REPEATE) {
|
|
1039e: 2901 cmp r1, #1
|
|
103a0: d004 beq.n 103ac <lv_font_get_bitmap_fmt_txt+0x22c>
|
|
else if(rle_state == RLE_STATE_COUNTER) {
|
|
103a2: 2902 cmp r1, #2
|
|
103a4: f000 80cd beq.w 10542 <lv_font_get_bitmap_fmt_txt+0x3c2>
|
|
uint8_t ret = 0;
|
|
103a8: 2300 movs r3, #0
|
|
103aa: e7bd b.n 10328 <lv_font_get_bitmap_fmt_txt+0x1a8>
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
103ac: 08eb lsrs r3, r5, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
103ae: f005 0207 and.w r2, r5, #7
|
|
if(bit_pos + len >= 8) {
|
|
103b2: f102 0c01 add.w ip, r2, #1
|
|
103b6: f1bc 0f07 cmp.w ip, #7
|
|
103ba: d813 bhi.n 103e4 <lv_font_get_bitmap_fmt_txt+0x264>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
103bc: 5cfb ldrb r3, [r7, r3]
|
|
103be: 43d2 mvns r2, r2
|
|
103c0: 3208 adds r2, #8
|
|
103c2: 4113 asrs r3, r2
|
|
103c4: f003 0301 and.w r3, r3, #1
|
|
rle_cnt++;
|
|
103c8: 3401 adds r4, #1
|
|
103ca: b2e4 uxtb r4, r4
|
|
rle_rdp += 1;
|
|
103cc: 1c6a adds r2, r5, #1
|
|
if(v == 1) {
|
|
103ce: b9b3 cbnz r3, 103fe <lv_font_get_bitmap_fmt_txt+0x27e>
|
|
switch(len) {
|
|
103d0: f1ba 0f07 cmp.w sl, #7
|
|
103d4: f200 80a5 bhi.w 10522 <lv_font_get_bitmap_fmt_txt+0x3a2>
|
|
103d8: e8df f00a tbb [pc, sl]
|
|
103dc: 9f9d84a5 .word 0x9f9d84a5
|
|
103e0: a1a3a3a3 .word 0xa1a3a3a3
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
103e4: f817 c003 ldrb.w ip, [r7, r3]
|
|
103e8: 443b add r3, r7
|
|
103ea: 785b ldrb r3, [r3, #1]
|
|
103ec: eb03 230c add.w r3, r3, ip, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
103f0: b29b uxth r3, r3
|
|
103f2: 43d2 mvns r2, r2
|
|
103f4: 3210 adds r2, #16
|
|
103f6: 4113 asrs r3, r2
|
|
103f8: f003 0301 and.w r3, r3, #1
|
|
103fc: e7e4 b.n 103c8 <lv_font_get_bitmap_fmt_txt+0x248>
|
|
if(rle_cnt == 11) {
|
|
103fe: 2c0b cmp r4, #11
|
|
10400: d01c beq.n 1043c <lv_font_get_bitmap_fmt_txt+0x2bc>
|
|
rle_rdp += 1;
|
|
10402: 4615 mov r5, r2
|
|
ret = rle_prev_v;
|
|
10404: 9b03 ldr r3, [sp, #12]
|
|
if(rle_cnt == 11) {
|
|
10406: 2201 movs r2, #1
|
|
10408: 9205 str r2, [sp, #20]
|
|
1040a: 9a04 ldr r2, [sp, #16]
|
|
1040c: e78c b.n 10328 <lv_font_get_bitmap_fmt_txt+0x1a8>
|
|
1040e: bf00 nop
|
|
10410: 00010095 .word 0x00010095
|
|
10414: 20002b5c .word 0x20002b5c
|
|
10418: 00012539 .word 0x00012539
|
|
1041c: 00012881 .word 0x00012881
|
|
10420: 00002299 .word 0x00002299
|
|
10424: 00012925 .word 0x00012925
|
|
10428: 000254ac .word 0x000254ac
|
|
1042c: 000254c8 .word 0x000254c8
|
|
10430: 00012245 .word 0x00012245
|
|
10434: 00023fc0 .word 0x00023fc0
|
|
10438: 000022a1 .word 0x000022a1
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
1043c: 08d3 lsrs r3, r2, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
1043e: f002 0207 and.w r2, r2, #7
|
|
if(bit_pos + len >= 8) {
|
|
10442: 1d91 adds r1, r2, #6
|
|
10444: 2907 cmp r1, #7
|
|
10446: d813 bhi.n 10470 <lv_font_get_bitmap_fmt_txt+0x2f0>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
10448: 5cfc ldrb r4, [r7, r3]
|
|
1044a: f1c2 0202 rsb r2, r2, #2
|
|
1044e: fa44 f202 asr.w r2, r4, r2
|
|
10452: f002 043f and.w r4, r2, #63 ; 0x3f
|
|
rle_rdp += 6;
|
|
10456: 3507 adds r5, #7
|
|
if(rle_cnt != 0) {
|
|
10458: 2c00 cmp r4, #0
|
|
1045a: f040 80ad bne.w 105b8 <lv_font_get_bitmap_fmt_txt+0x438>
|
|
switch(len) {
|
|
1045e: f1ba 0f07 cmp.w sl, #7
|
|
10462: d826 bhi.n 104b2 <lv_font_get_bitmap_fmt_txt+0x332>
|
|
10464: e8df f00a tbb [pc, sl]
|
|
10468: 211f1027 .word 0x211f1027
|
|
1046c: 23252525 .word 0x23252525
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
10470: 5cf9 ldrb r1, [r7, r3]
|
|
10472: 443b add r3, r7
|
|
10474: 785c ldrb r4, [r3, #1]
|
|
10476: eb04 2401 add.w r4, r4, r1, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
1047a: b2a4 uxth r4, r4
|
|
1047c: f1c2 020a rsb r2, r2, #10
|
|
10480: 4114 asrs r4, r2
|
|
10482: f004 043f and.w r4, r4, #63 ; 0x3f
|
|
10486: e7e6 b.n 10456 <lv_font_get_bitmap_fmt_txt+0x2d6>
|
|
bit_mask = 0x3;
|
|
10488: 2003 movs r0, #3
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
1048a: 08ea lsrs r2, r5, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
1048c: f005 0307 and.w r3, r5, #7
|
|
if(bit_pos + len >= 8) {
|
|
10490: eb03 0108 add.w r1, r3, r8
|
|
10494: 2907 cmp r1, #7
|
|
10496: d810 bhi.n 104ba <lv_font_get_bitmap_fmt_txt+0x33a>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
10498: 5cba ldrb r2, [r7, r2]
|
|
1049a: 990a ldr r1, [sp, #40] ; 0x28
|
|
1049c: 1acb subs r3, r1, r3
|
|
1049e: fa42 f303 asr.w r3, r2, r3
|
|
104a2: 4003 ands r3, r0
|
|
104a4: e014 b.n 104d0 <lv_font_get_bitmap_fmt_txt+0x350>
|
|
bit_mask = 0x7;
|
|
104a6: 2007 movs r0, #7
|
|
104a8: e7ef b.n 1048a <lv_font_get_bitmap_fmt_txt+0x30a>
|
|
bit_mask = 0xF;
|
|
104aa: 200f movs r0, #15
|
|
104ac: e7ed b.n 1048a <lv_font_get_bitmap_fmt_txt+0x30a>
|
|
bit_mask = 0xFF;
|
|
104ae: 20ff movs r0, #255 ; 0xff
|
|
104b0: e7eb b.n 1048a <lv_font_get_bitmap_fmt_txt+0x30a>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
104b2: 980b ldr r0, [sp, #44] ; 0x2c
|
|
104b4: e7e9 b.n 1048a <lv_font_get_bitmap_fmt_txt+0x30a>
|
|
bit_mask = 0x1;
|
|
104b6: 2001 movs r0, #1
|
|
104b8: e7e7 b.n 1048a <lv_font_get_bitmap_fmt_txt+0x30a>
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
104ba: 5cb9 ldrb r1, [r7, r2]
|
|
104bc: 443a add r2, r7
|
|
104be: 7852 ldrb r2, [r2, #1]
|
|
104c0: eb02 2201 add.w r2, r2, r1, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
104c4: b292 uxth r2, r2
|
|
104c6: 9909 ldr r1, [sp, #36] ; 0x24
|
|
104c8: 1acb subs r3, r1, r3
|
|
104ca: fa42 f303 asr.w r3, r2, r3
|
|
104ce: 4003 ands r3, r0
|
|
rle_rdp += rle_bpp;
|
|
104d0: 4445 add r5, r8
|
|
rle_prev_v = ret;
|
|
104d2: 9303 str r3, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
104d4: 2201 movs r2, #1
|
|
104d6: 9205 str r2, [sp, #20]
|
|
104d8: 9804 ldr r0, [sp, #16]
|
|
104da: 4602 mov r2, r0
|
|
104dc: 9007 str r0, [sp, #28]
|
|
rle_state = RLE_STATE_SINGLE;
|
|
104de: 2100 movs r1, #0
|
|
rle_rdp += rle_bpp;
|
|
104e0: 9006 str r0, [sp, #24]
|
|
104e2: e721 b.n 10328 <lv_font_get_bitmap_fmt_txt+0x1a8>
|
|
bit_mask = 0x3;
|
|
104e4: 2003 movs r0, #3
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
104e6: 08d1 lsrs r1, r2, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
104e8: f002 0307 and.w r3, r2, #7
|
|
if(bit_pos + len >= 8) {
|
|
104ec: eb03 0508 add.w r5, r3, r8
|
|
104f0: 2d07 cmp r5, #7
|
|
104f2: d81a bhi.n 1052a <lv_font_get_bitmap_fmt_txt+0x3aa>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
104f4: 5c79 ldrb r1, [r7, r1]
|
|
104f6: 9d0a ldr r5, [sp, #40] ; 0x28
|
|
104f8: 1aeb subs r3, r5, r3
|
|
104fa: fa41 f303 asr.w r3, r1, r3
|
|
104fe: 4003 ands r3, r0
|
|
rle_rdp += rle_bpp;
|
|
10500: eb02 0508 add.w r5, r2, r8
|
|
rle_prev_v = ret;
|
|
10504: 9303 str r3, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
10506: 2201 movs r2, #1
|
|
10508: 9205 str r2, [sp, #20]
|
|
1050a: 9804 ldr r0, [sp, #16]
|
|
1050c: 4602 mov r2, r0
|
|
1050e: 9007 str r0, [sp, #28]
|
|
rle_state = RLE_STATE_SINGLE;
|
|
10510: 2100 movs r1, #0
|
|
rle_rdp += rle_bpp;
|
|
10512: 9006 str r0, [sp, #24]
|
|
10514: e708 b.n 10328 <lv_font_get_bitmap_fmt_txt+0x1a8>
|
|
bit_mask = 0x7;
|
|
10516: 2007 movs r0, #7
|
|
10518: e7e5 b.n 104e6 <lv_font_get_bitmap_fmt_txt+0x366>
|
|
bit_mask = 0xF;
|
|
1051a: 200f movs r0, #15
|
|
1051c: e7e3 b.n 104e6 <lv_font_get_bitmap_fmt_txt+0x366>
|
|
bit_mask = 0xFF;
|
|
1051e: 20ff movs r0, #255 ; 0xff
|
|
10520: e7e1 b.n 104e6 <lv_font_get_bitmap_fmt_txt+0x366>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
10522: 980b ldr r0, [sp, #44] ; 0x2c
|
|
10524: e7df b.n 104e6 <lv_font_get_bitmap_fmt_txt+0x366>
|
|
bit_mask = 0x1;
|
|
10526: 2001 movs r0, #1
|
|
10528: e7dd b.n 104e6 <lv_font_get_bitmap_fmt_txt+0x366>
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
1052a: 5c7d ldrb r5, [r7, r1]
|
|
1052c: 4439 add r1, r7
|
|
1052e: 7849 ldrb r1, [r1, #1]
|
|
10530: eb01 2105 add.w r1, r1, r5, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
10534: b289 uxth r1, r1
|
|
10536: 9d09 ldr r5, [sp, #36] ; 0x24
|
|
10538: 1aeb subs r3, r5, r3
|
|
1053a: fa41 f303 asr.w r3, r1, r3
|
|
1053e: 4003 ands r3, r0
|
|
10540: e7de b.n 10500 <lv_font_get_bitmap_fmt_txt+0x380>
|
|
rle_cnt--;
|
|
10542: 3c01 subs r4, #1
|
|
if(rle_cnt == 0) {
|
|
10544: f014 04ff ands.w r4, r4, #255 ; 0xff
|
|
10548: d13d bne.n 105c6 <lv_font_get_bitmap_fmt_txt+0x446>
|
|
switch(len) {
|
|
1054a: f1ba 0f07 cmp.w sl, #7
|
|
1054e: d823 bhi.n 10598 <lv_font_get_bitmap_fmt_txt+0x418>
|
|
10550: e8df f00a tbb [pc, sl]
|
|
10554: 1e1c0424 .word 0x1e1c0424
|
|
10558: 20222222 .word 0x20222222
|
|
bit_mask = 0x3;
|
|
1055c: 2003 movs r0, #3
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
1055e: 08ea lsrs r2, r5, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
10560: f005 0307 and.w r3, r5, #7
|
|
if(bit_pos + len >= 8) {
|
|
10564: eb03 0108 add.w r1, r3, r8
|
|
10568: 2907 cmp r1, #7
|
|
1056a: d819 bhi.n 105a0 <lv_font_get_bitmap_fmt_txt+0x420>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
1056c: 5cba ldrb r2, [r7, r2]
|
|
1056e: 990a ldr r1, [sp, #40] ; 0x28
|
|
10570: 1acb subs r3, r1, r3
|
|
10572: fa42 f303 asr.w r3, r2, r3
|
|
10576: 4003 ands r3, r0
|
|
rle_rdp += rle_bpp;
|
|
10578: 4445 add r5, r8
|
|
rle_prev_v = ret;
|
|
1057a: 9303 str r3, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
1057c: 2201 movs r2, #1
|
|
1057e: 9205 str r2, [sp, #20]
|
|
10580: 9804 ldr r0, [sp, #16]
|
|
10582: 4602 mov r2, r0
|
|
10584: 9007 str r0, [sp, #28]
|
|
rle_state = RLE_STATE_SINGLE;
|
|
10586: 2100 movs r1, #0
|
|
rle_rdp += rle_bpp;
|
|
10588: 9006 str r0, [sp, #24]
|
|
1058a: e6cd b.n 10328 <lv_font_get_bitmap_fmt_txt+0x1a8>
|
|
bit_mask = 0x7;
|
|
1058c: 2007 movs r0, #7
|
|
1058e: e7e6 b.n 1055e <lv_font_get_bitmap_fmt_txt+0x3de>
|
|
bit_mask = 0xF;
|
|
10590: 200f movs r0, #15
|
|
10592: e7e4 b.n 1055e <lv_font_get_bitmap_fmt_txt+0x3de>
|
|
bit_mask = 0xFF;
|
|
10594: 20ff movs r0, #255 ; 0xff
|
|
10596: e7e2 b.n 1055e <lv_font_get_bitmap_fmt_txt+0x3de>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
10598: 980b ldr r0, [sp, #44] ; 0x2c
|
|
1059a: e7e0 b.n 1055e <lv_font_get_bitmap_fmt_txt+0x3de>
|
|
bit_mask = 0x1;
|
|
1059c: 2001 movs r0, #1
|
|
1059e: e7de b.n 1055e <lv_font_get_bitmap_fmt_txt+0x3de>
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
105a0: 5cb9 ldrb r1, [r7, r2]
|
|
105a2: 443a add r2, r7
|
|
105a4: 7852 ldrb r2, [r2, #1]
|
|
105a6: eb02 2201 add.w r2, r2, r1, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
105aa: b292 uxth r2, r2
|
|
105ac: 9909 ldr r1, [sp, #36] ; 0x24
|
|
105ae: 1acb subs r3, r1, r3
|
|
105b0: fa42 f303 asr.w r3, r2, r3
|
|
105b4: 4003 ands r3, r0
|
|
105b6: e7df b.n 10578 <lv_font_get_bitmap_fmt_txt+0x3f8>
|
|
ret = rle_prev_v;
|
|
105b8: 9b03 ldr r3, [sp, #12]
|
|
if(rle_cnt != 0) {
|
|
105ba: 2201 movs r2, #1
|
|
105bc: 9205 str r2, [sp, #20]
|
|
105be: 9a04 ldr r2, [sp, #16]
|
|
105c0: 9207 str r2, [sp, #28]
|
|
rle_state = RLE_STATE_COUNTER;
|
|
105c2: 2102 movs r1, #2
|
|
105c4: e6b0 b.n 10328 <lv_font_get_bitmap_fmt_txt+0x1a8>
|
|
ret = rle_prev_v;
|
|
105c6: 9b03 ldr r3, [sp, #12]
|
|
if(rle_cnt == 0) {
|
|
105c8: 2001 movs r0, #1
|
|
105ca: 9005 str r0, [sp, #20]
|
|
105cc: e6ac b.n 10328 <lv_font_get_bitmap_fmt_txt+0x1a8>
|
|
105ce: 9806 ldr r0, [sp, #24]
|
|
105d0: 468c mov ip, r1
|
|
105d2: b9c8 cbnz r0, 10608 <lv_font_get_bitmap_fmt_txt+0x488>
|
|
105d4: b10a cbz r2, 105da <lv_font_get_bitmap_fmt_txt+0x45a>
|
|
105d6: 4b9f ldr r3, [pc, #636] ; (10854 <lv_font_get_bitmap_fmt_txt+0x6d4>)
|
|
105d8: 60dd str r5, [r3, #12]
|
|
105da: 9b07 ldr r3, [sp, #28]
|
|
105dc: b113 cbz r3, 105e4 <lv_font_get_bitmap_fmt_txt+0x464>
|
|
105de: 4b9d ldr r3, [pc, #628] ; (10854 <lv_font_get_bitmap_fmt_txt+0x6d4>)
|
|
105e0: f883 c009 strb.w ip, [r3, #9]
|
|
105e4: 9b05 ldr r3, [sp, #20]
|
|
105e6: b10b cbz r3, 105ec <lv_font_get_bitmap_fmt_txt+0x46c>
|
|
105e8: 4b9a ldr r3, [pc, #616] ; (10854 <lv_font_get_bitmap_fmt_txt+0x6d4>)
|
|
105ea: 745c strb r4, [r3, #17]
|
|
rle_rdp += rle_bpp;
|
|
105ec: 2000 movs r0, #0
|
|
if(len == 3) {
|
|
105ee: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
105f0: 9303 str r3, [sp, #12]
|
|
len = 4;
|
|
105f2: 2704 movs r7, #4
|
|
val = 15;
|
|
105f4: f04f 0c0f mov.w ip, #15
|
|
val = 13;
|
|
105f8: f04f 080d mov.w r8, #13
|
|
val = 11;
|
|
105fc: f04f 0a0b mov.w sl, #11
|
|
val = 9;
|
|
10600: f04f 0b09 mov.w fp, #9
|
|
val = 4;
|
|
10604: 9704 str r7, [sp, #16]
|
|
10606: e028 b.n 1065a <lv_font_get_bitmap_fmt_txt+0x4da>
|
|
10608: 4b92 ldr r3, [pc, #584] ; (10854 <lv_font_get_bitmap_fmt_txt+0x6d4>)
|
|
1060a: f89d 100c ldrb.w r1, [sp, #12]
|
|
1060e: 7419 strb r1, [r3, #16]
|
|
10610: e7e0 b.n 105d4 <lv_font_get_bitmap_fmt_txt+0x454>
|
|
switch(val) {
|
|
10612: 2907 cmp r1, #7
|
|
10614: d83d bhi.n 10692 <lv_font_get_bitmap_fmt_txt+0x512>
|
|
10616: e8df f001 tbb [pc, r1]
|
|
1061a: 2704 .short 0x2704
|
|
1061c: 33302d2a .word 0x33302d2a
|
|
10620: 3936 .short 0x3936
|
|
len = 4;
|
|
10622: 463d mov r5, r7
|
|
val = 0;
|
|
10624: 2100 movs r1, #0
|
|
bit_pos = bit_pos & 0x7;
|
|
10626: f000 0207 and.w r2, r0, #7
|
|
1062a: f1c2 0208 rsb r2, r2, #8
|
|
bit_pos = 8 - bit_pos - len;
|
|
1062e: 1b52 subs r2, r2, r5
|
|
out[byte_pos] &= ((~bit_mask) << bit_pos);
|
|
10630: f3c0 04cf ubfx r4, r0, #3, #16
|
|
10634: f04f 33ff mov.w r3, #4294967295
|
|
10638: 40ab lsls r3, r5
|
|
1063a: f063 03ff orn r3, r3, #255 ; 0xff
|
|
1063e: 4093 lsls r3, r2
|
|
10640: f819 5004 ldrb.w r5, [r9, r4]
|
|
10644: 402b ands r3, r5
|
|
out[byte_pos] |= (val << bit_pos);
|
|
10646: fa01 f202 lsl.w r2, r1, r2
|
|
1064a: 4313 orrs r3, r2
|
|
1064c: f809 3004 strb.w r3, [r9, r4]
|
|
wrp += wr_size;
|
|
10650: 9a08 ldr r2, [sp, #32]
|
|
10652: 4613 mov r3, r2
|
|
10654: 4410 add r0, r2
|
|
for(x = 0; x < w; x++) {
|
|
10656: 45b6 cmp lr, r6
|
|
10658: d01d beq.n 10696 <lv_font_get_bitmap_fmt_txt+0x516>
|
|
bits_write(out, wrp, line_buf1[x], bpp);
|
|
1065a: f81e 1f01 ldrb.w r1, [lr, #1]!
|
|
if(len == 3) {
|
|
1065e: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
10660: 2b03 cmp r3, #3
|
|
10662: d0d6 beq.n 10612 <lv_font_get_bitmap_fmt_txt+0x492>
|
|
10664: 9d03 ldr r5, [sp, #12]
|
|
10666: e7de b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
10668: 463d mov r5, r7
|
|
val = 2;
|
|
1066a: 2102 movs r1, #2
|
|
1066c: e7db b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
1066e: 463d mov r5, r7
|
|
val = 4;
|
|
10670: 9904 ldr r1, [sp, #16]
|
|
10672: e7d8 b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
10674: 463d mov r5, r7
|
|
val = 6;
|
|
10676: 2106 movs r1, #6
|
|
10678: e7d5 b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
1067a: 463d mov r5, r7
|
|
val = 9;
|
|
1067c: 4659 mov r1, fp
|
|
1067e: e7d2 b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
10680: 463d mov r5, r7
|
|
val = 11;
|
|
10682: 4651 mov r1, sl
|
|
10684: e7cf b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
10686: 463d mov r5, r7
|
|
val = 13;
|
|
10688: 4641 mov r1, r8
|
|
1068a: e7cc b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
1068c: 463d mov r5, r7
|
|
val = 15;
|
|
1068e: 4661 mov r1, ip
|
|
10690: e7c9 b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
len = 4;
|
|
10692: 463d mov r5, r7
|
|
10694: e7c7 b.n 10626 <lv_font_get_bitmap_fmt_txt+0x4a6>
|
|
10696: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
10698: fb02 3303 mla r3, r2, r3, r3
|
|
1069c: 930e str r3, [sp, #56] ; 0x38
|
|
for(y = 1; y < h; y++) {
|
|
1069e: 9b15 ldr r3, [sp, #84] ; 0x54
|
|
106a0: 2b01 cmp r3, #1
|
|
106a2: f340 8255 ble.w 10b50 <lv_font_get_bitmap_fmt_txt+0x9d0>
|
|
ret = get_bits(rle_in, rle_rdp, rle_bpp);
|
|
106a6: 4b6b ldr r3, [pc, #428] ; (10854 <lv_font_get_bitmap_fmt_txt+0x6d4>)
|
|
106a8: f8d3 8004 ldr.w r8, [r3, #4]
|
|
106ac: 7a1a ldrb r2, [r3, #8]
|
|
106ae: 4610 mov r0, r2
|
|
106b0: 9219 str r2, [sp, #100] ; 0x64
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
106b2: 2201 movs r2, #1
|
|
106b4: fa02 f100 lsl.w r1, r2, r0
|
|
106b8: 3901 subs r1, #1
|
|
106ba: b2c9 uxtb r1, r1
|
|
106bc: 911b str r1, [sp, #108] ; 0x6c
|
|
if(bit_pos + len >= 8) {
|
|
106be: 4601 mov r1, r0
|
|
106c0: 4682 mov sl, r0
|
|
106c2: 7c58 ldrb r0, [r3, #17]
|
|
106c4: 9007 str r0, [sp, #28]
|
|
106c6: f1c1 0108 rsb r1, r1, #8
|
|
106ca: 910b str r1, [sp, #44] ; 0x2c
|
|
106cc: f1ca 0110 rsb r1, sl, #16
|
|
106d0: 910d str r1, [sp, #52] ; 0x34
|
|
106d2: 7c19 ldrb r1, [r3, #16]
|
|
106d4: 9103 str r1, [sp, #12]
|
|
106d6: f8d3 c00c ldr.w ip, [r3, #12]
|
|
106da: f893 b009 ldrb.w fp, [r3, #9]
|
|
106de: 9908 ldr r1, [sp, #32]
|
|
106e0: 9112 str r1, [sp, #72] ; 0x48
|
|
106e2: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
106e4: 3b01 subs r3, #1
|
|
106e6: b29b uxth r3, r3
|
|
106e8: fb01 f103 mul.w r1, r1, r3
|
|
106ec: 911a str r1, [sp, #104] ; 0x68
|
|
106ee: 2100 movs r1, #0
|
|
106f0: 910a str r1, [sp, #40] ; 0x28
|
|
106f2: 910c str r1, [sp, #48] ; 0x30
|
|
106f4: 9106 str r1, [sp, #24]
|
|
106f6: 9108 str r1, [sp, #32]
|
|
106f8: 9210 str r2, [sp, #64] ; 0x40
|
|
106fa: 9a17 ldr r2, [sp, #92] ; 0x5c
|
|
106fc: 18d3 adds r3, r2, r3
|
|
106fe: 931c str r3, [sp, #112] ; 0x70
|
|
rle_rdp += rle_bpp;
|
|
10700: 2301 movs r3, #1
|
|
10702: 9304 str r3, [sp, #16]
|
|
if(len == 3) {
|
|
10704: 9a0f ldr r2, [sp, #60] ; 0x3c
|
|
10706: 9209 str r2, [sp, #36] ; 0x24
|
|
val = 4;
|
|
10708: 2204 movs r2, #4
|
|
1070a: 921d str r2, [sp, #116] ; 0x74
|
|
rle_rdp += rle_bpp;
|
|
1070c: 9305 str r3, [sp, #20]
|
|
1070e: 4666 mov r6, ip
|
|
10710: e1f5 b.n 10afe <lv_font_get_bitmap_fmt_txt+0x97e>
|
|
for(i = 0; i < w; i++) {
|
|
10712: 2300 movs r3, #0
|
|
10714: 930e str r3, [sp, #56] ; 0x38
|
|
10716: e7c2 b.n 1069e <lv_font_get_bitmap_fmt_txt+0x51e>
|
|
bit_mask = 0x3;
|
|
10718: f04f 0903 mov.w r9, #3
|
|
1071c: e00c b.n 10738 <lv_font_get_bitmap_fmt_txt+0x5b8>
|
|
bit_mask = 0x7;
|
|
1071e: f04f 0907 mov.w r9, #7
|
|
10722: e009 b.n 10738 <lv_font_get_bitmap_fmt_txt+0x5b8>
|
|
bit_mask = 0xF;
|
|
10724: f04f 090f mov.w r9, #15
|
|
10728: e006 b.n 10738 <lv_font_get_bitmap_fmt_txt+0x5b8>
|
|
bit_mask = 0xFF;
|
|
1072a: 46e1 mov r9, ip
|
|
1072c: e004 b.n 10738 <lv_font_get_bitmap_fmt_txt+0x5b8>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
1072e: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44
|
|
10732: e001 b.n 10738 <lv_font_get_bitmap_fmt_txt+0x5b8>
|
|
bit_mask = 0x1;
|
|
10734: f8dd 9010 ldr.w r9, [sp, #16]
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
10738: 08f3 lsrs r3, r6, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
1073a: f006 0207 and.w r2, r6, #7
|
|
if(bit_pos + len >= 8) {
|
|
1073e: eb02 0b0a add.w fp, r2, sl
|
|
10742: f1bb 0f07 cmp.w fp, #7
|
|
10746: d831 bhi.n 107ac <lv_font_get_bitmap_fmt_txt+0x62c>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
10748: f818 3003 ldrb.w r3, [r8, r3]
|
|
1074c: 9d0b ldr r5, [sp, #44] ; 0x2c
|
|
1074e: 1aaa subs r2, r5, r2
|
|
10750: fa43 f202 asr.w r2, r3, r2
|
|
10754: ea02 0909 and.w r9, r2, r9
|
|
10758: fa5f f989 uxtb.w r9, r9
|
|
if(rle_rdp != 0 && rle_prev_v == ret) {
|
|
1075c: b116 cbz r6, 10764 <lv_font_get_bitmap_fmt_txt+0x5e4>
|
|
1075e: 9b03 ldr r3, [sp, #12]
|
|
10760: 454b cmp r3, r9
|
|
10762: d033 beq.n 107cc <lv_font_get_bitmap_fmt_txt+0x64c>
|
|
rle_rdp += rle_bpp;
|
|
10764: 4456 add r6, sl
|
|
rle_prev_v = ret;
|
|
10766: f8cd 900c str.w r9, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
1076a: 9b04 ldr r3, [sp, #16]
|
|
1076c: 9306 str r3, [sp, #24]
|
|
1076e: 9b05 ldr r3, [sp, #20]
|
|
10770: 9308 str r3, [sp, #32]
|
|
out[i] = rle_next();
|
|
10772: f804 9f01 strb.w r9, [r4, #1]!
|
|
for(i = 0; i < w; i++) {
|
|
10776: 42a0 cmp r0, r4
|
|
10778: f000 815d beq.w 10a36 <lv_font_get_bitmap_fmt_txt+0x8b6>
|
|
if(rle_state == RLE_STATE_SINGLE) {
|
|
1077c: bb69 cbnz r1, 107da <lv_font_get_bitmap_fmt_txt+0x65a>
|
|
switch(len) {
|
|
1077e: 9b07 ldr r3, [sp, #28]
|
|
10780: 461a mov r2, r3
|
|
10782: 2a07 cmp r2, #7
|
|
10784: d8d3 bhi.n 1072e <lv_font_get_bitmap_fmt_txt+0x5ae>
|
|
10786: a301 add r3, pc, #4 ; (adr r3, 1078c <lv_font_get_bitmap_fmt_txt+0x60c>)
|
|
10788: f853 f022 ldr.w pc, [r3, r2, lsl #2]
|
|
1078c: 00010735 .word 0x00010735
|
|
10790: 00010719 .word 0x00010719
|
|
10794: 0001071f .word 0x0001071f
|
|
10798: 00010725 .word 0x00010725
|
|
1079c: 0001072f .word 0x0001072f
|
|
107a0: 0001072f .word 0x0001072f
|
|
107a4: 0001072f .word 0x0001072f
|
|
107a8: 0001072b .word 0x0001072b
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
107ac: f818 b003 ldrb.w fp, [r8, r3]
|
|
107b0: 4443 add r3, r8
|
|
107b2: 785b ldrb r3, [r3, #1]
|
|
107b4: eb03 230b add.w r3, r3, fp, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
107b8: b29b uxth r3, r3
|
|
107ba: 9d0d ldr r5, [sp, #52] ; 0x34
|
|
107bc: 1aaa subs r2, r5, r2
|
|
107be: fa43 f202 asr.w r2, r3, r2
|
|
107c2: ea02 0209 and.w r2, r2, r9
|
|
107c6: fa5f f982 uxtb.w r9, r2
|
|
107ca: e7c7 b.n 1075c <lv_font_get_bitmap_fmt_txt+0x5dc>
|
|
if(rle_rdp != 0 && rle_prev_v == ret) {
|
|
107cc: 9b04 ldr r3, [sp, #16]
|
|
107ce: 930a str r3, [sp, #40] ; 0x28
|
|
rle_cnt = 0;
|
|
107d0: 4677 mov r7, lr
|
|
if(rle_rdp != 0 && rle_prev_v == ret) {
|
|
107d2: 9b05 ldr r3, [sp, #20]
|
|
107d4: 930c str r3, [sp, #48] ; 0x30
|
|
rle_state = RLE_STATE_REPEATE;
|
|
107d6: 4619 mov r1, r3
|
|
107d8: e7c4 b.n 10764 <lv_font_get_bitmap_fmt_txt+0x5e4>
|
|
else if(rle_state == RLE_STATE_REPEATE) {
|
|
107da: 2901 cmp r1, #1
|
|
107dc: d004 beq.n 107e8 <lv_font_get_bitmap_fmt_txt+0x668>
|
|
else if(rle_state == RLE_STATE_COUNTER) {
|
|
107de: 2902 cmp r1, #2
|
|
107e0: f000 80d7 beq.w 10992 <lv_font_get_bitmap_fmt_txt+0x812>
|
|
uint8_t ret = 0;
|
|
107e4: 46f1 mov r9, lr
|
|
107e6: e7c4 b.n 10772 <lv_font_get_bitmap_fmt_txt+0x5f2>
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
107e8: 08f3 lsrs r3, r6, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
107ea: f006 0207 and.w r2, r6, #7
|
|
if(bit_pos + len >= 8) {
|
|
107ee: f102 0901 add.w r9, r2, #1
|
|
107f2: f1b9 0f07 cmp.w r9, #7
|
|
107f6: d815 bhi.n 10824 <lv_font_get_bitmap_fmt_txt+0x6a4>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
107f8: f818 3003 ldrb.w r3, [r8, r3]
|
|
107fc: 43d2 mvns r2, r2
|
|
107fe: 3208 adds r2, #8
|
|
10800: 4113 asrs r3, r2
|
|
10802: f003 0301 and.w r3, r3, #1
|
|
rle_cnt++;
|
|
10806: 1c7a adds r2, r7, #1
|
|
10808: b2d7 uxtb r7, r2
|
|
rle_rdp += 1;
|
|
1080a: 1c72 adds r2, r6, #1
|
|
if(v == 1) {
|
|
1080c: b9bb cbnz r3, 1083e <lv_font_get_bitmap_fmt_txt+0x6be>
|
|
switch(len) {
|
|
1080e: 9b07 ldr r3, [sp, #28]
|
|
10810: 4619 mov r1, r3
|
|
10812: 2907 cmp r1, #7
|
|
10814: f200 808e bhi.w 10934 <lv_font_get_bitmap_fmt_txt+0x7b4>
|
|
10818: e8df f001 tbb [pc, r1]
|
|
1081c: 8886848e .word 0x8886848e
|
|
10820: 8a8c8c8c .word 0x8a8c8c8c
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
10824: f818 9003 ldrb.w r9, [r8, r3]
|
|
10828: 4443 add r3, r8
|
|
1082a: 785b ldrb r3, [r3, #1]
|
|
1082c: eb03 2309 add.w r3, r3, r9, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
10830: b29b uxth r3, r3
|
|
10832: 43d2 mvns r2, r2
|
|
10834: 3210 adds r2, #16
|
|
10836: 4113 asrs r3, r2
|
|
10838: f003 0301 and.w r3, r3, #1
|
|
1083c: e7e3 b.n 10806 <lv_font_get_bitmap_fmt_txt+0x686>
|
|
if(rle_cnt == 11) {
|
|
1083e: 2f0b cmp r7, #11
|
|
10840: d00a beq.n 10858 <lv_font_get_bitmap_fmt_txt+0x6d8>
|
|
rle_rdp += 1;
|
|
10842: 4616 mov r6, r2
|
|
ret = rle_prev_v;
|
|
10844: f8dd 900c ldr.w r9, [sp, #12]
|
|
if(rle_cnt == 11) {
|
|
10848: 9b04 ldr r3, [sp, #16]
|
|
1084a: 930a str r3, [sp, #40] ; 0x28
|
|
1084c: 9b05 ldr r3, [sp, #20]
|
|
1084e: 9306 str r3, [sp, #24]
|
|
10850: e78f b.n 10772 <lv_font_get_bitmap_fmt_txt+0x5f2>
|
|
10852: bf00 nop
|
|
10854: 20002b5c .word 0x20002b5c
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
10858: 08d3 lsrs r3, r2, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
1085a: f002 0207 and.w r2, r2, #7
|
|
if(bit_pos + len >= 8) {
|
|
1085e: 1d91 adds r1, r2, #6
|
|
10860: 2907 cmp r1, #7
|
|
10862: d815 bhi.n 10890 <lv_font_get_bitmap_fmt_txt+0x710>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
10864: f818 3003 ldrb.w r3, [r8, r3]
|
|
10868: f1c2 0202 rsb r2, r2, #2
|
|
1086c: fa43 f202 asr.w r2, r3, r2
|
|
10870: f002 073f and.w r7, r2, #63 ; 0x3f
|
|
rle_rdp += 6;
|
|
10874: 3607 adds r6, #7
|
|
if(rle_cnt != 0) {
|
|
10876: 2f00 cmp r7, #0
|
|
10878: f040 80cf bne.w 10a1a <lv_font_get_bitmap_fmt_txt+0x89a>
|
|
switch(len) {
|
|
1087c: 9b07 ldr r3, [sp, #28]
|
|
1087e: 461a mov r2, r3
|
|
10880: 2a07 cmp r2, #7
|
|
10882: d839 bhi.n 108f8 <lv_font_get_bitmap_fmt_txt+0x778>
|
|
10884: e8df f002 tbb [pc, r2]
|
|
10888: 3330123b .word 0x3330123b
|
|
1088c: 36383838 .word 0x36383838
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
10890: f818 1003 ldrb.w r1, [r8, r3]
|
|
10894: 4443 add r3, r8
|
|
10896: 785b ldrb r3, [r3, #1]
|
|
10898: eb03 2301 add.w r3, r3, r1, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
1089c: b29b uxth r3, r3
|
|
1089e: f1c2 020a rsb r2, r2, #10
|
|
108a2: fa43 f202 asr.w r2, r3, r2
|
|
108a6: f002 073f and.w r7, r2, #63 ; 0x3f
|
|
108aa: e7e3 b.n 10874 <lv_font_get_bitmap_fmt_txt+0x6f4>
|
|
bit_mask = 0x3;
|
|
108ac: f04f 0903 mov.w r9, #3
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
108b0: 08f3 lsrs r3, r6, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
108b2: f006 0207 and.w r2, r6, #7
|
|
if(bit_pos + len >= 8) {
|
|
108b6: eb02 010a add.w r1, r2, sl
|
|
108ba: 2907 cmp r1, #7
|
|
108bc: d822 bhi.n 10904 <lv_font_get_bitmap_fmt_txt+0x784>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
108be: f818 3003 ldrb.w r3, [r8, r3]
|
|
108c2: 990b ldr r1, [sp, #44] ; 0x2c
|
|
108c4: 1a8a subs r2, r1, r2
|
|
108c6: fa43 f202 asr.w r2, r3, r2
|
|
108ca: ea02 0209 and.w r2, r2, r9
|
|
108ce: fa5f f982 uxtb.w r9, r2
|
|
rle_rdp += rle_bpp;
|
|
108d2: 4456 add r6, sl
|
|
rle_prev_v = ret;
|
|
108d4: f8cd 900c str.w r9, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
108d8: 9b04 ldr r3, [sp, #16]
|
|
108da: 930a str r3, [sp, #40] ; 0x28
|
|
108dc: 9b05 ldr r3, [sp, #20]
|
|
108de: 930c str r3, [sp, #48] ; 0x30
|
|
rle_state = RLE_STATE_SINGLE;
|
|
108e0: 4671 mov r1, lr
|
|
rle_rdp += rle_bpp;
|
|
108e2: 9306 str r3, [sp, #24]
|
|
108e4: 9308 str r3, [sp, #32]
|
|
108e6: e744 b.n 10772 <lv_font_get_bitmap_fmt_txt+0x5f2>
|
|
bit_mask = 0x7;
|
|
108e8: f04f 0907 mov.w r9, #7
|
|
108ec: e7e0 b.n 108b0 <lv_font_get_bitmap_fmt_txt+0x730>
|
|
bit_mask = 0xF;
|
|
108ee: f04f 090f mov.w r9, #15
|
|
108f2: e7dd b.n 108b0 <lv_font_get_bitmap_fmt_txt+0x730>
|
|
bit_mask = 0xFF;
|
|
108f4: 46e1 mov r9, ip
|
|
108f6: e7db b.n 108b0 <lv_font_get_bitmap_fmt_txt+0x730>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
108f8: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44
|
|
108fc: e7d8 b.n 108b0 <lv_font_get_bitmap_fmt_txt+0x730>
|
|
bit_mask = 0x1;
|
|
108fe: f8dd 9010 ldr.w r9, [sp, #16]
|
|
10902: e7d5 b.n 108b0 <lv_font_get_bitmap_fmt_txt+0x730>
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
10904: f818 1003 ldrb.w r1, [r8, r3]
|
|
10908: 4443 add r3, r8
|
|
1090a: 785b ldrb r3, [r3, #1]
|
|
1090c: eb03 2301 add.w r3, r3, r1, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
10910: b29b uxth r3, r3
|
|
10912: 990d ldr r1, [sp, #52] ; 0x34
|
|
10914: 1a8a subs r2, r1, r2
|
|
10916: fa43 f202 asr.w r2, r3, r2
|
|
1091a: ea02 0209 and.w r2, r2, r9
|
|
1091e: fa5f f982 uxtb.w r9, r2
|
|
10922: e7d6 b.n 108d2 <lv_font_get_bitmap_fmt_txt+0x752>
|
|
bit_mask = 0x3;
|
|
10924: 2603 movs r6, #3
|
|
10926: e008 b.n 1093a <lv_font_get_bitmap_fmt_txt+0x7ba>
|
|
bit_mask = 0x7;
|
|
10928: 2607 movs r6, #7
|
|
1092a: e006 b.n 1093a <lv_font_get_bitmap_fmt_txt+0x7ba>
|
|
bit_mask = 0xF;
|
|
1092c: 260f movs r6, #15
|
|
1092e: e004 b.n 1093a <lv_font_get_bitmap_fmt_txt+0x7ba>
|
|
bit_mask = 0xFF;
|
|
10930: 4666 mov r6, ip
|
|
10932: e002 b.n 1093a <lv_font_get_bitmap_fmt_txt+0x7ba>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
10934: 9e11 ldr r6, [sp, #68] ; 0x44
|
|
10936: e000 b.n 1093a <lv_font_get_bitmap_fmt_txt+0x7ba>
|
|
bit_mask = 0x1;
|
|
10938: 9e04 ldr r6, [sp, #16]
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
1093a: 08d3 lsrs r3, r2, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
1093c: f002 0107 and.w r1, r2, #7
|
|
if(bit_pos + len >= 8) {
|
|
10940: eb01 090a add.w r9, r1, sl
|
|
10944: f1b9 0f07 cmp.w r9, #7
|
|
10948: d814 bhi.n 10974 <lv_font_get_bitmap_fmt_txt+0x7f4>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
1094a: f818 3003 ldrb.w r3, [r8, r3]
|
|
1094e: 9d0b ldr r5, [sp, #44] ; 0x2c
|
|
10950: 1a69 subs r1, r5, r1
|
|
10952: fa43 f101 asr.w r1, r3, r1
|
|
10956: 4031 ands r1, r6
|
|
10958: fa5f f981 uxtb.w r9, r1
|
|
rle_rdp += rle_bpp;
|
|
1095c: eb02 060a add.w r6, r2, sl
|
|
rle_prev_v = ret;
|
|
10960: f8cd 900c str.w r9, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
10964: 9b04 ldr r3, [sp, #16]
|
|
10966: 930a str r3, [sp, #40] ; 0x28
|
|
10968: 9b05 ldr r3, [sp, #20]
|
|
1096a: 930c str r3, [sp, #48] ; 0x30
|
|
rle_state = RLE_STATE_SINGLE;
|
|
1096c: 4671 mov r1, lr
|
|
rle_rdp += rle_bpp;
|
|
1096e: 9306 str r3, [sp, #24]
|
|
10970: 9308 str r3, [sp, #32]
|
|
10972: e6fe b.n 10772 <lv_font_get_bitmap_fmt_txt+0x5f2>
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
10974: f818 9003 ldrb.w r9, [r8, r3]
|
|
10978: 4443 add r3, r8
|
|
1097a: 785b ldrb r3, [r3, #1]
|
|
1097c: eb03 2309 add.w r3, r3, r9, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
10980: b29b uxth r3, r3
|
|
10982: 9d0d ldr r5, [sp, #52] ; 0x34
|
|
10984: 1a69 subs r1, r5, r1
|
|
10986: fa43 f101 asr.w r1, r3, r1
|
|
1098a: 4031 ands r1, r6
|
|
1098c: fa5f f981 uxtb.w r9, r1
|
|
10990: e7e4 b.n 1095c <lv_font_get_bitmap_fmt_txt+0x7dc>
|
|
rle_cnt--;
|
|
10992: 1e7b subs r3, r7, #1
|
|
if(rle_cnt == 0) {
|
|
10994: f013 07ff ands.w r7, r3, #255 ; 0xff
|
|
10998: d148 bne.n 10a2c <lv_font_get_bitmap_fmt_txt+0x8ac>
|
|
switch(len) {
|
|
1099a: 9b07 ldr r3, [sp, #28]
|
|
1099c: 461a mov r2, r3
|
|
1099e: 2a07 cmp r2, #7
|
|
109a0: d80d bhi.n 109be <lv_font_get_bitmap_fmt_txt+0x83e>
|
|
109a2: e8df f002 tbb [pc, r2]
|
|
109a6: 040e .short 0x040e
|
|
109a8: 0c0c0806 .word 0x0c0c0806
|
|
109ac: 0a0c .short 0x0a0c
|
|
bit_mask = 0x3;
|
|
109ae: 2103 movs r1, #3
|
|
109b0: e008 b.n 109c4 <lv_font_get_bitmap_fmt_txt+0x844>
|
|
bit_mask = 0x7;
|
|
109b2: 2107 movs r1, #7
|
|
109b4: e006 b.n 109c4 <lv_font_get_bitmap_fmt_txt+0x844>
|
|
bit_mask = 0xF;
|
|
109b6: 210f movs r1, #15
|
|
109b8: e004 b.n 109c4 <lv_font_get_bitmap_fmt_txt+0x844>
|
|
bit_mask = 0xFF;
|
|
109ba: 4661 mov r1, ip
|
|
109bc: e002 b.n 109c4 <lv_font_get_bitmap_fmt_txt+0x844>
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
109be: 9911 ldr r1, [sp, #68] ; 0x44
|
|
109c0: e000 b.n 109c4 <lv_font_get_bitmap_fmt_txt+0x844>
|
|
bit_mask = 0x1;
|
|
109c2: 9904 ldr r1, [sp, #16]
|
|
uint32_t byte_pos = bit_pos >> 3;
|
|
109c4: 08f3 lsrs r3, r6, #3
|
|
bit_pos = bit_pos & 0x7;
|
|
109c6: f006 0207 and.w r2, r6, #7
|
|
if(bit_pos + len >= 8) {
|
|
109ca: eb02 090a add.w r9, r2, sl
|
|
109ce: f1b9 0f07 cmp.w r9, #7
|
|
109d2: d813 bhi.n 109fc <lv_font_get_bitmap_fmt_txt+0x87c>
|
|
return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask;
|
|
109d4: f818 3003 ldrb.w r3, [r8, r3]
|
|
109d8: 9d0b ldr r5, [sp, #44] ; 0x2c
|
|
109da: 1aaa subs r2, r5, r2
|
|
109dc: fa43 f202 asr.w r2, r3, r2
|
|
109e0: 400a ands r2, r1
|
|
109e2: fa5f f982 uxtb.w r9, r2
|
|
rle_rdp += rle_bpp;
|
|
109e6: 4456 add r6, sl
|
|
rle_prev_v = ret;
|
|
109e8: f8cd 900c str.w r9, [sp, #12]
|
|
rle_rdp += rle_bpp;
|
|
109ec: 9b04 ldr r3, [sp, #16]
|
|
109ee: 930a str r3, [sp, #40] ; 0x28
|
|
109f0: 9b05 ldr r3, [sp, #20]
|
|
109f2: 930c str r3, [sp, #48] ; 0x30
|
|
rle_state = RLE_STATE_SINGLE;
|
|
109f4: 4671 mov r1, lr
|
|
rle_rdp += rle_bpp;
|
|
109f6: 9306 str r3, [sp, #24]
|
|
109f8: 9308 str r3, [sp, #32]
|
|
109fa: e6ba b.n 10772 <lv_font_get_bitmap_fmt_txt+0x5f2>
|
|
uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1];
|
|
109fc: f818 9003 ldrb.w r9, [r8, r3]
|
|
10a00: 4443 add r3, r8
|
|
10a02: 785b ldrb r3, [r3, #1]
|
|
10a04: eb03 2309 add.w r3, r3, r9, lsl #8
|
|
return (in16 >> (16 - bit_pos - len)) & bit_mask;
|
|
10a08: b29b uxth r3, r3
|
|
10a0a: 9d0d ldr r5, [sp, #52] ; 0x34
|
|
10a0c: 1aaa subs r2, r5, r2
|
|
10a0e: fa43 f202 asr.w r2, r3, r2
|
|
10a12: 400a ands r2, r1
|
|
10a14: fa5f f982 uxtb.w r9, r2
|
|
10a18: e7e5 b.n 109e6 <lv_font_get_bitmap_fmt_txt+0x866>
|
|
ret = rle_prev_v;
|
|
10a1a: f8dd 900c ldr.w r9, [sp, #12]
|
|
if(rle_cnt != 0) {
|
|
10a1e: 9b04 ldr r3, [sp, #16]
|
|
10a20: 930a str r3, [sp, #40] ; 0x28
|
|
10a22: 9b05 ldr r3, [sp, #20]
|
|
10a24: 930c str r3, [sp, #48] ; 0x30
|
|
rle_state = RLE_STATE_COUNTER;
|
|
10a26: 2102 movs r1, #2
|
|
if(rle_cnt != 0) {
|
|
10a28: 9306 str r3, [sp, #24]
|
|
10a2a: e6a2 b.n 10772 <lv_font_get_bitmap_fmt_txt+0x5f2>
|
|
ret = rle_prev_v;
|
|
10a2c: f8dd 900c ldr.w r9, [sp, #12]
|
|
if(rle_cnt == 0) {
|
|
10a30: 9b04 ldr r3, [sp, #16]
|
|
10a32: 930a str r3, [sp, #40] ; 0x28
|
|
10a34: e69d b.n 10772 <lv_font_get_bitmap_fmt_txt+0x5f2>
|
|
10a36: f8dd 904c ldr.w r9, [sp, #76] ; 0x4c
|
|
10a3a: 9707 str r7, [sp, #28]
|
|
10a3c: 9f14 ldr r7, [sp, #80] ; 0x50
|
|
10a3e: 9b16 ldr r3, [sp, #88] ; 0x58
|
|
10a40: f103 3eff add.w lr, r3, #4294967295
|
|
for(i = 0; i < w; i++) {
|
|
10a44: 9d0e ldr r5, [sp, #56] ; 0x38
|
|
val = 2;
|
|
10a46: f8dd c03c ldr.w ip, [sp, #60] ; 0x3c
|
|
10a4a: 9611 str r6, [sp, #68] ; 0x44
|
|
10a4c: 9113 str r1, [sp, #76] ; 0x4c
|
|
10a4e: f8dd b048 ldr.w fp, [sp, #72] ; 0x48
|
|
10a52: e021 b.n 10a98 <lv_font_get_bitmap_fmt_txt+0x918>
|
|
switch(val) {
|
|
10a54: 2a07 cmp r2, #7
|
|
10a56: d840 bhi.n 10ada <lv_font_get_bitmap_fmt_txt+0x95a>
|
|
10a58: e8df f002 tbb [pc, r2]
|
|
10a5c: 302d2a04 .word 0x302d2a04
|
|
10a60: 3c393633 .word 0x3c393633
|
|
len = 4;
|
|
10a64: 2304 movs r3, #4
|
|
val = 0;
|
|
10a66: 2200 movs r2, #0
|
|
bit_pos = bit_pos & 0x7;
|
|
10a68: f005 0107 and.w r1, r5, #7
|
|
10a6c: f1c1 0108 rsb r1, r1, #8
|
|
bit_pos = 8 - bit_pos - len;
|
|
10a70: 1ac9 subs r1, r1, r3
|
|
out[byte_pos] &= ((~bit_mask) << bit_pos);
|
|
10a72: f3c5 00cf ubfx r0, r5, #3, #16
|
|
uint8_t bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
10a76: 2601 movs r6, #1
|
|
10a78: fa06 f303 lsl.w r3, r6, r3
|
|
out[byte_pos] &= ((~bit_mask) << bit_pos);
|
|
10a7c: 425b negs r3, r3
|
|
10a7e: f063 03ff orn r3, r3, #255 ; 0xff
|
|
10a82: 408b lsls r3, r1
|
|
10a84: f819 6000 ldrb.w r6, [r9, r0]
|
|
10a88: 4033 ands r3, r6
|
|
out[byte_pos] |= (val << bit_pos);
|
|
10a8a: 408a lsls r2, r1
|
|
10a8c: 4313 orrs r3, r2
|
|
10a8e: f809 3000 strb.w r3, [r9, r0]
|
|
10a92: 445d add r5, fp
|
|
for(x = 0; x < w; x++) {
|
|
10a94: 42bc cmp r4, r7
|
|
10a96: d022 beq.n 10ade <lv_font_get_bitmap_fmt_txt+0x95e>
|
|
line_buf1[x] = line_buf2[x] ^ line_buf1[x];
|
|
10a98: f817 2f01 ldrb.w r2, [r7, #1]!
|
|
10a9c: f89e 3001 ldrb.w r3, [lr, #1]
|
|
10aa0: 405a eors r2, r3
|
|
10aa2: f80e 2f01 strb.w r2, [lr, #1]!
|
|
if(len == 3) {
|
|
10aa6: f1bc 0f03 cmp.w ip, #3
|
|
10aaa: d0d3 beq.n 10a54 <lv_font_get_bitmap_fmt_txt+0x8d4>
|
|
10aac: 9b09 ldr r3, [sp, #36] ; 0x24
|
|
10aae: e7db b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10ab0: 2304 movs r3, #4
|
|
val = 2;
|
|
10ab2: 2202 movs r2, #2
|
|
10ab4: e7d8 b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10ab6: 2304 movs r3, #4
|
|
val = 4;
|
|
10ab8: 9a1d ldr r2, [sp, #116] ; 0x74
|
|
10aba: e7d5 b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10abc: 2304 movs r3, #4
|
|
val = 6;
|
|
10abe: 2206 movs r2, #6
|
|
10ac0: e7d2 b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10ac2: 2304 movs r3, #4
|
|
val = 9;
|
|
10ac4: 2209 movs r2, #9
|
|
10ac6: e7cf b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10ac8: 2304 movs r3, #4
|
|
val = 11;
|
|
10aca: 220b movs r2, #11
|
|
10acc: e7cc b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10ace: 2304 movs r3, #4
|
|
val = 13;
|
|
10ad0: 220d movs r2, #13
|
|
10ad2: e7c9 b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10ad4: 2304 movs r3, #4
|
|
val = 15;
|
|
10ad6: 220f movs r2, #15
|
|
10ad8: e7c6 b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
len = 4;
|
|
10ada: 2304 movs r3, #4
|
|
10adc: e7c4 b.n 10a68 <lv_font_get_bitmap_fmt_txt+0x8e8>
|
|
10ade: 9e11 ldr r6, [sp, #68] ; 0x44
|
|
10ae0: f8dd b04c ldr.w fp, [sp, #76] ; 0x4c
|
|
10ae4: 9b1a ldr r3, [sp, #104] ; 0x68
|
|
10ae6: 9a12 ldr r2, [sp, #72] ; 0x48
|
|
10ae8: 4413 add r3, r2
|
|
10aea: 9a0e ldr r2, [sp, #56] ; 0x38
|
|
10aec: 441a add r2, r3
|
|
10aee: 920e str r2, [sp, #56] ; 0x38
|
|
10af0: 9b10 ldr r3, [sp, #64] ; 0x40
|
|
10af2: 3301 adds r3, #1
|
|
10af4: b21b sxth r3, r3
|
|
10af6: 9310 str r3, [sp, #64] ; 0x40
|
|
for(y = 1; y < h; y++) {
|
|
10af8: 9a15 ldr r2, [sp, #84] ; 0x54
|
|
10afa: 429a cmp r2, r3
|
|
10afc: d015 beq.n 10b2a <lv_font_get_bitmap_fmt_txt+0x9aa>
|
|
for(i = 0; i < w; i++) {
|
|
10afe: 9b18 ldr r3, [sp, #96] ; 0x60
|
|
10b00: 2b00 cmp r3, #0
|
|
10b02: d0f5 beq.n 10af0 <lv_font_get_bitmap_fmt_txt+0x970>
|
|
10b04: 9b17 ldr r3, [sp, #92] ; 0x5c
|
|
10b06: 1e5f subs r7, r3, #1
|
|
10b08: 463c mov r4, r7
|
|
uint8_t ret = 0;
|
|
10b0a: f04f 0e00 mov.w lr, #0
|
|
switch(len) {
|
|
10b0e: 9b19 ldr r3, [sp, #100] ; 0x64
|
|
10b10: 1e5d subs r5, r3, #1
|
|
bit_mask = (uint16_t)((uint16_t) 1 << len) - 1;
|
|
10b12: 9b1b ldr r3, [sp, #108] ; 0x6c
|
|
10b14: 9311 str r3, [sp, #68] ; 0x44
|
|
bit_mask = 0xFF;
|
|
10b16: f04f 0cff mov.w ip, #255 ; 0xff
|
|
10b1a: f8cd 904c str.w r9, [sp, #76] ; 0x4c
|
|
10b1e: 4659 mov r1, fp
|
|
10b20: 9714 str r7, [sp, #80] ; 0x50
|
|
10b22: 9f07 ldr r7, [sp, #28]
|
|
10b24: 9507 str r5, [sp, #28]
|
|
10b26: 981c ldr r0, [sp, #112] ; 0x70
|
|
10b28: e628 b.n 1077c <lv_font_get_bitmap_fmt_txt+0x5fc>
|
|
10b2a: 46b4 mov ip, r6
|
|
10b2c: 9b08 ldr r3, [sp, #32]
|
|
10b2e: b9c3 cbnz r3, 10b62 <lv_font_get_bitmap_fmt_txt+0x9e2>
|
|
10b30: 9b06 ldr r3, [sp, #24]
|
|
10b32: b113 cbz r3, 10b3a <lv_font_get_bitmap_fmt_txt+0x9ba>
|
|
10b34: 4b13 ldr r3, [pc, #76] ; (10b84 <lv_font_get_bitmap_fmt_txt+0xa04>)
|
|
10b36: f8c3 c00c str.w ip, [r3, #12]
|
|
10b3a: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
10b3c: b113 cbz r3, 10b44 <lv_font_get_bitmap_fmt_txt+0x9c4>
|
|
10b3e: 4b11 ldr r3, [pc, #68] ; (10b84 <lv_font_get_bitmap_fmt_txt+0xa04>)
|
|
10b40: f883 b009 strb.w fp, [r3, #9]
|
|
10b44: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
10b46: b11b cbz r3, 10b50 <lv_font_get_bitmap_fmt_txt+0x9d0>
|
|
10b48: 4b0e ldr r3, [pc, #56] ; (10b84 <lv_font_get_bitmap_fmt_txt+0xa04>)
|
|
10b4a: f89d 201c ldrb.w r2, [sp, #28]
|
|
10b4e: 745a strb r2, [r3, #17]
|
|
_lv_mem_buf_release(line_buf1);
|
|
10b50: 9816 ldr r0, [sp, #88] ; 0x58
|
|
10b52: 4c0d ldr r4, [pc, #52] ; (10b88 <lv_font_get_bitmap_fmt_txt+0xa08>)
|
|
10b54: 47a0 blx r4
|
|
_lv_mem_buf_release(line_buf2);
|
|
10b56: 9817 ldr r0, [sp, #92] ; 0x5c
|
|
10b58: 47a0 blx r4
|
|
return decompr_buf;
|
|
10b5a: 4b0a ldr r3, [pc, #40] ; (10b84 <lv_font_get_bitmap_fmt_txt+0xa04>)
|
|
10b5c: 6818 ldr r0, [r3, #0]
|
|
10b5e: f7ff bb2c b.w 101ba <lv_font_get_bitmap_fmt_txt+0x3a>
|
|
10b62: 4b08 ldr r3, [pc, #32] ; (10b84 <lv_font_get_bitmap_fmt_txt+0xa04>)
|
|
10b64: f89d 200c ldrb.w r2, [sp, #12]
|
|
10b68: 741a strb r2, [r3, #16]
|
|
10b6a: e7e1 b.n 10b30 <lv_font_get_bitmap_fmt_txt+0x9b0>
|
|
if(!gid) return NULL;
|
|
10b6c: 2000 movs r0, #0
|
|
10b6e: f7ff bb24 b.w 101ba <lv_font_get_bitmap_fmt_txt+0x3a>
|
|
return NULL;
|
|
10b72: 2000 movs r0, #0
|
|
10b74: f7ff bb21 b.w 101ba <lv_font_get_bitmap_fmt_txt+0x3a>
|
|
if(gsize == 0) return NULL;
|
|
10b78: 2000 movs r0, #0
|
|
10b7a: f7ff bb1e b.w 101ba <lv_font_get_bitmap_fmt_txt+0x3a>
|
|
if(decompr_buf == NULL) return NULL;
|
|
10b7e: 2000 movs r0, #0
|
|
10b80: f7ff bb1b b.w 101ba <lv_font_get_bitmap_fmt_txt+0x3a>
|
|
10b84: 20002b5c .word 0x20002b5c
|
|
10b88: 00012559 .word 0x00012559
|
|
|
|
00010b8c <lv_font_get_glyph_dsc_fmt_txt>:
|
|
{
|
|
10b8c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
10b90: b084 sub sp, #16
|
|
10b92: 4607 mov r7, r0
|
|
10b94: 460c mov r4, r1
|
|
10b96: 4699 mov r9, r3
|
|
if(unicode_letter == '\t') {
|
|
10b98: 2a09 cmp r2, #9
|
|
is_tab = true;
|
|
10b9a: bf06 itte eq
|
|
10b9c: 2501 moveq r5, #1
|
|
unicode_letter = ' ';
|
|
10b9e: 2220 moveq r2, #32
|
|
bool is_tab = false;
|
|
10ba0: 2500 movne r5, #0
|
|
lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;
|
|
10ba2: 6906 ldr r6, [r0, #16]
|
|
uint32_t gid = get_glyph_dsc_id(font, unicode_letter);
|
|
10ba4: 4611 mov r1, r2
|
|
10ba6: 4b49 ldr r3, [pc, #292] ; (10ccc <lv_font_get_glyph_dsc_fmt_txt+0x140>)
|
|
10ba8: 4798 blx r3
|
|
if(!gid) return false;
|
|
10baa: 4680 mov r8, r0
|
|
10bac: 2800 cmp r0, #0
|
|
10bae: f000 8086 beq.w 10cbe <lv_font_get_glyph_dsc_fmt_txt+0x132>
|
|
if(fdsc->kern_dsc) {
|
|
10bb2: 68f3 ldr r3, [r6, #12]
|
|
10bb4: 2b00 cmp r3, #0
|
|
10bb6: d07c beq.n 10cb2 <lv_font_get_glyph_dsc_fmt_txt+0x126>
|
|
uint32_t gid_next = get_glyph_dsc_id(font, unicode_letter_next);
|
|
10bb8: 4649 mov r1, r9
|
|
10bba: 4638 mov r0, r7
|
|
10bbc: 4b43 ldr r3, [pc, #268] ; (10ccc <lv_font_get_glyph_dsc_fmt_txt+0x140>)
|
|
10bbe: 4798 blx r3
|
|
if(gid_next) {
|
|
10bc0: 4603 mov r3, r0
|
|
10bc2: bb18 cbnz r0, 10c0c <lv_font_get_glyph_dsc_fmt_txt+0x80>
|
|
int8_t kvalue = 0;
|
|
10bc4: 2300 movs r3, #0
|
|
const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid];
|
|
10bc6: 6870 ldr r0, [r6, #4]
|
|
10bc8: eb00 00c8 add.w r0, r0, r8, lsl #3
|
|
int32_t kv = ((int32_t)((int32_t)kvalue * fdsc->kern_scale) >> 4);
|
|
10bcc: 8a32 ldrh r2, [r6, #16]
|
|
10bce: fb03 f302 mul.w r3, r3, r2
|
|
10bd2: 111b asrs r3, r3, #4
|
|
uint32_t adv_w = gdsc->adv_w;
|
|
10bd4: 8842 ldrh r2, [r0, #2]
|
|
10bd6: f3c2 120b ubfx r2, r2, #4, #12
|
|
if(is_tab) adv_w *= 2;
|
|
10bda: b105 cbz r5, 10bde <lv_font_get_glyph_dsc_fmt_txt+0x52>
|
|
10bdc: 0052 lsls r2, r2, #1
|
|
adv_w = (adv_w + (1 << 3)) >> 4;
|
|
10bde: 3308 adds r3, #8
|
|
10be0: 4413 add r3, r2
|
|
10be2: 091b lsrs r3, r3, #4
|
|
dsc_out->adv_w = adv_w;
|
|
10be4: 8023 strh r3, [r4, #0]
|
|
dsc_out->box_h = gdsc->box_h;
|
|
10be6: 7943 ldrb r3, [r0, #5]
|
|
10be8: 80a3 strh r3, [r4, #4]
|
|
dsc_out->box_w = gdsc->box_w;
|
|
10bea: 7902 ldrb r2, [r0, #4]
|
|
10bec: 8062 strh r2, [r4, #2]
|
|
dsc_out->ofs_x = gdsc->ofs_x;
|
|
10bee: f990 3006 ldrsb.w r3, [r0, #6]
|
|
10bf2: 80e3 strh r3, [r4, #6]
|
|
dsc_out->ofs_y = gdsc->ofs_y;
|
|
10bf4: f990 3007 ldrsb.w r3, [r0, #7]
|
|
10bf8: 8123 strh r3, [r4, #8]
|
|
dsc_out->bpp = (uint8_t)fdsc->bpp;
|
|
10bfa: 7cf3 ldrb r3, [r6, #19]
|
|
10bfc: f3c3 0383 ubfx r3, r3, #2, #4
|
|
10c00: 72a3 strb r3, [r4, #10]
|
|
if(is_tab) dsc_out->box_w = dsc_out->box_w * 2;
|
|
10c02: 2d00 cmp r5, #0
|
|
10c04: d060 beq.n 10cc8 <lv_font_get_glyph_dsc_fmt_txt+0x13c>
|
|
10c06: 0052 lsls r2, r2, #1
|
|
10c08: 8062 strh r2, [r4, #2]
|
|
10c0a: e059 b.n 10cc0 <lv_font_get_glyph_dsc_fmt_txt+0x134>
|
|
lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc;
|
|
10c0c: 693a ldr r2, [r7, #16]
|
|
if(fdsc->kern_classes == 0) {
|
|
10c0e: 7cd1 ldrb r1, [r2, #19]
|
|
10c10: f011 0f40 tst.w r1, #64 ; 0x40
|
|
10c14: d13c bne.n 10c90 <lv_font_get_glyph_dsc_fmt_txt+0x104>
|
|
const lv_font_fmt_txt_kern_pair_t * kdsc = fdsc->kern_dsc;
|
|
10c16: 68d7 ldr r7, [r2, #12]
|
|
if(kdsc->glyph_ids_size == 0) {
|
|
10c18: 7afa ldrb r2, [r7, #11]
|
|
10c1a: f012 0203 ands.w r2, r2, #3
|
|
10c1e: d003 beq.n 10c28 <lv_font_get_glyph_dsc_fmt_txt+0x9c>
|
|
else if(kdsc->glyph_ids_size == 1) {
|
|
10c20: 2a01 cmp r2, #1
|
|
10c22: d01b beq.n 10c5c <lv_font_get_glyph_dsc_fmt_txt+0xd0>
|
|
int8_t value = 0;
|
|
10c24: 2300 movs r3, #0
|
|
10c26: e7ce b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
const uint8_t * g_ids = kdsc->glyph_ids;
|
|
10c28: f8d7 9000 ldr.w r9, [r7]
|
|
uint16_t g_id_both = (gid_right << 8) + gid_left; /*Create one number from the ids*/
|
|
10c2c: eb08 2300 add.w r3, r8, r0, lsl #8
|
|
10c30: a804 add r0, sp, #16
|
|
10c32: f820 3d04 strh.w r3, [r0, #-4]!
|
|
uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 2, kern_pair_8_compare);
|
|
10c36: 68ba ldr r2, [r7, #8]
|
|
10c38: 4b25 ldr r3, [pc, #148] ; (10cd0 <lv_font_get_glyph_dsc_fmt_txt+0x144>)
|
|
10c3a: 9300 str r3, [sp, #0]
|
|
10c3c: 2302 movs r3, #2
|
|
10c3e: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000
|
|
10c42: 4649 mov r1, r9
|
|
10c44: f8df a090 ldr.w sl, [pc, #144] ; 10cd8 <lv_font_get_glyph_dsc_fmt_txt+0x14c>
|
|
10c48: 47d0 blx sl
|
|
if(kid_p) {
|
|
10c4a: b128 cbz r0, 10c58 <lv_font_get_glyph_dsc_fmt_txt+0xcc>
|
|
lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - g_ids);
|
|
10c4c: eba0 0309 sub.w r3, r0, r9
|
|
ofs = ofs >> 1; /*ofs is for pair, divide by 2 to refer as a single value*/
|
|
10c50: 085b lsrs r3, r3, #1
|
|
value = kdsc->values[ofs];
|
|
10c52: 687a ldr r2, [r7, #4]
|
|
10c54: 56d3 ldrsb r3, [r2, r3]
|
|
10c56: e7b6 b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
int8_t value = 0;
|
|
10c58: 2300 movs r3, #0
|
|
10c5a: e7b4 b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
const uint16_t * g_ids = kdsc->glyph_ids;
|
|
10c5c: f8d7 9000 ldr.w r9, [r7]
|
|
lv_uintptr_t g_id_both = (uint32_t)((uint32_t)gid_right << 8) + gid_left; /*Create one number from the ids*/
|
|
10c60: eb08 2300 add.w r3, r8, r0, lsl #8
|
|
10c64: a804 add r0, sp, #16
|
|
10c66: f840 3d04 str.w r3, [r0, #-4]!
|
|
uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 4, kern_pair_16_compare);
|
|
10c6a: 68ba ldr r2, [r7, #8]
|
|
10c6c: 4b19 ldr r3, [pc, #100] ; (10cd4 <lv_font_get_glyph_dsc_fmt_txt+0x148>)
|
|
10c6e: 9300 str r3, [sp, #0]
|
|
10c70: 2304 movs r3, #4
|
|
10c72: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000
|
|
10c76: 4649 mov r1, r9
|
|
10c78: f8df a05c ldr.w sl, [pc, #92] ; 10cd8 <lv_font_get_glyph_dsc_fmt_txt+0x14c>
|
|
10c7c: 47d0 blx sl
|
|
if(kid_p) {
|
|
10c7e: b128 cbz r0, 10c8c <lv_font_get_glyph_dsc_fmt_txt+0x100>
|
|
lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - (const uint8_t *)g_ids);
|
|
10c80: eba0 0309 sub.w r3, r0, r9
|
|
ofs = ofs >> 4; /*ofs is 4 byte pairs, divide by 4 to refer as a single value*/
|
|
10c84: 091b lsrs r3, r3, #4
|
|
value = kdsc->values[ofs];
|
|
10c86: 687a ldr r2, [r7, #4]
|
|
10c88: 56d3 ldrsb r3, [r2, r3]
|
|
10c8a: e79c b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
int8_t value = 0;
|
|
10c8c: 2300 movs r3, #0
|
|
10c8e: e79a b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
const lv_font_fmt_txt_kern_classes_t * kdsc = fdsc->kern_dsc;
|
|
10c90: 68d1 ldr r1, [r2, #12]
|
|
uint8_t left_class = kdsc->left_class_mapping[gid_left];
|
|
10c92: 684a ldr r2, [r1, #4]
|
|
10c94: f812 2008 ldrb.w r2, [r2, r8]
|
|
if(left_class > 0 && right_class > 0) {
|
|
10c98: b16a cbz r2, 10cb6 <lv_font_get_glyph_dsc_fmt_txt+0x12a>
|
|
uint8_t right_class = kdsc->right_class_mapping[gid_right];
|
|
10c9a: 6888 ldr r0, [r1, #8]
|
|
10c9c: 5cc3 ldrb r3, [r0, r3]
|
|
if(left_class > 0 && right_class > 0) {
|
|
10c9e: b163 cbz r3, 10cba <lv_font_get_glyph_dsc_fmt_txt+0x12e>
|
|
value = kdsc->class_pair_values[(left_class - 1) * kdsc->right_class_cnt + (right_class - 1)];
|
|
10ca0: 3a01 subs r2, #1
|
|
10ca2: 7b48 ldrb r0, [r1, #13]
|
|
10ca4: 6809 ldr r1, [r1, #0]
|
|
10ca6: 440b add r3, r1
|
|
10ca8: fb00 3202 mla r2, r0, r2, r3
|
|
10cac: f912 3c01 ldrsb.w r3, [r2, #-1]
|
|
10cb0: e789 b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
int8_t kvalue = 0;
|
|
10cb2: 2300 movs r3, #0
|
|
10cb4: e787 b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
int8_t value = 0;
|
|
10cb6: 2300 movs r3, #0
|
|
10cb8: e785 b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
10cba: 2300 movs r3, #0
|
|
10cbc: e783 b.n 10bc6 <lv_font_get_glyph_dsc_fmt_txt+0x3a>
|
|
if(!gid) return false;
|
|
10cbe: 2500 movs r5, #0
|
|
}
|
|
10cc0: 4628 mov r0, r5
|
|
10cc2: b004 add sp, #16
|
|
10cc4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
return true;
|
|
10cc8: 2501 movs r5, #1
|
|
10cca: e7f9 b.n 10cc0 <lv_font_get_glyph_dsc_fmt_txt+0x134>
|
|
10ccc: 00010095 .word 0x00010095
|
|
10cd0: 00010069 .word 0x00010069
|
|
10cd4: 0001007b .word 0x0001007b
|
|
10cd8: 0001416d .word 0x0001416d
|
|
|
|
00010cdc <_lv_font_clean_up_fmt_txt>:
|
|
{
|
|
10cdc: b508 push {r3, lr}
|
|
if(decompr_buf) {
|
|
10cde: 4b04 ldr r3, [pc, #16] ; (10cf0 <_lv_font_clean_up_fmt_txt+0x14>)
|
|
10ce0: 6818 ldr r0, [r3, #0]
|
|
10ce2: b120 cbz r0, 10cee <_lv_font_clean_up_fmt_txt+0x12>
|
|
lv_mem_free(decompr_buf);
|
|
10ce4: 4b03 ldr r3, [pc, #12] ; (10cf4 <_lv_font_clean_up_fmt_txt+0x18>)
|
|
10ce6: 4798 blx r3
|
|
decompr_buf = NULL;
|
|
10ce8: 2200 movs r2, #0
|
|
10cea: 4b01 ldr r3, [pc, #4] ; (10cf0 <_lv_font_clean_up_fmt_txt+0x14>)
|
|
10cec: 601a str r2, [r3, #0]
|
|
10cee: bd08 pop {r3, pc}
|
|
10cf0: 20002b5c .word 0x20002b5c
|
|
10cf4: 000124ad .word 0x000124ad
|
|
|
|
00010cf8 <lv_disp_drv_init>:
|
|
* It is used to surly have known values in the fields ant not memory junk.
|
|
* After it you can set the fields.
|
|
* @param driver pointer to driver variable to initialize
|
|
*/
|
|
void lv_disp_drv_init(lv_disp_drv_t * driver)
|
|
{
|
|
10cf8: b510 push {r4, lr}
|
|
10cfa: 4604 mov r4, r0
|
|
_lv_memset_00(driver, sizeof(lv_disp_drv_t));
|
|
10cfc: 212c movs r1, #44 ; 0x2c
|
|
10cfe: 4b15 ldr r3, [pc, #84] ; (10d54 <lv_disp_drv_init+0x5c>)
|
|
10d00: 4798 blx r3
|
|
|
|
driver->flush_cb = NULL;
|
|
10d02: 2300 movs r3, #0
|
|
10d04: 60e3 str r3, [r4, #12]
|
|
driver->hor_res = LV_HOR_RES_MAX;
|
|
10d06: f44f 72f0 mov.w r2, #480 ; 0x1e0
|
|
10d0a: 8022 strh r2, [r4, #0]
|
|
driver->ver_res = LV_VER_RES_MAX;
|
|
10d0c: f44f 7288 mov.w r2, #272 ; 0x110
|
|
10d10: 8062 strh r2, [r4, #2]
|
|
driver->buffer = NULL;
|
|
10d12: 6063 str r3, [r4, #4]
|
|
driver->rotated = 0;
|
|
10d14: 7a22 ldrb r2, [r4, #8]
|
|
10d16: f363 0241 bfi r2, r3, #1, #1
|
|
10d1a: 7222 strb r2, [r4, #8]
|
|
driver->color_chroma_key = LV_COLOR_TRANSP;
|
|
10d1c: f894 2028 ldrb.w r2, [r4, #40] ; 0x28
|
|
10d20: f363 0204 bfi r2, r3, #0, #5
|
|
10d24: f884 2028 strb.w r2, [r4, #40] ; 0x28
|
|
10d28: 8d22 ldrh r2, [r4, #40] ; 0x28
|
|
10d2a: f442 62fc orr.w r2, r2, #2016 ; 0x7e0
|
|
10d2e: 8522 strh r2, [r4, #40] ; 0x28
|
|
10d30: 0a12 lsrs r2, r2, #8
|
|
10d32: f363 02c7 bfi r2, r3, #3, #5
|
|
10d36: f884 2029 strb.w r2, [r4, #41] ; 0x29
|
|
driver->dpi = LV_DPI;
|
|
10d3a: 8922 ldrh r2, [r4, #8]
|
|
10d3c: 2182 movs r1, #130 ; 0x82
|
|
10d3e: f361 028b bfi r2, r1, #2, #10
|
|
10d42: 8122 strh r2, [r4, #8]
|
|
|
|
#if LV_ANTIALIAS
|
|
driver->antialiasing = true;
|
|
10d44: f042 0201 orr.w r2, r2, #1
|
|
10d48: 7222 strb r2, [r4, #8]
|
|
#if LV_COLOR_SCREEN_TRANSP
|
|
driver->screen_transp = 1;
|
|
#endif
|
|
|
|
#if LV_USE_GPU
|
|
driver->gpu_blend_cb = NULL;
|
|
10d4a: 6223 str r3, [r4, #32]
|
|
driver->gpu_fill_cb = NULL;
|
|
10d4c: 6263 str r3, [r4, #36] ; 0x24
|
|
|
|
#if LV_USE_USER_DATA
|
|
driver->user_data = NULL;
|
|
#endif
|
|
|
|
driver->set_px_cb = NULL;
|
|
10d4e: 6163 str r3, [r4, #20]
|
|
10d50: bd10 pop {r4, pc}
|
|
10d52: bf00 nop
|
|
10d54: 00012b1f .word 0x00012b1f
|
|
|
|
00010d58 <lv_disp_buf_init>:
|
|
* It lets LVGL to render next frame into the other buffer while previous is being
|
|
* sent. Set to `NULL` if unused.
|
|
* @param size_in_px_cnt size of the `buf1` and `buf2` in pixel count.
|
|
*/
|
|
void lv_disp_buf_init(lv_disp_buf_t * disp_buf, void * buf1, void * buf2, uint32_t size_in_px_cnt)
|
|
{
|
|
10d58: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
10d5a: 4604 mov r4, r0
|
|
10d5c: 460d mov r5, r1
|
|
10d5e: 4617 mov r7, r2
|
|
10d60: 461e mov r6, r3
|
|
_lv_memset_00(disp_buf, sizeof(lv_disp_buf_t));
|
|
10d62: 2124 movs r1, #36 ; 0x24
|
|
10d64: 4b03 ldr r3, [pc, #12] ; (10d74 <lv_disp_buf_init+0x1c>)
|
|
10d66: 4798 blx r3
|
|
|
|
disp_buf->buf1 = buf1;
|
|
10d68: 6025 str r5, [r4, #0]
|
|
disp_buf->buf2 = buf2;
|
|
10d6a: 6067 str r7, [r4, #4]
|
|
disp_buf->buf_act = disp_buf->buf1;
|
|
10d6c: 60a5 str r5, [r4, #8]
|
|
disp_buf->size = size_in_px_cnt;
|
|
10d6e: 60e6 str r6, [r4, #12]
|
|
10d70: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
10d72: bf00 nop
|
|
10d74: 00012b1f .word 0x00012b1f
|
|
|
|
00010d78 <lv_disp_drv_register>:
|
|
* Automatically set the first display as active.
|
|
* @param driver pointer to an initialized 'lv_disp_drv_t' variable (can be local variable)
|
|
* @return pointer to the new display or NULL on error
|
|
*/
|
|
lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver)
|
|
{
|
|
10d78: b5f0 push {r4, r5, r6, r7, lr}
|
|
10d7a: b083 sub sp, #12
|
|
10d7c: 4605 mov r5, r0
|
|
lv_disp_t * disp = _lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll));
|
|
10d7e: 483f ldr r0, [pc, #252] ; (10e7c <lv_disp_drv_register+0x104>)
|
|
10d80: 4b3f ldr r3, [pc, #252] ; (10e80 <lv_disp_drv_register+0x108>)
|
|
10d82: 4798 blx r3
|
|
if(!disp) {
|
|
10d84: 4604 mov r4, r0
|
|
10d86: 2800 cmp r0, #0
|
|
10d88: d054 beq.n 10e34 <lv_disp_drv_register+0xbc>
|
|
LV_ASSERT_MEM(disp);
|
|
return NULL;
|
|
}
|
|
|
|
_lv_memset_00(disp, sizeof(lv_disp_t));
|
|
10d8a: f44f 71b8 mov.w r1, #368 ; 0x170
|
|
10d8e: 4b3d ldr r3, [pc, #244] ; (10e84 <lv_disp_drv_register+0x10c>)
|
|
10d90: 4798 blx r3
|
|
_lv_memcpy(&disp->driver, driver, sizeof(lv_disp_drv_t));
|
|
10d92: 222c movs r2, #44 ; 0x2c
|
|
10d94: 4629 mov r1, r5
|
|
10d96: 4620 mov r0, r4
|
|
10d98: 4b3b ldr r3, [pc, #236] ; (10e88 <lv_disp_drv_register+0x110>)
|
|
10d9a: 4798 blx r3
|
|
|
|
_lv_ll_init(&disp->scr_ll, sizeof(lv_obj_t));
|
|
10d9c: 214c movs r1, #76 ; 0x4c
|
|
10d9e: f104 0030 add.w r0, r4, #48 ; 0x30
|
|
10da2: 4b3a ldr r3, [pc, #232] ; (10e8c <lv_disp_drv_register+0x114>)
|
|
10da4: 4798 blx r3
|
|
disp->last_activity_time = 0;
|
|
10da6: 2300 movs r3, #0
|
|
10da8: f8c4 316c str.w r3, [r4, #364] ; 0x16c
|
|
|
|
if(disp_def == NULL) disp_def = disp;
|
|
10dac: 4b38 ldr r3, [pc, #224] ; (10e90 <lv_disp_drv_register+0x118>)
|
|
10dae: 681b ldr r3, [r3, #0]
|
|
10db0: 2b00 cmp r3, #0
|
|
10db2: d050 beq.n 10e56 <lv_disp_drv_register+0xde>
|
|
|
|
lv_disp_t * disp_def_tmp = disp_def;
|
|
10db4: 4b36 ldr r3, [pc, #216] ; (10e90 <lv_disp_drv_register+0x118>)
|
|
10db6: 681f ldr r7, [r3, #0]
|
|
disp_def = disp; /*Temporarily change the default screen to create the default screens on the
|
|
10db8: 601c str r4, [r3, #0]
|
|
new display*/
|
|
/*Create a refresh task*/
|
|
disp->refr_task = lv_task_create(_lv_disp_refr_task, LV_DISP_DEF_REFR_PERIOD, LV_REFR_TASK_PRIO, disp);
|
|
10dba: 4623 mov r3, r4
|
|
10dbc: 2203 movs r2, #3
|
|
10dbe: 211e movs r1, #30
|
|
10dc0: 4834 ldr r0, [pc, #208] ; (10e94 <lv_disp_drv_register+0x11c>)
|
|
10dc2: 4d35 ldr r5, [pc, #212] ; (10e98 <lv_disp_drv_register+0x120>)
|
|
10dc4: 47a8 blx r5
|
|
10dc6: 62e0 str r0, [r4, #44] ; 0x2c
|
|
LV_ASSERT_MEM(disp->refr_task);
|
|
10dc8: 4b34 ldr r3, [pc, #208] ; (10e9c <lv_disp_drv_register+0x124>)
|
|
10dca: 4798 blx r3
|
|
10dcc: 2800 cmp r0, #0
|
|
10dce: d045 beq.n 10e5c <lv_disp_drv_register+0xe4>
|
|
if(disp->refr_task == NULL) return NULL;
|
|
10dd0: 6ae3 ldr r3, [r4, #44] ; 0x2c
|
|
10dd2: 2b00 cmp r3, #0
|
|
10dd4: d04f beq.n 10e76 <lv_disp_drv_register+0xfe>
|
|
|
|
disp->inv_p = 0;
|
|
10dd6: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168
|
|
10dda: f36f 0309 bfc r3, #0, #10
|
|
10dde: f8a4 3168 strh.w r3, [r4, #360] ; 0x168
|
|
disp->last_activity_time = 0;
|
|
10de2: 2500 movs r5, #0
|
|
10de4: f8c4 516c str.w r5, [r4, #364] ; 0x16c
|
|
|
|
disp->act_scr = lv_obj_create(NULL, NULL); /*Create a default screen on the display*/
|
|
10de8: 4629 mov r1, r5
|
|
10dea: 4628 mov r0, r5
|
|
10dec: 4e2c ldr r6, [pc, #176] ; (10ea0 <lv_disp_drv_register+0x128>)
|
|
10dee: 47b0 blx r6
|
|
10df0: 63e0 str r0, [r4, #60] ; 0x3c
|
|
disp->top_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/
|
|
10df2: 4629 mov r1, r5
|
|
10df4: 4628 mov r0, r5
|
|
10df6: 47b0 blx r6
|
|
10df8: 6420 str r0, [r4, #64] ; 0x40
|
|
disp->sys_layer = lv_obj_create(NULL, NULL); /*Create sys layer on the display*/
|
|
10dfa: 4629 mov r1, r5
|
|
10dfc: 4628 mov r0, r5
|
|
10dfe: 47b0 blx r6
|
|
10e00: 6460 str r0, [r4, #68] ; 0x44
|
|
lv_obj_reset_style_list(disp->top_layer, LV_OBJ_PART_MAIN);
|
|
10e02: 4629 mov r1, r5
|
|
10e04: 6c20 ldr r0, [r4, #64] ; 0x40
|
|
10e06: 4e27 ldr r6, [pc, #156] ; (10ea4 <lv_disp_drv_register+0x12c>)
|
|
10e08: 47b0 blx r6
|
|
lv_obj_reset_style_list(disp->sys_layer, LV_OBJ_PART_MAIN);
|
|
10e0a: 4629 mov r1, r5
|
|
10e0c: 6c60 ldr r0, [r4, #68] ; 0x44
|
|
10e0e: 47b0 blx r6
|
|
lv_obj_set_click(disp->top_layer, false);
|
|
10e10: 4629 mov r1, r5
|
|
10e12: 6c20 ldr r0, [r4, #64] ; 0x40
|
|
10e14: 4e24 ldr r6, [pc, #144] ; (10ea8 <lv_disp_drv_register+0x130>)
|
|
10e16: 47b0 blx r6
|
|
lv_obj_set_click(disp->sys_layer, false);
|
|
10e18: 4629 mov r1, r5
|
|
10e1a: 6c60 ldr r0, [r4, #68] ; 0x44
|
|
10e1c: 47b0 blx r6
|
|
|
|
lv_obj_invalidate(disp->act_scr);
|
|
10e1e: 6be0 ldr r0, [r4, #60] ; 0x3c
|
|
10e20: 4b22 ldr r3, [pc, #136] ; (10eac <lv_disp_drv_register+0x134>)
|
|
10e22: 4798 blx r3
|
|
|
|
disp_def = disp_def_tmp; /*Revert the default display*/
|
|
10e24: 4b1a ldr r3, [pc, #104] ; (10e90 <lv_disp_drv_register+0x118>)
|
|
10e26: 601f str r7, [r3, #0]
|
|
|
|
lv_task_ready(disp->refr_task); /*Be sure the screen will be refreshed immediately on start up*/
|
|
10e28: 6ae0 ldr r0, [r4, #44] ; 0x2c
|
|
10e2a: 4b21 ldr r3, [pc, #132] ; (10eb0 <lv_disp_drv_register+0x138>)
|
|
10e2c: 4798 blx r3
|
|
|
|
return disp;
|
|
}
|
|
10e2e: 4620 mov r0, r4
|
|
10e30: b003 add sp, #12
|
|
10e32: bdf0 pop {r4, r5, r6, r7, pc}
|
|
LV_ASSERT_MEM(disp);
|
|
10e34: 4b19 ldr r3, [pc, #100] ; (10e9c <lv_disp_drv_register+0x124>)
|
|
10e36: 4798 blx r3
|
|
10e38: 2800 cmp r0, #0
|
|
10e3a: d1f8 bne.n 10e2e <lv_disp_drv_register+0xb6>
|
|
10e3c: 4b1d ldr r3, [pc, #116] ; (10eb4 <lv_disp_drv_register+0x13c>)
|
|
10e3e: 9300 str r3, [sp, #0]
|
|
10e40: 227c movs r2, #124 ; 0x7c
|
|
10e42: 491d ldr r1, [pc, #116] ; (10eb8 <lv_disp_drv_register+0x140>)
|
|
10e44: 2003 movs r0, #3
|
|
10e46: 4c1d ldr r4, [pc, #116] ; (10ebc <lv_disp_drv_register+0x144>)
|
|
10e48: 47a0 blx r4
|
|
10e4a: 2200 movs r2, #0
|
|
10e4c: 2300 movs r3, #0
|
|
10e4e: 481c ldr r0, [pc, #112] ; (10ec0 <lv_disp_drv_register+0x148>)
|
|
10e50: 491c ldr r1, [pc, #112] ; (10ec4 <lv_disp_drv_register+0x14c>)
|
|
10e52: 4788 blx r1
|
|
10e54: e7fe b.n 10e54 <lv_disp_drv_register+0xdc>
|
|
if(disp_def == NULL) disp_def = disp;
|
|
10e56: 4b0e ldr r3, [pc, #56] ; (10e90 <lv_disp_drv_register+0x118>)
|
|
10e58: 601c str r4, [r3, #0]
|
|
10e5a: e7ab b.n 10db4 <lv_disp_drv_register+0x3c>
|
|
LV_ASSERT_MEM(disp->refr_task);
|
|
10e5c: 4b15 ldr r3, [pc, #84] ; (10eb4 <lv_disp_drv_register+0x13c>)
|
|
10e5e: 9300 str r3, [sp, #0]
|
|
10e60: 228d movs r2, #141 ; 0x8d
|
|
10e62: 4915 ldr r1, [pc, #84] ; (10eb8 <lv_disp_drv_register+0x140>)
|
|
10e64: 2003 movs r0, #3
|
|
10e66: 4d15 ldr r5, [pc, #84] ; (10ebc <lv_disp_drv_register+0x144>)
|
|
10e68: 47a8 blx r5
|
|
10e6a: 6ae2 ldr r2, [r4, #44] ; 0x2c
|
|
10e6c: 2300 movs r3, #0
|
|
10e6e: 4814 ldr r0, [pc, #80] ; (10ec0 <lv_disp_drv_register+0x148>)
|
|
10e70: 4914 ldr r1, [pc, #80] ; (10ec4 <lv_disp_drv_register+0x14c>)
|
|
10e72: 4788 blx r1
|
|
10e74: e7fe b.n 10e74 <lv_disp_drv_register+0xfc>
|
|
if(disp->refr_task == NULL) return NULL;
|
|
10e76: 2400 movs r4, #0
|
|
10e78: e7d9 b.n 10e2e <lv_disp_drv_register+0xb6>
|
|
10e7a: bf00 nop
|
|
10e7c: 20006c98 .word 0x20006c98
|
|
10e80: 00011ef9 .word 0x00011ef9
|
|
10e84: 00012b1f .word 0x00012b1f
|
|
10e88: 0001263d .word 0x0001263d
|
|
10e8c: 00011ee1 .word 0x00011ee1
|
|
10e90: 20002b70 .word 0x20002b70
|
|
10e94: 00005f5d .word 0x00005f5d
|
|
10e98: 000139cd .word 0x000139cd
|
|
10e9c: 00002299 .word 0x00002299
|
|
10ea0: 00003e0d .word 0x00003e0d
|
|
10ea4: 00003b85 .word 0x00003b85
|
|
10ea8: 00002989 .word 0x00002989
|
|
10eac: 00003309 .word 0x00003309
|
|
10eb0: 00013a3d .word 0x00013a3d
|
|
10eb4: 000291a4 .word 0x000291a4
|
|
10eb8: 000291bc .word 0x000291bc
|
|
10ebc: 00012245 .word 0x00012245
|
|
10ec0: 00023fc0 .word 0x00023fc0
|
|
10ec4: 000022a1 .word 0x000022a1
|
|
|
|
00010ec8 <lv_disp_get_default>:
|
|
* @return pointer to the default display
|
|
*/
|
|
lv_disp_t * lv_disp_get_default(void)
|
|
{
|
|
return disp_def;
|
|
}
|
|
10ec8: 4b01 ldr r3, [pc, #4] ; (10ed0 <lv_disp_get_default+0x8>)
|
|
10eca: 6818 ldr r0, [r3, #0]
|
|
10ecc: 4770 bx lr
|
|
10ece: bf00 nop
|
|
10ed0: 20002b70 .word 0x20002b70
|
|
|
|
00010ed4 <lv_disp_get_hor_res>:
|
|
* @param disp pointer to a display (NULL to use the default display)
|
|
* @return the horizontal resolution of the display
|
|
*/
|
|
lv_coord_t lv_disp_get_hor_res(lv_disp_t * disp)
|
|
{
|
|
if(disp == NULL) disp = lv_disp_get_default();
|
|
10ed4: 4603 mov r3, r0
|
|
10ed6: b140 cbz r0, 10eea <lv_disp_get_hor_res+0x16>
|
|
|
|
if(disp == NULL)
|
|
return LV_HOR_RES_MAX;
|
|
else
|
|
return disp->driver.rotated == 0 ? disp->driver.hor_res : disp->driver.ver_res;
|
|
10ed8: 7a1a ldrb r2, [r3, #8]
|
|
10eda: f012 0f02 tst.w r2, #2
|
|
10ede: bf0c ite eq
|
|
10ee0: f9b3 0000 ldrsheq.w r0, [r3]
|
|
10ee4: f9b3 0002 ldrshne.w r0, [r3, #2]
|
|
10ee8: 4770 bx lr
|
|
return disp_def;
|
|
10eea: 4b03 ldr r3, [pc, #12] ; (10ef8 <lv_disp_get_hor_res+0x24>)
|
|
10eec: 681b ldr r3, [r3, #0]
|
|
if(disp == NULL)
|
|
10eee: 2b00 cmp r3, #0
|
|
10ef0: d1f2 bne.n 10ed8 <lv_disp_get_hor_res+0x4>
|
|
return LV_HOR_RES_MAX;
|
|
10ef2: f44f 70f0 mov.w r0, #480 ; 0x1e0
|
|
}
|
|
10ef6: 4770 bx lr
|
|
10ef8: 20002b70 .word 0x20002b70
|
|
|
|
00010efc <lv_disp_get_ver_res>:
|
|
* @param disp pointer to a display (NULL to use the default display)
|
|
* @return the vertical resolution of the display
|
|
*/
|
|
lv_coord_t lv_disp_get_ver_res(lv_disp_t * disp)
|
|
{
|
|
if(disp == NULL) disp = lv_disp_get_default();
|
|
10efc: 4603 mov r3, r0
|
|
10efe: b140 cbz r0, 10f12 <lv_disp_get_ver_res+0x16>
|
|
|
|
if(disp == NULL)
|
|
return LV_VER_RES_MAX;
|
|
else
|
|
return disp->driver.rotated == 0 ? disp->driver.ver_res : disp->driver.hor_res;
|
|
10f00: 7a1a ldrb r2, [r3, #8]
|
|
10f02: f012 0f02 tst.w r2, #2
|
|
10f06: bf0c ite eq
|
|
10f08: f9b3 0002 ldrsheq.w r0, [r3, #2]
|
|
10f0c: f9b3 0000 ldrshne.w r0, [r3]
|
|
10f10: 4770 bx lr
|
|
return disp_def;
|
|
10f12: 4b03 ldr r3, [pc, #12] ; (10f20 <lv_disp_get_ver_res+0x24>)
|
|
10f14: 681b ldr r3, [r3, #0]
|
|
if(disp == NULL)
|
|
10f16: 2b00 cmp r3, #0
|
|
10f18: d1f2 bne.n 10f00 <lv_disp_get_ver_res+0x4>
|
|
return LV_VER_RES_MAX;
|
|
10f1a: f44f 7088 mov.w r0, #272 ; 0x110
|
|
}
|
|
10f1e: 4770 bx lr
|
|
10f20: 20002b70 .word 0x20002b70
|
|
|
|
00010f24 <lv_disp_get_dpi>:
|
|
* @param disp pointer to a display (NULL to use the default display)
|
|
* @return dpi of the display
|
|
*/
|
|
lv_coord_t lv_disp_get_dpi(lv_disp_t * disp)
|
|
{
|
|
if(disp == NULL) disp = lv_disp_get_default();
|
|
10f24: 4603 mov r3, r0
|
|
10f26: b118 cbz r0, 10f30 <lv_disp_get_dpi+0xc>
|
|
if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/
|
|
return disp->driver.dpi;
|
|
10f28: 8918 ldrh r0, [r3, #8]
|
|
10f2a: f3c0 0089 ubfx r0, r0, #2, #10
|
|
10f2e: 4770 bx lr
|
|
return disp_def;
|
|
10f30: 4b02 ldr r3, [pc, #8] ; (10f3c <lv_disp_get_dpi+0x18>)
|
|
10f32: 681b ldr r3, [r3, #0]
|
|
if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/
|
|
10f34: 2b00 cmp r3, #0
|
|
10f36: d1f7 bne.n 10f28 <lv_disp_get_dpi+0x4>
|
|
10f38: 2082 movs r0, #130 ; 0x82
|
|
}
|
|
10f3a: 4770 bx lr
|
|
10f3c: 20002b70 .word 0x20002b70
|
|
|
|
00010f40 <lv_disp_get_size_category>:
|
|
* Get the size category of the display based on it's hor. res. and dpi.
|
|
* @param disp pointer to a display (NULL to use the default display)
|
|
* @return LV_DISP_SIZE_SMALL/MEDIUM/LARGE/EXTRA_LARGE
|
|
*/
|
|
lv_disp_size_t lv_disp_get_size_category(lv_disp_t * disp)
|
|
{
|
|
10f40: b538 push {r3, r4, r5, lr}
|
|
if(disp == NULL) disp = lv_disp_get_default();
|
|
10f42: 4605 mov r5, r0
|
|
10f44: b1a0 cbz r0, 10f70 <lv_disp_get_size_category+0x30>
|
|
|
|
uint32_t w;
|
|
if(disp == NULL) w = LV_HOR_RES_MAX;
|
|
else w = lv_disp_get_hor_res(disp);
|
|
10f46: 4628 mov r0, r5
|
|
10f48: 4b0f ldr r3, [pc, #60] ; (10f88 <lv_disp_get_size_category+0x48>)
|
|
10f4a: 4798 blx r3
|
|
10f4c: 4604 mov r4, r0
|
|
|
|
uint32_t dpi = lv_disp_get_dpi(disp);
|
|
10f4e: 4628 mov r0, r5
|
|
10f50: 4b0e ldr r3, [pc, #56] ; (10f8c <lv_disp_get_size_category+0x4c>)
|
|
10f52: 4798 blx r3
|
|
|
|
w = w * 10 / dpi;
|
|
10f54: eb04 0484 add.w r4, r4, r4, lsl #2
|
|
10f58: 0064 lsls r4, r4, #1
|
|
10f5a: fbb4 f0f0 udiv r0, r4, r0
|
|
|
|
if(w < LV_DISP_SMALL_LIMIT) return LV_DISP_SIZE_SMALL;
|
|
10f5e: 281d cmp r0, #29
|
|
10f60: d90d bls.n 10f7e <lv_disp_get_size_category+0x3e>
|
|
if(w < LV_DISP_MEDIUM_LIMIT) return LV_DISP_SIZE_MEDIUM;
|
|
10f62: 2831 cmp r0, #49 ; 0x31
|
|
10f64: d90d bls.n 10f82 <lv_disp_get_size_category+0x42>
|
|
if(w < LV_DISP_LARGE_LIMIT) return LV_DISP_SIZE_LARGE;
|
|
else return LV_DISP_SIZE_EXTRA_LARGE;
|
|
10f66: 2846 cmp r0, #70 ; 0x46
|
|
10f68: bf34 ite cc
|
|
10f6a: 2002 movcc r0, #2
|
|
10f6c: 2003 movcs r0, #3
|
|
10f6e: bd38 pop {r3, r4, r5, pc}
|
|
return disp_def;
|
|
10f70: 4b07 ldr r3, [pc, #28] ; (10f90 <lv_disp_get_size_category+0x50>)
|
|
10f72: 681d ldr r5, [r3, #0]
|
|
10f74: f44f 74f0 mov.w r4, #480 ; 0x1e0
|
|
if(disp == NULL) w = LV_HOR_RES_MAX;
|
|
10f78: 2d00 cmp r5, #0
|
|
10f7a: d0e8 beq.n 10f4e <lv_disp_get_size_category+0xe>
|
|
10f7c: e7e3 b.n 10f46 <lv_disp_get_size_category+0x6>
|
|
if(w < LV_DISP_SMALL_LIMIT) return LV_DISP_SIZE_SMALL;
|
|
10f7e: 2000 movs r0, #0
|
|
10f80: bd38 pop {r3, r4, r5, pc}
|
|
if(w < LV_DISP_MEDIUM_LIMIT) return LV_DISP_SIZE_MEDIUM;
|
|
10f82: 2001 movs r0, #1
|
|
}
|
|
10f84: bd38 pop {r3, r4, r5, pc}
|
|
10f86: bf00 nop
|
|
10f88: 00010ed5 .word 0x00010ed5
|
|
10f8c: 00010f25 .word 0x00010f25
|
|
10f90: 20002b70 .word 0x20002b70
|
|
|
|
00010f94 <lv_disp_flush_ready>:
|
|
if(disp_drv->screen_transp) {
|
|
_lv_memset_00(disp_drv->buffer->buf_act, disp_drv->buffer->size * sizeof(lv_color32_t));
|
|
}
|
|
#endif
|
|
|
|
disp_drv->buffer->flushing = 0;
|
|
10f94: 6842 ldr r2, [r0, #4]
|
|
10f96: 2300 movs r3, #0
|
|
10f98: 6193 str r3, [r2, #24]
|
|
disp_drv->buffer->flushing_last = 0;
|
|
10f9a: 6842 ldr r2, [r0, #4]
|
|
10f9c: 61d3 str r3, [r2, #28]
|
|
10f9e: 4770 bx lr
|
|
|
|
00010fa0 <lv_disp_get_next>:
|
|
* Get the next display.
|
|
* @param disp pointer to the current display. NULL to initialize.
|
|
* @return the next display or NULL if no more. Give the first display when the parameter is NULL
|
|
*/
|
|
lv_disp_t * lv_disp_get_next(lv_disp_t * disp)
|
|
{
|
|
10fa0: b508 push {r3, lr}
|
|
if(disp == NULL)
|
|
10fa2: b120 cbz r0, 10fae <lv_disp_get_next+0xe>
|
|
10fa4: 4601 mov r1, r0
|
|
return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll));
|
|
else
|
|
return _lv_ll_get_next(&LV_GC_ROOT(_lv_disp_ll), disp);
|
|
10fa6: 4804 ldr r0, [pc, #16] ; (10fb8 <lv_disp_get_next+0x18>)
|
|
10fa8: 4b04 ldr r3, [pc, #16] ; (10fbc <lv_disp_get_next+0x1c>)
|
|
10faa: 4798 blx r3
|
|
}
|
|
10fac: bd08 pop {r3, pc}
|
|
return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll));
|
|
10fae: 4802 ldr r0, [pc, #8] ; (10fb8 <lv_disp_get_next+0x18>)
|
|
10fb0: 4b03 ldr r3, [pc, #12] ; (10fc0 <lv_disp_get_next+0x20>)
|
|
10fb2: 4798 blx r3
|
|
10fb4: bd08 pop {r3, pc}
|
|
10fb6: bf00 nop
|
|
10fb8: 20006c98 .word 0x20006c98
|
|
10fbc: 00011fa5 .word 0x00011fa5
|
|
10fc0: 00011f91 .word 0x00011f91
|
|
|
|
00010fc4 <lv_disp_get_buf>:
|
|
* @return pointer to the internal buffers
|
|
*/
|
|
lv_disp_buf_t * lv_disp_get_buf(lv_disp_t * disp)
|
|
{
|
|
return disp->driver.buffer;
|
|
}
|
|
10fc4: 6840 ldr r0, [r0, #4]
|
|
10fc6: 4770 bx lr
|
|
|
|
00010fc8 <lv_disp_is_double_buf>:
|
|
* @param disp pointer to to display to check
|
|
* @return true: double buffered; false: not double buffered
|
|
*/
|
|
bool lv_disp_is_double_buf(lv_disp_t * disp)
|
|
{
|
|
if(disp->driver.buffer->buf1 && disp->driver.buffer->buf2)
|
|
10fc8: 6843 ldr r3, [r0, #4]
|
|
10fca: 681a ldr r2, [r3, #0]
|
|
10fcc: b122 cbz r2, 10fd8 <lv_disp_is_double_buf+0x10>
|
|
10fce: 6858 ldr r0, [r3, #4]
|
|
10fd0: 3000 adds r0, #0
|
|
10fd2: bf18 it ne
|
|
10fd4: 2001 movne r0, #1
|
|
10fd6: 4770 bx lr
|
|
return true;
|
|
else
|
|
return false;
|
|
10fd8: 2000 movs r0, #0
|
|
}
|
|
10fda: 4770 bx lr
|
|
|
|
00010fdc <lv_disp_is_true_double_buf>:
|
|
* `size` is screen sized)
|
|
* @param disp pointer to to display to check
|
|
* @return true: double buffered; false: not double buffered
|
|
*/
|
|
bool lv_disp_is_true_double_buf(lv_disp_t * disp)
|
|
{
|
|
10fdc: b510 push {r4, lr}
|
|
10fde: 4604 mov r4, r0
|
|
uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res;
|
|
|
|
if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) {
|
|
10fe0: 4b08 ldr r3, [pc, #32] ; (11004 <lv_disp_is_true_double_buf+0x28>)
|
|
10fe2: 4798 blx r3
|
|
10fe4: 4603 mov r3, r0
|
|
10fe6: b158 cbz r0, 11000 <lv_disp_is_true_double_buf+0x24>
|
|
uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res;
|
|
10fe8: f9b4 2000 ldrsh.w r2, [r4]
|
|
10fec: f9b4 3002 ldrsh.w r3, [r4, #2]
|
|
10ff0: fb03 f302 mul.w r3, r3, r2
|
|
if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) {
|
|
10ff4: 6862 ldr r2, [r4, #4]
|
|
10ff6: 68d2 ldr r2, [r2, #12]
|
|
10ff8: 4293 cmp r3, r2
|
|
10ffa: bf14 ite ne
|
|
10ffc: 2300 movne r3, #0
|
|
10ffe: 2301 moveq r3, #1
|
|
return true;
|
|
}
|
|
else {
|
|
return false;
|
|
}
|
|
}
|
|
11000: 4618 mov r0, r3
|
|
11002: bd10 pop {r4, pc}
|
|
11004: 00010fc9 .word 0x00010fc9
|
|
|
|
00011008 <lv_indev_get_next>:
|
|
* @param indev pointer to the current input device. NULL to initialize.
|
|
* @return the next input devise or NULL if no more. Give the first input device when the parameter
|
|
* is NULL
|
|
*/
|
|
lv_indev_t * lv_indev_get_next(lv_indev_t * indev)
|
|
{
|
|
11008: b508 push {r3, lr}
|
|
if(indev == NULL)
|
|
1100a: b120 cbz r0, 11016 <lv_indev_get_next+0xe>
|
|
1100c: 4601 mov r1, r0
|
|
return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll));
|
|
else
|
|
return _lv_ll_get_next(&LV_GC_ROOT(_lv_indev_ll), indev);
|
|
1100e: 4804 ldr r0, [pc, #16] ; (11020 <lv_indev_get_next+0x18>)
|
|
11010: 4b04 ldr r3, [pc, #16] ; (11024 <lv_indev_get_next+0x1c>)
|
|
11012: 4798 blx r3
|
|
}
|
|
11014: bd08 pop {r3, pc}
|
|
return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll));
|
|
11016: 4802 ldr r0, [pc, #8] ; (11020 <lv_indev_get_next+0x18>)
|
|
11018: 4b03 ldr r3, [pc, #12] ; (11028 <lv_indev_get_next+0x20>)
|
|
1101a: 4798 blx r3
|
|
1101c: bd08 pop {r3, pc}
|
|
1101e: bf00 nop
|
|
11020: 20006c8c .word 0x20006c8c
|
|
11024: 00011fa5 .word 0x00011fa5
|
|
11028: 00011f91 .word 0x00011f91
|
|
|
|
0001102c <lv_tick_inc>:
|
|
* You have to call this function periodically
|
|
* @param tick_period the call period of this function in milliseconds
|
|
*/
|
|
LV_ATTRIBUTE_TICK_INC void lv_tick_inc(uint32_t tick_period)
|
|
{
|
|
tick_irq_flag = 0;
|
|
1102c: 4b03 ldr r3, [pc, #12] ; (1103c <lv_tick_inc+0x10>)
|
|
1102e: 2200 movs r2, #0
|
|
11030: 701a strb r2, [r3, #0]
|
|
sys_time += tick_period;
|
|
11032: 685a ldr r2, [r3, #4]
|
|
11034: 4410 add r0, r2
|
|
11036: 6058 str r0, [r3, #4]
|
|
11038: 4770 bx lr
|
|
1103a: bf00 nop
|
|
1103c: 20002b74 .word 0x20002b74
|
|
|
|
00011040 <lv_tick_get>:
|
|
uint32_t lv_tick_get(void)
|
|
{
|
|
#if LV_TICK_CUSTOM == 0
|
|
uint32_t result;
|
|
do {
|
|
tick_irq_flag = 1;
|
|
11040: 4b04 ldr r3, [pc, #16] ; (11054 <lv_tick_get+0x14>)
|
|
11042: f04f 0101 mov.w r1, #1
|
|
11046: 7019 strb r1, [r3, #0]
|
|
result = sys_time;
|
|
} while(!tick_irq_flag); /*'lv_tick_inc()' clears this flag which can be in an interrupt.
|
|
11048: 781a ldrb r2, [r3, #0]
|
|
1104a: 2a00 cmp r2, #0
|
|
1104c: d0fb beq.n 11046 <lv_tick_get+0x6>
|
|
|
|
return result;
|
|
#else
|
|
return LV_TICK_CUSTOM_SYS_TIME_EXPR;
|
|
#endif
|
|
}
|
|
1104e: 4b01 ldr r3, [pc, #4] ; (11054 <lv_tick_get+0x14>)
|
|
11050: 6858 ldr r0, [r3, #4]
|
|
11052: 4770 bx lr
|
|
11054: 20002b74 .word 0x20002b74
|
|
|
|
00011058 <lv_tick_elaps>:
|
|
* Get the elapsed milliseconds since a previous time stamp
|
|
* @param prev_tick a previous time stamp (return value of systick_get() )
|
|
* @return the elapsed milliseconds since 'prev_tick'
|
|
*/
|
|
uint32_t lv_tick_elaps(uint32_t prev_tick)
|
|
{
|
|
11058: b510 push {r4, lr}
|
|
1105a: 4604 mov r4, r0
|
|
uint32_t act_time = lv_tick_get();
|
|
1105c: 4b01 ldr r3, [pc, #4] ; (11064 <lv_tick_elaps+0xc>)
|
|
1105e: 4798 blx r3
|
|
prev_tick = UINT32_MAX - prev_tick + 1;
|
|
prev_tick += act_time;
|
|
}
|
|
|
|
return prev_tick;
|
|
}
|
|
11060: 1b00 subs r0, r0, r4
|
|
11062: bd10 pop {r4, pc}
|
|
11064: 00011041 .word 0x00011041
|
|
|
|
00011068 <lv_anim_path_linear>:
|
|
{
|
|
LV_UNUSED(path);
|
|
|
|
/*Calculate the current step*/
|
|
uint32_t step;
|
|
if(a->time == a->act_time) {
|
|
11068: 6a0a ldr r2, [r1, #32]
|
|
1106a: 6a48 ldr r0, [r1, #36] ; 0x24
|
|
1106c: 4282 cmp r2, r0
|
|
step = LV_ANIM_RESOLUTION; /*Use the last value if the time fully elapsed*/
|
|
}
|
|
else {
|
|
step = ((int32_t)a->act_time * LV_ANIM_RESOLUTION) / a->time;
|
|
1106e: bf1a itte ne
|
|
11070: 0280 lslne r0, r0, #10
|
|
11072: fb90 f0f2 sdivne r0, r0, r2
|
|
11076: f44f 6080 moveq.w r0, #1024 ; 0x400
|
|
}
|
|
|
|
/* Get the new value which will be proportional to `step`
|
|
* and the `start` and `end` values*/
|
|
int32_t new_value;
|
|
new_value = (int32_t)step * (a->end - a->start);
|
|
1107a: 698a ldr r2, [r1, #24]
|
|
1107c: 69cb ldr r3, [r1, #28]
|
|
1107e: 1a9b subs r3, r3, r2
|
|
11080: fb00 f003 mul.w r0, r0, r3
|
|
new_value = new_value >> LV_ANIM_RES_SHIFT;
|
|
new_value += a->start;
|
|
11084: eb02 20a0 add.w r0, r2, r0, asr #10
|
|
|
|
return (lv_anim_value_t)new_value;
|
|
}
|
|
11088: b200 sxth r0, r0
|
|
1108a: 4770 bx lr
|
|
|
|
0001108c <anim_mark_list_change>:
|
|
}
|
|
|
|
return anim_list_changed;
|
|
}
|
|
static void anim_mark_list_change(void)
|
|
{
|
|
1108c: b508 push {r3, lr}
|
|
anim_list_changed = true;
|
|
1108e: 2201 movs r2, #1
|
|
11090: 4b08 ldr r3, [pc, #32] ; (110b4 <anim_mark_list_change+0x28>)
|
|
11092: 701a strb r2, [r3, #0]
|
|
if(_lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)) == NULL)
|
|
11094: 4808 ldr r0, [pc, #32] ; (110b8 <anim_mark_list_change+0x2c>)
|
|
11096: 4b09 ldr r3, [pc, #36] ; (110bc <anim_mark_list_change+0x30>)
|
|
11098: 4798 blx r3
|
|
1109a: b128 cbz r0, 110a8 <anim_mark_list_change+0x1c>
|
|
lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF);
|
|
else
|
|
lv_task_set_prio(_lv_anim_task, LV_ANIM_TASK_PRIO);
|
|
1109c: 2104 movs r1, #4
|
|
1109e: 4b05 ldr r3, [pc, #20] ; (110b4 <anim_mark_list_change+0x28>)
|
|
110a0: 6858 ldr r0, [r3, #4]
|
|
110a2: 4b07 ldr r3, [pc, #28] ; (110c0 <anim_mark_list_change+0x34>)
|
|
110a4: 4798 blx r3
|
|
110a6: bd08 pop {r3, pc}
|
|
lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF);
|
|
110a8: 2100 movs r1, #0
|
|
110aa: 4b02 ldr r3, [pc, #8] ; (110b4 <anim_mark_list_change+0x28>)
|
|
110ac: 6858 ldr r0, [r3, #4]
|
|
110ae: 4b04 ldr r3, [pc, #16] ; (110c0 <anim_mark_list_change+0x34>)
|
|
110b0: 4798 blx r3
|
|
110b2: bd08 pop {r3, pc}
|
|
110b4: 20002b7c .word 0x20002b7c
|
|
110b8: 20006d5c .word 0x20006d5c
|
|
110bc: 00011f91 .word 0x00011f91
|
|
110c0: 00013941 .word 0x00013941
|
|
|
|
000110c4 <anim_task>:
|
|
{
|
|
110c4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
110c8: b091 sub sp, #68 ; 0x44
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) {
|
|
110ca: 4863 ldr r0, [pc, #396] ; (11258 <anim_task+0x194>)
|
|
110cc: 4b63 ldr r3, [pc, #396] ; (1125c <anim_task+0x198>)
|
|
110ce: 4798 blx r3
|
|
110d0: b168 cbz r0, 110ee <anim_task+0x2a>
|
|
110d2: 4601 mov r1, r0
|
|
110d4: 4d60 ldr r5, [pc, #384] ; (11258 <anim_task+0x194>)
|
|
110d6: 4c62 ldr r4, [pc, #392] ; (11260 <anim_task+0x19c>)
|
|
a->has_run = 0;
|
|
110d8: f891 303c ldrb.w r3, [r1, #60] ; 0x3c
|
|
110dc: f36f 0341 bfc r3, #1, #1
|
|
110e0: f881 303c strb.w r3, [r1, #60] ; 0x3c
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) {
|
|
110e4: 4628 mov r0, r5
|
|
110e6: 47a0 blx r4
|
|
110e8: 4601 mov r1, r0
|
|
110ea: 2800 cmp r0, #0
|
|
110ec: d1f4 bne.n 110d8 <anim_task+0x14>
|
|
uint32_t elaps = lv_tick_elaps(last_task_run);
|
|
110ee: 4b5d ldr r3, [pc, #372] ; (11264 <anim_task+0x1a0>)
|
|
110f0: 6898 ldr r0, [r3, #8]
|
|
110f2: 4b5d ldr r3, [pc, #372] ; (11268 <anim_task+0x1a4>)
|
|
110f4: 4798 blx r3
|
|
110f6: 4680 mov r8, r0
|
|
a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll));
|
|
110f8: 4857 ldr r0, [pc, #348] ; (11258 <anim_task+0x194>)
|
|
110fa: 4b58 ldr r3, [pc, #352] ; (1125c <anim_task+0x198>)
|
|
110fc: 4798 blx r3
|
|
while(a != NULL) {
|
|
110fe: 4604 mov r4, r0
|
|
11100: 2800 cmp r0, #0
|
|
11102: f000 8089 beq.w 11218 <anim_task+0x154>
|
|
anim_list_changed = false;
|
|
11106: 4d57 ldr r5, [pc, #348] ; (11264 <anim_task+0x1a0>)
|
|
11108: f04f 0700 mov.w r7, #0
|
|
a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll));
|
|
1110c: 4e52 ldr r6, [pc, #328] ; (11258 <anim_task+0x194>)
|
|
1110e: f8df 914c ldr.w r9, [pc, #332] ; 1125c <anim_task+0x198>
|
|
11112: e01c b.n 1114e <anim_task+0x8a>
|
|
if(a->act_time <= 0 && new_act_time >= 0) {
|
|
11114: eb13 0308 adds.w r3, r3, r8
|
|
11118: f100 8085 bmi.w 11226 <anim_task+0x162>
|
|
if(a->start_cb) a->start_cb(a);
|
|
1111c: 68a2 ldr r2, [r4, #8]
|
|
1111e: 2a00 cmp r2, #0
|
|
11120: f000 8088 beq.w 11234 <anim_task+0x170>
|
|
11124: 4620 mov r0, r4
|
|
11126: 4790 blx r2
|
|
11128: e01e b.n 11168 <anim_task+0xa4>
|
|
else new_value = lv_anim_path_linear(&a->path, a);
|
|
1112a: 4621 mov r1, r4
|
|
1112c: f104 0010 add.w r0, r4, #16
|
|
11130: 4b4e ldr r3, [pc, #312] ; (1126c <anim_task+0x1a8>)
|
|
11132: 4798 blx r3
|
|
11134: e028 b.n 11188 <anim_task+0xc4>
|
|
if(a->act_time >= a->time) {
|
|
11136: 6a62 ldr r2, [r4, #36] ; 0x24
|
|
11138: 6a23 ldr r3, [r4, #32]
|
|
1113a: 429a cmp r2, r3
|
|
1113c: da2b bge.n 11196 <anim_task+0xd2>
|
|
if(anim_list_changed)
|
|
1113e: 782b ldrb r3, [r5, #0]
|
|
11140: 2b00 cmp r3, #0
|
|
11142: d071 beq.n 11228 <anim_task+0x164>
|
|
a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll));
|
|
11144: 4630 mov r0, r6
|
|
11146: 47c8 blx r9
|
|
11148: 4604 mov r4, r0
|
|
while(a != NULL) {
|
|
1114a: 2c00 cmp r4, #0
|
|
1114c: d064 beq.n 11218 <anim_task+0x154>
|
|
anim_list_changed = false;
|
|
1114e: 702f strb r7, [r5, #0]
|
|
if(!a->has_run) {
|
|
11150: f894 303c ldrb.w r3, [r4, #60] ; 0x3c
|
|
11154: f013 0f02 tst.w r3, #2
|
|
11158: d166 bne.n 11228 <anim_task+0x164>
|
|
a->has_run = 1; /*The list readying might be reseted so need to know which anim has run already*/
|
|
1115a: f043 0302 orr.w r3, r3, #2
|
|
1115e: f884 303c strb.w r3, [r4, #60] ; 0x3c
|
|
int32_t new_act_time = a->act_time + elaps;
|
|
11162: 6a63 ldr r3, [r4, #36] ; 0x24
|
|
if(a->act_time <= 0 && new_act_time >= 0) {
|
|
11164: 2b00 cmp r3, #0
|
|
11166: ddd5 ble.n 11114 <anim_task+0x50>
|
|
a->act_time += elaps;
|
|
11168: 6a63 ldr r3, [r4, #36] ; 0x24
|
|
1116a: 4443 add r3, r8
|
|
1116c: 6263 str r3, [r4, #36] ; 0x24
|
|
if(a->act_time >= 0) {
|
|
1116e: 2b00 cmp r3, #0
|
|
11170: dbe5 blt.n 1113e <anim_task+0x7a>
|
|
if(a->act_time > a->time) a->act_time = a->time;
|
|
11172: 6a22 ldr r2, [r4, #32]
|
|
11174: 429a cmp r2, r3
|
|
11176: bfb8 it lt
|
|
11178: 6262 strlt r2, [r4, #36] ; 0x24
|
|
if(a->path.cb) new_value = a->path.cb(&a->path, a);
|
|
1117a: 6923 ldr r3, [r4, #16]
|
|
1117c: 2b00 cmp r3, #0
|
|
1117e: d0d4 beq.n 1112a <anim_task+0x66>
|
|
11180: 4621 mov r1, r4
|
|
11182: f104 0010 add.w r0, r4, #16
|
|
11186: 4798 blx r3
|
|
if(a->exec_cb) a->exec_cb(a->var, new_value);
|
|
11188: 6863 ldr r3, [r4, #4]
|
|
1118a: 2b00 cmp r3, #0
|
|
1118c: d0d3 beq.n 11136 <anim_task+0x72>
|
|
1118e: b201 sxth r1, r0
|
|
11190: 6820 ldr r0, [r4, #0]
|
|
11192: 4798 blx r3
|
|
11194: e7cf b.n 11136 <anim_task+0x72>
|
|
if(a->playback_now == 0 && a->repeat_cnt > 0 && a->repeat_cnt != LV_ANIM_REPEAT_INFINITE) {
|
|
11196: f894 303c ldrb.w r3, [r4, #60] ; 0x3c
|
|
1119a: f013 0301 ands.w r3, r3, #1
|
|
1119e: d108 bne.n 111b2 <anim_task+0xee>
|
|
111a0: 8ea2 ldrh r2, [r4, #52] ; 0x34
|
|
111a2: 2a00 cmp r2, #0
|
|
111a4: d048 beq.n 11238 <anim_task+0x174>
|
|
111a6: f64f 71ff movw r1, #65535 ; 0xffff
|
|
111aa: 428a cmp r2, r1
|
|
111ac: d04b beq.n 11246 <anim_task+0x182>
|
|
a->repeat_cnt--;
|
|
111ae: 3a01 subs r2, #1
|
|
111b0: 86a2 strh r2, [r4, #52] ; 0x34
|
|
if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) {
|
|
111b2: 8ea2 ldrh r2, [r4, #52] ; 0x34
|
|
111b4: b1ca cbz r2, 111ea <anim_task+0x126>
|
|
a->act_time = -a->repeat_delay; /*Restart the animation*/
|
|
111b6: 6b22 ldr r2, [r4, #48] ; 0x30
|
|
111b8: 4252 negs r2, r2
|
|
111ba: 6262 str r2, [r4, #36] ; 0x24
|
|
if(a->playback_time != 0) {
|
|
111bc: 6ae2 ldr r2, [r4, #44] ; 0x2c
|
|
111be: 2a00 cmp r2, #0
|
|
111c0: d0bd beq.n 1113e <anim_task+0x7a>
|
|
if(a->playback_now == 0) a->act_time = -a->playback_delay;
|
|
111c2: 2b00 cmp r3, #0
|
|
111c4: d03b beq.n 1123e <anim_task+0x17a>
|
|
a->playback_now = a->playback_now == 0 ? 1 : 0;
|
|
111c6: f083 0301 eor.w r3, r3, #1
|
|
111ca: f894 103c ldrb.w r1, [r4, #60] ; 0x3c
|
|
111ce: f363 0100 bfi r1, r3, #0, #1
|
|
111d2: f884 103c strb.w r1, [r4, #60] ; 0x3c
|
|
tmp = a->start;
|
|
111d6: 69a3 ldr r3, [r4, #24]
|
|
a->start = a->end;
|
|
111d8: 69e0 ldr r0, [r4, #28]
|
|
111da: 61a0 str r0, [r4, #24]
|
|
a->end = tmp;
|
|
111dc: 61e3 str r3, [r4, #28]
|
|
a->time = a->playback_now == 0 ? a->time_orig : a->playback_time;
|
|
111de: f011 0f01 tst.w r1, #1
|
|
111e2: bf08 it eq
|
|
111e4: 6ba2 ldreq r2, [r4, #56] ; 0x38
|
|
111e6: 6222 str r2, [r4, #32]
|
|
111e8: e7a9 b.n 1113e <anim_task+0x7a>
|
|
if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) {
|
|
111ea: 6ae2 ldr r2, [r4, #44] ; 0x2c
|
|
111ec: b102 cbz r2, 111f0 <anim_task+0x12c>
|
|
111ee: b333 cbz r3, 1123e <anim_task+0x17a>
|
|
_lv_memcpy(&a_tmp, a, sizeof(lv_anim_t));
|
|
111f0: 2240 movs r2, #64 ; 0x40
|
|
111f2: 4621 mov r1, r4
|
|
111f4: 4668 mov r0, sp
|
|
111f6: 4b1e ldr r3, [pc, #120] ; (11270 <anim_task+0x1ac>)
|
|
111f8: 4798 blx r3
|
|
_lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a);
|
|
111fa: 4621 mov r1, r4
|
|
111fc: 4630 mov r0, r6
|
|
111fe: 4b1d ldr r3, [pc, #116] ; (11274 <anim_task+0x1b0>)
|
|
11200: 4798 blx r3
|
|
lv_mem_free(a);
|
|
11202: 4620 mov r0, r4
|
|
11204: 4b1c ldr r3, [pc, #112] ; (11278 <anim_task+0x1b4>)
|
|
11206: 4798 blx r3
|
|
anim_mark_list_change();
|
|
11208: 4b1c ldr r3, [pc, #112] ; (1127c <anim_task+0x1b8>)
|
|
1120a: 4798 blx r3
|
|
if(a_tmp.ready_cb != NULL) a_tmp.ready_cb(&a_tmp);
|
|
1120c: 9b03 ldr r3, [sp, #12]
|
|
1120e: 2b00 cmp r3, #0
|
|
11210: d095 beq.n 1113e <anim_task+0x7a>
|
|
11212: 4668 mov r0, sp
|
|
11214: 4798 blx r3
|
|
11216: e792 b.n 1113e <anim_task+0x7a>
|
|
last_task_run = lv_tick_get();
|
|
11218: 4b19 ldr r3, [pc, #100] ; (11280 <anim_task+0x1bc>)
|
|
1121a: 4798 blx r3
|
|
1121c: 4b11 ldr r3, [pc, #68] ; (11264 <anim_task+0x1a0>)
|
|
1121e: 6098 str r0, [r3, #8]
|
|
}
|
|
11220: b011 add sp, #68 ; 0x44
|
|
11222: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
a->act_time += elaps;
|
|
11226: 6263 str r3, [r4, #36] ; 0x24
|
|
a = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a);
|
|
11228: 4621 mov r1, r4
|
|
1122a: 4630 mov r0, r6
|
|
1122c: 4b0c ldr r3, [pc, #48] ; (11260 <anim_task+0x19c>)
|
|
1122e: 4798 blx r3
|
|
11230: 4604 mov r4, r0
|
|
11232: e78a b.n 1114a <anim_task+0x86>
|
|
a->act_time += elaps;
|
|
11234: 6263 str r3, [r4, #36] ; 0x24
|
|
11236: e79c b.n 11172 <anim_task+0xae>
|
|
if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) {
|
|
11238: 6ae2 ldr r2, [r4, #44] ; 0x2c
|
|
1123a: 2a00 cmp r2, #0
|
|
1123c: d0d8 beq.n 111f0 <anim_task+0x12c>
|
|
if(a->playback_now == 0) a->act_time = -a->playback_delay;
|
|
1123e: 6aa1 ldr r1, [r4, #40] ; 0x28
|
|
11240: 4249 negs r1, r1
|
|
11242: 6261 str r1, [r4, #36] ; 0x24
|
|
11244: e7bf b.n 111c6 <anim_task+0x102>
|
|
a->act_time = -a->repeat_delay; /*Restart the animation*/
|
|
11246: 6b22 ldr r2, [r4, #48] ; 0x30
|
|
11248: 4252 negs r2, r2
|
|
1124a: 6262 str r2, [r4, #36] ; 0x24
|
|
if(a->playback_time != 0) {
|
|
1124c: 6ae2 ldr r2, [r4, #44] ; 0x2c
|
|
1124e: 2a00 cmp r2, #0
|
|
11250: f43f af75 beq.w 1113e <anim_task+0x7a>
|
|
11254: e7f3 b.n 1123e <anim_task+0x17a>
|
|
11256: bf00 nop
|
|
11258: 20006d5c .word 0x20006d5c
|
|
1125c: 00011f91 .word 0x00011f91
|
|
11260: 00011fa5 .word 0x00011fa5
|
|
11264: 20002b7c .word 0x20002b7c
|
|
11268: 00011059 .word 0x00011059
|
|
1126c: 00011069 .word 0x00011069
|
|
11270: 0001263d .word 0x0001263d
|
|
11274: 0001207d .word 0x0001207d
|
|
11278: 000124ad .word 0x000124ad
|
|
1127c: 0001108d .word 0x0001108d
|
|
11280: 00011041 .word 0x00011041
|
|
|
|
00011284 <_lv_anim_core_init>:
|
|
{
|
|
11284: b538 push {r3, r4, r5, lr}
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_anim_ll), sizeof(lv_anim_t));
|
|
11286: 2140 movs r1, #64 ; 0x40
|
|
11288: 4809 ldr r0, [pc, #36] ; (112b0 <_lv_anim_core_init+0x2c>)
|
|
1128a: 4b0a ldr r3, [pc, #40] ; (112b4 <_lv_anim_core_init+0x30>)
|
|
1128c: 4798 blx r3
|
|
last_task_run = lv_tick_get();
|
|
1128e: 4b0a ldr r3, [pc, #40] ; (112b8 <_lv_anim_core_init+0x34>)
|
|
11290: 4798 blx r3
|
|
11292: 4c0a ldr r4, [pc, #40] ; (112bc <_lv_anim_core_init+0x38>)
|
|
11294: 60a0 str r0, [r4, #8]
|
|
_lv_anim_task = lv_task_create(anim_task, LV_DISP_DEF_REFR_PERIOD, LV_ANIM_TASK_PRIO, NULL);
|
|
11296: 2300 movs r3, #0
|
|
11298: 2204 movs r2, #4
|
|
1129a: 211e movs r1, #30
|
|
1129c: 4808 ldr r0, [pc, #32] ; (112c0 <_lv_anim_core_init+0x3c>)
|
|
1129e: 4d09 ldr r5, [pc, #36] ; (112c4 <_lv_anim_core_init+0x40>)
|
|
112a0: 47a8 blx r5
|
|
112a2: 6060 str r0, [r4, #4]
|
|
anim_mark_list_change(); /*Turn off the animation task*/
|
|
112a4: 4b08 ldr r3, [pc, #32] ; (112c8 <_lv_anim_core_init+0x44>)
|
|
112a6: 4798 blx r3
|
|
anim_list_changed = false; /*The list has not actaully changed*/
|
|
112a8: 2300 movs r3, #0
|
|
112aa: 7023 strb r3, [r4, #0]
|
|
112ac: bd38 pop {r3, r4, r5, pc}
|
|
112ae: bf00 nop
|
|
112b0: 20006d5c .word 0x20006d5c
|
|
112b4: 00011ee1 .word 0x00011ee1
|
|
112b8: 00011041 .word 0x00011041
|
|
112bc: 20002b7c .word 0x20002b7c
|
|
112c0: 000110c5 .word 0x000110c5
|
|
112c4: 000139cd .word 0x000139cd
|
|
112c8: 0001108d .word 0x0001108d
|
|
|
|
000112cc <lv_anim_init>:
|
|
{
|
|
112cc: b510 push {r4, lr}
|
|
112ce: 4604 mov r4, r0
|
|
_lv_memset_00(a, sizeof(lv_anim_t));
|
|
112d0: 2140 movs r1, #64 ; 0x40
|
|
112d2: 4b0d ldr r3, [pc, #52] ; (11308 <lv_anim_init+0x3c>)
|
|
112d4: 4798 blx r3
|
|
a->time = 500;
|
|
112d6: f44f 73fa mov.w r3, #500 ; 0x1f4
|
|
112da: 6223 str r3, [r4, #32]
|
|
a->start = 0;
|
|
112dc: 2300 movs r3, #0
|
|
112de: 61a3 str r3, [r4, #24]
|
|
a->end = 100;
|
|
112e0: 2364 movs r3, #100 ; 0x64
|
|
112e2: 61e3 str r3, [r4, #28]
|
|
{
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
const uint8_t * s8 = (const uint8_t *)src;
|
|
|
|
while(len) {
|
|
*d8 = *s8;
|
|
112e4: 4b09 ldr r3, [pc, #36] ; (1130c <lv_anim_init+0x40>)
|
|
112e6: 781a ldrb r2, [r3, #0]
|
|
112e8: 7422 strb r2, [r4, #16]
|
|
112ea: 785a ldrb r2, [r3, #1]
|
|
112ec: 7462 strb r2, [r4, #17]
|
|
112ee: 789a ldrb r2, [r3, #2]
|
|
112f0: 74a2 strb r2, [r4, #18]
|
|
112f2: 78db ldrb r3, [r3, #3]
|
|
112f4: 74e3 strb r3, [r4, #19]
|
|
a->repeat_cnt = 1;
|
|
112f6: 2301 movs r3, #1
|
|
112f8: 86a3 strh r3, [r4, #52] ; 0x34
|
|
a->early_apply = 1;
|
|
112fa: f894 3036 ldrb.w r3, [r4, #54] ; 0x36
|
|
112fe: f043 0301 orr.w r3, r3, #1
|
|
11302: f884 3036 strb.w r3, [r4, #54] ; 0x36
|
|
11306: bd10 pop {r4, pc}
|
|
11308: 00012b1f .word 0x00012b1f
|
|
1130c: 000291e8 .word 0x000291e8
|
|
|
|
00011310 <lv_anim_del>:
|
|
{
|
|
11310: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
11314: 4607 mov r7, r0
|
|
11316: 4689 mov r9, r1
|
|
a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll));
|
|
11318: 4815 ldr r0, [pc, #84] ; (11370 <lv_anim_del+0x60>)
|
|
1131a: 4b16 ldr r3, [pc, #88] ; (11374 <lv_anim_del+0x64>)
|
|
1131c: 4798 blx r3
|
|
while(a != NULL) {
|
|
1131e: b310 cbz r0, 11366 <lv_anim_del+0x56>
|
|
11320: 4604 mov r4, r0
|
|
11322: f04f 0a00 mov.w sl, #0
|
|
a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a);
|
|
11326: f8df 8048 ldr.w r8, [pc, #72] ; 11370 <lv_anim_del+0x60>
|
|
1132a: 4e13 ldr r6, [pc, #76] ; (11378 <lv_anim_del+0x68>)
|
|
_lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a);
|
|
1132c: f8df b054 ldr.w fp, [pc, #84] ; 11384 <lv_anim_del+0x74>
|
|
11330: e00b b.n 1134a <lv_anim_del+0x3a>
|
|
11332: 4621 mov r1, r4
|
|
11334: 4640 mov r0, r8
|
|
11336: 47d8 blx fp
|
|
lv_mem_free(a);
|
|
11338: 4620 mov r0, r4
|
|
1133a: 4b10 ldr r3, [pc, #64] ; (1137c <lv_anim_del+0x6c>)
|
|
1133c: 4798 blx r3
|
|
anim_mark_list_change(); /*Read by `anim_task`. It need to know if a delete occurred in
|
|
1133e: 4b10 ldr r3, [pc, #64] ; (11380 <lv_anim_del+0x70>)
|
|
11340: 4798 blx r3
|
|
del = true;
|
|
11342: f04f 0a01 mov.w sl, #1
|
|
11346: 462c mov r4, r5
|
|
while(a != NULL) {
|
|
11348: b17d cbz r5, 1136a <lv_anim_del+0x5a>
|
|
a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a);
|
|
1134a: 4621 mov r1, r4
|
|
1134c: 4640 mov r0, r8
|
|
1134e: 47b0 blx r6
|
|
11350: 4605 mov r5, r0
|
|
if(a->var == var && (a->exec_cb == exec_cb || exec_cb == NULL)) {
|
|
11352: 6823 ldr r3, [r4, #0]
|
|
11354: 42bb cmp r3, r7
|
|
11356: d1f6 bne.n 11346 <lv_anim_del+0x36>
|
|
11358: 6863 ldr r3, [r4, #4]
|
|
1135a: 454b cmp r3, r9
|
|
1135c: d0e9 beq.n 11332 <lv_anim_del+0x22>
|
|
1135e: f1b9 0f00 cmp.w r9, #0
|
|
11362: d1f0 bne.n 11346 <lv_anim_del+0x36>
|
|
11364: e7e5 b.n 11332 <lv_anim_del+0x22>
|
|
bool del = false;
|
|
11366: f04f 0a00 mov.w sl, #0
|
|
}
|
|
1136a: 4650 mov r0, sl
|
|
1136c: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
11370: 20006d5c .word 0x20006d5c
|
|
11374: 00011f91 .word 0x00011f91
|
|
11378: 00011fa5 .word 0x00011fa5
|
|
1137c: 000124ad .word 0x000124ad
|
|
11380: 0001108d .word 0x0001108d
|
|
11384: 0001207d .word 0x0001207d
|
|
|
|
00011388 <lv_anim_start>:
|
|
{
|
|
11388: b530 push {r4, r5, lr}
|
|
1138a: b083 sub sp, #12
|
|
1138c: 4605 mov r5, r0
|
|
if(a->exec_cb != NULL) lv_anim_del(a->var, a->exec_cb); /*fp == NULL would delete all animations of var*/
|
|
1138e: 6841 ldr r1, [r0, #4]
|
|
11390: b111 cbz r1, 11398 <lv_anim_start+0x10>
|
|
11392: 6800 ldr r0, [r0, #0]
|
|
11394: 4b1b ldr r3, [pc, #108] ; (11404 <lv_anim_start+0x7c>)
|
|
11396: 4798 blx r3
|
|
if(_lv_ll_is_empty(&LV_GC_ROOT(_lv_anim_ll))) {
|
|
11398: 481b ldr r0, [pc, #108] ; (11408 <lv_anim_start+0x80>)
|
|
1139a: 4b1c ldr r3, [pc, #112] ; (1140c <lv_anim_start+0x84>)
|
|
1139c: 4798 blx r3
|
|
1139e: b9f0 cbnz r0, 113de <lv_anim_start+0x56>
|
|
lv_anim_t * new_anim = _lv_ll_ins_head(&LV_GC_ROOT(_lv_anim_ll));
|
|
113a0: 4819 ldr r0, [pc, #100] ; (11408 <lv_anim_start+0x80>)
|
|
113a2: 4b1b ldr r3, [pc, #108] ; (11410 <lv_anim_start+0x88>)
|
|
113a4: 4798 blx r3
|
|
113a6: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(new_anim);
|
|
113a8: 4b1a ldr r3, [pc, #104] ; (11414 <lv_anim_start+0x8c>)
|
|
113aa: 4798 blx r3
|
|
113ac: b1e8 cbz r0, 113ea <lv_anim_start+0x62>
|
|
if(new_anim == NULL) return;
|
|
113ae: b1a4 cbz r4, 113da <lv_anim_start+0x52>
|
|
a->time_orig = a->time;
|
|
113b0: 6a2b ldr r3, [r5, #32]
|
|
113b2: 63ab str r3, [r5, #56] ; 0x38
|
|
_lv_memcpy(new_anim, a, sizeof(lv_anim_t));
|
|
113b4: 2240 movs r2, #64 ; 0x40
|
|
113b6: 4629 mov r1, r5
|
|
113b8: 4620 mov r0, r4
|
|
113ba: 4b17 ldr r3, [pc, #92] ; (11418 <lv_anim_start+0x90>)
|
|
113bc: 4798 blx r3
|
|
if(new_anim->early_apply) {
|
|
113be: f894 3036 ldrb.w r3, [r4, #54] ; 0x36
|
|
113c2: f013 0f01 tst.w r3, #1
|
|
113c6: d006 beq.n 113d6 <lv_anim_start+0x4e>
|
|
if(new_anim->exec_cb && new_anim->var) new_anim->exec_cb(new_anim->var, new_anim->start);
|
|
113c8: 6863 ldr r3, [r4, #4]
|
|
113ca: b123 cbz r3, 113d6 <lv_anim_start+0x4e>
|
|
113cc: 6820 ldr r0, [r4, #0]
|
|
113ce: b110 cbz r0, 113d6 <lv_anim_start+0x4e>
|
|
113d0: f9b4 1018 ldrsh.w r1, [r4, #24]
|
|
113d4: 4798 blx r3
|
|
anim_mark_list_change();
|
|
113d6: 4b11 ldr r3, [pc, #68] ; (1141c <lv_anim_start+0x94>)
|
|
113d8: 4798 blx r3
|
|
}
|
|
113da: b003 add sp, #12
|
|
113dc: bd30 pop {r4, r5, pc}
|
|
last_task_run = lv_tick_get() - 1;
|
|
113de: 4b10 ldr r3, [pc, #64] ; (11420 <lv_anim_start+0x98>)
|
|
113e0: 4798 blx r3
|
|
113e2: 3801 subs r0, #1
|
|
113e4: 4b0f ldr r3, [pc, #60] ; (11424 <lv_anim_start+0x9c>)
|
|
113e6: 6098 str r0, [r3, #8]
|
|
113e8: e7da b.n 113a0 <lv_anim_start+0x18>
|
|
LV_ASSERT_MEM(new_anim);
|
|
113ea: 4b0f ldr r3, [pc, #60] ; (11428 <lv_anim_start+0xa0>)
|
|
113ec: 9300 str r3, [sp, #0]
|
|
113ee: 226a movs r2, #106 ; 0x6a
|
|
113f0: 490e ldr r1, [pc, #56] ; (1142c <lv_anim_start+0xa4>)
|
|
113f2: 2003 movs r0, #3
|
|
113f4: 4d0e ldr r5, [pc, #56] ; (11430 <lv_anim_start+0xa8>)
|
|
113f6: 47a8 blx r5
|
|
113f8: 4622 mov r2, r4
|
|
113fa: 2300 movs r3, #0
|
|
113fc: 480d ldr r0, [pc, #52] ; (11434 <lv_anim_start+0xac>)
|
|
113fe: 490e ldr r1, [pc, #56] ; (11438 <lv_anim_start+0xb0>)
|
|
11400: 4788 blx r1
|
|
11402: e7fe b.n 11402 <lv_anim_start+0x7a>
|
|
11404: 00011311 .word 0x00011311
|
|
11408: 20006d5c .word 0x20006d5c
|
|
1140c: 0001222d .word 0x0001222d
|
|
11410: 00011ef9 .word 0x00011ef9
|
|
11414: 00002299 .word 0x00002299
|
|
11418: 0001263d .word 0x0001263d
|
|
1141c: 0001108d .word 0x0001108d
|
|
11420: 00011041 .word 0x00011041
|
|
11424: 20002b7c .word 0x20002b7c
|
|
11428: 000291f0 .word 0x000291f0
|
|
1142c: 00029200 .word 0x00029200
|
|
11430: 00012245 .word 0x00012245
|
|
11434: 00023fc0 .word 0x00023fc0
|
|
11438: 000022a1 .word 0x000022a1
|
|
|
|
0001143c <lv_anim_get>:
|
|
{
|
|
1143c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
1143e: 4604 mov r4, r0
|
|
11440: 460f mov r7, r1
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) {
|
|
11442: 480a ldr r0, [pc, #40] ; (1146c <lv_anim_get+0x30>)
|
|
11444: 4b0a ldr r3, [pc, #40] ; (11470 <lv_anim_get+0x34>)
|
|
11446: 4798 blx r3
|
|
11448: 4601 mov r1, r0
|
|
1144a: b160 cbz r0, 11466 <lv_anim_get+0x2a>
|
|
1144c: 4e07 ldr r6, [pc, #28] ; (1146c <lv_anim_get+0x30>)
|
|
1144e: 4d09 ldr r5, [pc, #36] ; (11474 <lv_anim_get+0x38>)
|
|
11450: e003 b.n 1145a <lv_anim_get+0x1e>
|
|
11452: 4630 mov r0, r6
|
|
11454: 47a8 blx r5
|
|
11456: 4601 mov r1, r0
|
|
11458: b128 cbz r0, 11466 <lv_anim_get+0x2a>
|
|
if(a->var == var && a->exec_cb == exec_cb) {
|
|
1145a: 680b ldr r3, [r1, #0]
|
|
1145c: 42a3 cmp r3, r4
|
|
1145e: d1f8 bne.n 11452 <lv_anim_get+0x16>
|
|
11460: 684b ldr r3, [r1, #4]
|
|
11462: 42bb cmp r3, r7
|
|
11464: d1f5 bne.n 11452 <lv_anim_get+0x16>
|
|
}
|
|
11466: 4608 mov r0, r1
|
|
11468: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
1146a: bf00 nop
|
|
1146c: 20006d5c .word 0x20006d5c
|
|
11470: 00011f91 .word 0x00011f91
|
|
11474: 00011fa5 .word 0x00011fa5
|
|
|
|
00011478 <lv_anim_speed_to_time>:
|
|
int32_t d = LV_MATH_ABS((int32_t)start - end);
|
|
11478: 1a89 subs r1, r1, r2
|
|
1147a: 2900 cmp r1, #0
|
|
1147c: bfb8 it lt
|
|
1147e: 4249 neglt r1, r1
|
|
uint32_t time = (int32_t)((int32_t)(d * 1000) / speed);
|
|
11480: f44f 727a mov.w r2, #1000 ; 0x3e8
|
|
11484: fb02 f201 mul.w r2, r2, r1
|
|
11488: fb92 f0f0 sdiv r0, r2, r0
|
|
1148c: f64f 72ff movw r2, #65535 ; 0xffff
|
|
11490: 4290 cmp r0, r2
|
|
11492: bf28 it cs
|
|
11494: 4610 movcs r0, r2
|
|
time++;
|
|
11496: 2800 cmp r0, #0
|
|
11498: bf08 it eq
|
|
1149a: 2001 moveq r0, #1
|
|
}
|
|
1149c: b280 uxth r0, r0
|
|
1149e: 4770 bx lr
|
|
|
|
000114a0 <lv_point_within_circle>:
|
|
/**********************
|
|
* STATIC FUNCTIONS
|
|
**********************/
|
|
|
|
static bool lv_point_within_circle(const lv_area_t * area, const lv_point_t * p)
|
|
{
|
|
114a0: b430 push {r4, r5}
|
|
lv_coord_t r = (area->x2 - area->x1) / 2;
|
|
114a2: f9b0 5000 ldrsh.w r5, [r0]
|
|
114a6: f9b0 3004 ldrsh.w r3, [r0, #4]
|
|
114aa: 1b5b subs r3, r3, r5
|
|
114ac: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
114b0: 105b asrs r3, r3, #1
|
|
|
|
/* Circle center */
|
|
lv_coord_t cx = area->x1 + r;
|
|
114b2: b29c uxth r4, r3
|
|
lv_coord_t cy = area->y1 + r;
|
|
|
|
/*Simplify the code by moving everything to (0, 0) */
|
|
lv_coord_t px = p->x - cx;
|
|
114b4: 880a ldrh r2, [r1, #0]
|
|
114b6: 1b52 subs r2, r2, r5
|
|
114b8: 1b12 subs r2, r2, r4
|
|
lv_coord_t py = p->y - cy;
|
|
114ba: 8849 ldrh r1, [r1, #2]
|
|
114bc: 8840 ldrh r0, [r0, #2]
|
|
114be: 1a08 subs r0, r1, r0
|
|
114c0: 1b00 subs r0, r0, r4
|
|
|
|
int32_t r_sqrd = r * r;
|
|
114c2: fb13 f303 smulbb r3, r3, r3
|
|
int32_t dist = (px * px) + (py * py);
|
|
114c6: fb10 f000 smulbb r0, r0, r0
|
|
114ca: fb12 0202 smlabb r2, r2, r2, r0
|
|
|
|
if(dist <= r_sqrd)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
114ce: 4293 cmp r3, r2
|
|
114d0: bfb4 ite lt
|
|
114d2: 2000 movlt r0, #0
|
|
114d4: 2001 movge r0, #1
|
|
114d6: bc30 pop {r4, r5}
|
|
114d8: 4770 bx lr
|
|
|
|
000114da <lv_area_set_height>:
|
|
area_p->y2 = area_p->y1 + h - 1;
|
|
114da: 3901 subs r1, #1
|
|
114dc: 8843 ldrh r3, [r0, #2]
|
|
114de: 4419 add r1, r3
|
|
114e0: 80c1 strh r1, [r0, #6]
|
|
114e2: 4770 bx lr
|
|
|
|
000114e4 <lv_area_get_size>:
|
|
size = (uint32_t)(area_p->x2 - area_p->x1 + 1) * (area_p->y2 - area_p->y1 + 1);
|
|
114e4: f9b0 2004 ldrsh.w r2, [r0, #4]
|
|
114e8: f9b0 3000 ldrsh.w r3, [r0]
|
|
114ec: 1ad2 subs r2, r2, r3
|
|
114ee: f9b0 3006 ldrsh.w r3, [r0, #6]
|
|
114f2: f9b0 0002 ldrsh.w r0, [r0, #2]
|
|
114f6: 1a18 subs r0, r3, r0
|
|
114f8: 3001 adds r0, #1
|
|
}
|
|
114fa: fb02 0000 mla r0, r2, r0, r0
|
|
114fe: 4770 bx lr
|
|
|
|
00011500 <_lv_area_intersect>:
|
|
{
|
|
11500: b470 push {r4, r5, r6}
|
|
res_p->x1 = LV_MATH_MAX(a1_p->x1, a2_p->x1);
|
|
11502: f9b2 5000 ldrsh.w r5, [r2]
|
|
11506: f9b1 3000 ldrsh.w r3, [r1]
|
|
1150a: 429d cmp r5, r3
|
|
1150c: bfb8 it lt
|
|
1150e: 461d movlt r5, r3
|
|
11510: 8005 strh r5, [r0, #0]
|
|
res_p->y1 = LV_MATH_MAX(a1_p->y1, a2_p->y1);
|
|
11512: f9b2 3002 ldrsh.w r3, [r2, #2]
|
|
11516: f9b1 4002 ldrsh.w r4, [r1, #2]
|
|
1151a: 42a3 cmp r3, r4
|
|
1151c: bfb8 it lt
|
|
1151e: 4623 movlt r3, r4
|
|
11520: 8043 strh r3, [r0, #2]
|
|
res_p->x2 = LV_MATH_MIN(a1_p->x2, a2_p->x2);
|
|
11522: f9b2 4004 ldrsh.w r4, [r2, #4]
|
|
11526: f9b1 6004 ldrsh.w r6, [r1, #4]
|
|
1152a: 42b4 cmp r4, r6
|
|
1152c: bfa8 it ge
|
|
1152e: 4634 movge r4, r6
|
|
11530: 8084 strh r4, [r0, #4]
|
|
res_p->y2 = LV_MATH_MIN(a1_p->y2, a2_p->y2);
|
|
11532: f9b2 2006 ldrsh.w r2, [r2, #6]
|
|
11536: f9b1 1006 ldrsh.w r1, [r1, #6]
|
|
1153a: 428a cmp r2, r1
|
|
1153c: bfa8 it ge
|
|
1153e: 460a movge r2, r1
|
|
11540: 80c2 strh r2, [r0, #6]
|
|
if((res_p->x1 > res_p->x2) || (res_p->y1 > res_p->y2)) {
|
|
11542: 42a5 cmp r5, r4
|
|
11544: dc05 bgt.n 11552 <_lv_area_intersect+0x52>
|
|
11546: 4293 cmp r3, r2
|
|
11548: bfcc ite gt
|
|
1154a: 2000 movgt r0, #0
|
|
1154c: 2001 movle r0, #1
|
|
}
|
|
1154e: bc70 pop {r4, r5, r6}
|
|
11550: 4770 bx lr
|
|
union_ok = false;
|
|
11552: 2000 movs r0, #0
|
|
11554: e7fb b.n 1154e <_lv_area_intersect+0x4e>
|
|
|
|
00011556 <_lv_area_join>:
|
|
{
|
|
11556: b410 push {r4}
|
|
a_res_p->x1 = LV_MATH_MIN(a1_p->x1, a2_p->x1);
|
|
11558: f9b2 3000 ldrsh.w r3, [r2]
|
|
1155c: f9b1 4000 ldrsh.w r4, [r1]
|
|
11560: 42a3 cmp r3, r4
|
|
11562: bfa8 it ge
|
|
11564: 4623 movge r3, r4
|
|
11566: 8003 strh r3, [r0, #0]
|
|
a_res_p->y1 = LV_MATH_MIN(a1_p->y1, a2_p->y1);
|
|
11568: f9b2 3002 ldrsh.w r3, [r2, #2]
|
|
1156c: f9b1 4002 ldrsh.w r4, [r1, #2]
|
|
11570: 42a3 cmp r3, r4
|
|
11572: bfa8 it ge
|
|
11574: 4623 movge r3, r4
|
|
11576: 8043 strh r3, [r0, #2]
|
|
a_res_p->x2 = LV_MATH_MAX(a1_p->x2, a2_p->x2);
|
|
11578: f9b2 3004 ldrsh.w r3, [r2, #4]
|
|
1157c: f9b1 4004 ldrsh.w r4, [r1, #4]
|
|
11580: 42a3 cmp r3, r4
|
|
11582: bfb8 it lt
|
|
11584: 4623 movlt r3, r4
|
|
11586: 8083 strh r3, [r0, #4]
|
|
a_res_p->y2 = LV_MATH_MAX(a1_p->y2, a2_p->y2);
|
|
11588: f9b2 3006 ldrsh.w r3, [r2, #6]
|
|
1158c: f9b1 2006 ldrsh.w r2, [r1, #6]
|
|
11590: 4293 cmp r3, r2
|
|
11592: bfb8 it lt
|
|
11594: 4613 movlt r3, r2
|
|
11596: 80c3 strh r3, [r0, #6]
|
|
}
|
|
11598: f85d 4b04 ldr.w r4, [sp], #4
|
|
1159c: 4770 bx lr
|
|
...
|
|
|
|
000115a0 <_lv_area_is_point_on>:
|
|
{
|
|
115a0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
115a4: b085 sub sp, #20
|
|
if((p_p->x >= a_p->x1 && p_p->x <= a_p->x2) && ((p_p->y >= a_p->y1 && p_p->y <= a_p->y2))) {
|
|
115a6: f9b1 5000 ldrsh.w r5, [r1]
|
|
115aa: f9b0 e000 ldrsh.w lr, [r0]
|
|
115ae: 4575 cmp r5, lr
|
|
115b0: f2c0 809d blt.w 116ee <_lv_area_is_point_on+0x14e>
|
|
115b4: f9b0 8004 ldrsh.w r8, [r0, #4]
|
|
115b8: 4545 cmp r5, r8
|
|
115ba: f300 809c bgt.w 116f6 <_lv_area_is_point_on+0x156>
|
|
115be: f9b1 3002 ldrsh.w r3, [r1, #2]
|
|
115c2: f9b0 a002 ldrsh.w sl, [r0, #2]
|
|
115c6: 4553 cmp r3, sl
|
|
115c8: f2c0 8097 blt.w 116fa <_lv_area_is_point_on+0x15a>
|
|
115cc: f9b0 0006 ldrsh.w r0, [r0, #6]
|
|
115d0: 9001 str r0, [sp, #4]
|
|
if(!is_on_rect)
|
|
115d2: 4283 cmp r3, r0
|
|
115d4: f300 8093 bgt.w 116fe <_lv_area_is_point_on+0x15e>
|
|
if(radius <= 0) {
|
|
115d8: 2a00 cmp r2, #0
|
|
115da: f340 8092 ble.w 11702 <_lv_area_is_point_on+0x162>
|
|
115de: 468c mov ip, r1
|
|
* @param area_p pointer to an area
|
|
* @return the width of the area (if x1 == x2 -> width = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
115e0: fa1f f988 uxth.w r9, r8
|
|
115e4: fa1f f68e uxth.w r6, lr
|
|
* @param area_p pointer to an area
|
|
* @return the height of the area (if y1 == y2 -> height = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
115e8: b287 uxth r7, r0
|
|
115ea: fa1f f58a uxth.w r5, sl
|
|
corner_area.x1 = a_p->x1;
|
|
115ee: f8ad e008 strh.w lr, [sp, #8]
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
115f2: f109 0301 add.w r3, r9, #1
|
|
115f6: 1b9b subs r3, r3, r6
|
|
lv_coord_t w = lv_area_get_width(a_p) / 2;
|
|
115f8: b21b sxth r3, r3
|
|
115fa: eb03 74d3 add.w r4, r3, r3, lsr #31
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
115fe: 1c7b adds r3, r7, #1
|
|
11600: 1b5b subs r3, r3, r5
|
|
lv_coord_t h = lv_area_get_height(a_p) / 2;
|
|
11602: b21b sxth r3, r3
|
|
11604: eb03 71d3 add.w r1, r3, r3, lsr #31
|
|
lv_coord_t max_radius = LV_MATH_MIN(w, h);
|
|
11608: 1064 asrs r4, r4, #1
|
|
1160a: 104b asrs r3, r1, #1
|
|
corner_area.x2 = a_p->x1 + radius;
|
|
1160c: 42a3 cmp r3, r4
|
|
1160e: bfa8 it ge
|
|
11610: 4623 movge r3, r4
|
|
11612: 4293 cmp r3, r2
|
|
11614: bfa8 it ge
|
|
11616: 4613 movge r3, r2
|
|
11618: b29c uxth r4, r3
|
|
1161a: 4426 add r6, r4
|
|
1161c: b2b6 uxth r6, r6
|
|
1161e: f8ad 600c strh.w r6, [sp, #12]
|
|
corner_area.y1 = a_p->y1;
|
|
11622: f8ad a00a strh.w sl, [sp, #10]
|
|
corner_area.y2 = a_p->y1 + radius;
|
|
11626: 4425 add r5, r4
|
|
11628: b2ad uxth r5, r5
|
|
1162a: fa0f fb85 sxth.w fp, r5
|
|
1162e: f8ad b00e strh.w fp, [sp, #14]
|
|
if(_lv_area_is_point_on(&corner_area, p_p, 0)) {
|
|
11632: 2200 movs r2, #0
|
|
11634: f8cd c000 str.w ip, [sp]
|
|
11638: 4661 mov r1, ip
|
|
1163a: a802 add r0, sp, #8
|
|
1163c: f7ff ffb0 bl 115a0 <_lv_area_is_point_on>
|
|
11640: b150 cbz r0, 11658 <_lv_area_is_point_on+0xb8>
|
|
corner_area.x2 += radius;
|
|
11642: 4426 add r6, r4
|
|
11644: f8ad 600c strh.w r6, [sp, #12]
|
|
corner_area.y2 += radius;
|
|
11648: 442c add r4, r5
|
|
1164a: f8ad 400e strh.w r4, [sp, #14]
|
|
return lv_point_within_circle(&corner_area, p_p);
|
|
1164e: 9900 ldr r1, [sp, #0]
|
|
11650: a802 add r0, sp, #8
|
|
11652: 4b2e ldr r3, [pc, #184] ; (1170c <_lv_area_is_point_on+0x16c>)
|
|
11654: 4798 blx r3
|
|
11656: e04b b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
corner_area.y1 = a_p->y2 - radius;
|
|
11658: 1b3f subs r7, r7, r4
|
|
1165a: b2bf uxth r7, r7
|
|
1165c: f8ad 700a strh.w r7, [sp, #10]
|
|
corner_area.y2 = a_p->y2;
|
|
11660: f8bd 3004 ldrh.w r3, [sp, #4]
|
|
11664: f8ad 300e strh.w r3, [sp, #14]
|
|
if(_lv_area_is_point_on(&corner_area, p_p, 0)) {
|
|
11668: 2200 movs r2, #0
|
|
1166a: 9900 ldr r1, [sp, #0]
|
|
1166c: a802 add r0, sp, #8
|
|
1166e: f7ff ff97 bl 115a0 <_lv_area_is_point_on>
|
|
11672: b150 cbz r0, 1168a <_lv_area_is_point_on+0xea>
|
|
corner_area.x2 += radius;
|
|
11674: 4426 add r6, r4
|
|
11676: f8ad 600c strh.w r6, [sp, #12]
|
|
corner_area.y1 -= radius;
|
|
1167a: 1b3c subs r4, r7, r4
|
|
1167c: f8ad 400a strh.w r4, [sp, #10]
|
|
return lv_point_within_circle(&corner_area, p_p);
|
|
11680: 9900 ldr r1, [sp, #0]
|
|
11682: a802 add r0, sp, #8
|
|
11684: 4b21 ldr r3, [pc, #132] ; (1170c <_lv_area_is_point_on+0x16c>)
|
|
11686: 4798 blx r3
|
|
11688: e032 b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
corner_area.x1 = a_p->x2 - radius;
|
|
1168a: eba9 0904 sub.w r9, r9, r4
|
|
1168e: fa1f f989 uxth.w r9, r9
|
|
11692: f8ad 9008 strh.w r9, [sp, #8]
|
|
corner_area.x2 = a_p->x2;
|
|
11696: f8ad 800c strh.w r8, [sp, #12]
|
|
if(_lv_area_is_point_on(&corner_area, p_p, 0)) {
|
|
1169a: 2200 movs r2, #0
|
|
1169c: 9e00 ldr r6, [sp, #0]
|
|
1169e: 4631 mov r1, r6
|
|
116a0: a802 add r0, sp, #8
|
|
116a2: f7ff ff7d bl 115a0 <_lv_area_is_point_on>
|
|
116a6: b158 cbz r0, 116c0 <_lv_area_is_point_on+0x120>
|
|
corner_area.x1 -= radius;
|
|
116a8: eba9 0904 sub.w r9, r9, r4
|
|
116ac: f8ad 9008 strh.w r9, [sp, #8]
|
|
corner_area.y1 -= radius;
|
|
116b0: 1b3c subs r4, r7, r4
|
|
116b2: f8ad 400a strh.w r4, [sp, #10]
|
|
return lv_point_within_circle(&corner_area, p_p);
|
|
116b6: 4631 mov r1, r6
|
|
116b8: a802 add r0, sp, #8
|
|
116ba: 4b14 ldr r3, [pc, #80] ; (1170c <_lv_area_is_point_on+0x16c>)
|
|
116bc: 4798 blx r3
|
|
116be: e017 b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
corner_area.y1 = a_p->y1;
|
|
116c0: f8ad a00a strh.w sl, [sp, #10]
|
|
corner_area.y2 = a_p->y1 + radius;
|
|
116c4: f8ad b00e strh.w fp, [sp, #14]
|
|
if(_lv_area_is_point_on(&corner_area, p_p, 0)) {
|
|
116c8: 2200 movs r2, #0
|
|
116ca: 9e00 ldr r6, [sp, #0]
|
|
116cc: 4631 mov r1, r6
|
|
116ce: a802 add r0, sp, #8
|
|
116d0: f7ff ff66 bl 115a0 <_lv_area_is_point_on>
|
|
116d4: b1b8 cbz r0, 11706 <_lv_area_is_point_on+0x166>
|
|
corner_area.x1 -= radius;
|
|
116d6: eba9 0904 sub.w r9, r9, r4
|
|
116da: f8ad 9008 strh.w r9, [sp, #8]
|
|
corner_area.y2 += radius;
|
|
116de: 442c add r4, r5
|
|
116e0: f8ad 400e strh.w r4, [sp, #14]
|
|
return lv_point_within_circle(&corner_area, p_p);
|
|
116e4: 4631 mov r1, r6
|
|
116e6: a802 add r0, sp, #8
|
|
116e8: 4b08 ldr r3, [pc, #32] ; (1170c <_lv_area_is_point_on+0x16c>)
|
|
116ea: 4798 blx r3
|
|
116ec: e000 b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
return false;
|
|
116ee: 2000 movs r0, #0
|
|
}
|
|
116f0: b005 add sp, #20
|
|
116f2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
return false;
|
|
116f6: 2000 movs r0, #0
|
|
116f8: e7fa b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
116fa: 2000 movs r0, #0
|
|
116fc: e7f8 b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
116fe: 2000 movs r0, #0
|
|
11700: e7f6 b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
return true;
|
|
11702: 2001 movs r0, #1
|
|
11704: e7f4 b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
return true;
|
|
11706: 2001 movs r0, #1
|
|
11708: e7f2 b.n 116f0 <_lv_area_is_point_on+0x150>
|
|
1170a: bf00 nop
|
|
1170c: 000114a1 .word 0x000114a1
|
|
|
|
00011710 <_lv_area_is_on>:
|
|
if((a1_p->x1 <= a2_p->x2) && (a1_p->x2 >= a2_p->x1) && (a1_p->y1 <= a2_p->y2) && (a1_p->y2 >= a2_p->y1)) {
|
|
11710: f9b0 2000 ldrsh.w r2, [r0]
|
|
11714: f9b1 3004 ldrsh.w r3, [r1, #4]
|
|
11718: 429a cmp r2, r3
|
|
1171a: dc14 bgt.n 11746 <_lv_area_is_on+0x36>
|
|
1171c: f9b0 2004 ldrsh.w r2, [r0, #4]
|
|
11720: f9b1 3000 ldrsh.w r3, [r1]
|
|
11724: 429a cmp r2, r3
|
|
11726: db10 blt.n 1174a <_lv_area_is_on+0x3a>
|
|
11728: f9b0 2002 ldrsh.w r2, [r0, #2]
|
|
1172c: f9b1 3006 ldrsh.w r3, [r1, #6]
|
|
11730: 429a cmp r2, r3
|
|
11732: dc0c bgt.n 1174e <_lv_area_is_on+0x3e>
|
|
11734: f9b0 0006 ldrsh.w r0, [r0, #6]
|
|
11738: f9b1 3002 ldrsh.w r3, [r1, #2]
|
|
1173c: 4298 cmp r0, r3
|
|
1173e: bfb4 ite lt
|
|
11740: 2000 movlt r0, #0
|
|
11742: 2001 movge r0, #1
|
|
11744: 4770 bx lr
|
|
return false;
|
|
11746: 2000 movs r0, #0
|
|
11748: 4770 bx lr
|
|
1174a: 2000 movs r0, #0
|
|
1174c: 4770 bx lr
|
|
1174e: 2000 movs r0, #0
|
|
}
|
|
11750: 4770 bx lr
|
|
...
|
|
|
|
00011754 <_lv_area_is_in>:
|
|
{
|
|
11754: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
11758: b082 sub sp, #8
|
|
if(ain_p->x1 >= aholder_p->x1 && ain_p->y1 >= aholder_p->y1 && ain_p->x2 <= aholder_p->x2 &&
|
|
1175a: f9b0 5000 ldrsh.w r5, [r0]
|
|
1175e: f9b1 3000 ldrsh.w r3, [r1]
|
|
11762: 42ab cmp r3, r5
|
|
11764: dc14 bgt.n 11790 <_lv_area_is_in+0x3c>
|
|
11766: f9b0 4002 ldrsh.w r4, [r0, #2]
|
|
1176a: f9b1 3002 ldrsh.w r3, [r1, #2]
|
|
1176e: 429c cmp r4, r3
|
|
11770: db14 blt.n 1179c <_lv_area_is_in+0x48>
|
|
11772: f9b0 4004 ldrsh.w r4, [r0, #4]
|
|
11776: f9b1 3004 ldrsh.w r3, [r1, #4]
|
|
1177a: 429c cmp r4, r3
|
|
1177c: dc10 bgt.n 117a0 <_lv_area_is_in+0x4c>
|
|
1177e: f9b0 3006 ldrsh.w r3, [r0, #6]
|
|
11782: f9b1 4006 ldrsh.w r4, [r1, #6]
|
|
11786: 42a3 cmp r3, r4
|
|
11788: bfcc ite gt
|
|
1178a: 2300 movgt r3, #0
|
|
1178c: 2301 movle r3, #1
|
|
1178e: e000 b.n 11792 <_lv_area_is_in+0x3e>
|
|
bool is_in = false;
|
|
11790: 2300 movs r3, #0
|
|
if(radius == 0) return is_in;
|
|
11792: b93a cbnz r2, 117a4 <_lv_area_is_in+0x50>
|
|
}
|
|
11794: 4618 mov r0, r3
|
|
11796: b002 add sp, #8
|
|
11798: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
bool is_in = false;
|
|
1179c: 2300 movs r3, #0
|
|
1179e: e7f8 b.n 11792 <_lv_area_is_in+0x3e>
|
|
117a0: 2300 movs r3, #0
|
|
117a2: e7f6 b.n 11792 <_lv_area_is_in+0x3e>
|
|
117a4: 4617 mov r7, r2
|
|
117a6: 460c mov r4, r1
|
|
117a8: 4606 mov r6, r0
|
|
p.x = ain_p->x1;
|
|
117aa: f8ad 5004 strh.w r5, [sp, #4]
|
|
p.y = ain_p->y1;
|
|
117ae: 8843 ldrh r3, [r0, #2]
|
|
117b0: f8ad 3006 strh.w r3, [sp, #6]
|
|
if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false;
|
|
117b4: a901 add r1, sp, #4
|
|
117b6: 4620 mov r0, r4
|
|
117b8: 4b13 ldr r3, [pc, #76] ; (11808 <_lv_area_is_in+0xb4>)
|
|
117ba: 4798 blx r3
|
|
117bc: 4603 mov r3, r0
|
|
117be: 2800 cmp r0, #0
|
|
117c0: d0e8 beq.n 11794 <_lv_area_is_in+0x40>
|
|
p.x = ain_p->x2;
|
|
117c2: f9b6 8004 ldrsh.w r8, [r6, #4]
|
|
117c6: a902 add r1, sp, #8
|
|
117c8: f821 8d04 strh.w r8, [r1, #-4]!
|
|
if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false;
|
|
117cc: 463a mov r2, r7
|
|
117ce: 4620 mov r0, r4
|
|
117d0: 4b0d ldr r3, [pc, #52] ; (11808 <_lv_area_is_in+0xb4>)
|
|
117d2: 4798 blx r3
|
|
117d4: 4603 mov r3, r0
|
|
117d6: 2800 cmp r0, #0
|
|
117d8: d0dc beq.n 11794 <_lv_area_is_in+0x40>
|
|
p.x = ain_p->x1;
|
|
117da: f8ad 5004 strh.w r5, [sp, #4]
|
|
p.y = ain_p->y2;
|
|
117de: 88f3 ldrh r3, [r6, #6]
|
|
117e0: f8ad 3006 strh.w r3, [sp, #6]
|
|
if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false;
|
|
117e4: 463a mov r2, r7
|
|
117e6: a901 add r1, sp, #4
|
|
117e8: 4620 mov r0, r4
|
|
117ea: 4b07 ldr r3, [pc, #28] ; (11808 <_lv_area_is_in+0xb4>)
|
|
117ec: 4798 blx r3
|
|
117ee: 4603 mov r3, r0
|
|
117f0: 2800 cmp r0, #0
|
|
117f2: d0cf beq.n 11794 <_lv_area_is_in+0x40>
|
|
p.x = ain_p->x2;
|
|
117f4: a902 add r1, sp, #8
|
|
117f6: f821 8d04 strh.w r8, [r1, #-4]!
|
|
if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false;
|
|
117fa: 463a mov r2, r7
|
|
117fc: 4620 mov r0, r4
|
|
117fe: 4b02 ldr r3, [pc, #8] ; (11808 <_lv_area_is_in+0xb4>)
|
|
11800: 4798 blx r3
|
|
11802: 4603 mov r3, r0
|
|
11804: e7c6 b.n 11794 <_lv_area_is_in+0x40>
|
|
11806: bf00 nop
|
|
11808: 000115a1 .word 0x000115a1
|
|
|
|
0001180c <_lv_area_align>:
|
|
{
|
|
1180c: b430 push {r4, r5}
|
|
switch(align) {
|
|
1180e: 2a14 cmp r2, #20
|
|
11810: d83a bhi.n 11888 <_lv_area_align+0x7c>
|
|
11812: e8df f012 tbh [pc, r2, lsl #1]
|
|
11816: 0015 .short 0x0015
|
|
11818: 00470043 .word 0x00470043
|
|
1181c: 0067005c .word 0x0067005c
|
|
11820: 008d0072 .word 0x008d0072
|
|
11824: 00b3009e .word 0x00b3009e
|
|
11828: 00d600ce .word 0x00d600ce
|
|
1182c: 00fc00ee .word 0x00fc00ee
|
|
11830: 011c0104 .word 0x011c0104
|
|
11834: 0132012a .word 0x0132012a
|
|
11838: 0158014a .word 0x0158014a
|
|
1183c: 01780160 .word 0x01780160
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
11840: 8882 ldrh r2, [r0, #4]
|
|
11842: 3201 adds r2, #1
|
|
11844: 8804 ldrh r4, [r0, #0]
|
|
11846: 1b12 subs r2, r2, r4
|
|
res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2;
|
|
11848: b212 sxth r2, r2
|
|
1184a: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
1184e: 888a ldrh r2, [r1, #4]
|
|
11850: 3201 adds r2, #1
|
|
11852: 880d ldrh r5, [r1, #0]
|
|
11854: 1b52 subs r2, r2, r5
|
|
11856: b212 sxth r2, r2
|
|
11858: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
1185c: 1052 asrs r2, r2, #1
|
|
1185e: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
11862: 801a strh r2, [r3, #0]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
11864: 88c2 ldrh r2, [r0, #6]
|
|
11866: 3201 adds r2, #1
|
|
11868: 8844 ldrh r4, [r0, #2]
|
|
1186a: 1b12 subs r2, r2, r4
|
|
res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2;
|
|
1186c: b212 sxth r2, r2
|
|
1186e: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
11872: 88ca ldrh r2, [r1, #6]
|
|
11874: 3201 adds r2, #1
|
|
11876: 8849 ldrh r1, [r1, #2]
|
|
11878: 1a52 subs r2, r2, r1
|
|
1187a: b212 sxth r2, r2
|
|
1187c: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
11880: 1052 asrs r2, r2, #1
|
|
11882: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
11886: 805a strh r2, [r3, #2]
|
|
res->x += base->x1;
|
|
11888: 881a ldrh r2, [r3, #0]
|
|
1188a: 8801 ldrh r1, [r0, #0]
|
|
1188c: 440a add r2, r1
|
|
1188e: 801a strh r2, [r3, #0]
|
|
res->y += base->y1;
|
|
11890: 885a ldrh r2, [r3, #2]
|
|
11892: 8841 ldrh r1, [r0, #2]
|
|
11894: 440a add r2, r1
|
|
11896: 805a strh r2, [r3, #2]
|
|
}
|
|
11898: bc30 pop {r4, r5}
|
|
1189a: 4770 bx lr
|
|
res->x = 0;
|
|
1189c: 2200 movs r2, #0
|
|
1189e: 801a strh r2, [r3, #0]
|
|
res->y = 0;
|
|
118a0: 805a strh r2, [r3, #2]
|
|
break;
|
|
118a2: e7f1 b.n 11888 <_lv_area_align+0x7c>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
118a4: 8882 ldrh r2, [r0, #4]
|
|
118a6: 3201 adds r2, #1
|
|
118a8: 8804 ldrh r4, [r0, #0]
|
|
118aa: 1b12 subs r2, r2, r4
|
|
res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2;
|
|
118ac: b212 sxth r2, r2
|
|
118ae: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
118b2: 888a ldrh r2, [r1, #4]
|
|
118b4: 3201 adds r2, #1
|
|
118b6: 8809 ldrh r1, [r1, #0]
|
|
118b8: 1a52 subs r2, r2, r1
|
|
118ba: b212 sxth r2, r2
|
|
118bc: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
118c0: 1052 asrs r2, r2, #1
|
|
118c2: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
118c6: 801a strh r2, [r3, #0]
|
|
res->y = 0;
|
|
118c8: 2200 movs r2, #0
|
|
118ca: 805a strh r2, [r3, #2]
|
|
break;
|
|
118cc: e7dc b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = lv_area_get_width(base) - lv_area_get_width(to_align);
|
|
118ce: 8882 ldrh r2, [r0, #4]
|
|
118d0: 888c ldrh r4, [r1, #4]
|
|
118d2: 1b12 subs r2, r2, r4
|
|
118d4: 8804 ldrh r4, [r0, #0]
|
|
118d6: 1b12 subs r2, r2, r4
|
|
118d8: 8809 ldrh r1, [r1, #0]
|
|
118da: 440a add r2, r1
|
|
118dc: 801a strh r2, [r3, #0]
|
|
res->y = 0;
|
|
118de: 2200 movs r2, #0
|
|
118e0: 805a strh r2, [r3, #2]
|
|
break;
|
|
118e2: e7d1 b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = 0;
|
|
118e4: 2200 movs r2, #0
|
|
118e6: 801a strh r2, [r3, #0]
|
|
res->y = lv_area_get_height(base) - lv_area_get_height(to_align);
|
|
118e8: 88c2 ldrh r2, [r0, #6]
|
|
118ea: 88cc ldrh r4, [r1, #6]
|
|
118ec: 1b12 subs r2, r2, r4
|
|
118ee: 8844 ldrh r4, [r0, #2]
|
|
118f0: 1b12 subs r2, r2, r4
|
|
118f2: 8849 ldrh r1, [r1, #2]
|
|
118f4: 440a add r2, r1
|
|
118f6: 805a strh r2, [r3, #2]
|
|
break;
|
|
118f8: e7c6 b.n 11888 <_lv_area_align+0x7c>
|
|
118fa: 8882 ldrh r2, [r0, #4]
|
|
118fc: 3201 adds r2, #1
|
|
118fe: 8804 ldrh r4, [r0, #0]
|
|
11900: 1b12 subs r2, r2, r4
|
|
res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2;
|
|
11902: b212 sxth r2, r2
|
|
11904: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
11908: 888a ldrh r2, [r1, #4]
|
|
1190a: 3201 adds r2, #1
|
|
1190c: 880d ldrh r5, [r1, #0]
|
|
1190e: 1b52 subs r2, r2, r5
|
|
11910: b212 sxth r2, r2
|
|
11912: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
11916: 1052 asrs r2, r2, #1
|
|
11918: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
1191c: 801a strh r2, [r3, #0]
|
|
res->y = lv_area_get_height(base) - lv_area_get_height(to_align);
|
|
1191e: 88c2 ldrh r2, [r0, #6]
|
|
11920: 88cc ldrh r4, [r1, #6]
|
|
11922: 1b12 subs r2, r2, r4
|
|
11924: 8844 ldrh r4, [r0, #2]
|
|
11926: 1b12 subs r2, r2, r4
|
|
11928: 8849 ldrh r1, [r1, #2]
|
|
1192a: 440a add r2, r1
|
|
1192c: 805a strh r2, [r3, #2]
|
|
break;
|
|
1192e: e7ab b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = lv_area_get_width(base) - lv_area_get_width(to_align);
|
|
11930: 8882 ldrh r2, [r0, #4]
|
|
11932: 888c ldrh r4, [r1, #4]
|
|
11934: 1b12 subs r2, r2, r4
|
|
11936: 8804 ldrh r4, [r0, #0]
|
|
11938: 1b12 subs r2, r2, r4
|
|
1193a: 880c ldrh r4, [r1, #0]
|
|
1193c: 4422 add r2, r4
|
|
1193e: 801a strh r2, [r3, #0]
|
|
res->y = lv_area_get_height(base) - lv_area_get_height(to_align);
|
|
11940: 88c2 ldrh r2, [r0, #6]
|
|
11942: 88cc ldrh r4, [r1, #6]
|
|
11944: 1b12 subs r2, r2, r4
|
|
11946: 8844 ldrh r4, [r0, #2]
|
|
11948: 1b12 subs r2, r2, r4
|
|
1194a: 8849 ldrh r1, [r1, #2]
|
|
1194c: 440a add r2, r1
|
|
1194e: 805a strh r2, [r3, #2]
|
|
break;
|
|
11950: e79a b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = 0;
|
|
11952: 2200 movs r2, #0
|
|
11954: 801a strh r2, [r3, #0]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
11956: 88c2 ldrh r2, [r0, #6]
|
|
11958: 3201 adds r2, #1
|
|
1195a: 8844 ldrh r4, [r0, #2]
|
|
1195c: 1b12 subs r2, r2, r4
|
|
res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2;
|
|
1195e: b212 sxth r2, r2
|
|
11960: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
11964: 88ca ldrh r2, [r1, #6]
|
|
11966: 3201 adds r2, #1
|
|
11968: 8849 ldrh r1, [r1, #2]
|
|
1196a: 1a52 subs r2, r2, r1
|
|
1196c: b212 sxth r2, r2
|
|
1196e: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
11972: 1052 asrs r2, r2, #1
|
|
11974: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
11978: 805a strh r2, [r3, #2]
|
|
break;
|
|
1197a: e785 b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = lv_area_get_width(base) - lv_area_get_width(to_align);
|
|
1197c: 8882 ldrh r2, [r0, #4]
|
|
1197e: 888c ldrh r4, [r1, #4]
|
|
11980: 1b12 subs r2, r2, r4
|
|
11982: 8804 ldrh r4, [r0, #0]
|
|
11984: 1b12 subs r2, r2, r4
|
|
11986: 880c ldrh r4, [r1, #0]
|
|
11988: 4422 add r2, r4
|
|
1198a: 801a strh r2, [r3, #0]
|
|
1198c: 88c2 ldrh r2, [r0, #6]
|
|
1198e: 3201 adds r2, #1
|
|
11990: 8844 ldrh r4, [r0, #2]
|
|
11992: 1b12 subs r2, r2, r4
|
|
res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2;
|
|
11994: b212 sxth r2, r2
|
|
11996: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
1199a: 88ca ldrh r2, [r1, #6]
|
|
1199c: 3201 adds r2, #1
|
|
1199e: 8849 ldrh r1, [r1, #2]
|
|
119a0: 1a52 subs r2, r2, r1
|
|
119a2: b212 sxth r2, r2
|
|
119a4: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
119a8: 1052 asrs r2, r2, #1
|
|
119aa: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
119ae: 805a strh r2, [r3, #2]
|
|
break;
|
|
119b0: e76a b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = 0;
|
|
119b2: 2200 movs r2, #0
|
|
119b4: 801a strh r2, [r3, #0]
|
|
119b6: 88ca ldrh r2, [r1, #6]
|
|
119b8: 8849 ldrh r1, [r1, #2]
|
|
119ba: 1a52 subs r2, r2, r1
|
|
res->y = -lv_area_get_height(to_align);
|
|
119bc: 43d2 mvns r2, r2
|
|
119be: 805a strh r2, [r3, #2]
|
|
break;
|
|
119c0: e762 b.n 11888 <_lv_area_align+0x7c>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
119c2: 8882 ldrh r2, [r0, #4]
|
|
119c4: 3201 adds r2, #1
|
|
119c6: 8804 ldrh r4, [r0, #0]
|
|
119c8: 1b12 subs r2, r2, r4
|
|
res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2;
|
|
119ca: b212 sxth r2, r2
|
|
119cc: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
119d0: 888a ldrh r2, [r1, #4]
|
|
119d2: 3201 adds r2, #1
|
|
119d4: 880d ldrh r5, [r1, #0]
|
|
119d6: 1b52 subs r2, r2, r5
|
|
119d8: b212 sxth r2, r2
|
|
119da: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
119de: 1052 asrs r2, r2, #1
|
|
119e0: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
119e4: 801a strh r2, [r3, #0]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
119e6: 88ca ldrh r2, [r1, #6]
|
|
119e8: 8849 ldrh r1, [r1, #2]
|
|
119ea: 1a52 subs r2, r2, r1
|
|
res->y = -lv_area_get_height(to_align);
|
|
119ec: 43d2 mvns r2, r2
|
|
119ee: 805a strh r2, [r3, #2]
|
|
break;
|
|
119f0: e74a b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = lv_area_get_width(base) - lv_area_get_width(to_align);
|
|
119f2: 8882 ldrh r2, [r0, #4]
|
|
119f4: 888c ldrh r4, [r1, #4]
|
|
119f6: 1b12 subs r2, r2, r4
|
|
119f8: 8804 ldrh r4, [r0, #0]
|
|
119fa: 1b12 subs r2, r2, r4
|
|
119fc: 880c ldrh r4, [r1, #0]
|
|
119fe: 4422 add r2, r4
|
|
11a00: 801a strh r2, [r3, #0]
|
|
11a02: 88ca ldrh r2, [r1, #6]
|
|
11a04: 8849 ldrh r1, [r1, #2]
|
|
11a06: 1a52 subs r2, r2, r1
|
|
res->y = -lv_area_get_height(to_align);
|
|
11a08: 43d2 mvns r2, r2
|
|
11a0a: 805a strh r2, [r3, #2]
|
|
break;
|
|
11a0c: e73c b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = 0;
|
|
11a0e: 2200 movs r2, #0
|
|
11a10: 801a strh r2, [r3, #0]
|
|
11a12: 88c2 ldrh r2, [r0, #6]
|
|
11a14: 3201 adds r2, #1
|
|
11a16: 8841 ldrh r1, [r0, #2]
|
|
11a18: 1a52 subs r2, r2, r1
|
|
res->y = lv_area_get_height(base);
|
|
11a1a: 805a strh r2, [r3, #2]
|
|
break;
|
|
11a1c: e734 b.n 11888 <_lv_area_align+0x7c>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
11a1e: 8882 ldrh r2, [r0, #4]
|
|
11a20: 3201 adds r2, #1
|
|
11a22: 8804 ldrh r4, [r0, #0]
|
|
11a24: 1b12 subs r2, r2, r4
|
|
res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2;
|
|
11a26: b212 sxth r2, r2
|
|
11a28: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
11a2c: 888a ldrh r2, [r1, #4]
|
|
11a2e: 3201 adds r2, #1
|
|
11a30: 8809 ldrh r1, [r1, #0]
|
|
11a32: 1a52 subs r2, r2, r1
|
|
11a34: b212 sxth r2, r2
|
|
11a36: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
11a3a: 1052 asrs r2, r2, #1
|
|
11a3c: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
11a40: 801a strh r2, [r3, #0]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
11a42: 88c2 ldrh r2, [r0, #6]
|
|
11a44: 3201 adds r2, #1
|
|
11a46: 8841 ldrh r1, [r0, #2]
|
|
11a48: 1a52 subs r2, r2, r1
|
|
res->y = lv_area_get_height(base);
|
|
11a4a: 805a strh r2, [r3, #2]
|
|
break;
|
|
11a4c: e71c b.n 11888 <_lv_area_align+0x7c>
|
|
res->x = lv_area_get_width(base) - lv_area_get_width(to_align);
|
|
11a4e: 8882 ldrh r2, [r0, #4]
|
|
11a50: 888c ldrh r4, [r1, #4]
|
|
11a52: 1b12 subs r2, r2, r4
|
|
11a54: 8804 ldrh r4, [r0, #0]
|
|
11a56: 1b12 subs r2, r2, r4
|
|
11a58: 8809 ldrh r1, [r1, #0]
|
|
11a5a: 440a add r2, r1
|
|
11a5c: 801a strh r2, [r3, #0]
|
|
11a5e: 88c2 ldrh r2, [r0, #6]
|
|
11a60: 3201 adds r2, #1
|
|
11a62: 8841 ldrh r1, [r0, #2]
|
|
11a64: 1a52 subs r2, r2, r1
|
|
res->y = lv_area_get_height(base);
|
|
11a66: 805a strh r2, [r3, #2]
|
|
break;
|
|
11a68: e70e b.n 11888 <_lv_area_align+0x7c>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
11a6a: 888a ldrh r2, [r1, #4]
|
|
11a6c: 8809 ldrh r1, [r1, #0]
|
|
11a6e: 1a52 subs r2, r2, r1
|
|
res->x = -lv_area_get_width(to_align);
|
|
11a70: 43d2 mvns r2, r2
|
|
11a72: 801a strh r2, [r3, #0]
|
|
res->y = 0;
|
|
11a74: 2200 movs r2, #0
|
|
11a76: 805a strh r2, [r3, #2]
|
|
break;
|
|
11a78: e706 b.n 11888 <_lv_area_align+0x7c>
|
|
11a7a: 888a ldrh r2, [r1, #4]
|
|
11a7c: 880c ldrh r4, [r1, #0]
|
|
11a7e: 1b12 subs r2, r2, r4
|
|
res->x = -lv_area_get_width(to_align);
|
|
11a80: 43d2 mvns r2, r2
|
|
11a82: 801a strh r2, [r3, #0]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
11a84: 88c2 ldrh r2, [r0, #6]
|
|
11a86: 3201 adds r2, #1
|
|
11a88: 8844 ldrh r4, [r0, #2]
|
|
11a8a: 1b12 subs r2, r2, r4
|
|
res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2;
|
|
11a8c: b212 sxth r2, r2
|
|
11a8e: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
11a92: 88ca ldrh r2, [r1, #6]
|
|
11a94: 3201 adds r2, #1
|
|
11a96: 8849 ldrh r1, [r1, #2]
|
|
11a98: 1a52 subs r2, r2, r1
|
|
11a9a: b212 sxth r2, r2
|
|
11a9c: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
11aa0: 1052 asrs r2, r2, #1
|
|
11aa2: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
11aa6: 805a strh r2, [r3, #2]
|
|
break;
|
|
11aa8: e6ee b.n 11888 <_lv_area_align+0x7c>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
11aaa: 888a ldrh r2, [r1, #4]
|
|
11aac: 880c ldrh r4, [r1, #0]
|
|
11aae: 1b12 subs r2, r2, r4
|
|
res->x = -lv_area_get_width(to_align);
|
|
11ab0: 43d2 mvns r2, r2
|
|
11ab2: 801a strh r2, [r3, #0]
|
|
res->y = lv_area_get_height(base) - lv_area_get_height(to_align);
|
|
11ab4: 88c2 ldrh r2, [r0, #6]
|
|
11ab6: 88cc ldrh r4, [r1, #6]
|
|
11ab8: 1b12 subs r2, r2, r4
|
|
11aba: 8844 ldrh r4, [r0, #2]
|
|
11abc: 1b12 subs r2, r2, r4
|
|
11abe: 8849 ldrh r1, [r1, #2]
|
|
11ac0: 440a add r2, r1
|
|
11ac2: 805a strh r2, [r3, #2]
|
|
break;
|
|
11ac4: e6e0 b.n 11888 <_lv_area_align+0x7c>
|
|
11ac6: 8882 ldrh r2, [r0, #4]
|
|
11ac8: 3201 adds r2, #1
|
|
11aca: 8801 ldrh r1, [r0, #0]
|
|
11acc: 1a52 subs r2, r2, r1
|
|
res->x = lv_area_get_width(base);
|
|
11ace: 801a strh r2, [r3, #0]
|
|
res->y = 0;
|
|
11ad0: 2200 movs r2, #0
|
|
11ad2: 805a strh r2, [r3, #2]
|
|
break;
|
|
11ad4: e6d8 b.n 11888 <_lv_area_align+0x7c>
|
|
11ad6: 8882 ldrh r2, [r0, #4]
|
|
11ad8: 3201 adds r2, #1
|
|
11ada: 8804 ldrh r4, [r0, #0]
|
|
11adc: 1b12 subs r2, r2, r4
|
|
res->x = lv_area_get_width(base);
|
|
11ade: 801a strh r2, [r3, #0]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
11ae0: 88c2 ldrh r2, [r0, #6]
|
|
11ae2: 3201 adds r2, #1
|
|
11ae4: 8844 ldrh r4, [r0, #2]
|
|
11ae6: 1b12 subs r2, r2, r4
|
|
res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2;
|
|
11ae8: b212 sxth r2, r2
|
|
11aea: eb02 74d2 add.w r4, r2, r2, lsr #31
|
|
11aee: 88ca ldrh r2, [r1, #6]
|
|
11af0: 3201 adds r2, #1
|
|
11af2: 8849 ldrh r1, [r1, #2]
|
|
11af4: 1a52 subs r2, r2, r1
|
|
11af6: b212 sxth r2, r2
|
|
11af8: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
11afc: 1052 asrs r2, r2, #1
|
|
11afe: ebc2 0264 rsb r2, r2, r4, asr #1
|
|
11b02: 805a strh r2, [r3, #2]
|
|
break;
|
|
11b04: e6c0 b.n 11888 <_lv_area_align+0x7c>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
11b06: 8882 ldrh r2, [r0, #4]
|
|
11b08: 3201 adds r2, #1
|
|
11b0a: 8804 ldrh r4, [r0, #0]
|
|
11b0c: 1b12 subs r2, r2, r4
|
|
res->x = lv_area_get_width(base);
|
|
11b0e: 801a strh r2, [r3, #0]
|
|
res->y = lv_area_get_height(base) - lv_area_get_height(to_align);
|
|
11b10: 88c2 ldrh r2, [r0, #6]
|
|
11b12: 88cc ldrh r4, [r1, #6]
|
|
11b14: 1b12 subs r2, r2, r4
|
|
11b16: 8844 ldrh r4, [r0, #2]
|
|
11b18: 1b12 subs r2, r2, r4
|
|
11b1a: 8849 ldrh r1, [r1, #2]
|
|
11b1c: 440a add r2, r1
|
|
11b1e: 805a strh r2, [r3, #2]
|
|
break;
|
|
11b20: e6b2 b.n 11888 <_lv_area_align+0x7c>
|
|
|
|
00011b22 <lv_color_fill>:
|
|
/**********************
|
|
* STATIC FUNCTIONS
|
|
**********************/
|
|
|
|
LV_ATTRIBUTE_FAST_MEM void lv_color_fill(lv_color_t * buf, lv_color_t color, uint32_t px_num)
|
|
{
|
|
11b22: b430 push {r4, r5}
|
|
11b24: b28d uxth r5, r1
|
|
#if LV_COLOR_DEPTH == 16
|
|
uintptr_t buf_int = (uintptr_t) buf;
|
|
if(buf_int & 0x3) {
|
|
11b26: f010 0f03 tst.w r0, #3
|
|
*buf = color;
|
|
11b2a: bf1c itt ne
|
|
11b2c: f820 1b02 strhne.w r1, [r0], #2
|
|
buf++;
|
|
px_num--;
|
|
11b30: f102 32ff addne.w r2, r2, #4294967295
|
|
}
|
|
|
|
uint32_t c32 = color.full + (color.full << 16);
|
|
11b34: eb05 4105 add.w r1, r5, r5, lsl #16
|
|
uint32_t * buf32 = (uint32_t *)buf;
|
|
|
|
while(px_num > 16) {
|
|
11b38: 2a10 cmp r2, #16
|
|
11b3a: d921 bls.n 11b80 <lv_color_fill+0x5e>
|
|
11b3c: f100 0320 add.w r3, r0, #32
|
|
11b40: 4614 mov r4, r2
|
|
*buf32 = c32;
|
|
11b42: f843 1c20 str.w r1, [r3, #-32]
|
|
buf32++;
|
|
*buf32 = c32;
|
|
11b46: f843 1c1c str.w r1, [r3, #-28]
|
|
buf32++;
|
|
*buf32 = c32;
|
|
11b4a: f843 1c18 str.w r1, [r3, #-24]
|
|
buf32++;
|
|
*buf32 = c32;
|
|
11b4e: f843 1c14 str.w r1, [r3, #-20]
|
|
buf32++;
|
|
|
|
*buf32 = c32;
|
|
11b52: f843 1c10 str.w r1, [r3, #-16]
|
|
buf32++;
|
|
*buf32 = c32;
|
|
11b56: f843 1c0c str.w r1, [r3, #-12]
|
|
buf32++;
|
|
*buf32 = c32;
|
|
11b5a: f843 1c08 str.w r1, [r3, #-8]
|
|
buf32++;
|
|
*buf32 = c32;
|
|
11b5e: f843 1c04 str.w r1, [r3, #-4]
|
|
buf32++;
|
|
|
|
px_num -= 16;
|
|
11b62: 3c10 subs r4, #16
|
|
11b64: 3320 adds r3, #32
|
|
while(px_num > 16) {
|
|
11b66: 2c10 cmp r4, #16
|
|
11b68: d8eb bhi.n 11b42 <lv_color_fill+0x20>
|
|
11b6a: f1a2 0311 sub.w r3, r2, #17
|
|
11b6e: 091b lsrs r3, r3, #4
|
|
11b70: 1c59 adds r1, r3, #1
|
|
11b72: 3a10 subs r2, #16
|
|
11b74: ebc3 7303 rsb r3, r3, r3, lsl #28
|
|
11b78: eb02 1203 add.w r2, r2, r3, lsl #4
|
|
buf32++;
|
|
11b7c: eb00 1041 add.w r0, r0, r1, lsl #5
|
|
}
|
|
|
|
buf = (lv_color_t *)buf32;
|
|
|
|
while(px_num) {
|
|
11b80: b11a cbz r2, 11b8a <lv_color_fill+0x68>
|
|
*buf = color;
|
|
11b82: f820 5b02 strh.w r5, [r0], #2
|
|
while(px_num) {
|
|
11b86: 3a01 subs r2, #1
|
|
11b88: d1fb bne.n 11b82 <lv_color_fill+0x60>
|
|
*buf = color;
|
|
buf++;
|
|
px_num --;
|
|
}
|
|
#endif
|
|
}
|
|
11b8a: bc30 pop {r4, r5}
|
|
11b8c: 4770 bx lr
|
|
|
|
00011b8e <lv_color_lighten>:
|
|
|
|
|
|
lv_color_t lv_color_lighten(lv_color_t c, lv_opa_t lvl)
|
|
{
|
|
11b8e: b430 push {r4, r5}
|
|
LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix)
|
|
{
|
|
lv_color_t ret;
|
|
#if LV_COLOR_DEPTH != 1
|
|
/*LV_COLOR_DEPTH == 8, 16 or 32*/
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
11b90: ebc1 1541 rsb r5, r1, r1, lsl #5
|
|
11b94: f1c1 04ff rsb r4, r1, #255 ; 0xff
|
|
11b98: f3c0 23c4 ubfx r3, r0, #11, #5
|
|
11b9c: fb04 5303 mla r3, r4, r3, r5
|
|
11ba0: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
11ba4: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
11ba8: f3c3 52c4 ubfx r2, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
11bac: f3c0 1345 ubfx r3, r0, #5, #6
|
|
11bb0: ebc1 1181 rsb r1, r1, r1, lsl #6
|
|
11bb4: fb04 1103 mla r1, r4, r3, r1
|
|
11bb8: eb01 2301 add.w r3, r1, r1, lsl #8
|
|
11bbc: eb01 11c3 add.w r1, r1, r3, lsl #7
|
|
11bc0: f3c1 51c5 ubfx r1, r1, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
11bc4: f000 001f and.w r0, r0, #31
|
|
11bc8: fb04 5000 mla r0, r4, r0, r5
|
|
11bcc: eb00 2300 add.w r3, r0, r0, lsl #8
|
|
11bd0: eb00 10c3 add.w r0, r0, r3, lsl #7
|
|
11bd4: 0dc3 lsrs r3, r0, #23
|
|
11bd6: f04f 0000 mov.w r0, #0
|
|
11bda: f363 0004 bfi r0, r3, #0, #5
|
|
11bde: f361 104a bfi r0, r1, #5, #6
|
|
11be2: f362 20cf bfi r0, r2, #11, #5
|
|
return lv_color_mix(LV_COLOR_WHITE, c, lvl);
|
|
}
|
|
11be6: bc30 pop {r4, r5}
|
|
11be8: 4770 bx lr
|
|
|
|
00011bea <lv_color_darken>:
|
|
|
|
|
|
lv_color_t lv_color_darken(lv_color_t c, lv_opa_t lvl)
|
|
{
|
|
11bea: b410 push {r4}
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
11bec: f1c1 01ff rsb r1, r1, #255 ; 0xff
|
|
11bf0: f3c0 23c4 ubfx r3, r0, #11, #5
|
|
11bf4: fb01 f303 mul.w r3, r1, r3
|
|
11bf8: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
11bfc: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
11c00: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
11c04: f3c0 1245 ubfx r2, r0, #5, #6
|
|
11c08: fb01 f202 mul.w r2, r1, r2
|
|
11c0c: eb02 2402 add.w r4, r2, r2, lsl #8
|
|
11c10: eb02 12c4 add.w r2, r2, r4, lsl #7
|
|
11c14: f3c2 52c5 ubfx r2, r2, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
11c18: f000 001f and.w r0, r0, #31
|
|
11c1c: fb01 f100 mul.w r1, r1, r0
|
|
11c20: eb01 2001 add.w r0, r1, r1, lsl #8
|
|
11c24: eb01 11c0 add.w r1, r1, r0, lsl #7
|
|
11c28: 0dc9 lsrs r1, r1, #23
|
|
11c2a: f04f 0000 mov.w r0, #0
|
|
11c2e: f361 0004 bfi r0, r1, #0, #5
|
|
11c32: f362 104a bfi r0, r2, #5, #6
|
|
11c36: f363 20cf bfi r0, r3, #11, #5
|
|
return lv_color_mix(LV_COLOR_BLACK, c, lvl);
|
|
}
|
|
11c3a: f85d 4b04 ldr.w r4, [sp], #4
|
|
11c3e: 4770 bx lr
|
|
|
|
00011c40 <lv_fs_get_real_path>:
|
|
static const char * lv_fs_get_real_path(const char * path)
|
|
{
|
|
/* Example path: "S:/folder/file.txt"
|
|
* Leave the letter and the : / \ characters*/
|
|
|
|
path++; /*Ignore the driver letter*/
|
|
11c40: 1c42 adds r2, r0, #1
|
|
|
|
while(*path != '\0') {
|
|
11c42: 7843 ldrb r3, [r0, #1]
|
|
11c44: b91b cbnz r3, 11c4e <lv_fs_get_real_path+0xe>
|
|
11c46: e008 b.n 11c5a <lv_fs_get_real_path+0x1a>
|
|
11c48: f812 3f01 ldrb.w r3, [r2, #1]!
|
|
11c4c: b12b cbz r3, 11c5a <lv_fs_get_real_path+0x1a>
|
|
if(*path == ':' || *path == '\\' || *path == '/') {
|
|
11c4e: 2b3a cmp r3, #58 ; 0x3a
|
|
11c50: d0fa beq.n 11c48 <lv_fs_get_real_path+0x8>
|
|
11c52: 2b5c cmp r3, #92 ; 0x5c
|
|
11c54: d0f8 beq.n 11c48 <lv_fs_get_real_path+0x8>
|
|
11c56: 2b2f cmp r3, #47 ; 0x2f
|
|
11c58: d0f6 beq.n 11c48 <lv_fs_get_real_path+0x8>
|
|
break;
|
|
}
|
|
}
|
|
|
|
return path;
|
|
}
|
|
11c5a: 4610 mov r0, r2
|
|
11c5c: 4770 bx lr
|
|
...
|
|
|
|
00011c60 <_lv_fs_init>:
|
|
{
|
|
11c60: b508 push {r3, lr}
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_drv_ll), sizeof(lv_fs_drv_t));
|
|
11c62: 2144 movs r1, #68 ; 0x44
|
|
11c64: 4801 ldr r0, [pc, #4] ; (11c6c <_lv_fs_init+0xc>)
|
|
11c66: 4b02 ldr r3, [pc, #8] ; (11c70 <_lv_fs_init+0x10>)
|
|
11c68: 4798 blx r3
|
|
11c6a: bd08 pop {r3, pc}
|
|
11c6c: 20006d30 .word 0x20006d30
|
|
11c70: 00011ee1 .word 0x00011ee1
|
|
|
|
00011c74 <lv_fs_close>:
|
|
{
|
|
11c74: b538 push {r3, r4, r5, lr}
|
|
if(file_p->drv == NULL) {
|
|
11c76: 6843 ldr r3, [r0, #4]
|
|
11c78: b173 cbz r3, 11c98 <lv_fs_close+0x24>
|
|
if(file_p->drv->close_cb == NULL) {
|
|
11c7a: 691a ldr r2, [r3, #16]
|
|
11c7c: b172 cbz r2, 11c9c <lv_fs_close+0x28>
|
|
11c7e: 4604 mov r4, r0
|
|
lv_fs_res_t res = file_p->drv->close_cb(file_p->drv, file_p->file_d);
|
|
11c80: 6801 ldr r1, [r0, #0]
|
|
11c82: 4618 mov r0, r3
|
|
11c84: 4790 blx r2
|
|
11c86: 4605 mov r5, r0
|
|
lv_mem_free(file_p->file_d); /*Clean up*/
|
|
11c88: 6820 ldr r0, [r4, #0]
|
|
11c8a: 4b05 ldr r3, [pc, #20] ; (11ca0 <lv_fs_close+0x2c>)
|
|
11c8c: 4798 blx r3
|
|
file_p->file_d = NULL;
|
|
11c8e: 2300 movs r3, #0
|
|
11c90: 6023 str r3, [r4, #0]
|
|
file_p->drv = NULL;
|
|
11c92: 6063 str r3, [r4, #4]
|
|
}
|
|
11c94: 4628 mov r0, r5
|
|
11c96: bd38 pop {r3, r4, r5, pc}
|
|
return LV_FS_RES_INV_PARAM;
|
|
11c98: 250b movs r5, #11
|
|
11c9a: e7fb b.n 11c94 <lv_fs_close+0x20>
|
|
return LV_FS_RES_NOT_IMP;
|
|
11c9c: 2509 movs r5, #9
|
|
11c9e: e7f9 b.n 11c94 <lv_fs_close+0x20>
|
|
11ca0: 000124ad .word 0x000124ad
|
|
|
|
00011ca4 <lv_fs_read>:
|
|
{
|
|
11ca4: b5f0 push {r4, r5, r6, r7, lr}
|
|
11ca6: b085 sub sp, #20
|
|
if(br != NULL) *br = 0;
|
|
11ca8: 461e mov r6, r3
|
|
11caa: b10b cbz r3, 11cb0 <lv_fs_read+0xc>
|
|
11cac: 2300 movs r3, #0
|
|
11cae: 6033 str r3, [r6, #0]
|
|
if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM;
|
|
11cb0: 6845 ldr r5, [r0, #4]
|
|
11cb2: b18d cbz r5, 11cd8 <lv_fs_read+0x34>
|
|
if(file_p->drv->read_cb == NULL) return LV_FS_RES_NOT_IMP;
|
|
11cb4: 69af ldr r7, [r5, #24]
|
|
11cb6: b18f cbz r7, 11cdc <lv_fs_read+0x38>
|
|
11cb8: 4613 mov r3, r2
|
|
11cba: 460a mov r2, r1
|
|
11cbc: 4604 mov r4, r0
|
|
uint32_t br_tmp = 0;
|
|
11cbe: a804 add r0, sp, #16
|
|
11cc0: 2100 movs r1, #0
|
|
11cc2: f840 1d04 str.w r1, [r0, #-4]!
|
|
lv_fs_res_t res = file_p->drv->read_cb(file_p->drv, file_p->file_d, buf, btr, &br_tmp);
|
|
11cc6: 6821 ldr r1, [r4, #0]
|
|
11cc8: 9000 str r0, [sp, #0]
|
|
11cca: 4628 mov r0, r5
|
|
11ccc: 47b8 blx r7
|
|
if(br != NULL) *br = br_tmp;
|
|
11cce: b10e cbz r6, 11cd4 <lv_fs_read+0x30>
|
|
11cd0: 9b03 ldr r3, [sp, #12]
|
|
11cd2: 6033 str r3, [r6, #0]
|
|
}
|
|
11cd4: b005 add sp, #20
|
|
11cd6: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM;
|
|
11cd8: 200b movs r0, #11
|
|
11cda: e7fb b.n 11cd4 <lv_fs_read+0x30>
|
|
if(file_p->drv->read_cb == NULL) return LV_FS_RES_NOT_IMP;
|
|
11cdc: 2009 movs r0, #9
|
|
11cde: e7f9 b.n 11cd4 <lv_fs_read+0x30>
|
|
|
|
00011ce0 <lv_fs_seek>:
|
|
{
|
|
11ce0: b538 push {r3, r4, r5, lr}
|
|
if(file_p->drv == NULL) {
|
|
11ce2: 6844 ldr r4, [r0, #4]
|
|
11ce4: b134 cbz r4, 11cf4 <lv_fs_seek+0x14>
|
|
if(file_p->drv->seek_cb == NULL) {
|
|
11ce6: 6a25 ldr r5, [r4, #32]
|
|
11ce8: b135 cbz r5, 11cf8 <lv_fs_seek+0x18>
|
|
11cea: 460a mov r2, r1
|
|
lv_fs_res_t res = file_p->drv->seek_cb(file_p->drv, file_p->file_d, pos);
|
|
11cec: 6801 ldr r1, [r0, #0]
|
|
11cee: 4620 mov r0, r4
|
|
11cf0: 47a8 blx r5
|
|
return res;
|
|
11cf2: bd38 pop {r3, r4, r5, pc}
|
|
return LV_FS_RES_INV_PARAM;
|
|
11cf4: 200b movs r0, #11
|
|
11cf6: bd38 pop {r3, r4, r5, pc}
|
|
return LV_FS_RES_NOT_IMP;
|
|
11cf8: 2009 movs r0, #9
|
|
}
|
|
11cfa: bd38 pop {r3, r4, r5, pc}
|
|
|
|
00011cfc <lv_fs_get_drv>:
|
|
{
|
|
11cfc: b570 push {r4, r5, r6, lr}
|
|
11cfe: 4604 mov r4, r0
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) {
|
|
11d00: 4809 ldr r0, [pc, #36] ; (11d28 <lv_fs_get_drv+0x2c>)
|
|
11d02: 4b0a ldr r3, [pc, #40] ; (11d2c <lv_fs_get_drv+0x30>)
|
|
11d04: 4798 blx r3
|
|
11d06: 4601 mov r1, r0
|
|
11d08: b158 cbz r0, 11d22 <lv_fs_get_drv+0x26>
|
|
if(drv->letter == letter) {
|
|
11d0a: 7803 ldrb r3, [r0, #0]
|
|
11d0c: 42a3 cmp r3, r4
|
|
11d0e: d008 beq.n 11d22 <lv_fs_get_drv+0x26>
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) {
|
|
11d10: 4e05 ldr r6, [pc, #20] ; (11d28 <lv_fs_get_drv+0x2c>)
|
|
11d12: 4d07 ldr r5, [pc, #28] ; (11d30 <lv_fs_get_drv+0x34>)
|
|
11d14: 4630 mov r0, r6
|
|
11d16: 47a8 blx r5
|
|
11d18: 4601 mov r1, r0
|
|
11d1a: b110 cbz r0, 11d22 <lv_fs_get_drv+0x26>
|
|
if(drv->letter == letter) {
|
|
11d1c: 780b ldrb r3, [r1, #0]
|
|
11d1e: 42a3 cmp r3, r4
|
|
11d20: d1f8 bne.n 11d14 <lv_fs_get_drv+0x18>
|
|
}
|
|
11d22: 4608 mov r0, r1
|
|
11d24: bd70 pop {r4, r5, r6, pc}
|
|
11d26: bf00 nop
|
|
11d28: 20006d30 .word 0x20006d30
|
|
11d2c: 00011f91 .word 0x00011f91
|
|
11d30: 00011fa5 .word 0x00011fa5
|
|
|
|
00011d34 <lv_fs_open>:
|
|
{
|
|
11d34: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
11d38: b083 sub sp, #12
|
|
file_p->drv = NULL;
|
|
11d3a: 2300 movs r3, #0
|
|
11d3c: 6043 str r3, [r0, #4]
|
|
file_p->file_d = NULL;
|
|
11d3e: 6003 str r3, [r0, #0]
|
|
if(path == NULL) return LV_FS_RES_INV_PARAM;
|
|
11d40: 2900 cmp r1, #0
|
|
11d42: d045 beq.n 11dd0 <lv_fs_open+0x9c>
|
|
11d44: 460d mov r5, r1
|
|
11d46: 4691 mov r9, r2
|
|
11d48: 4604 mov r4, r0
|
|
file_p->drv = lv_fs_get_drv(letter);
|
|
11d4a: 7808 ldrb r0, [r1, #0]
|
|
11d4c: 4b24 ldr r3, [pc, #144] ; (11de0 <lv_fs_open+0xac>)
|
|
11d4e: 4798 blx r3
|
|
11d50: 6060 str r0, [r4, #4]
|
|
if(file_p->drv == NULL) {
|
|
11d52: b140 cbz r0, 11d66 <lv_fs_open+0x32>
|
|
if(file_p->drv->ready_cb != NULL) {
|
|
11d54: 6883 ldr r3, [r0, #8]
|
|
11d56: b153 cbz r3, 11d6e <lv_fs_open+0x3a>
|
|
if(file_p->drv->ready_cb(file_p->drv) == false) {
|
|
11d58: 4798 blx r3
|
|
11d5a: b940 cbnz r0, 11d6e <lv_fs_open+0x3a>
|
|
file_p->drv = NULL;
|
|
11d5c: 2300 movs r3, #0
|
|
11d5e: 6063 str r3, [r4, #4]
|
|
file_p->file_d = NULL;
|
|
11d60: 6023 str r3, [r4, #0]
|
|
return LV_FS_RES_HW_ERR;
|
|
11d62: 2501 movs r5, #1
|
|
11d64: e035 b.n 11dd2 <lv_fs_open+0x9e>
|
|
file_p->file_d = NULL;
|
|
11d66: 2300 movs r3, #0
|
|
11d68: 6023 str r3, [r4, #0]
|
|
return LV_FS_RES_NOT_EX;
|
|
11d6a: 2503 movs r5, #3
|
|
11d6c: e031 b.n 11dd2 <lv_fs_open+0x9e>
|
|
file_p->file_d = lv_mem_alloc(file_p->drv->file_size);
|
|
11d6e: 6863 ldr r3, [r4, #4]
|
|
11d70: 8858 ldrh r0, [r3, #2]
|
|
11d72: 4b1c ldr r3, [pc, #112] ; (11de4 <lv_fs_open+0xb0>)
|
|
11d74: 4798 blx r3
|
|
11d76: 6020 str r0, [r4, #0]
|
|
LV_ASSERT_MEM(file_p->file_d);
|
|
11d78: 4b1b ldr r3, [pc, #108] ; (11de8 <lv_fs_open+0xb4>)
|
|
11d7a: 4798 blx r3
|
|
11d7c: b128 cbz r0, 11d8a <lv_fs_open+0x56>
|
|
if(file_p->file_d == NULL) {
|
|
11d7e: 6826 ldr r6, [r4, #0]
|
|
11d80: b986 cbnz r6, 11da4 <lv_fs_open+0x70>
|
|
file_p->drv = NULL;
|
|
11d82: 2300 movs r3, #0
|
|
11d84: 6063 str r3, [r4, #4]
|
|
return LV_FS_RES_OUT_OF_MEM; /* Out of memory */
|
|
11d86: 250a movs r5, #10
|
|
11d88: e023 b.n 11dd2 <lv_fs_open+0x9e>
|
|
LV_ASSERT_MEM(file_p->file_d);
|
|
11d8a: 4b18 ldr r3, [pc, #96] ; (11dec <lv_fs_open+0xb8>)
|
|
11d8c: 9300 str r3, [sp, #0]
|
|
11d8e: 226f movs r2, #111 ; 0x6f
|
|
11d90: 4917 ldr r1, [pc, #92] ; (11df0 <lv_fs_open+0xbc>)
|
|
11d92: 2003 movs r0, #3
|
|
11d94: 4d17 ldr r5, [pc, #92] ; (11df4 <lv_fs_open+0xc0>)
|
|
11d96: 47a8 blx r5
|
|
11d98: 6822 ldr r2, [r4, #0]
|
|
11d9a: 2300 movs r3, #0
|
|
11d9c: 4816 ldr r0, [pc, #88] ; (11df8 <lv_fs_open+0xc4>)
|
|
11d9e: 4917 ldr r1, [pc, #92] ; (11dfc <lv_fs_open+0xc8>)
|
|
11da0: 4788 blx r1
|
|
11da2: e7fe b.n 11da2 <lv_fs_open+0x6e>
|
|
if(file_p->drv->open_cb == NULL) {
|
|
11da4: f8d4 8004 ldr.w r8, [r4, #4]
|
|
11da8: f8d8 700c ldr.w r7, [r8, #12]
|
|
11dac: b1af cbz r7, 11dda <lv_fs_open+0xa6>
|
|
const char * real_path = lv_fs_get_real_path(path);
|
|
11dae: 4628 mov r0, r5
|
|
11db0: 4b13 ldr r3, [pc, #76] ; (11e00 <lv_fs_open+0xcc>)
|
|
11db2: 4798 blx r3
|
|
lv_fs_res_t res = file_p->drv->open_cb(file_p->drv, file_p->file_d, real_path, mode);
|
|
11db4: 464b mov r3, r9
|
|
11db6: 4602 mov r2, r0
|
|
11db8: 4631 mov r1, r6
|
|
11dba: 4640 mov r0, r8
|
|
11dbc: 47b8 blx r7
|
|
if(res != LV_FS_RES_OK) {
|
|
11dbe: 4605 mov r5, r0
|
|
11dc0: b138 cbz r0, 11dd2 <lv_fs_open+0x9e>
|
|
lv_mem_free(file_p->file_d);
|
|
11dc2: 6820 ldr r0, [r4, #0]
|
|
11dc4: 4b0f ldr r3, [pc, #60] ; (11e04 <lv_fs_open+0xd0>)
|
|
11dc6: 4798 blx r3
|
|
file_p->file_d = NULL;
|
|
11dc8: 2300 movs r3, #0
|
|
11dca: 6023 str r3, [r4, #0]
|
|
file_p->drv = NULL;
|
|
11dcc: 6063 str r3, [r4, #4]
|
|
11dce: e000 b.n 11dd2 <lv_fs_open+0x9e>
|
|
if(path == NULL) return LV_FS_RES_INV_PARAM;
|
|
11dd0: 250b movs r5, #11
|
|
}
|
|
11dd2: 4628 mov r0, r5
|
|
11dd4: b003 add sp, #12
|
|
11dd6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
return LV_FS_RES_NOT_IMP;
|
|
11dda: 2509 movs r5, #9
|
|
11ddc: e7f9 b.n 11dd2 <lv_fs_open+0x9e>
|
|
11dde: bf00 nop
|
|
11de0: 00011cfd .word 0x00011cfd
|
|
11de4: 000123c5 .word 0x000123c5
|
|
11de8: 00002299 .word 0x00002299
|
|
11dec: 00029240 .word 0x00029240
|
|
11df0: 0002925c .word 0x0002925c
|
|
11df4: 00012245 .word 0x00012245
|
|
11df8: 00023fc0 .word 0x00023fc0
|
|
11dfc: 000022a1 .word 0x000022a1
|
|
11e00: 00011c41 .word 0x00011c41
|
|
11e04: 000124ad .word 0x000124ad
|
|
|
|
00011e08 <lv_fs_get_ext>:
|
|
{
|
|
11e08: b510 push {r4, lr}
|
|
11e0a: 4604 mov r4, r0
|
|
for(i = strlen(fn); i > 0; i--) {
|
|
11e0c: 4b12 ldr r3, [pc, #72] ; (11e58 <lv_fs_get_ext+0x50>)
|
|
11e0e: 4798 blx r3
|
|
11e10: b1c8 cbz r0, 11e46 <lv_fs_get_ext+0x3e>
|
|
11e12: 4602 mov r2, r0
|
|
if(fn[i] == '.') {
|
|
11e14: 1821 adds r1, r4, r0
|
|
11e16: 5c23 ldrb r3, [r4, r0]
|
|
11e18: 2b2e cmp r3, #46 ; 0x2e
|
|
11e1a: d00f beq.n 11e3c <lv_fs_get_ext+0x34>
|
|
else if(fn[i] == '/' || fn[i] == '\\') {
|
|
11e1c: 2b2f cmp r3, #47 ; 0x2f
|
|
11e1e: d014 beq.n 11e4a <lv_fs_get_ext+0x42>
|
|
11e20: 2b5c cmp r3, #92 ; 0x5c
|
|
11e22: d014 beq.n 11e4e <lv_fs_get_ext+0x46>
|
|
for(i = strlen(fn); i > 0; i--) {
|
|
11e24: 3a01 subs r2, #1
|
|
11e26: d00c beq.n 11e42 <lv_fs_get_ext+0x3a>
|
|
if(fn[i] == '.') {
|
|
11e28: f811 3d01 ldrb.w r3, [r1, #-1]!
|
|
11e2c: 2b2e cmp r3, #46 ; 0x2e
|
|
11e2e: d005 beq.n 11e3c <lv_fs_get_ext+0x34>
|
|
else if(fn[i] == '/' || fn[i] == '\\') {
|
|
11e30: 2b2f cmp r3, #47 ; 0x2f
|
|
11e32: d00e beq.n 11e52 <lv_fs_get_ext+0x4a>
|
|
11e34: 2b5c cmp r3, #92 ; 0x5c
|
|
11e36: d1f5 bne.n 11e24 <lv_fs_get_ext+0x1c>
|
|
return ""; /*No extension if a '\' or '/' found*/
|
|
11e38: 4808 ldr r0, [pc, #32] ; (11e5c <lv_fs_get_ext+0x54>)
|
|
}
|
|
11e3a: bd10 pop {r4, pc}
|
|
return &fn[i + 1];
|
|
11e3c: 3201 adds r2, #1
|
|
11e3e: 18a0 adds r0, r4, r2
|
|
11e40: bd10 pop {r4, pc}
|
|
return ""; /*Empty string if no '.' in the file name. */
|
|
11e42: 4806 ldr r0, [pc, #24] ; (11e5c <lv_fs_get_ext+0x54>)
|
|
11e44: bd10 pop {r4, pc}
|
|
11e46: 4805 ldr r0, [pc, #20] ; (11e5c <lv_fs_get_ext+0x54>)
|
|
11e48: bd10 pop {r4, pc}
|
|
return ""; /*No extension if a '\' or '/' found*/
|
|
11e4a: 4804 ldr r0, [pc, #16] ; (11e5c <lv_fs_get_ext+0x54>)
|
|
11e4c: bd10 pop {r4, pc}
|
|
11e4e: 4803 ldr r0, [pc, #12] ; (11e5c <lv_fs_get_ext+0x54>)
|
|
11e50: bd10 pop {r4, pc}
|
|
11e52: 4802 ldr r0, [pc, #8] ; (11e5c <lv_fs_get_ext+0x54>)
|
|
11e54: bd10 pop {r4, pc}
|
|
11e56: bf00 nop
|
|
11e58: 0001b507 .word 0x0001b507
|
|
11e5c: 00024eec .word 0x00024eec
|
|
|
|
00011e60 <node_set_next>:
|
|
* @param ll_p pointer to linked list
|
|
* @param act pointer to a node which next node pointer should be set
|
|
* @param next pointer to a node which should be the next node before 'act'
|
|
*/
|
|
static void node_set_next(lv_ll_t * ll_p, lv_ll_node_t * act, lv_ll_node_t * next)
|
|
{
|
|
11e60: b510 push {r4, lr}
|
|
11e62: b082 sub sp, #8
|
|
11e64: 9201 str r2, [sp, #4]
|
|
if(act == NULL) return; /*Can't set the next node of `NULL`*/
|
|
11e66: b181 cbz r1, 11e8a <node_set_next+0x2a>
|
|
11e68: 460c mov r4, r1
|
|
|
|
uint32_t node_p_size = sizeof(lv_ll_node_t *);
|
|
if(next)
|
|
11e6a: b182 cbz r2, 11e8e <node_set_next+0x2e>
|
|
_lv_memcpy_small(act + LL_NEXT_P_OFFSET(ll_p), &next, node_p_size);
|
|
11e6c: 6803 ldr r3, [r0, #0]
|
|
11e6e: 3304 adds r3, #4
|
|
11e70: 18ca adds r2, r1, r3
|
|
11e72: f89d 1004 ldrb.w r1, [sp, #4]
|
|
11e76: 54e1 strb r1, [r4, r3]
|
|
11e78: f89d 3005 ldrb.w r3, [sp, #5]
|
|
11e7c: 7053 strb r3, [r2, #1]
|
|
11e7e: f89d 3006 ldrb.w r3, [sp, #6]
|
|
11e82: 7093 strb r3, [r2, #2]
|
|
11e84: f89d 3007 ldrb.w r3, [sp, #7]
|
|
11e88: 70d3 strb r3, [r2, #3]
|
|
else
|
|
_lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size);
|
|
}
|
|
11e8a: b002 add sp, #8
|
|
11e8c: bd10 pop {r4, pc}
|
|
_lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size);
|
|
11e8e: 6800 ldr r0, [r0, #0]
|
|
11e90: 3004 adds r0, #4
|
|
11e92: 2104 movs r1, #4
|
|
11e94: 4420 add r0, r4
|
|
11e96: 4b01 ldr r3, [pc, #4] ; (11e9c <node_set_next+0x3c>)
|
|
11e98: 4798 blx r3
|
|
11e9a: e7f6 b.n 11e8a <node_set_next+0x2a>
|
|
11e9c: 00012b1f .word 0x00012b1f
|
|
|
|
00011ea0 <node_set_prev>:
|
|
{
|
|
11ea0: b500 push {lr}
|
|
11ea2: b083 sub sp, #12
|
|
11ea4: 9201 str r2, [sp, #4]
|
|
if(act == NULL) return; /*Can't set the prev node of `NULL`*/
|
|
11ea6: b181 cbz r1, 11eca <node_set_prev+0x2a>
|
|
11ea8: 460a mov r2, r1
|
|
if(prev)
|
|
11eaa: 9b01 ldr r3, [sp, #4]
|
|
11eac: b183 cbz r3, 11ed0 <node_set_prev+0x30>
|
|
_lv_memcpy_small(act + LL_PREV_P_OFFSET(ll_p), &prev, node_p_size);
|
|
11eae: 6801 ldr r1, [r0, #0]
|
|
11eb0: 1853 adds r3, r2, r1
|
|
11eb2: f89d 0004 ldrb.w r0, [sp, #4]
|
|
11eb6: 5450 strb r0, [r2, r1]
|
|
11eb8: f89d 2005 ldrb.w r2, [sp, #5]
|
|
11ebc: 705a strb r2, [r3, #1]
|
|
11ebe: f89d 2006 ldrb.w r2, [sp, #6]
|
|
11ec2: 709a strb r2, [r3, #2]
|
|
11ec4: f89d 2007 ldrb.w r2, [sp, #7]
|
|
11ec8: 70da strb r2, [r3, #3]
|
|
}
|
|
11eca: b003 add sp, #12
|
|
11ecc: f85d fb04 ldr.w pc, [sp], #4
|
|
_lv_memset_00(act + LL_PREV_P_OFFSET(ll_p), node_p_size);
|
|
11ed0: 6800 ldr r0, [r0, #0]
|
|
11ed2: 2104 movs r1, #4
|
|
11ed4: 4410 add r0, r2
|
|
11ed6: 4b01 ldr r3, [pc, #4] ; (11edc <node_set_prev+0x3c>)
|
|
11ed8: 4798 blx r3
|
|
11eda: e7f6 b.n 11eca <node_set_prev+0x2a>
|
|
11edc: 00012b1f .word 0x00012b1f
|
|
|
|
00011ee0 <_lv_ll_init>:
|
|
ll_p->head = NULL;
|
|
11ee0: 2300 movs r3, #0
|
|
11ee2: 6043 str r3, [r0, #4]
|
|
ll_p->tail = NULL;
|
|
11ee4: 6083 str r3, [r0, #8]
|
|
if(node_size & 0x3) {
|
|
11ee6: f011 0f03 tst.w r1, #3
|
|
node_size = node_size & (~0x3);
|
|
11eea: bf1c itt ne
|
|
11eec: f021 0103 bicne.w r1, r1, #3
|
|
node_size += 4;
|
|
11ef0: 3104 addne r1, #4
|
|
ll_p->n_size = node_size;
|
|
11ef2: 6001 str r1, [r0, #0]
|
|
11ef4: 4770 bx lr
|
|
...
|
|
|
|
00011ef8 <_lv_ll_ins_head>:
|
|
{
|
|
11ef8: b538 push {r3, r4, r5, lr}
|
|
11efa: 4604 mov r4, r0
|
|
n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE);
|
|
11efc: 6800 ldr r0, [r0, #0]
|
|
11efe: 3008 adds r0, #8
|
|
11f00: 4b0d ldr r3, [pc, #52] ; (11f38 <_lv_ll_ins_head+0x40>)
|
|
11f02: 4798 blx r3
|
|
if(n_new != NULL) {
|
|
11f04: 4605 mov r5, r0
|
|
11f06: b190 cbz r0, 11f2e <_lv_ll_ins_head+0x36>
|
|
node_set_prev(ll_p, n_new, NULL); /*No prev. before the new head*/
|
|
11f08: 2200 movs r2, #0
|
|
11f0a: 4601 mov r1, r0
|
|
11f0c: 4620 mov r0, r4
|
|
11f0e: 4b0b ldr r3, [pc, #44] ; (11f3c <_lv_ll_ins_head+0x44>)
|
|
11f10: 4798 blx r3
|
|
node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/
|
|
11f12: 6862 ldr r2, [r4, #4]
|
|
11f14: 4629 mov r1, r5
|
|
11f16: 4620 mov r0, r4
|
|
11f18: 4b09 ldr r3, [pc, #36] ; (11f40 <_lv_ll_ins_head+0x48>)
|
|
11f1a: 4798 blx r3
|
|
if(ll_p->head != NULL) { /*If there is old head then before it goes the new*/
|
|
11f1c: 6861 ldr r1, [r4, #4]
|
|
11f1e: b119 cbz r1, 11f28 <_lv_ll_ins_head+0x30>
|
|
node_set_prev(ll_p, ll_p->head, n_new);
|
|
11f20: 462a mov r2, r5
|
|
11f22: 4620 mov r0, r4
|
|
11f24: 4b05 ldr r3, [pc, #20] ; (11f3c <_lv_ll_ins_head+0x44>)
|
|
11f26: 4798 blx r3
|
|
ll_p->head = n_new; /*Set the new head in the dsc.*/
|
|
11f28: 6065 str r5, [r4, #4]
|
|
if(ll_p->tail == NULL) { /*If there is no tail (1. node) set the tail too*/
|
|
11f2a: 68a3 ldr r3, [r4, #8]
|
|
11f2c: b10b cbz r3, 11f32 <_lv_ll_ins_head+0x3a>
|
|
}
|
|
11f2e: 4628 mov r0, r5
|
|
11f30: bd38 pop {r3, r4, r5, pc}
|
|
ll_p->tail = n_new;
|
|
11f32: 60a5 str r5, [r4, #8]
|
|
11f34: e7fb b.n 11f2e <_lv_ll_ins_head+0x36>
|
|
11f36: bf00 nop
|
|
11f38: 000123c5 .word 0x000123c5
|
|
11f3c: 00011ea1 .word 0x00011ea1
|
|
11f40: 00011e61 .word 0x00011e61
|
|
|
|
00011f44 <_lv_ll_ins_tail>:
|
|
{
|
|
11f44: b538 push {r3, r4, r5, lr}
|
|
11f46: 4604 mov r4, r0
|
|
n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE);
|
|
11f48: 6800 ldr r0, [r0, #0]
|
|
11f4a: 3008 adds r0, #8
|
|
11f4c: 4b0d ldr r3, [pc, #52] ; (11f84 <_lv_ll_ins_tail+0x40>)
|
|
11f4e: 4798 blx r3
|
|
if(n_new != NULL) {
|
|
11f50: 4605 mov r5, r0
|
|
11f52: b190 cbz r0, 11f7a <_lv_ll_ins_tail+0x36>
|
|
node_set_next(ll_p, n_new, NULL); /*No next after the new tail*/
|
|
11f54: 2200 movs r2, #0
|
|
11f56: 4601 mov r1, r0
|
|
11f58: 4620 mov r0, r4
|
|
11f5a: 4b0b ldr r3, [pc, #44] ; (11f88 <_lv_ll_ins_tail+0x44>)
|
|
11f5c: 4798 blx r3
|
|
node_set_prev(ll_p, n_new, ll_p->tail); /*The prev. before new is tho old tail*/
|
|
11f5e: 68a2 ldr r2, [r4, #8]
|
|
11f60: 4629 mov r1, r5
|
|
11f62: 4620 mov r0, r4
|
|
11f64: 4b09 ldr r3, [pc, #36] ; (11f8c <_lv_ll_ins_tail+0x48>)
|
|
11f66: 4798 blx r3
|
|
if(ll_p->tail != NULL) { /*If there is old tail then the new comes after it*/
|
|
11f68: 68a1 ldr r1, [r4, #8]
|
|
11f6a: b119 cbz r1, 11f74 <_lv_ll_ins_tail+0x30>
|
|
node_set_next(ll_p, ll_p->tail, n_new);
|
|
11f6c: 462a mov r2, r5
|
|
11f6e: 4620 mov r0, r4
|
|
11f70: 4b05 ldr r3, [pc, #20] ; (11f88 <_lv_ll_ins_tail+0x44>)
|
|
11f72: 4798 blx r3
|
|
ll_p->tail = n_new; /*Set the new tail in the dsc.*/
|
|
11f74: 60a5 str r5, [r4, #8]
|
|
if(ll_p->head == NULL) { /*If there is no head (1. node) set the head too*/
|
|
11f76: 6863 ldr r3, [r4, #4]
|
|
11f78: b10b cbz r3, 11f7e <_lv_ll_ins_tail+0x3a>
|
|
}
|
|
11f7a: 4628 mov r0, r5
|
|
11f7c: bd38 pop {r3, r4, r5, pc}
|
|
ll_p->head = n_new;
|
|
11f7e: 6065 str r5, [r4, #4]
|
|
11f80: e7fb b.n 11f7a <_lv_ll_ins_tail+0x36>
|
|
11f82: bf00 nop
|
|
11f84: 000123c5 .word 0x000123c5
|
|
11f88: 00011e61 .word 0x00011e61
|
|
11f8c: 00011ea1 .word 0x00011ea1
|
|
|
|
00011f90 <_lv_ll_get_head>:
|
|
if(ll_p != NULL) {
|
|
11f90: b108 cbz r0, 11f96 <_lv_ll_get_head+0x6>
|
|
head = ll_p->head;
|
|
11f92: 6840 ldr r0, [r0, #4]
|
|
11f94: 4770 bx lr
|
|
void * head = NULL;
|
|
11f96: 2000 movs r0, #0
|
|
}
|
|
11f98: 4770 bx lr
|
|
|
|
00011f9a <_lv_ll_get_tail>:
|
|
if(ll_p != NULL) {
|
|
11f9a: b108 cbz r0, 11fa0 <_lv_ll_get_tail+0x6>
|
|
tail = ll_p->tail;
|
|
11f9c: 6880 ldr r0, [r0, #8]
|
|
11f9e: 4770 bx lr
|
|
void * tail = NULL;
|
|
11fa0: 2000 movs r0, #0
|
|
}
|
|
11fa2: 4770 bx lr
|
|
|
|
00011fa4 <_lv_ll_get_next>:
|
|
{
|
|
11fa4: b082 sub sp, #8
|
|
void * next = NULL;
|
|
11fa6: 2300 movs r3, #0
|
|
11fa8: 9301 str r3, [sp, #4]
|
|
if(ll_p != NULL) {
|
|
11faa: b170 cbz r0, 11fca <_lv_ll_get_next+0x26>
|
|
_lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *));
|
|
11fac: 6803 ldr r3, [r0, #0]
|
|
11fae: 3304 adds r3, #4
|
|
11fb0: 18ca adds r2, r1, r3
|
|
11fb2: 5ccb ldrb r3, [r1, r3]
|
|
11fb4: f88d 3004 strb.w r3, [sp, #4]
|
|
11fb8: 7853 ldrb r3, [r2, #1]
|
|
11fba: f88d 3005 strb.w r3, [sp, #5]
|
|
11fbe: 7893 ldrb r3, [r2, #2]
|
|
11fc0: f88d 3006 strb.w r3, [sp, #6]
|
|
11fc4: 78d3 ldrb r3, [r2, #3]
|
|
11fc6: f88d 3007 strb.w r3, [sp, #7]
|
|
}
|
|
11fca: 9801 ldr r0, [sp, #4]
|
|
11fcc: b002 add sp, #8
|
|
11fce: 4770 bx lr
|
|
|
|
00011fd0 <_lv_ll_get_prev>:
|
|
{
|
|
11fd0: b082 sub sp, #8
|
|
void * prev = NULL;
|
|
11fd2: 2300 movs r3, #0
|
|
11fd4: 9301 str r3, [sp, #4]
|
|
if(ll_p != NULL) {
|
|
11fd6: b168 cbz r0, 11ff4 <_lv_ll_get_prev+0x24>
|
|
_lv_memcpy_small(&prev, n_act_d + LL_PREV_P_OFFSET(ll_p), sizeof(void *));
|
|
11fd8: 6802 ldr r2, [r0, #0]
|
|
11fda: 188b adds r3, r1, r2
|
|
11fdc: 5c8a ldrb r2, [r1, r2]
|
|
11fde: f88d 2004 strb.w r2, [sp, #4]
|
|
11fe2: 785a ldrb r2, [r3, #1]
|
|
11fe4: f88d 2005 strb.w r2, [sp, #5]
|
|
11fe8: 789a ldrb r2, [r3, #2]
|
|
11fea: f88d 2006 strb.w r2, [sp, #6]
|
|
11fee: 78db ldrb r3, [r3, #3]
|
|
11ff0: f88d 3007 strb.w r3, [sp, #7]
|
|
}
|
|
11ff4: 9801 ldr r0, [sp, #4]
|
|
11ff6: b002 add sp, #8
|
|
11ff8: 4770 bx lr
|
|
...
|
|
|
|
00011ffc <_lv_ll_ins_prev>:
|
|
if(NULL == ll_p || NULL == n_act) return NULL;
|
|
11ffc: b360 cbz r0, 12058 <_lv_ll_ins_prev+0x5c>
|
|
{
|
|
11ffe: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
12002: 4604 mov r4, r0
|
|
if(NULL == ll_p || NULL == n_act) return NULL;
|
|
12004: b351 cbz r1, 1205c <_lv_ll_ins_prev+0x60>
|
|
12006: 460d mov r5, r1
|
|
if(_lv_ll_get_head(ll_p) == n_act) {
|
|
12008: 6843 ldr r3, [r0, #4]
|
|
1200a: 4299 cmp r1, r3
|
|
1200c: d020 beq.n 12050 <_lv_ll_ins_prev+0x54>
|
|
n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE);
|
|
1200e: 6800 ldr r0, [r0, #0]
|
|
12010: 3008 adds r0, #8
|
|
12012: 4b15 ldr r3, [pc, #84] ; (12068 <_lv_ll_ins_prev+0x6c>)
|
|
12014: 4798 blx r3
|
|
if(n_new == NULL) return NULL;
|
|
12016: 4606 mov r6, r0
|
|
12018: b318 cbz r0, 12062 <_lv_ll_ins_prev+0x66>
|
|
n_prev = _lv_ll_get_prev(ll_p, n_act);
|
|
1201a: 4629 mov r1, r5
|
|
1201c: 4620 mov r0, r4
|
|
1201e: 4b13 ldr r3, [pc, #76] ; (1206c <_lv_ll_ins_prev+0x70>)
|
|
12020: 4798 blx r3
|
|
12022: 4680 mov r8, r0
|
|
node_set_next(ll_p, n_prev, n_new);
|
|
12024: 4632 mov r2, r6
|
|
12026: 4601 mov r1, r0
|
|
12028: 4620 mov r0, r4
|
|
1202a: 4f11 ldr r7, [pc, #68] ; (12070 <_lv_ll_ins_prev+0x74>)
|
|
1202c: 47b8 blx r7
|
|
node_set_prev(ll_p, n_new, n_prev);
|
|
1202e: 4642 mov r2, r8
|
|
12030: 4631 mov r1, r6
|
|
12032: 4620 mov r0, r4
|
|
12034: f8df 8040 ldr.w r8, [pc, #64] ; 12078 <_lv_ll_ins_prev+0x7c>
|
|
12038: 47c0 blx r8
|
|
node_set_prev(ll_p, n_act, n_new);
|
|
1203a: 4632 mov r2, r6
|
|
1203c: 4629 mov r1, r5
|
|
1203e: 4620 mov r0, r4
|
|
12040: 47c0 blx r8
|
|
node_set_next(ll_p, n_new, n_act);
|
|
12042: 462a mov r2, r5
|
|
12044: 4631 mov r1, r6
|
|
12046: 4620 mov r0, r4
|
|
12048: 47b8 blx r7
|
|
n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE);
|
|
1204a: 4630 mov r0, r6
|
|
1204c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
n_new = _lv_ll_ins_head(ll_p);
|
|
12050: 4b08 ldr r3, [pc, #32] ; (12074 <_lv_ll_ins_prev+0x78>)
|
|
12052: 4798 blx r3
|
|
12054: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
if(NULL == ll_p || NULL == n_act) return NULL;
|
|
12058: 2000 movs r0, #0
|
|
1205a: 4770 bx lr
|
|
1205c: 4608 mov r0, r1
|
|
1205e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
}
|
|
12062: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
12066: bf00 nop
|
|
12068: 000123c5 .word 0x000123c5
|
|
1206c: 00011fd1 .word 0x00011fd1
|
|
12070: 00011e61 .word 0x00011e61
|
|
12074: 00011ef9 .word 0x00011ef9
|
|
12078: 00011ea1 .word 0x00011ea1
|
|
|
|
0001207c <_lv_ll_remove>:
|
|
{
|
|
1207c: b570 push {r4, r5, r6, lr}
|
|
1207e: 460d mov r5, r1
|
|
if(ll_p != NULL) {
|
|
12080: 4604 mov r4, r0
|
|
12082: b350 cbz r0, 120da <_lv_ll_remove+0x5e>
|
|
if(_lv_ll_get_head(ll_p) == node_p) {
|
|
12084: 6843 ldr r3, [r0, #4]
|
|
12086: 4299 cmp r1, r3
|
|
12088: d029 beq.n 120de <_lv_ll_remove+0x62>
|
|
else if(_lv_ll_get_tail(ll_p) == node_p) {
|
|
1208a: 6883 ldr r3, [r0, #8]
|
|
1208c: 4299 cmp r1, r3
|
|
1208e: d017 beq.n 120c0 <_lv_ll_remove+0x44>
|
|
lv_ll_node_t * n_prev = _lv_ll_get_prev(ll_p, node_p);
|
|
12090: 4629 mov r1, r5
|
|
12092: 4620 mov r0, r4
|
|
12094: 4b18 ldr r3, [pc, #96] ; (120f8 <_lv_ll_remove+0x7c>)
|
|
12096: 4798 blx r3
|
|
12098: 4606 mov r6, r0
|
|
lv_ll_node_t * n_next = _lv_ll_get_next(ll_p, node_p);
|
|
1209a: 4629 mov r1, r5
|
|
1209c: 4620 mov r0, r4
|
|
1209e: 4b17 ldr r3, [pc, #92] ; (120fc <_lv_ll_remove+0x80>)
|
|
120a0: 4798 blx r3
|
|
120a2: 4605 mov r5, r0
|
|
node_set_next(ll_p, n_prev, n_next);
|
|
120a4: 4602 mov r2, r0
|
|
120a6: 4631 mov r1, r6
|
|
120a8: 4620 mov r0, r4
|
|
120aa: 4b15 ldr r3, [pc, #84] ; (12100 <_lv_ll_remove+0x84>)
|
|
120ac: 4798 blx r3
|
|
node_set_prev(ll_p, n_next, n_prev);
|
|
120ae: 4632 mov r2, r6
|
|
120b0: 4629 mov r1, r5
|
|
120b2: 4620 mov r0, r4
|
|
120b4: 4b13 ldr r3, [pc, #76] ; (12104 <_lv_ll_remove+0x88>)
|
|
120b6: 4798 blx r3
|
|
}
|
|
120b8: bd70 pop {r4, r5, r6, pc}
|
|
ll_p->tail = NULL;
|
|
120ba: 2300 movs r3, #0
|
|
120bc: 60a3 str r3, [r4, #8]
|
|
120be: bd70 pop {r4, r5, r6, pc}
|
|
ll_p->tail = _lv_ll_get_prev(ll_p, node_p);
|
|
120c0: 4b0d ldr r3, [pc, #52] ; (120f8 <_lv_ll_remove+0x7c>)
|
|
120c2: 4798 blx r3
|
|
120c4: 60a0 str r0, [r4, #8]
|
|
if(ll_p->tail == NULL) {
|
|
120c6: b128 cbz r0, 120d4 <_lv_ll_remove+0x58>
|
|
node_set_next(ll_p, ll_p->tail, NULL);
|
|
120c8: 2200 movs r2, #0
|
|
120ca: 4601 mov r1, r0
|
|
120cc: 4620 mov r0, r4
|
|
120ce: 4b0c ldr r3, [pc, #48] ; (12100 <_lv_ll_remove+0x84>)
|
|
120d0: 4798 blx r3
|
|
120d2: bd70 pop {r4, r5, r6, pc}
|
|
ll_p->head = NULL;
|
|
120d4: 2300 movs r3, #0
|
|
120d6: 6063 str r3, [r4, #4]
|
|
120d8: bd70 pop {r4, r5, r6, pc}
|
|
if(_lv_ll_get_head(ll_p) == node_p) {
|
|
120da: 2900 cmp r1, #0
|
|
120dc: d1d8 bne.n 12090 <_lv_ll_remove+0x14>
|
|
ll_p->head = _lv_ll_get_next(ll_p, node_p);
|
|
120de: 4629 mov r1, r5
|
|
120e0: 4620 mov r0, r4
|
|
120e2: 4b06 ldr r3, [pc, #24] ; (120fc <_lv_ll_remove+0x80>)
|
|
120e4: 4798 blx r3
|
|
120e6: 6060 str r0, [r4, #4]
|
|
if(ll_p->head == NULL) {
|
|
120e8: 2800 cmp r0, #0
|
|
120ea: d0e6 beq.n 120ba <_lv_ll_remove+0x3e>
|
|
node_set_prev(ll_p, ll_p->head, NULL);
|
|
120ec: 2200 movs r2, #0
|
|
120ee: 4601 mov r1, r0
|
|
120f0: 4620 mov r0, r4
|
|
120f2: 4b04 ldr r3, [pc, #16] ; (12104 <_lv_ll_remove+0x88>)
|
|
120f4: 4798 blx r3
|
|
120f6: bd70 pop {r4, r5, r6, pc}
|
|
120f8: 00011fd1 .word 0x00011fd1
|
|
120fc: 00011fa5 .word 0x00011fa5
|
|
12100: 00011e61 .word 0x00011e61
|
|
12104: 00011ea1 .word 0x00011ea1
|
|
|
|
00012108 <_lv_ll_chg_list>:
|
|
{
|
|
12108: b570 push {r4, r5, r6, lr}
|
|
1210a: 460c mov r4, r1
|
|
1210c: 4615 mov r5, r2
|
|
1210e: 461e mov r6, r3
|
|
_lv_ll_remove(ll_ori_p, node);
|
|
12110: 4611 mov r1, r2
|
|
12112: 4b17 ldr r3, [pc, #92] ; (12170 <_lv_ll_chg_list+0x68>)
|
|
12114: 4798 blx r3
|
|
if(head) {
|
|
12116: b1ae cbz r6, 12144 <_lv_ll_chg_list+0x3c>
|
|
node_set_prev(ll_new_p, node, NULL);
|
|
12118: 2200 movs r2, #0
|
|
1211a: 4629 mov r1, r5
|
|
1211c: 4620 mov r0, r4
|
|
1211e: 4b15 ldr r3, [pc, #84] ; (12174 <_lv_ll_chg_list+0x6c>)
|
|
12120: 4798 blx r3
|
|
node_set_next(ll_new_p, node, ll_new_p->head);
|
|
12122: 6862 ldr r2, [r4, #4]
|
|
12124: 4629 mov r1, r5
|
|
12126: 4620 mov r0, r4
|
|
12128: 4b13 ldr r3, [pc, #76] ; (12178 <_lv_ll_chg_list+0x70>)
|
|
1212a: 4798 blx r3
|
|
if(ll_new_p->head != NULL) { /*If there is old head then before it goes the new*/
|
|
1212c: 6861 ldr r1, [r4, #4]
|
|
1212e: b119 cbz r1, 12138 <_lv_ll_chg_list+0x30>
|
|
node_set_prev(ll_new_p, ll_new_p->head, node);
|
|
12130: 462a mov r2, r5
|
|
12132: 4620 mov r0, r4
|
|
12134: 4b0f ldr r3, [pc, #60] ; (12174 <_lv_ll_chg_list+0x6c>)
|
|
12136: 4798 blx r3
|
|
ll_new_p->head = node; /*Set the new head in the dsc.*/
|
|
12138: 6065 str r5, [r4, #4]
|
|
if(ll_new_p->tail == NULL) { /*If there is no tail (first node) set the tail too*/
|
|
1213a: 68a3 ldr r3, [r4, #8]
|
|
1213c: b103 cbz r3, 12140 <_lv_ll_chg_list+0x38>
|
|
1213e: bd70 pop {r4, r5, r6, pc}
|
|
ll_new_p->tail = node;
|
|
12140: 60a5 str r5, [r4, #8]
|
|
12142: bd70 pop {r4, r5, r6, pc}
|
|
node_set_prev(ll_new_p, node, ll_new_p->tail);
|
|
12144: 68a2 ldr r2, [r4, #8]
|
|
12146: 4629 mov r1, r5
|
|
12148: 4620 mov r0, r4
|
|
1214a: 4b0a ldr r3, [pc, #40] ; (12174 <_lv_ll_chg_list+0x6c>)
|
|
1214c: 4798 blx r3
|
|
node_set_next(ll_new_p, node, NULL);
|
|
1214e: 2200 movs r2, #0
|
|
12150: 4629 mov r1, r5
|
|
12152: 4620 mov r0, r4
|
|
12154: 4b08 ldr r3, [pc, #32] ; (12178 <_lv_ll_chg_list+0x70>)
|
|
12156: 4798 blx r3
|
|
if(ll_new_p->tail != NULL) { /*If there is old tail then after it goes the new*/
|
|
12158: 68a1 ldr r1, [r4, #8]
|
|
1215a: b119 cbz r1, 12164 <_lv_ll_chg_list+0x5c>
|
|
node_set_next(ll_new_p, ll_new_p->tail, node);
|
|
1215c: 462a mov r2, r5
|
|
1215e: 4620 mov r0, r4
|
|
12160: 4b05 ldr r3, [pc, #20] ; (12178 <_lv_ll_chg_list+0x70>)
|
|
12162: 4798 blx r3
|
|
ll_new_p->tail = node; /*Set the new tail in the dsc.*/
|
|
12164: 60a5 str r5, [r4, #8]
|
|
if(ll_new_p->head == NULL) { /*If there is no head (first node) set the head too*/
|
|
12166: 6863 ldr r3, [r4, #4]
|
|
12168: 2b00 cmp r3, #0
|
|
1216a: d1e8 bne.n 1213e <_lv_ll_chg_list+0x36>
|
|
ll_new_p->head = node;
|
|
1216c: 6065 str r5, [r4, #4]
|
|
}
|
|
1216e: e7e6 b.n 1213e <_lv_ll_chg_list+0x36>
|
|
12170: 0001207d .word 0x0001207d
|
|
12174: 00011ea1 .word 0x00011ea1
|
|
12178: 00011e61 .word 0x00011e61
|
|
|
|
0001217c <_lv_ll_move_before>:
|
|
if(n_act == n_after) return; /*Can't move before itself*/
|
|
1217c: 4291 cmp r1, r2
|
|
1217e: d04c beq.n 1221a <_lv_ll_move_before+0x9e>
|
|
{
|
|
12180: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
12184: 4617 mov r7, r2
|
|
12186: 460c mov r4, r1
|
|
12188: 4605 mov r5, r0
|
|
if(n_after != NULL)
|
|
1218a: b312 cbz r2, 121d2 <_lv_ll_move_before+0x56>
|
|
n_before = _lv_ll_get_prev(ll_p, n_after);
|
|
1218c: 4611 mov r1, r2
|
|
1218e: 4b23 ldr r3, [pc, #140] ; (1221c <_lv_ll_move_before+0xa0>)
|
|
12190: 4798 blx r3
|
|
12192: 4606 mov r6, r0
|
|
if(n_act == n_before) return; /*Already before `n_after`*/
|
|
12194: 4284 cmp r4, r0
|
|
12196: d01a beq.n 121ce <_lv_ll_move_before+0x52>
|
|
_lv_ll_remove(ll_p, n_act);
|
|
12198: 4621 mov r1, r4
|
|
1219a: 4628 mov r0, r5
|
|
1219c: 4b20 ldr r3, [pc, #128] ; (12220 <_lv_ll_move_before+0xa4>)
|
|
1219e: 4798 blx r3
|
|
node_set_next(ll_p, n_before, n_act);
|
|
121a0: 4622 mov r2, r4
|
|
121a2: 4631 mov r1, r6
|
|
121a4: 4628 mov r0, r5
|
|
121a6: f8df 807c ldr.w r8, [pc, #124] ; 12224 <_lv_ll_move_before+0xa8>
|
|
121aa: 47c0 blx r8
|
|
node_set_prev(ll_p, n_act, n_before);
|
|
121ac: 4632 mov r2, r6
|
|
121ae: 4621 mov r1, r4
|
|
121b0: 4628 mov r0, r5
|
|
121b2: f8df 9074 ldr.w r9, [pc, #116] ; 12228 <_lv_ll_move_before+0xac>
|
|
121b6: 47c8 blx r9
|
|
node_set_prev(ll_p, n_after, n_act);
|
|
121b8: 4622 mov r2, r4
|
|
121ba: 4639 mov r1, r7
|
|
121bc: 4628 mov r0, r5
|
|
121be: 47c8 blx r9
|
|
node_set_next(ll_p, n_act, n_after);
|
|
121c0: 463a mov r2, r7
|
|
121c2: 4621 mov r1, r4
|
|
121c4: 4628 mov r0, r5
|
|
121c6: 47c0 blx r8
|
|
if(n_before == NULL) ll_p->head = n_act;
|
|
121c8: b306 cbz r6, 1220c <_lv_ll_move_before+0x90>
|
|
121ca: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
121ce: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
if(ll_p != NULL) {
|
|
121d2: b1f0 cbz r0, 12212 <_lv_ll_move_before+0x96>
|
|
tail = ll_p->tail;
|
|
121d4: 6886 ldr r6, [r0, #8]
|
|
if(n_act == n_before) return; /*Already before `n_after`*/
|
|
121d6: 42b4 cmp r4, r6
|
|
121d8: d01d beq.n 12216 <_lv_ll_move_before+0x9a>
|
|
_lv_ll_remove(ll_p, n_act);
|
|
121da: 4621 mov r1, r4
|
|
121dc: 4628 mov r0, r5
|
|
121de: 4b10 ldr r3, [pc, #64] ; (12220 <_lv_ll_move_before+0xa4>)
|
|
121e0: 4798 blx r3
|
|
node_set_next(ll_p, n_before, n_act);
|
|
121e2: 4622 mov r2, r4
|
|
121e4: 4631 mov r1, r6
|
|
121e6: 4628 mov r0, r5
|
|
121e8: 4f0e ldr r7, [pc, #56] ; (12224 <_lv_ll_move_before+0xa8>)
|
|
121ea: 47b8 blx r7
|
|
node_set_prev(ll_p, n_act, n_before);
|
|
121ec: 4632 mov r2, r6
|
|
121ee: 4621 mov r1, r4
|
|
121f0: 4628 mov r0, r5
|
|
121f2: f8df 8034 ldr.w r8, [pc, #52] ; 12228 <_lv_ll_move_before+0xac>
|
|
121f6: 47c0 blx r8
|
|
node_set_prev(ll_p, n_after, n_act);
|
|
121f8: 4622 mov r2, r4
|
|
121fa: 2100 movs r1, #0
|
|
121fc: 4628 mov r0, r5
|
|
121fe: 47c0 blx r8
|
|
node_set_next(ll_p, n_act, n_after);
|
|
12200: 2200 movs r2, #0
|
|
12202: 4621 mov r1, r4
|
|
12204: 4628 mov r0, r5
|
|
12206: 47b8 blx r7
|
|
if(n_after == NULL) ll_p->tail = n_act;
|
|
12208: 60ac str r4, [r5, #8]
|
|
1220a: e7dd b.n 121c8 <_lv_ll_move_before+0x4c>
|
|
if(n_before == NULL) ll_p->head = n_act;
|
|
1220c: 606c str r4, [r5, #4]
|
|
1220e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
void * tail = NULL;
|
|
12212: 4616 mov r6, r2
|
|
12214: e7df b.n 121d6 <_lv_ll_move_before+0x5a>
|
|
12216: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
1221a: 4770 bx lr
|
|
1221c: 00011fd1 .word 0x00011fd1
|
|
12220: 0001207d .word 0x0001207d
|
|
12224: 00011e61 .word 0x00011e61
|
|
12228: 00011ea1 .word 0x00011ea1
|
|
|
|
0001222c <_lv_ll_is_empty>:
|
|
if(ll_p == NULL) return true;
|
|
1222c: b140 cbz r0, 12240 <_lv_ll_is_empty+0x14>
|
|
if(ll_p->head == NULL && ll_p->tail == NULL) return true;
|
|
1222e: 6842 ldr r2, [r0, #4]
|
|
12230: b10a cbz r2, 12236 <_lv_ll_is_empty+0xa>
|
|
return false;
|
|
12232: 2000 movs r0, #0
|
|
}
|
|
12234: 4770 bx lr
|
|
if(ll_p->head == NULL && ll_p->tail == NULL) return true;
|
|
12236: 6880 ldr r0, [r0, #8]
|
|
12238: fab0 f080 clz r0, r0
|
|
1223c: 0940 lsrs r0, r0, #5
|
|
1223e: 4770 bx lr
|
|
if(ll_p == NULL) return true;
|
|
12240: 2001 movs r0, #1
|
|
12242: 4770 bx lr
|
|
|
|
00012244 <_lv_log_add>:
|
|
* @param func name of the function when the log added
|
|
* @param format printf-like format string
|
|
* @param ... parameters for `format`
|
|
*/
|
|
void _lv_log_add(lv_log_level_t level, const char * file, int line, const char * func, const char * format, ...)
|
|
{
|
|
12244: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
12248: b0c4 sub sp, #272 ; 0x110
|
|
if(level >= _LV_LOG_LEVEL_NUM) return; /*Invalid level*/
|
|
|
|
if(level >= LV_LOG_LEVEL) {
|
|
1224a: 1e44 subs r4, r0, #1
|
|
1224c: b2e4 uxtb r4, r4
|
|
1224e: 2c04 cmp r4, #4
|
|
12250: d815 bhi.n 1227e <_lv_log_add+0x3a>
|
|
12252: 461f mov r7, r3
|
|
12254: 4616 mov r6, r2
|
|
12256: 460d mov r5, r1
|
|
12258: 4680 mov r8, r0
|
|
va_list args;
|
|
va_start(args, format);
|
|
1225a: ab4b add r3, sp, #300 ; 0x12c
|
|
1225c: 9303 str r3, [sp, #12]
|
|
char buf[256];
|
|
lv_vsnprintf(buf, sizeof(buf), format, args);
|
|
1225e: 9a4a ldr r2, [sp, #296] ; 0x128
|
|
12260: f44f 7180 mov.w r1, #256 ; 0x100
|
|
12264: a804 add r0, sp, #16
|
|
12266: 4c07 ldr r4, [pc, #28] ; (12284 <_lv_log_add+0x40>)
|
|
12268: 47a0 blx r4
|
|
}
|
|
|
|
static const char * lvl_prefix[] = {"Trace", "Info", "Warn", "Error", "User"};
|
|
printf("%s: %s \t(%s #%d %s())\n", lvl_prefix[level], buf, &file[p], line, func);
|
|
#else
|
|
if(custom_print_cb) custom_print_cb(level, file, line, func, buf);
|
|
1226a: 4b07 ldr r3, [pc, #28] ; (12288 <_lv_log_add+0x44>)
|
|
1226c: 681c ldr r4, [r3, #0]
|
|
1226e: b134 cbz r4, 1227e <_lv_log_add+0x3a>
|
|
12270: ab04 add r3, sp, #16
|
|
12272: 9300 str r3, [sp, #0]
|
|
12274: 463b mov r3, r7
|
|
12276: 4632 mov r2, r6
|
|
12278: 4629 mov r1, r5
|
|
1227a: 4640 mov r0, r8
|
|
1227c: 47a0 blx r4
|
|
#endif
|
|
}
|
|
}
|
|
1227e: b044 add sp, #272 ; 0x110
|
|
12280: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
12284: 000135b5 .word 0x000135b5
|
|
12288: 20002b88 .word 0x20002b88
|
|
|
|
0001228c <_lv_trigo_sin>:
|
|
* @return sinus of 'angle'. sin(-90) = -32767, sin(90) = 32767
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM int16_t _lv_trigo_sin(int16_t angle)
|
|
{
|
|
int16_t ret = 0;
|
|
angle = angle % 360;
|
|
1228c: 4b1b ldr r3, [pc, #108] ; (122fc <_lv_trigo_sin+0x70>)
|
|
1228e: fb83 2300 smull r2, r3, r3, r0
|
|
12292: 181a adds r2, r3, r0
|
|
12294: 17c3 asrs r3, r0, #31
|
|
12296: ebc3 2322 rsb r3, r3, r2, asr #8
|
|
1229a: f44f 72b4 mov.w r2, #360 ; 0x168
|
|
1229e: fb02 0013 mls r0, r2, r3, r0
|
|
122a2: b200 sxth r0, r0
|
|
|
|
if(angle < 0) angle = 360 + angle;
|
|
122a4: 2800 cmp r0, #0
|
|
122a6: bfbc itt lt
|
|
122a8: 1880 addlt r0, r0, r2
|
|
122aa: b200 sxthlt r0, r0
|
|
|
|
if(angle < 90) {
|
|
122ac: 2859 cmp r0, #89 ; 0x59
|
|
122ae: dd13 ble.n 122d8 <_lv_trigo_sin+0x4c>
|
|
ret = sin0_90_table[angle];
|
|
}
|
|
else if(angle >= 90 && angle < 180) {
|
|
122b0: b280 uxth r0, r0
|
|
122b2: f1a0 035a sub.w r3, r0, #90 ; 0x5a
|
|
122b6: b29b uxth r3, r3
|
|
122b8: 2b59 cmp r3, #89 ; 0x59
|
|
122ba: d911 bls.n 122e0 <_lv_trigo_sin+0x54>
|
|
angle = 180 - angle;
|
|
ret = sin0_90_table[angle];
|
|
}
|
|
else if(angle >= 180 && angle < 270) {
|
|
122bc: f1a0 03b4 sub.w r3, r0, #180 ; 0xb4
|
|
122c0: b29b uxth r3, r3
|
|
122c2: 2b59 cmp r3, #89 ; 0x59
|
|
122c4: d913 bls.n 122ee <_lv_trigo_sin+0x62>
|
|
angle = angle - 180;
|
|
ret = -sin0_90_table[angle];
|
|
}
|
|
else { /*angle >=270*/
|
|
angle = 360 - angle;
|
|
122c6: f5c0 70b4 rsb r0, r0, #360 ; 0x168
|
|
ret = -sin0_90_table[angle];
|
|
122ca: b200 sxth r0, r0
|
|
122cc: 4b0c ldr r3, [pc, #48] ; (12300 <_lv_trigo_sin+0x74>)
|
|
122ce: f833 0010 ldrh.w r0, [r3, r0, lsl #1]
|
|
122d2: 4240 negs r0, r0
|
|
122d4: b200 sxth r0, r0
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
122d6: 4770 bx lr
|
|
ret = sin0_90_table[angle];
|
|
122d8: 4b09 ldr r3, [pc, #36] ; (12300 <_lv_trigo_sin+0x74>)
|
|
122da: f933 0010 ldrsh.w r0, [r3, r0, lsl #1]
|
|
122de: 4770 bx lr
|
|
angle = 180 - angle;
|
|
122e0: f1c0 00b4 rsb r0, r0, #180 ; 0xb4
|
|
ret = sin0_90_table[angle];
|
|
122e4: b200 sxth r0, r0
|
|
122e6: 4b06 ldr r3, [pc, #24] ; (12300 <_lv_trigo_sin+0x74>)
|
|
122e8: f933 0010 ldrsh.w r0, [r3, r0, lsl #1]
|
|
122ec: 4770 bx lr
|
|
ret = -sin0_90_table[angle];
|
|
122ee: b21b sxth r3, r3
|
|
122f0: 4a03 ldr r2, [pc, #12] ; (12300 <_lv_trigo_sin+0x74>)
|
|
122f2: f832 0013 ldrh.w r0, [r2, r3, lsl #1]
|
|
122f6: 4240 negs r0, r0
|
|
122f8: b200 sxth r0, r0
|
|
122fa: 4770 bx lr
|
|
122fc: b60b60b7 .word 0xb60b60b7
|
|
12300: 00029284 .word 0x00029284
|
|
|
|
00012304 <_lv_sqrt>:
|
|
* If root < 16: mask = 0x80
|
|
* If root < 256: mask = 0x800
|
|
* Else: mask = 0x8000
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM void _lv_sqrt(uint32_t x, lv_sqrt_res_t * q, uint32_t mask)
|
|
{
|
|
12304: b430 push {r4, r5}
|
|
x = x << 8; /*To get 4 bit precision. (sqrt(256) = 16 = 4 bit)*/
|
|
12306: 0200 lsls r0, r0, #8
|
|
|
|
uint32_t root = 0;
|
|
12308: 2400 movs r4, #0
|
|
uint32_t trial;
|
|
// http://ww1.microchip.com/...en/AppNotes/91040a.pdf
|
|
do {
|
|
trial = root + mask;
|
|
1230a: 1913 adds r3, r2, r4
|
|
if((uint32_t)trial * trial <= x) root = trial;
|
|
1230c: fb03 f503 mul.w r5, r3, r3
|
|
12310: 42a8 cmp r0, r5
|
|
12312: bf28 it cs
|
|
12314: 461c movcs r4, r3
|
|
mask = mask >> 1;
|
|
} while(mask);
|
|
12316: 0852 lsrs r2, r2, #1
|
|
12318: d1f7 bne.n 1230a <_lv_sqrt+0x6>
|
|
|
|
q->i = (uint32_t) root >> 4;
|
|
1231a: 0923 lsrs r3, r4, #4
|
|
1231c: 800b strh r3, [r1, #0]
|
|
q->f = (uint32_t)(root & 0xf) << 4;
|
|
1231e: 0124 lsls r4, r4, #4
|
|
12320: b2e4 uxtb r4, r4
|
|
12322: 804c strh r4, [r1, #2]
|
|
}
|
|
12324: bc30 pop {r4, r5}
|
|
12326: 4770 bx lr
|
|
|
|
00012328 <ent_get_next>:
|
|
*/
|
|
static lv_mem_ent_t * ent_get_next(lv_mem_ent_t * act_e)
|
|
{
|
|
lv_mem_ent_t * next_e = NULL;
|
|
|
|
if(act_e == NULL) { /*NULL means: get the first entry*/
|
|
12328: 4603 mov r3, r0
|
|
1232a: b160 cbz r0, 12346 <ent_get_next+0x1e>
|
|
next_e = (lv_mem_ent_t *)work_mem;
|
|
}
|
|
else { /*Get the next entry */
|
|
uint8_t * data = &act_e->first_data;
|
|
1232c: 3004 adds r0, #4
|
|
next_e = (lv_mem_ent_t *)&data[act_e->header.s.d_size];
|
|
1232e: 681b ldr r3, [r3, #0]
|
|
12330: eb00 0053 add.w r0, r0, r3, lsr #1
|
|
|
|
if(&next_e->first_data >= &work_mem[LV_MEM_SIZE]) next_e = NULL;
|
|
12334: 1d02 adds r2, r0, #4
|
|
12336: 4b05 ldr r3, [pc, #20] ; (1234c <ent_get_next+0x24>)
|
|
12338: 681b ldr r3, [r3, #0]
|
|
1233a: f503 4380 add.w r3, r3, #16384 ; 0x4000
|
|
1233e: 429a cmp r2, r3
|
|
12340: bf28 it cs
|
|
12342: 2000 movcs r0, #0
|
|
}
|
|
|
|
return next_e;
|
|
}
|
|
12344: 4770 bx lr
|
|
next_e = (lv_mem_ent_t *)work_mem;
|
|
12346: 4b01 ldr r3, [pc, #4] ; (1234c <ent_get_next+0x24>)
|
|
12348: 6818 ldr r0, [r3, #0]
|
|
1234a: 4770 bx lr
|
|
1234c: 20002b8c .word 0x20002b8c
|
|
|
|
00012350 <ent_trunc>:
|
|
size = size & (~0x7);
|
|
size += 8;
|
|
}
|
|
#else
|
|
/*Round the size up to 4*/
|
|
if(size & 0x3) {
|
|
12350: f011 0f03 tst.w r1, #3
|
|
size = size & (~0x3);
|
|
12354: bf1c itt ne
|
|
12356: f021 0103 bicne.w r1, r1, #3
|
|
size += 4;
|
|
1235a: 3104 addne r1, #4
|
|
}
|
|
#endif
|
|
|
|
/*Don't let empty space only for a header without data*/
|
|
if(e->header.s.d_size == size + sizeof(lv_mem_header_t)) {
|
|
1235c: 6803 ldr r3, [r0, #0]
|
|
1235e: f3c3 035e ubfx r3, r3, #1, #31
|
|
12362: 1d0a adds r2, r1, #4
|
|
12364: 4293 cmp r3, r2
|
|
12366: d017 beq.n 12398 <ent_trunc+0x48>
|
|
size = e->header.s.d_size;
|
|
}
|
|
|
|
/* Create the new entry after the current if there is space for it */
|
|
if(e->header.s.d_size != size) {
|
|
12368: 4299 cmp r1, r3
|
|
1236a: d016 beq.n 1239a <ent_trunc+0x4a>
|
|
{
|
|
1236c: b410 push {r4}
|
|
uint8_t * e_data = &e->first_data;
|
|
1236e: 1d02 adds r2, r0, #4
|
|
lv_mem_ent_t * after_new_e = (lv_mem_ent_t *)&e_data[size];
|
|
after_new_e->header.s.used = 0;
|
|
12370: 5c53 ldrb r3, [r2, r1]
|
|
12372: f36f 0300 bfc r3, #0, #1
|
|
12376: 5453 strb r3, [r2, r1]
|
|
after_new_e->header.s.d_size = (uint32_t)e->header.s.d_size - size - sizeof(lv_mem_header_t);
|
|
12378: 6803 ldr r3, [r0, #0]
|
|
1237a: f3c3 035e ubfx r3, r3, #1, #31
|
|
1237e: 3b04 subs r3, #4
|
|
12380: 1a5b subs r3, r3, r1
|
|
12382: 5854 ldr r4, [r2, r1]
|
|
12384: f363 045f bfi r4, r3, #1, #31
|
|
12388: 5054 str r4, [r2, r1]
|
|
}
|
|
|
|
/* Set the new size for the original entry */
|
|
e->header.s.d_size = (uint32_t)size;
|
|
1238a: 6803 ldr r3, [r0, #0]
|
|
1238c: f361 035f bfi r3, r1, #1, #31
|
|
12390: 6003 str r3, [r0, #0]
|
|
}
|
|
12392: f85d 4b04 ldr.w r4, [sp], #4
|
|
12396: 4770 bx lr
|
|
size = e->header.s.d_size;
|
|
12398: 4611 mov r1, r2
|
|
e->header.s.d_size = (uint32_t)size;
|
|
1239a: 6803 ldr r3, [r0, #0]
|
|
1239c: f361 035f bfi r3, r1, #1, #31
|
|
123a0: 6003 str r3, [r0, #0]
|
|
123a2: 4770 bx lr
|
|
|
|
000123a4 <_lv_mem_init>:
|
|
work_mem = (uint8_t *)work_mem_int;
|
|
123a4: 4b06 ldr r3, [pc, #24] ; (123c0 <_lv_mem_init+0x1c>)
|
|
123a6: 1d1a adds r2, r3, #4
|
|
123a8: 601a str r2, [r3, #0]
|
|
full->header.s.used = 0;
|
|
123aa: 791a ldrb r2, [r3, #4]
|
|
123ac: f36f 0200 bfc r2, #0, #1
|
|
123b0: 711a strb r2, [r3, #4]
|
|
full->header.s.d_size = LV_MEM_SIZE - sizeof(lv_mem_header_t);
|
|
123b2: 685a ldr r2, [r3, #4]
|
|
123b4: f643 71fc movw r1, #16380 ; 0x3ffc
|
|
123b8: f361 025f bfi r2, r1, #1, #31
|
|
123bc: 605a str r2, [r3, #4]
|
|
123be: 4770 bx lr
|
|
123c0: 20002b8c .word 0x20002b8c
|
|
|
|
000123c4 <lv_mem_alloc>:
|
|
if(size == 0) {
|
|
123c4: 2800 cmp r0, #0
|
|
123c6: d02e beq.n 12426 <lv_mem_alloc+0x62>
|
|
{
|
|
123c8: b5f0 push {r4, r5, r6, r7, lr}
|
|
123ca: b083 sub sp, #12
|
|
123cc: 4605 mov r5, r0
|
|
if(size & 0x3) {
|
|
123ce: f010 0f03 tst.w r0, #3
|
|
size = size & (~0x3);
|
|
123d2: bf1c itt ne
|
|
123d4: f020 0503 bicne.w r5, r0, #3
|
|
size += 4;
|
|
123d8: 3504 addne r5, #4
|
|
lv_mem_ent_t * e = NULL;
|
|
123da: 2400 movs r4, #0
|
|
e = ent_get_next(e);
|
|
123dc: 4e13 ldr r6, [pc, #76] ; (1242c <lv_mem_alloc+0x68>)
|
|
ent_trunc(e, size);
|
|
123de: 4f14 ldr r7, [pc, #80] ; (12430 <lv_mem_alloc+0x6c>)
|
|
123e0: e008 b.n 123f4 <lv_mem_alloc+0x30>
|
|
123e2: 4629 mov r1, r5
|
|
123e4: 47b8 blx r7
|
|
e->header.s.used = 1;
|
|
123e6: 7823 ldrb r3, [r4, #0]
|
|
123e8: f043 0301 orr.w r3, r3, #1
|
|
123ec: 4620 mov r0, r4
|
|
123ee: f800 3b04 strb.w r3, [r0], #4
|
|
} while(e != NULL && alloc == NULL);
|
|
123f2: b9b0 cbnz r0, 12422 <lv_mem_alloc+0x5e>
|
|
e = ent_get_next(e);
|
|
123f4: 4620 mov r0, r4
|
|
123f6: 47b0 blx r6
|
|
if(e != NULL) {
|
|
123f8: 4604 mov r4, r0
|
|
123fa: b148 cbz r0, 12410 <lv_mem_alloc+0x4c>
|
|
if(e->header.s.used == 0 && e->header.s.d_size >= size) {
|
|
123fc: 7803 ldrb r3, [r0, #0]
|
|
123fe: f013 0f01 tst.w r3, #1
|
|
12402: d1f7 bne.n 123f4 <lv_mem_alloc+0x30>
|
|
12404: 6803 ldr r3, [r0, #0]
|
|
12406: f3c3 035e ubfx r3, r3, #1, #31
|
|
1240a: 429d cmp r5, r3
|
|
1240c: d9e9 bls.n 123e2 <lv_mem_alloc+0x1e>
|
|
1240e: e7f1 b.n 123f4 <lv_mem_alloc+0x30>
|
|
if(alloc == NULL) LV_LOG_WARN("Couldn't allocate memory");
|
|
12410: 4b08 ldr r3, [pc, #32] ; (12434 <lv_mem_alloc+0x70>)
|
|
12412: 9300 str r3, [sp, #0]
|
|
12414: 4b08 ldr r3, [pc, #32] ; (12438 <lv_mem_alloc+0x74>)
|
|
12416: 22d1 movs r2, #209 ; 0xd1
|
|
12418: 4908 ldr r1, [pc, #32] ; (1243c <lv_mem_alloc+0x78>)
|
|
1241a: 2002 movs r0, #2
|
|
1241c: 4c08 ldr r4, [pc, #32] ; (12440 <lv_mem_alloc+0x7c>)
|
|
1241e: 47a0 blx r4
|
|
return alloc;
|
|
12420: 2000 movs r0, #0
|
|
}
|
|
12422: b003 add sp, #12
|
|
12424: bdf0 pop {r4, r5, r6, r7, pc}
|
|
return &zero_mem;
|
|
12426: 4807 ldr r0, [pc, #28] ; (12444 <lv_mem_alloc+0x80>)
|
|
12428: 4770 bx lr
|
|
1242a: bf00 nop
|
|
1242c: 00012329 .word 0x00012329
|
|
12430: 00012351 .word 0x00012351
|
|
12434: 000293a8 .word 0x000293a8
|
|
12438: 0002933c .word 0x0002933c
|
|
1243c: 00029380 .word 0x00029380
|
|
12440: 00012245 .word 0x00012245
|
|
12444: 20006b90 .word 0x20006b90
|
|
|
|
00012448 <lv_mem_defrag>:
|
|
{
|
|
12448: b538 push {r3, r4, r5, lr}
|
|
e_free = ent_get_next(NULL);
|
|
1244a: 2000 movs r0, #0
|
|
1244c: 4b16 ldr r3, [pc, #88] ; (124a8 <lv_mem_defrag+0x60>)
|
|
1244e: 4798 blx r3
|
|
12450: 4604 mov r4, r0
|
|
e_next = ent_get_next(e_free);
|
|
12452: 4d15 ldr r5, [pc, #84] ; (124a8 <lv_mem_defrag+0x60>)
|
|
12454: e01b b.n 1248e <lv_mem_defrag+0x46>
|
|
12456: bd38 pop {r3, r4, r5, pc}
|
|
12458: 4620 mov r0, r4
|
|
1245a: 47a8 blx r5
|
|
while(e_next != NULL) {
|
|
1245c: 4601 mov r1, r0
|
|
1245e: b308 cbz r0, 124a4 <lv_mem_defrag+0x5c>
|
|
if(e_next->header.s.used == 0) {
|
|
12460: 7803 ldrb r3, [r0, #0]
|
|
12462: f013 0f01 tst.w r3, #1
|
|
12466: d111 bne.n 1248c <lv_mem_defrag+0x44>
|
|
e_free->header.s.d_size += e_next->header.s.d_size + sizeof(e_next->header);
|
|
12468: 6823 ldr r3, [r4, #0]
|
|
1246a: f3c3 025e ubfx r2, r3, #1, #31
|
|
1246e: 3204 adds r2, #4
|
|
12470: 6808 ldr r0, [r1, #0]
|
|
12472: eb02 0250 add.w r2, r2, r0, lsr #1
|
|
12476: f362 035f bfi r3, r2, #1, #31
|
|
1247a: 6023 str r3, [r4, #0]
|
|
e_next = ent_get_next(e_next);
|
|
1247c: 4608 mov r0, r1
|
|
1247e: 47a8 blx r5
|
|
while(e_next != NULL) {
|
|
12480: 4601 mov r1, r0
|
|
12482: b170 cbz r0, 124a2 <lv_mem_defrag+0x5a>
|
|
if(e_next->header.s.used == 0) {
|
|
12484: 780b ldrb r3, [r1, #0]
|
|
12486: f013 0f01 tst.w r3, #1
|
|
1248a: d0ed beq.n 12468 <lv_mem_defrag+0x20>
|
|
{
|
|
1248c: 460c mov r4, r1
|
|
while(e_free != NULL) {
|
|
1248e: 2c00 cmp r4, #0
|
|
12490: d0e1 beq.n 12456 <lv_mem_defrag+0xe>
|
|
if(e_free->header.s.used != 0) {
|
|
12492: 7823 ldrb r3, [r4, #0]
|
|
12494: f013 0f01 tst.w r3, #1
|
|
12498: d0de beq.n 12458 <lv_mem_defrag+0x10>
|
|
e_free = ent_get_next(e_free);
|
|
1249a: 4620 mov r0, r4
|
|
1249c: 47a8 blx r5
|
|
1249e: 4604 mov r4, r0
|
|
124a0: e7f5 b.n 1248e <lv_mem_defrag+0x46>
|
|
124a2: bd38 pop {r3, r4, r5, pc}
|
|
124a4: bd38 pop {r3, r4, r5, pc}
|
|
124a6: bf00 nop
|
|
124a8: 00012329 .word 0x00012329
|
|
|
|
000124ac <lv_mem_free>:
|
|
{
|
|
124ac: b538 push {r3, r4, r5, lr}
|
|
if(data == &zero_mem) return;
|
|
124ae: 4b1e ldr r3, [pc, #120] ; (12528 <lv_mem_free+0x7c>)
|
|
124b0: 4298 cmp r0, r3
|
|
124b2: d038 beq.n 12526 <lv_mem_free+0x7a>
|
|
if(data == NULL) return;
|
|
124b4: 2800 cmp r0, #0
|
|
124b6: d036 beq.n 12526 <lv_mem_free+0x7a>
|
|
124b8: 4604 mov r4, r0
|
|
e->header.s.used = 0;
|
|
124ba: f810 3c04 ldrb.w r3, [r0, #-4]
|
|
124be: f36f 0300 bfc r3, #0, #1
|
|
124c2: f800 3c04 strb.w r3, [r0, #-4]
|
|
full_defrag_cnt++;
|
|
124c6: 4a19 ldr r2, [pc, #100] ; (1252c <lv_mem_free+0x80>)
|
|
124c8: f8b2 3d20 ldrh.w r3, [r2, #3360] ; 0xd20
|
|
124cc: 3301 adds r3, #1
|
|
124ce: b29b uxth r3, r3
|
|
124d0: f8a2 3d20 strh.w r3, [r2, #3360] ; 0xd20
|
|
if(full_defrag_cnt < LV_MEM_FULL_DEFRAG_CNT) {
|
|
124d4: 2b0f cmp r3, #15
|
|
124d6: d820 bhi.n 1251a <lv_mem_free+0x6e>
|
|
e_next = ent_get_next(e);
|
|
124d8: 3804 subs r0, #4
|
|
124da: 4b15 ldr r3, [pc, #84] ; (12530 <lv_mem_free+0x84>)
|
|
124dc: 4798 blx r3
|
|
while(e_next != NULL) {
|
|
124de: 4601 mov r1, r0
|
|
124e0: b308 cbz r0, 12526 <lv_mem_free+0x7a>
|
|
if(e_next->header.s.used == 0) {
|
|
124e2: 7803 ldrb r3, [r0, #0]
|
|
124e4: f013 0f01 tst.w r3, #1
|
|
124e8: d115 bne.n 12516 <lv_mem_free+0x6a>
|
|
e_next = ent_get_next(e_next);
|
|
124ea: 4d11 ldr r5, [pc, #68] ; (12530 <lv_mem_free+0x84>)
|
|
e->header.s.d_size += e_next->header.s.d_size + sizeof(e->header);
|
|
124ec: f854 3c04 ldr.w r3, [r4, #-4]
|
|
124f0: f3c3 025e ubfx r2, r3, #1, #31
|
|
124f4: 3204 adds r2, #4
|
|
124f6: 6808 ldr r0, [r1, #0]
|
|
124f8: eb02 0250 add.w r2, r2, r0, lsr #1
|
|
124fc: f362 035f bfi r3, r2, #1, #31
|
|
12500: f844 3c04 str.w r3, [r4, #-4]
|
|
e_next = ent_get_next(e_next);
|
|
12504: 4608 mov r0, r1
|
|
12506: 47a8 blx r5
|
|
while(e_next != NULL) {
|
|
12508: 4601 mov r1, r0
|
|
1250a: b128 cbz r0, 12518 <lv_mem_free+0x6c>
|
|
if(e_next->header.s.used == 0) {
|
|
1250c: 780b ldrb r3, [r1, #0]
|
|
1250e: f013 0f01 tst.w r3, #1
|
|
12512: d0eb beq.n 124ec <lv_mem_free+0x40>
|
|
12514: bd38 pop {r3, r4, r5, pc}
|
|
12516: bd38 pop {r3, r4, r5, pc}
|
|
12518: bd38 pop {r3, r4, r5, pc}
|
|
full_defrag_cnt = 0;
|
|
1251a: 2200 movs r2, #0
|
|
1251c: 4b03 ldr r3, [pc, #12] ; (1252c <lv_mem_free+0x80>)
|
|
1251e: f8a3 2d20 strh.w r2, [r3, #3360] ; 0xd20
|
|
lv_mem_defrag();
|
|
12522: 4b04 ldr r3, [pc, #16] ; (12534 <lv_mem_free+0x88>)
|
|
12524: 4798 blx r3
|
|
12526: bd38 pop {r3, r4, r5, pc}
|
|
12528: 20006b90 .word 0x20006b90
|
|
1252c: 20005e74 .word 0x20005e74
|
|
12530: 00012329 .word 0x00012329
|
|
12534: 00012449 .word 0x00012449
|
|
|
|
00012538 <_lv_mem_get_size>:
|
|
if(data == NULL) return 0;
|
|
12538: b138 cbz r0, 1254a <_lv_mem_get_size+0x12>
|
|
if(data == &zero_mem) return 0;
|
|
1253a: 4a06 ldr r2, [pc, #24] ; (12554 <_lv_mem_get_size+0x1c>)
|
|
1253c: 4290 cmp r0, r2
|
|
1253e: d006 beq.n 1254e <_lv_mem_get_size+0x16>
|
|
return e->header.s.d_size;
|
|
12540: f850 0c04 ldr.w r0, [r0, #-4]
|
|
12544: f3c0 005e ubfx r0, r0, #1, #31
|
|
12548: 4770 bx lr
|
|
if(data == NULL) return 0;
|
|
1254a: 2000 movs r0, #0
|
|
1254c: 4770 bx lr
|
|
if(data == &zero_mem) return 0;
|
|
1254e: 2000 movs r0, #0
|
|
}
|
|
12550: 4770 bx lr
|
|
12552: bf00 nop
|
|
12554: 20006b90 .word 0x20006b90
|
|
|
|
00012558 <_lv_mem_buf_release>:
|
|
if(mem_buf_small[i].p == p) {
|
|
12558: 4b1b ldr r3, [pc, #108] ; (125c8 <_lv_mem_buf_release+0x70>)
|
|
1255a: 681b ldr r3, [r3, #0]
|
|
1255c: 4298 cmp r0, r3
|
|
1255e: d020 beq.n 125a2 <_lv_mem_buf_release+0x4a>
|
|
12560: 4b19 ldr r3, [pc, #100] ; (125c8 <_lv_mem_buf_release+0x70>)
|
|
12562: 689b ldr r3, [r3, #8]
|
|
12564: 4283 cmp r3, r0
|
|
12566: bf08 it eq
|
|
12568: 2201 moveq r2, #1
|
|
1256a: d01b beq.n 125a4 <_lv_mem_buf_release+0x4c>
|
|
{
|
|
1256c: b510 push {r4, lr}
|
|
1256e: b082 sub sp, #8
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) {
|
|
12570: 4b16 ldr r3, [pc, #88] ; (125cc <_lv_mem_buf_release+0x74>)
|
|
12572: 681b ldr r3, [r3, #0]
|
|
12574: 4298 cmp r0, r3
|
|
12576: d01d beq.n 125b4 <_lv_mem_buf_release+0x5c>
|
|
12578: 2301 movs r3, #1
|
|
1257a: 4914 ldr r1, [pc, #80] ; (125cc <_lv_mem_buf_release+0x74>)
|
|
1257c: 461c mov r4, r3
|
|
1257e: f851 2033 ldr.w r2, [r1, r3, lsl #3]
|
|
12582: 4290 cmp r0, r2
|
|
12584: d017 beq.n 125b6 <_lv_mem_buf_release+0x5e>
|
|
12586: 3301 adds r3, #1
|
|
for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) {
|
|
12588: 2b10 cmp r3, #16
|
|
1258a: d1f7 bne.n 1257c <_lv_mem_buf_release+0x24>
|
|
LV_LOG_ERROR("lv_mem_buf_release: p is not a known buffer")
|
|
1258c: 4b10 ldr r3, [pc, #64] ; (125d0 <_lv_mem_buf_release+0x78>)
|
|
1258e: 9300 str r3, [sp, #0]
|
|
12590: 4b10 ldr r3, [pc, #64] ; (125d4 <_lv_mem_buf_release+0x7c>)
|
|
12592: f240 2232 movw r2, #562 ; 0x232
|
|
12596: 4910 ldr r1, [pc, #64] ; (125d8 <_lv_mem_buf_release+0x80>)
|
|
12598: 2003 movs r0, #3
|
|
1259a: 4c10 ldr r4, [pc, #64] ; (125dc <_lv_mem_buf_release+0x84>)
|
|
1259c: 47a0 blx r4
|
|
}
|
|
1259e: b002 add sp, #8
|
|
125a0: bd10 pop {r4, pc}
|
|
if(mem_buf_small[i].p == p) {
|
|
125a2: 2200 movs r2, #0
|
|
mem_buf_small[i].used = 0;
|
|
125a4: 4b08 ldr r3, [pc, #32] ; (125c8 <_lv_mem_buf_release+0x70>)
|
|
125a6: eb03 03c2 add.w r3, r3, r2, lsl #3
|
|
125aa: 799a ldrb r2, [r3, #6]
|
|
125ac: f36f 0200 bfc r2, #0, #1
|
|
125b0: 719a strb r2, [r3, #6]
|
|
return;
|
|
125b2: 4770 bx lr
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) {
|
|
125b4: 2400 movs r4, #0
|
|
LV_GC_ROOT(_lv_mem_buf[i]).used = 0;
|
|
125b6: 4b05 ldr r3, [pc, #20] ; (125cc <_lv_mem_buf_release+0x74>)
|
|
125b8: eb03 04c4 add.w r4, r3, r4, lsl #3
|
|
125bc: 79a3 ldrb r3, [r4, #6]
|
|
125be: f36f 0300 bfc r3, #0, #1
|
|
125c2: 71a3 strb r3, [r4, #6]
|
|
return;
|
|
125c4: e7eb b.n 1259e <_lv_mem_buf_release+0x46>
|
|
125c6: bf00 nop
|
|
125c8: 20000044 .word 0x20000044
|
|
125cc: 20006cb0 .word 0x20006cb0
|
|
125d0: 000293c4 .word 0x000293c4
|
|
125d4: 0002934c .word 0x0002934c
|
|
125d8: 00029380 .word 0x00029380
|
|
125dc: 00012245 .word 0x00012245
|
|
|
|
000125e0 <_lv_mem_buf_free_all>:
|
|
{
|
|
125e0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mem_buf_small[i].used = 0;
|
|
125e4: 4b12 ldr r3, [pc, #72] ; (12630 <_lv_mem_buf_free_all+0x50>)
|
|
125e6: 799a ldrb r2, [r3, #6]
|
|
125e8: f36f 0200 bfc r2, #0, #1
|
|
125ec: 719a strb r2, [r3, #6]
|
|
125ee: 7b9a ldrb r2, [r3, #14]
|
|
125f0: f36f 0200 bfc r2, #0, #1
|
|
125f4: 739a strb r2, [r3, #14]
|
|
125f6: 4c0f ldr r4, [pc, #60] ; (12634 <_lv_mem_buf_free_all+0x54>)
|
|
125f8: 2500 movs r5, #0
|
|
lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p);
|
|
125fa: f8df 803c ldr.w r8, [pc, #60] ; 12638 <_lv_mem_buf_free_all+0x58>
|
|
LV_GC_ROOT(_lv_mem_buf[i]).p = NULL;
|
|
125fe: 462e mov r6, r5
|
|
LV_GC_ROOT(_lv_mem_buf[i]).used = 0;
|
|
12600: 1f27 subs r7, r4, #4
|
|
12602: e003 b.n 1260c <_lv_mem_buf_free_all+0x2c>
|
|
12604: 3501 adds r5, #1
|
|
12606: 3408 adds r4, #8
|
|
for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) {
|
|
12608: 2d10 cmp r5, #16
|
|
1260a: d00e beq.n 1262a <_lv_mem_buf_free_all+0x4a>
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).p) {
|
|
1260c: f854 0c04 ldr.w r0, [r4, #-4]
|
|
12610: 2800 cmp r0, #0
|
|
12612: d0f7 beq.n 12604 <_lv_mem_buf_free_all+0x24>
|
|
lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p);
|
|
12614: 47c0 blx r8
|
|
LV_GC_ROOT(_lv_mem_buf[i]).p = NULL;
|
|
12616: f844 6c04 str.w r6, [r4, #-4]
|
|
LV_GC_ROOT(_lv_mem_buf[i]).used = 0;
|
|
1261a: eb07 03c5 add.w r3, r7, r5, lsl #3
|
|
1261e: 799a ldrb r2, [r3, #6]
|
|
12620: f366 0200 bfi r2, r6, #0, #1
|
|
12624: 719a strb r2, [r3, #6]
|
|
LV_GC_ROOT(_lv_mem_buf[i]).size = 0;
|
|
12626: 8026 strh r6, [r4, #0]
|
|
12628: e7ec b.n 12604 <_lv_mem_buf_free_all+0x24>
|
|
}
|
|
1262a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
1262e: bf00 nop
|
|
12630: 20000044 .word 0x20000044
|
|
12634: 20006cb4 .word 0x20006cb4
|
|
12638: 000124ad .word 0x000124ad
|
|
|
|
0001263c <_lv_memcpy>:
|
|
{
|
|
1263c: b4f0 push {r4, r5, r6, r7}
|
|
lv_uintptr_t d_align = (lv_uintptr_t)d8 & ALIGN_MASK;
|
|
1263e: f000 0303 and.w r3, r0, #3
|
|
lv_uintptr_t s_align = (lv_uintptr_t)s8 & ALIGN_MASK;
|
|
12642: f001 0403 and.w r4, r1, #3
|
|
if(s_align != d_align) {
|
|
12646: 42a3 cmp r3, r4
|
|
12648: f000 80a6 beq.w 12798 <_lv_memcpy+0x15c>
|
|
while(len > 32) {
|
|
1264c: 2a20 cmp r2, #32
|
|
1264e: f240 80a1 bls.w 12794 <_lv_memcpy+0x158>
|
|
12652: f100 0420 add.w r4, r0, #32
|
|
12656: f101 0320 add.w r3, r1, #32
|
|
1265a: 4615 mov r5, r2
|
|
REPEAT8(COPY8);
|
|
1265c: f813 6c20 ldrb.w r6, [r3, #-32]
|
|
12660: f804 6c20 strb.w r6, [r4, #-32]
|
|
12664: f813 6c1f ldrb.w r6, [r3, #-31]
|
|
12668: f804 6c1f strb.w r6, [r4, #-31]
|
|
1266c: f813 6c1e ldrb.w r6, [r3, #-30]
|
|
12670: f804 6c1e strb.w r6, [r4, #-30]
|
|
12674: f813 6c1d ldrb.w r6, [r3, #-29]
|
|
12678: f804 6c1d strb.w r6, [r4, #-29]
|
|
1267c: f813 6c1c ldrb.w r6, [r3, #-28]
|
|
12680: f804 6c1c strb.w r6, [r4, #-28]
|
|
12684: f813 6c1b ldrb.w r6, [r3, #-27]
|
|
12688: f804 6c1b strb.w r6, [r4, #-27]
|
|
1268c: f813 6c1a ldrb.w r6, [r3, #-26]
|
|
12690: f804 6c1a strb.w r6, [r4, #-26]
|
|
12694: f813 6c19 ldrb.w r6, [r3, #-25]
|
|
12698: f804 6c19 strb.w r6, [r4, #-25]
|
|
REPEAT8(COPY8);
|
|
1269c: f813 6c18 ldrb.w r6, [r3, #-24]
|
|
126a0: f804 6c18 strb.w r6, [r4, #-24]
|
|
126a4: f813 6c17 ldrb.w r6, [r3, #-23]
|
|
126a8: f804 6c17 strb.w r6, [r4, #-23]
|
|
126ac: f813 6c16 ldrb.w r6, [r3, #-22]
|
|
126b0: f804 6c16 strb.w r6, [r4, #-22]
|
|
126b4: f813 6c15 ldrb.w r6, [r3, #-21]
|
|
126b8: f804 6c15 strb.w r6, [r4, #-21]
|
|
126bc: f813 6c14 ldrb.w r6, [r3, #-20]
|
|
126c0: f804 6c14 strb.w r6, [r4, #-20]
|
|
126c4: f813 6c13 ldrb.w r6, [r3, #-19]
|
|
126c8: f804 6c13 strb.w r6, [r4, #-19]
|
|
126cc: f813 6c12 ldrb.w r6, [r3, #-18]
|
|
126d0: f804 6c12 strb.w r6, [r4, #-18]
|
|
126d4: f813 6c11 ldrb.w r6, [r3, #-17]
|
|
126d8: f804 6c11 strb.w r6, [r4, #-17]
|
|
REPEAT8(COPY8);
|
|
126dc: f813 6c10 ldrb.w r6, [r3, #-16]
|
|
126e0: f804 6c10 strb.w r6, [r4, #-16]
|
|
126e4: f813 6c0f ldrb.w r6, [r3, #-15]
|
|
126e8: f804 6c0f strb.w r6, [r4, #-15]
|
|
126ec: f813 6c0e ldrb.w r6, [r3, #-14]
|
|
126f0: f804 6c0e strb.w r6, [r4, #-14]
|
|
126f4: f813 6c0d ldrb.w r6, [r3, #-13]
|
|
126f8: f804 6c0d strb.w r6, [r4, #-13]
|
|
126fc: f813 6c0c ldrb.w r6, [r3, #-12]
|
|
12700: f804 6c0c strb.w r6, [r4, #-12]
|
|
12704: f813 6c0b ldrb.w r6, [r3, #-11]
|
|
12708: f804 6c0b strb.w r6, [r4, #-11]
|
|
1270c: f813 6c0a ldrb.w r6, [r3, #-10]
|
|
12710: f804 6c0a strb.w r6, [r4, #-10]
|
|
12714: f813 6c09 ldrb.w r6, [r3, #-9]
|
|
12718: f804 6c09 strb.w r6, [r4, #-9]
|
|
REPEAT8(COPY8);
|
|
1271c: f813 6c08 ldrb.w r6, [r3, #-8]
|
|
12720: f804 6c08 strb.w r6, [r4, #-8]
|
|
12724: f813 6c07 ldrb.w r6, [r3, #-7]
|
|
12728: f804 6c07 strb.w r6, [r4, #-7]
|
|
1272c: f813 6c06 ldrb.w r6, [r3, #-6]
|
|
12730: f804 6c06 strb.w r6, [r4, #-6]
|
|
12734: f813 6c05 ldrb.w r6, [r3, #-5]
|
|
12738: f804 6c05 strb.w r6, [r4, #-5]
|
|
1273c: f813 6c04 ldrb.w r6, [r3, #-4]
|
|
12740: f804 6c04 strb.w r6, [r4, #-4]
|
|
12744: f813 6c03 ldrb.w r6, [r3, #-3]
|
|
12748: f804 6c03 strb.w r6, [r4, #-3]
|
|
1274c: f813 6c02 ldrb.w r6, [r3, #-2]
|
|
12750: f804 6c02 strb.w r6, [r4, #-2]
|
|
12754: f813 6c01 ldrb.w r6, [r3, #-1]
|
|
12758: f804 6c01 strb.w r6, [r4, #-1]
|
|
len -= 32;
|
|
1275c: 3d20 subs r5, #32
|
|
1275e: 3420 adds r4, #32
|
|
12760: 3320 adds r3, #32
|
|
while(len > 32) {
|
|
12762: 2d20 cmp r5, #32
|
|
12764: f63f af7a bhi.w 1265c <_lv_memcpy+0x20>
|
|
12768: f1a2 0521 sub.w r5, r2, #33 ; 0x21
|
|
1276c: f025 041f bic.w r4, r5, #31
|
|
12770: 3420 adds r4, #32
|
|
12772: 1903 adds r3, r0, r4
|
|
12774: 4421 add r1, r4
|
|
12776: 3a20 subs r2, #32
|
|
12778: f025 051f bic.w r5, r5, #31
|
|
1277c: 1b52 subs r2, r2, r5
|
|
while(len) {
|
|
1277e: b13a cbz r2, 12790 <_lv_memcpy+0x154>
|
|
12780: 3901 subs r1, #1
|
|
12782: 441a add r2, r3
|
|
COPY8
|
|
12784: f811 4f01 ldrb.w r4, [r1, #1]!
|
|
12788: f803 4b01 strb.w r4, [r3], #1
|
|
while(len) {
|
|
1278c: 429a cmp r2, r3
|
|
1278e: d1f9 bne.n 12784 <_lv_memcpy+0x148>
|
|
}
|
|
12790: bcf0 pop {r4, r5, r6, r7}
|
|
12792: 4770 bx lr
|
|
while(len > 32) {
|
|
12794: 4603 mov r3, r0
|
|
12796: e7f2 b.n 1277e <_lv_memcpy+0x142>
|
|
if(d_align) {
|
|
12798: 2b00 cmp r3, #0
|
|
1279a: d15b bne.n 12854 <_lv_memcpy+0x218>
|
|
uint8_t * d8 = dst;
|
|
1279c: 4605 mov r5, r0
|
|
while(len > 32) {
|
|
1279e: 2a20 cmp r2, #32
|
|
127a0: d934 bls.n 1280c <_lv_memcpy+0x1d0>
|
|
127a2: f105 0420 add.w r4, r5, #32
|
|
127a6: f101 0320 add.w r3, r1, #32
|
|
127aa: 4616 mov r6, r2
|
|
REPEAT8(COPY32)
|
|
127ac: f853 7c20 ldr.w r7, [r3, #-32]
|
|
127b0: f844 7c20 str.w r7, [r4, #-32]
|
|
127b4: f853 7c1c ldr.w r7, [r3, #-28]
|
|
127b8: f844 7c1c str.w r7, [r4, #-28]
|
|
127bc: f853 7c18 ldr.w r7, [r3, #-24]
|
|
127c0: f844 7c18 str.w r7, [r4, #-24]
|
|
127c4: f853 7c14 ldr.w r7, [r3, #-20]
|
|
127c8: f844 7c14 str.w r7, [r4, #-20]
|
|
127cc: f853 7c10 ldr.w r7, [r3, #-16]
|
|
127d0: f844 7c10 str.w r7, [r4, #-16]
|
|
127d4: f853 7c0c ldr.w r7, [r3, #-12]
|
|
127d8: f844 7c0c str.w r7, [r4, #-12]
|
|
127dc: f853 7c08 ldr.w r7, [r3, #-8]
|
|
127e0: f844 7c08 str.w r7, [r4, #-8]
|
|
127e4: f853 7c04 ldr.w r7, [r3, #-4]
|
|
127e8: f844 7c04 str.w r7, [r4, #-4]
|
|
len -= 32;
|
|
127ec: 3e20 subs r6, #32
|
|
127ee: 3420 adds r4, #32
|
|
127f0: 3320 adds r3, #32
|
|
while(len > 32) {
|
|
127f2: 2e20 cmp r6, #32
|
|
127f4: d8da bhi.n 127ac <_lv_memcpy+0x170>
|
|
127f6: f1a2 0321 sub.w r3, r2, #33 ; 0x21
|
|
127fa: f023 041f bic.w r4, r3, #31
|
|
127fe: 3420 adds r4, #32
|
|
12800: 4425 add r5, r4
|
|
12802: 4421 add r1, r4
|
|
12804: 3a20 subs r2, #32
|
|
12806: f023 031f bic.w r3, r3, #31
|
|
1280a: 1ad2 subs r2, r2, r3
|
|
while(len > 4) {
|
|
1280c: 2a04 cmp r2, #4
|
|
1280e: d932 bls.n 12876 <_lv_memcpy+0x23a>
|
|
12810: 1f0e subs r6, r1, #4
|
|
12812: 462c mov r4, r5
|
|
12814: 4613 mov r3, r2
|
|
COPY32;
|
|
12816: f856 7f04 ldr.w r7, [r6, #4]!
|
|
1281a: f844 7b04 str.w r7, [r4], #4
|
|
len -= 4;
|
|
1281e: 3b04 subs r3, #4
|
|
while(len > 4) {
|
|
12820: 2b04 cmp r3, #4
|
|
12822: d8f8 bhi.n 12816 <_lv_memcpy+0x1da>
|
|
12824: 1f54 subs r4, r2, #5
|
|
12826: f024 0303 bic.w r3, r4, #3
|
|
1282a: 3304 adds r3, #4
|
|
1282c: 3a04 subs r2, #4
|
|
1282e: f024 0403 bic.w r4, r4, #3
|
|
12832: 1b12 subs r2, r2, r4
|
|
COPY32;
|
|
12834: 4419 add r1, r3
|
|
12836: 442b add r3, r5
|
|
while(len) {
|
|
12838: 2a00 cmp r2, #0
|
|
1283a: d0a9 beq.n 12790 <_lv_memcpy+0x154>
|
|
1283c: 3901 subs r1, #1
|
|
1283e: 441a add r2, r3
|
|
COPY8
|
|
12840: f811 4f01 ldrb.w r4, [r1, #1]!
|
|
12844: f803 4b01 strb.w r4, [r3], #1
|
|
while(len) {
|
|
12848: 4293 cmp r3, r2
|
|
1284a: d1f9 bne.n 12840 <_lv_memcpy+0x204>
|
|
1284c: e7a0 b.n 12790 <_lv_memcpy+0x154>
|
|
COPY8;
|
|
1284e: 4629 mov r1, r5
|
|
12850: 461d mov r5, r3
|
|
12852: e7a4 b.n 1279e <_lv_memcpy+0x162>
|
|
while(d_align && len) {
|
|
12854: f1c3 0304 rsb r3, r3, #4
|
|
12858: b17a cbz r2, 1287a <_lv_memcpy+0x23e>
|
|
1285a: 18c4 adds r4, r0, r3
|
|
1285c: 4603 mov r3, r0
|
|
COPY8;
|
|
1285e: f811 5b01 ldrb.w r5, [r1], #1
|
|
12862: f803 5b01 strb.w r5, [r3], #1
|
|
12866: 460d mov r5, r1
|
|
len--;
|
|
12868: 3a01 subs r2, #1
|
|
while(d_align && len) {
|
|
1286a: 42a3 cmp r3, r4
|
|
1286c: d0ef beq.n 1284e <_lv_memcpy+0x212>
|
|
1286e: 2a00 cmp r2, #0
|
|
12870: d1f5 bne.n 1285e <_lv_memcpy+0x222>
|
|
while(len > 4) {
|
|
12872: 2200 movs r2, #0
|
|
12874: e7e0 b.n 12838 <_lv_memcpy+0x1fc>
|
|
12876: 462b mov r3, r5
|
|
12878: e7de b.n 12838 <_lv_memcpy+0x1fc>
|
|
uint8_t * d8 = dst;
|
|
1287a: 4603 mov r3, r0
|
|
1287c: e7f9 b.n 12872 <_lv_memcpy+0x236>
|
|
...
|
|
|
|
00012880 <lv_mem_realloc>:
|
|
{
|
|
12880: b5f0 push {r4, r5, r6, r7, lr}
|
|
12882: b083 sub sp, #12
|
|
12884: 4604 mov r4, r0
|
|
12886: 460d mov r5, r1
|
|
if(new_size & 0x3) {
|
|
12888: f011 0f03 tst.w r1, #3
|
|
new_size = new_size & (~0x3);
|
|
1288c: bf1c itt ne
|
|
1288e: f021 0503 bicne.w r5, r1, #3
|
|
new_size += 4;
|
|
12892: 3504 addne r5, #4
|
|
if(data_p != NULL) {
|
|
12894: b138 cbz r0, 128a6 <lv_mem_realloc+0x26>
|
|
if(e->header.s.used == 0) {
|
|
12896: f810 3c04 ldrb.w r3, [r0, #-4]
|
|
1289a: f003 0301 and.w r3, r3, #1
|
|
data_p = NULL;
|
|
1289e: 2b00 cmp r3, #0
|
|
128a0: bf14 ite ne
|
|
128a2: 4604 movne r4, r0
|
|
128a4: 2400 moveq r4, #0
|
|
uint32_t old_size = _lv_mem_get_size(data_p);
|
|
128a6: 4620 mov r0, r4
|
|
128a8: 4b15 ldr r3, [pc, #84] ; (12900 <lv_mem_realloc+0x80>)
|
|
128aa: 4798 blx r3
|
|
128ac: 4606 mov r6, r0
|
|
if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/
|
|
128ae: 4285 cmp r5, r0
|
|
128b0: d024 beq.n 128fc <lv_mem_realloc+0x7c>
|
|
if(new_size < old_size) {
|
|
128b2: d311 bcc.n 128d8 <lv_mem_realloc+0x58>
|
|
new_p = lv_mem_alloc(new_size);
|
|
128b4: 4628 mov r0, r5
|
|
128b6: 4b13 ldr r3, [pc, #76] ; (12904 <lv_mem_realloc+0x84>)
|
|
128b8: 4798 blx r3
|
|
if(new_p == NULL) {
|
|
128ba: 4607 mov r7, r0
|
|
128bc: b1a0 cbz r0, 128e8 <lv_mem_realloc+0x68>
|
|
if(data_p != NULL) {
|
|
128be: b184 cbz r4, 128e2 <lv_mem_realloc+0x62>
|
|
if(old_size != 0) {
|
|
128c0: b17e cbz r6, 128e2 <lv_mem_realloc+0x62>
|
|
_lv_memcpy(new_p, data_p, LV_MATH_MIN(new_size, old_size));
|
|
128c2: 462a mov r2, r5
|
|
128c4: 42b5 cmp r5, r6
|
|
128c6: bf28 it cs
|
|
128c8: 4632 movcs r2, r6
|
|
128ca: 4621 mov r1, r4
|
|
128cc: 4b0e ldr r3, [pc, #56] ; (12908 <lv_mem_realloc+0x88>)
|
|
128ce: 4798 blx r3
|
|
lv_mem_free(data_p);
|
|
128d0: 4620 mov r0, r4
|
|
128d2: 4b0e ldr r3, [pc, #56] ; (1290c <lv_mem_realloc+0x8c>)
|
|
128d4: 4798 blx r3
|
|
128d6: e004 b.n 128e2 <lv_mem_realloc+0x62>
|
|
ent_trunc(e, new_size);
|
|
128d8: 4629 mov r1, r5
|
|
128da: 1f20 subs r0, r4, #4
|
|
128dc: 4b0c ldr r3, [pc, #48] ; (12910 <lv_mem_realloc+0x90>)
|
|
128de: 4798 blx r3
|
|
return &e->first_data;
|
|
128e0: 4627 mov r7, r4
|
|
}
|
|
128e2: 4638 mov r0, r7
|
|
128e4: b003 add sp, #12
|
|
128e6: bdf0 pop {r4, r5, r6, r7, pc}
|
|
LV_LOG_WARN("Couldn't allocate memory");
|
|
128e8: 4b0a ldr r3, [pc, #40] ; (12914 <lv_mem_realloc+0x94>)
|
|
128ea: 9300 str r3, [sp, #0]
|
|
128ec: 4b0a ldr r3, [pc, #40] ; (12918 <lv_mem_realloc+0x98>)
|
|
128ee: f240 123f movw r2, #319 ; 0x13f
|
|
128f2: 490a ldr r1, [pc, #40] ; (1291c <lv_mem_realloc+0x9c>)
|
|
128f4: 2002 movs r0, #2
|
|
128f6: 4c0a ldr r4, [pc, #40] ; (12920 <lv_mem_realloc+0xa0>)
|
|
128f8: 47a0 blx r4
|
|
return NULL;
|
|
128fa: e7f2 b.n 128e2 <lv_mem_realloc+0x62>
|
|
if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/
|
|
128fc: 4627 mov r7, r4
|
|
128fe: e7f0 b.n 128e2 <lv_mem_realloc+0x62>
|
|
12900: 00012539 .word 0x00012539
|
|
12904: 000123c5 .word 0x000123c5
|
|
12908: 0001263d .word 0x0001263d
|
|
1290c: 000124ad .word 0x000124ad
|
|
12910: 00012351 .word 0x00012351
|
|
12914: 000293a8 .word 0x000293a8
|
|
12918: 00029360 .word 0x00029360
|
|
1291c: 00029380 .word 0x00029380
|
|
12920: 00012245 .word 0x00012245
|
|
|
|
00012924 <_lv_mem_buf_get>:
|
|
if(size == 0) return NULL;
|
|
12924: 2800 cmp r0, #0
|
|
12926: f000 808d beq.w 12a44 <_lv_mem_buf_get+0x120>
|
|
1292a: 4601 mov r1, r0
|
|
if(size <= MEM_BUF_SMALL_SIZE) {
|
|
1292c: 2810 cmp r0, #16
|
|
1292e: d80b bhi.n 12948 <_lv_mem_buf_get+0x24>
|
|
if(mem_buf_small[i].used == 0) {
|
|
12930: 4b45 ldr r3, [pc, #276] ; (12a48 <_lv_mem_buf_get+0x124>)
|
|
12932: 799b ldrb r3, [r3, #6]
|
|
12934: f013 0f01 tst.w r3, #1
|
|
12938: d00e beq.n 12958 <_lv_mem_buf_get+0x34>
|
|
1293a: 4b43 ldr r3, [pc, #268] ; (12a48 <_lv_mem_buf_get+0x124>)
|
|
1293c: 7b9b ldrb r3, [r3, #14]
|
|
1293e: f013 0f01 tst.w r3, #1
|
|
12942: bf08 it eq
|
|
12944: 2001 moveq r0, #1
|
|
12946: d008 beq.n 1295a <_lv_mem_buf_get+0x36>
|
|
{
|
|
12948: b570 push {r4, r5, r6, lr}
|
|
1294a: b082 sub sp, #8
|
|
1294c: 4a3f ldr r2, [pc, #252] ; (12a4c <_lv_mem_buf_get+0x128>)
|
|
if(mem_buf_small[i].used == 0) {
|
|
1294e: 2300 movs r3, #0
|
|
12950: f04f 36ff mov.w r6, #4294967295
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) {
|
|
12954: 4614 mov r4, r2
|
|
12956: e019 b.n 1298c <_lv_mem_buf_get+0x68>
|
|
if(mem_buf_small[i].used == 0) {
|
|
12958: 2000 movs r0, #0
|
|
mem_buf_small[i].used = 1;
|
|
1295a: 4a3b ldr r2, [pc, #236] ; (12a48 <_lv_mem_buf_get+0x124>)
|
|
1295c: eb02 01c0 add.w r1, r2, r0, lsl #3
|
|
12960: 798b ldrb r3, [r1, #6]
|
|
12962: f043 0301 orr.w r3, r3, #1
|
|
12966: 718b strb r3, [r1, #6]
|
|
return mem_buf_small[i].p;
|
|
12968: f852 0030 ldr.w r0, [r2, r0, lsl #3]
|
|
1296c: 4770 bx lr
|
|
LV_GC_ROOT(_lv_mem_buf[i]).used = 1;
|
|
1296e: 4a37 ldr r2, [pc, #220] ; (12a4c <_lv_mem_buf_get+0x128>)
|
|
12970: eb02 01c3 add.w r1, r2, r3, lsl #3
|
|
12974: 798b ldrb r3, [r1, #6]
|
|
12976: f043 0301 orr.w r3, r3, #1
|
|
1297a: 718b strb r3, [r1, #6]
|
|
return LV_GC_ROOT(_lv_mem_buf[i]).p;
|
|
1297c: f852 0035 ldr.w r0, [r2, r5, lsl #3]
|
|
12980: e023 b.n 129ca <_lv_mem_buf_get+0xa6>
|
|
i_guess = i;
|
|
12982: b25e sxtb r6, r3
|
|
12984: 3301 adds r3, #1
|
|
12986: 3208 adds r2, #8
|
|
for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) {
|
|
12988: 2b10 cmp r3, #16
|
|
1298a: d013 beq.n 129b4 <_lv_mem_buf_get+0x90>
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) {
|
|
1298c: 461d mov r5, r3
|
|
1298e: eb04 00c3 add.w r0, r4, r3, lsl #3
|
|
12992: 7980 ldrb r0, [r0, #6]
|
|
12994: f010 0f01 tst.w r0, #1
|
|
12998: d1f4 bne.n 12984 <_lv_mem_buf_get+0x60>
|
|
1299a: 8890 ldrh r0, [r2, #4]
|
|
1299c: 4281 cmp r1, r0
|
|
1299e: d8f1 bhi.n 12984 <_lv_mem_buf_get+0x60>
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).size == size) {
|
|
129a0: d0e5 beq.n 1296e <_lv_mem_buf_get+0x4a>
|
|
else if(i_guess < 0) {
|
|
129a2: 2e00 cmp r6, #0
|
|
129a4: dbed blt.n 12982 <_lv_mem_buf_get+0x5e>
|
|
else if(LV_GC_ROOT(_lv_mem_buf[i]).size < LV_GC_ROOT(_lv_mem_buf[i_guess]).size) {
|
|
129a6: eb04 05c6 add.w r5, r4, r6, lsl #3
|
|
129aa: 88ad ldrh r5, [r5, #4]
|
|
129ac: 4285 cmp r5, r0
|
|
i_guess = i;
|
|
129ae: bf88 it hi
|
|
129b0: b25e sxtbhi r6, r3
|
|
129b2: e7e7 b.n 12984 <_lv_mem_buf_get+0x60>
|
|
if(i_guess >= 0) {
|
|
129b4: 2e00 cmp r6, #0
|
|
129b6: db0a blt.n 129ce <_lv_mem_buf_get+0xaa>
|
|
LV_GC_ROOT(_lv_mem_buf[i_guess]).used = 1;
|
|
129b8: 4a24 ldr r2, [pc, #144] ; (12a4c <_lv_mem_buf_get+0x128>)
|
|
129ba: eb02 01c6 add.w r1, r2, r6, lsl #3
|
|
129be: 798b ldrb r3, [r1, #6]
|
|
129c0: f043 0301 orr.w r3, r3, #1
|
|
129c4: 718b strb r3, [r1, #6]
|
|
return LV_GC_ROOT(_lv_mem_buf[i_guess]).p;
|
|
129c6: f852 0036 ldr.w r0, [r2, r6, lsl #3]
|
|
}
|
|
129ca: b002 add sp, #8
|
|
129cc: bd70 pop {r4, r5, r6, pc}
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0) {
|
|
129ce: 4b1f ldr r3, [pc, #124] ; (12a4c <_lv_mem_buf_get+0x128>)
|
|
129d0: 799b ldrb r3, [r3, #6]
|
|
129d2: f013 0f01 tst.w r3, #1
|
|
129d6: bf08 it eq
|
|
129d8: 2400 moveq r4, #0
|
|
129da: d016 beq.n 12a0a <_lv_mem_buf_get+0xe6>
|
|
129dc: 2301 movs r3, #1
|
|
129de: 481b ldr r0, [pc, #108] ; (12a4c <_lv_mem_buf_get+0x128>)
|
|
129e0: 461c mov r4, r3
|
|
129e2: eb00 02c3 add.w r2, r0, r3, lsl #3
|
|
129e6: 7992 ldrb r2, [r2, #6]
|
|
129e8: f012 0f01 tst.w r2, #1
|
|
129ec: d00d beq.n 12a0a <_lv_mem_buf_get+0xe6>
|
|
129ee: 3301 adds r3, #1
|
|
for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) {
|
|
129f0: 2b10 cmp r3, #16
|
|
129f2: d1f5 bne.n 129e0 <_lv_mem_buf_get+0xbc>
|
|
LV_LOG_ERROR("lv_mem_buf_get: no free buffer. Increase LV_DRAW_BUF_MAX_NUM.");
|
|
129f4: 4b16 ldr r3, [pc, #88] ; (12a50 <_lv_mem_buf_get+0x12c>)
|
|
129f6: 9300 str r3, [sp, #0]
|
|
129f8: 4b16 ldr r3, [pc, #88] ; (12a54 <_lv_mem_buf_get+0x130>)
|
|
129fa: f240 2216 movw r2, #534 ; 0x216
|
|
129fe: 4916 ldr r1, [pc, #88] ; (12a58 <_lv_mem_buf_get+0x134>)
|
|
12a00: 2003 movs r0, #3
|
|
12a02: 4c16 ldr r4, [pc, #88] ; (12a5c <_lv_mem_buf_get+0x138>)
|
|
12a04: 47a0 blx r4
|
|
return NULL;
|
|
12a06: 2000 movs r0, #0
|
|
12a08: e7df b.n 129ca <_lv_mem_buf_get+0xa6>
|
|
LV_GC_ROOT(_lv_mem_buf[i]).used = 1;
|
|
12a0a: 4d10 ldr r5, [pc, #64] ; (12a4c <_lv_mem_buf_get+0x128>)
|
|
12a0c: eb05 03c4 add.w r3, r5, r4, lsl #3
|
|
12a10: 799a ldrb r2, [r3, #6]
|
|
12a12: f042 0201 orr.w r2, r2, #1
|
|
12a16: 719a strb r2, [r3, #6]
|
|
LV_GC_ROOT(_lv_mem_buf[i]).size = size;
|
|
12a18: 8099 strh r1, [r3, #4]
|
|
LV_GC_ROOT(_lv_mem_buf[i]).p = lv_mem_realloc(LV_GC_ROOT(_lv_mem_buf[i]).p, size);
|
|
12a1a: f855 0034 ldr.w r0, [r5, r4, lsl #3]
|
|
12a1e: 4b10 ldr r3, [pc, #64] ; (12a60 <_lv_mem_buf_get+0x13c>)
|
|
12a20: 4798 blx r3
|
|
12a22: f845 0034 str.w r0, [r5, r4, lsl #3]
|
|
if(LV_GC_ROOT(_lv_mem_buf[i]).p == NULL) {
|
|
12a26: b118 cbz r0, 12a30 <_lv_mem_buf_get+0x10c>
|
|
return LV_GC_ROOT(_lv_mem_buf[i]).p;
|
|
12a28: 4b08 ldr r3, [pc, #32] ; (12a4c <_lv_mem_buf_get+0x128>)
|
|
12a2a: f853 0034 ldr.w r0, [r3, r4, lsl #3]
|
|
12a2e: e7cc b.n 129ca <_lv_mem_buf_get+0xa6>
|
|
LV_LOG_ERROR("lv_mem_buf_get: Out of memory, can't allocate a new buffer (increase your LV_MEM_SIZE/heap size)")
|
|
12a30: 4b0c ldr r3, [pc, #48] ; (12a64 <_lv_mem_buf_get+0x140>)
|
|
12a32: 9300 str r3, [sp, #0]
|
|
12a34: 4b07 ldr r3, [pc, #28] ; (12a54 <_lv_mem_buf_get+0x130>)
|
|
12a36: f44f 7204 mov.w r2, #528 ; 0x210
|
|
12a3a: 4907 ldr r1, [pc, #28] ; (12a58 <_lv_mem_buf_get+0x134>)
|
|
12a3c: 2003 movs r0, #3
|
|
12a3e: 4d07 ldr r5, [pc, #28] ; (12a5c <_lv_mem_buf_get+0x138>)
|
|
12a40: 47a8 blx r5
|
|
12a42: e7f1 b.n 12a28 <_lv_mem_buf_get+0x104>
|
|
if(size == 0) return NULL;
|
|
12a44: 2000 movs r0, #0
|
|
12a46: 4770 bx lr
|
|
12a48: 20000044 .word 0x20000044
|
|
12a4c: 20006cb0 .word 0x20006cb0
|
|
12a50: 00029454 .word 0x00029454
|
|
12a54: 00029370 .word 0x00029370
|
|
12a58: 00029380 .word 0x00029380
|
|
12a5c: 00012245 .word 0x00012245
|
|
12a60: 00012881 .word 0x00012881
|
|
12a64: 000293f0 .word 0x000293f0
|
|
|
|
00012a68 <_lv_memset>:
|
|
if(d_align) {
|
|
12a68: f010 0303 ands.w r3, r0, #3
|
|
12a6c: d013 beq.n 12a96 <_lv_memset+0x2e>
|
|
while(d_align && len) {
|
|
12a6e: f1c3 0304 rsb r3, r3, #4
|
|
12a72: b13a cbz r2, 12a84 <_lv_memset+0x1c>
|
|
12a74: 4403 add r3, r0
|
|
*d8 = v;
|
|
12a76: f800 1b01 strb.w r1, [r0], #1
|
|
len--;
|
|
12a7a: 3a01 subs r2, #1
|
|
while(d_align && len) {
|
|
12a7c: 4298 cmp r0, r3
|
|
12a7e: d00a beq.n 12a96 <_lv_memset+0x2e>
|
|
12a80: 2a00 cmp r2, #0
|
|
12a82: d1f8 bne.n 12a76 <_lv_memset+0xe>
|
|
while(len > 4) {
|
|
12a84: 2200 movs r2, #0
|
|
while(len) {
|
|
12a86: 2a00 cmp r2, #0
|
|
12a88: d048 beq.n 12b1c <_lv_memset+0xb4>
|
|
12a8a: 4402 add r2, r0
|
|
*d8 = v;
|
|
12a8c: f800 1b01 strb.w r1, [r0], #1
|
|
while(len) {
|
|
12a90: 4290 cmp r0, r2
|
|
12a92: d1fb bne.n 12a8c <_lv_memset+0x24>
|
|
12a94: 4770 bx lr
|
|
{
|
|
12a96: b430 push {r4, r5}
|
|
uint32_t v32 = v + (v << 8) + (v << 16) + (v << 24);
|
|
12a98: eb01 2401 add.w r4, r1, r1, lsl #8
|
|
12a9c: eb04 4401 add.w r4, r4, r1, lsl #16
|
|
12aa0: eb04 6401 add.w r4, r4, r1, lsl #24
|
|
while(len > 32) {
|
|
12aa4: 2a20 cmp r2, #32
|
|
12aa6: d920 bls.n 12aea <_lv_memset+0x82>
|
|
12aa8: f100 0320 add.w r3, r0, #32
|
|
12aac: 4615 mov r5, r2
|
|
SET32(v32);
|
|
12aae: f843 4c20 str.w r4, [r3, #-32]
|
|
SET32(v32);
|
|
12ab2: f843 4c1c str.w r4, [r3, #-28]
|
|
SET32(v32);
|
|
12ab6: f843 4c18 str.w r4, [r3, #-24]
|
|
SET32(v32);
|
|
12aba: f843 4c14 str.w r4, [r3, #-20]
|
|
SET32(v32);
|
|
12abe: f843 4c10 str.w r4, [r3, #-16]
|
|
SET32(v32);
|
|
12ac2: f843 4c0c str.w r4, [r3, #-12]
|
|
SET32(v32);
|
|
12ac6: f843 4c08 str.w r4, [r3, #-8]
|
|
SET32(v32);
|
|
12aca: f843 4c04 str.w r4, [r3, #-4]
|
|
len -= 32;
|
|
12ace: 3d20 subs r5, #32
|
|
12ad0: 3320 adds r3, #32
|
|
while(len > 32) {
|
|
12ad2: 2d20 cmp r5, #32
|
|
12ad4: d8eb bhi.n 12aae <_lv_memset+0x46>
|
|
12ad6: f1a2 0321 sub.w r3, r2, #33 ; 0x21
|
|
12ada: f023 051f bic.w r5, r3, #31
|
|
12ade: 3520 adds r5, #32
|
|
12ae0: 4428 add r0, r5
|
|
12ae2: 3a20 subs r2, #32
|
|
12ae4: f023 031f bic.w r3, r3, #31
|
|
12ae8: 1ad2 subs r2, r2, r3
|
|
while(len > 4) {
|
|
12aea: 2a04 cmp r2, #4
|
|
12aec: d90f bls.n 12b0e <_lv_memset+0xa6>
|
|
12aee: 4605 mov r5, r0
|
|
12af0: 4613 mov r3, r2
|
|
SET32(v32);
|
|
12af2: f845 4b04 str.w r4, [r5], #4
|
|
len -= 4;
|
|
12af6: 3b04 subs r3, #4
|
|
while(len > 4) {
|
|
12af8: 2b04 cmp r3, #4
|
|
12afa: d8fa bhi.n 12af2 <_lv_memset+0x8a>
|
|
12afc: 1f53 subs r3, r2, #5
|
|
12afe: f023 0403 bic.w r4, r3, #3
|
|
12b02: 3404 adds r4, #4
|
|
12b04: 3a04 subs r2, #4
|
|
12b06: f023 0303 bic.w r3, r3, #3
|
|
12b0a: 1ad2 subs r2, r2, r3
|
|
SET32(v32);
|
|
12b0c: 4420 add r0, r4
|
|
while(len) {
|
|
12b0e: b122 cbz r2, 12b1a <_lv_memset+0xb2>
|
|
12b10: 4402 add r2, r0
|
|
*d8 = v;
|
|
12b12: f800 1b01 strb.w r1, [r0], #1
|
|
while(len) {
|
|
12b16: 4290 cmp r0, r2
|
|
12b18: d1fb bne.n 12b12 <_lv_memset+0xaa>
|
|
}
|
|
12b1a: bc30 pop {r4, r5}
|
|
12b1c: 4770 bx lr
|
|
|
|
00012b1e <_lv_memset_00>:
|
|
if(d_align) {
|
|
12b1e: f010 0303 ands.w r3, r0, #3
|
|
12b22: d141 bne.n 12ba8 <_lv_memset_00+0x8a>
|
|
{
|
|
12b24: b410 push {r4}
|
|
while(len > 32) {
|
|
12b26: 2920 cmp r1, #32
|
|
12b28: d921 bls.n 12b6e <_lv_memset_00+0x50>
|
|
12b2a: f100 0320 add.w r3, r0, #32
|
|
12b2e: 460c mov r4, r1
|
|
SET32(0);
|
|
12b30: 2200 movs r2, #0
|
|
12b32: f843 2c20 str.w r2, [r3, #-32]
|
|
SET32(0);
|
|
12b36: f843 2c1c str.w r2, [r3, #-28]
|
|
SET32(0);
|
|
12b3a: f843 2c18 str.w r2, [r3, #-24]
|
|
SET32(0);
|
|
12b3e: f843 2c14 str.w r2, [r3, #-20]
|
|
SET32(0);
|
|
12b42: f843 2c10 str.w r2, [r3, #-16]
|
|
SET32(0);
|
|
12b46: f843 2c0c str.w r2, [r3, #-12]
|
|
SET32(0);
|
|
12b4a: f843 2c08 str.w r2, [r3, #-8]
|
|
SET32(0);
|
|
12b4e: f843 2c04 str.w r2, [r3, #-4]
|
|
len -= 32;
|
|
12b52: 3c20 subs r4, #32
|
|
12b54: 3320 adds r3, #32
|
|
while(len > 32) {
|
|
12b56: 2c20 cmp r4, #32
|
|
12b58: d8eb bhi.n 12b32 <_lv_memset_00+0x14>
|
|
12b5a: f1a1 0321 sub.w r3, r1, #33 ; 0x21
|
|
12b5e: f023 021f bic.w r2, r3, #31
|
|
12b62: 3220 adds r2, #32
|
|
12b64: 4410 add r0, r2
|
|
12b66: 3920 subs r1, #32
|
|
12b68: f023 031f bic.w r3, r3, #31
|
|
12b6c: 1ac9 subs r1, r1, r3
|
|
while(len > 4) {
|
|
12b6e: 2904 cmp r1, #4
|
|
12b70: d910 bls.n 12b94 <_lv_memset_00+0x76>
|
|
12b72: 4602 mov r2, r0
|
|
12b74: 460b mov r3, r1
|
|
SET32(0);
|
|
12b76: 2400 movs r4, #0
|
|
12b78: f842 4b04 str.w r4, [r2], #4
|
|
len -= 4;
|
|
12b7c: 3b04 subs r3, #4
|
|
while(len > 4) {
|
|
12b7e: 2b04 cmp r3, #4
|
|
12b80: d8fa bhi.n 12b78 <_lv_memset_00+0x5a>
|
|
12b82: 1f4b subs r3, r1, #5
|
|
12b84: f023 0203 bic.w r2, r3, #3
|
|
12b88: 3204 adds r2, #4
|
|
12b8a: 3904 subs r1, #4
|
|
12b8c: f023 0303 bic.w r3, r3, #3
|
|
12b90: 1ac9 subs r1, r1, r3
|
|
SET32(0);
|
|
12b92: 4410 add r0, r2
|
|
while(len) {
|
|
12b94: b129 cbz r1, 12ba2 <_lv_memset_00+0x84>
|
|
12b96: 4401 add r1, r0
|
|
*d8 = 0;
|
|
12b98: 2300 movs r3, #0
|
|
12b9a: f800 3b01 strb.w r3, [r0], #1
|
|
while(len) {
|
|
12b9e: 4288 cmp r0, r1
|
|
12ba0: d1fb bne.n 12b9a <_lv_memset_00+0x7c>
|
|
}
|
|
12ba2: f85d 4b04 ldr.w r4, [sp], #4
|
|
12ba6: 4770 bx lr
|
|
while(d_align && len) {
|
|
12ba8: f1c3 0304 rsb r3, r3, #4
|
|
12bac: b141 cbz r1, 12bc0 <_lv_memset_00+0xa2>
|
|
12bae: 4403 add r3, r0
|
|
*d8 = 0x00;
|
|
12bb0: 2200 movs r2, #0
|
|
12bb2: f800 2b01 strb.w r2, [r0], #1
|
|
len--;
|
|
12bb6: 3901 subs r1, #1
|
|
while(d_align && len) {
|
|
12bb8: 4298 cmp r0, r3
|
|
12bba: d0b3 beq.n 12b24 <_lv_memset_00+0x6>
|
|
12bbc: 2900 cmp r1, #0
|
|
12bbe: d1f8 bne.n 12bb2 <_lv_memset_00+0x94>
|
|
while(len > 4) {
|
|
12bc0: 2100 movs r1, #0
|
|
while(len) {
|
|
12bc2: 2900 cmp r1, #0
|
|
12bc4: d0ef beq.n 12ba6 <_lv_memset_00+0x88>
|
|
12bc6: 4401 add r1, r0
|
|
*d8 = 0;
|
|
12bc8: 2300 movs r3, #0
|
|
12bca: f800 3b01 strb.w r3, [r0], #1
|
|
while(len) {
|
|
12bce: 4288 cmp r0, r1
|
|
12bd0: d1fb bne.n 12bca <_lv_memset_00+0xac>
|
|
12bd2: 4770 bx lr
|
|
|
|
00012bd4 <_lv_memset_ff>:
|
|
if(d_align) {
|
|
12bd4: f010 0303 ands.w r3, r0, #3
|
|
12bd8: d143 bne.n 12c62 <_lv_memset_ff+0x8e>
|
|
{
|
|
12bda: b410 push {r4}
|
|
while(len > 32) {
|
|
12bdc: 2920 cmp r1, #32
|
|
12bde: d922 bls.n 12c26 <_lv_memset_ff+0x52>
|
|
12be0: f100 0320 add.w r3, r0, #32
|
|
12be4: 460c mov r4, r1
|
|
SET32(0xFFFFFFFF);
|
|
12be6: f04f 32ff mov.w r2, #4294967295
|
|
12bea: f843 2c20 str.w r2, [r3, #-32]
|
|
SET32(0xFFFFFFFF);
|
|
12bee: f843 2c1c str.w r2, [r3, #-28]
|
|
SET32(0xFFFFFFFF);
|
|
12bf2: f843 2c18 str.w r2, [r3, #-24]
|
|
SET32(0xFFFFFFFF);
|
|
12bf6: f843 2c14 str.w r2, [r3, #-20]
|
|
SET32(0xFFFFFFFF);
|
|
12bfa: f843 2c10 str.w r2, [r3, #-16]
|
|
SET32(0xFFFFFFFF);
|
|
12bfe: f843 2c0c str.w r2, [r3, #-12]
|
|
SET32(0xFFFFFFFF);
|
|
12c02: f843 2c08 str.w r2, [r3, #-8]
|
|
SET32(0xFFFFFFFF);
|
|
12c06: f843 2c04 str.w r2, [r3, #-4]
|
|
len -= 32;
|
|
12c0a: 3c20 subs r4, #32
|
|
12c0c: 3320 adds r3, #32
|
|
while(len > 32) {
|
|
12c0e: 2c20 cmp r4, #32
|
|
12c10: d8eb bhi.n 12bea <_lv_memset_ff+0x16>
|
|
12c12: f1a1 0321 sub.w r3, r1, #33 ; 0x21
|
|
12c16: f023 021f bic.w r2, r3, #31
|
|
12c1a: 3220 adds r2, #32
|
|
12c1c: 4410 add r0, r2
|
|
12c1e: 3920 subs r1, #32
|
|
12c20: f023 031f bic.w r3, r3, #31
|
|
12c24: 1ac9 subs r1, r1, r3
|
|
while(len > 4) {
|
|
12c26: 2904 cmp r1, #4
|
|
12c28: d911 bls.n 12c4e <_lv_memset_ff+0x7a>
|
|
12c2a: 4602 mov r2, r0
|
|
12c2c: 460b mov r3, r1
|
|
SET32(0xFFFFFFFF);
|
|
12c2e: f04f 34ff mov.w r4, #4294967295
|
|
12c32: f842 4b04 str.w r4, [r2], #4
|
|
len -= 4;
|
|
12c36: 3b04 subs r3, #4
|
|
while(len > 4) {
|
|
12c38: 2b04 cmp r3, #4
|
|
12c3a: d8fa bhi.n 12c32 <_lv_memset_ff+0x5e>
|
|
12c3c: 1f4b subs r3, r1, #5
|
|
12c3e: f023 0203 bic.w r2, r3, #3
|
|
12c42: 3204 adds r2, #4
|
|
12c44: 3904 subs r1, #4
|
|
12c46: f023 0303 bic.w r3, r3, #3
|
|
12c4a: 1ac9 subs r1, r1, r3
|
|
SET32(0xFFFFFFFF);
|
|
12c4c: 4410 add r0, r2
|
|
while(len) {
|
|
12c4e: b129 cbz r1, 12c5c <_lv_memset_ff+0x88>
|
|
12c50: 4401 add r1, r0
|
|
*d8 = 0xFF;
|
|
12c52: 23ff movs r3, #255 ; 0xff
|
|
12c54: f800 3b01 strb.w r3, [r0], #1
|
|
while(len) {
|
|
12c58: 4288 cmp r0, r1
|
|
12c5a: d1fb bne.n 12c54 <_lv_memset_ff+0x80>
|
|
}
|
|
12c5c: f85d 4b04 ldr.w r4, [sp], #4
|
|
12c60: 4770 bx lr
|
|
while(d_align && len) {
|
|
12c62: f1c3 0304 rsb r3, r3, #4
|
|
12c66: b141 cbz r1, 12c7a <_lv_memset_ff+0xa6>
|
|
12c68: 4403 add r3, r0
|
|
*d8 = 0xFF;
|
|
12c6a: 22ff movs r2, #255 ; 0xff
|
|
12c6c: f800 2b01 strb.w r2, [r0], #1
|
|
len--;
|
|
12c70: 3901 subs r1, #1
|
|
while(d_align && len) {
|
|
12c72: 4298 cmp r0, r3
|
|
12c74: d0b1 beq.n 12bda <_lv_memset_ff+0x6>
|
|
12c76: 2900 cmp r1, #0
|
|
12c78: d1f8 bne.n 12c6c <_lv_memset_ff+0x98>
|
|
while(len > 4) {
|
|
12c7a: 2100 movs r1, #0
|
|
while(len) {
|
|
12c7c: 2900 cmp r1, #0
|
|
12c7e: d0ef beq.n 12c60 <_lv_memset_ff+0x8c>
|
|
12c80: 4401 add r1, r0
|
|
*d8 = 0xFF;
|
|
12c82: 23ff movs r3, #255 ; 0xff
|
|
12c84: f800 3b01 strb.w r3, [r0], #1
|
|
while(len) {
|
|
12c88: 4288 cmp r0, r1
|
|
12c8a: d1fb bne.n 12c84 <_lv_memset_ff+0xb0>
|
|
12c8c: 4770 bx lr
|
|
|
|
00012c8e <_out_buffer>:
|
|
|
|
|
|
// internal buffer output
|
|
static inline void _out_buffer(char character, void * buffer, size_t idx, size_t maxlen)
|
|
{
|
|
if(idx < maxlen) {
|
|
12c8e: 429a cmp r2, r3
|
|
((char *)buffer)[idx] = character;
|
|
12c90: bf38 it cc
|
|
12c92: 5488 strbcc r0, [r1, r2]
|
|
12c94: 4770 bx lr
|
|
|
|
00012c96 <_out_null>:
|
|
}
|
|
|
|
|
|
// internal null output
|
|
static inline void _out_null(char character, void * buffer, size_t idx, size_t maxlen)
|
|
{
|
|
12c96: 4770 bx lr
|
|
|
|
00012c98 <_ntoa_format>:
|
|
|
|
|
|
// internal itoa format
|
|
static size_t _ntoa_format(out_fct_type out, char * buffer, size_t idx, size_t maxlen, char * buf, size_t len,
|
|
bool negative, unsigned int base, unsigned int prec, unsigned int width, unsigned int flags)
|
|
{
|
|
12c98: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
12c9c: b083 sub sp, #12
|
|
12c9e: 4607 mov r7, r0
|
|
12ca0: 9100 str r1, [sp, #0]
|
|
12ca2: 4693 mov fp, r2
|
|
12ca4: 4698 mov r8, r3
|
|
12ca6: f8dd 9030 ldr.w r9, [sp, #48] ; 0x30
|
|
12caa: 9c0d ldr r4, [sp, #52] ; 0x34
|
|
12cac: f89d 5038 ldrb.w r5, [sp, #56] ; 0x38
|
|
12cb0: 9910 ldr r1, [sp, #64] ; 0x40
|
|
12cb2: f8dd a044 ldr.w sl, [sp, #68] ; 0x44
|
|
12cb6: 9a12 ldr r2, [sp, #72] ; 0x48
|
|
// pad leading zeros
|
|
if(!(flags & FLAGS_LEFT)) {
|
|
12cb8: f012 0302 ands.w r3, r2, #2
|
|
12cbc: 9301 str r3, [sp, #4]
|
|
12cbe: d135 bne.n 12d2c <_ntoa_format+0x94>
|
|
if(width && (flags & FLAGS_ZEROPAD) && (negative || (flags & (FLAGS_PLUS | FLAGS_SPACE)))) {
|
|
12cc0: f1ba 0f00 cmp.w sl, #0
|
|
12cc4: d00e beq.n 12ce4 <_ntoa_format+0x4c>
|
|
12cc6: f012 0f01 tst.w r2, #1
|
|
12cca: f000 80b6 beq.w 12e3a <_ntoa_format+0x1a2>
|
|
12cce: b915 cbnz r5, 12cd6 <_ntoa_format+0x3e>
|
|
12cd0: f012 0f0c tst.w r2, #12
|
|
12cd4: d001 beq.n 12cda <_ntoa_format+0x42>
|
|
width--;
|
|
12cd6: f10a 3aff add.w sl, sl, #4294967295
|
|
}
|
|
while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12cda: 428c cmp r4, r1
|
|
12cdc: d213 bcs.n 12d06 <_ntoa_format+0x6e>
|
|
12cde: 2c1f cmp r4, #31
|
|
12ce0: d904 bls.n 12cec <_ntoa_format+0x54>
|
|
12ce2: e010 b.n 12d06 <_ntoa_format+0x6e>
|
|
12ce4: 428c cmp r4, r1
|
|
12ce6: d20b bcs.n 12d00 <_ntoa_format+0x68>
|
|
12ce8: 2c1f cmp r4, #31
|
|
12cea: d809 bhi.n 12d00 <_ntoa_format+0x68>
|
|
12cec: eb09 0304 add.w r3, r9, r4
|
|
buf[len++] = '0';
|
|
12cf0: 2030 movs r0, #48 ; 0x30
|
|
12cf2: 3401 adds r4, #1
|
|
12cf4: f803 0b01 strb.w r0, [r3], #1
|
|
while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12cf8: 42a1 cmp r1, r4
|
|
12cfa: d901 bls.n 12d00 <_ntoa_format+0x68>
|
|
12cfc: 2c20 cmp r4, #32
|
|
12cfe: d1f8 bne.n 12cf2 <_ntoa_format+0x5a>
|
|
}
|
|
while((flags & FLAGS_ZEROPAD) && (len < width) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12d00: f012 0f01 tst.w r2, #1
|
|
12d04: d012 beq.n 12d2c <_ntoa_format+0x94>
|
|
12d06: 45a2 cmp sl, r4
|
|
12d08: d910 bls.n 12d2c <_ntoa_format+0x94>
|
|
12d0a: 2c1f cmp r4, #31
|
|
12d0c: d809 bhi.n 12d22 <_ntoa_format+0x8a>
|
|
12d0e: eb09 0304 add.w r3, r9, r4
|
|
buf[len++] = '0';
|
|
12d12: 2030 movs r0, #48 ; 0x30
|
|
12d14: 3401 adds r4, #1
|
|
12d16: f803 0b01 strb.w r0, [r3], #1
|
|
while((flags & FLAGS_ZEROPAD) && (len < width) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12d1a: 4554 cmp r4, sl
|
|
12d1c: d005 beq.n 12d2a <_ntoa_format+0x92>
|
|
12d1e: 2c20 cmp r4, #32
|
|
12d20: d1f8 bne.n 12d14 <_ntoa_format+0x7c>
|
|
}
|
|
}
|
|
|
|
// handle hash
|
|
if(flags & FLAGS_HASH) {
|
|
12d22: f012 0f10 tst.w r2, #16
|
|
12d26: d104 bne.n 12d32 <_ntoa_format+0x9a>
|
|
12d28: e044 b.n 12db4 <_ntoa_format+0x11c>
|
|
12d2a: 46a2 mov sl, r4
|
|
12d2c: f012 0f10 tst.w r2, #16
|
|
12d30: d013 beq.n 12d5a <_ntoa_format+0xc2>
|
|
if(!(flags & FLAGS_PRECISION) && len && ((len == prec) || (len == width))) {
|
|
12d32: f412 6f80 tst.w r2, #1024 ; 0x400
|
|
12d36: d104 bne.n 12d42 <_ntoa_format+0xaa>
|
|
12d38: b11c cbz r4, 12d42 <_ntoa_format+0xaa>
|
|
12d3a: 42a1 cmp r1, r4
|
|
12d3c: d01b beq.n 12d76 <_ntoa_format+0xde>
|
|
12d3e: 4554 cmp r4, sl
|
|
12d40: d019 beq.n 12d76 <_ntoa_format+0xde>
|
|
len--;
|
|
if(len && (base == 16U)) {
|
|
len--;
|
|
}
|
|
}
|
|
if((base == 16U) && !(flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12d42: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
12d44: 2b10 cmp r3, #16
|
|
12d46: d01e beq.n 12d86 <_ntoa_format+0xee>
|
|
buf[len++] = 'x';
|
|
}
|
|
else if((base == 16U) && (flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
buf[len++] = 'X';
|
|
}
|
|
else if((base == 2U) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12d48: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
12d4a: 2b02 cmp r3, #2
|
|
12d4c: d027 beq.n 12d9e <_ntoa_format+0x106>
|
|
buf[len++] = 'b';
|
|
}
|
|
if(len < PRINTF_NTOA_BUFFER_SIZE) {
|
|
12d4e: 2c1f cmp r4, #31
|
|
12d50: d830 bhi.n 12db4 <_ntoa_format+0x11c>
|
|
buf[len++] = '0';
|
|
12d52: 2330 movs r3, #48 ; 0x30
|
|
12d54: f809 3004 strb.w r3, [r9, r4]
|
|
12d58: 3401 adds r4, #1
|
|
}
|
|
}
|
|
|
|
if(len < PRINTF_NTOA_BUFFER_SIZE) {
|
|
12d5a: 2c1f cmp r4, #31
|
|
12d5c: d82a bhi.n 12db4 <_ntoa_format+0x11c>
|
|
if(negative) {
|
|
12d5e: bb2d cbnz r5, 12dac <_ntoa_format+0x114>
|
|
buf[len++] = '-';
|
|
}
|
|
else if(flags & FLAGS_PLUS) {
|
|
12d60: f012 0f04 tst.w r2, #4
|
|
12d64: d13a bne.n 12ddc <_ntoa_format+0x144>
|
|
buf[len++] = '+'; // ignore the space if the '+' exists
|
|
}
|
|
else if(flags & FLAGS_SPACE) {
|
|
12d66: f012 0f08 tst.w r2, #8
|
|
12d6a: d023 beq.n 12db4 <_ntoa_format+0x11c>
|
|
buf[len++] = ' ';
|
|
12d6c: 2320 movs r3, #32
|
|
12d6e: f809 3004 strb.w r3, [r9, r4]
|
|
12d72: 3401 adds r4, #1
|
|
12d74: e01e b.n 12db4 <_ntoa_format+0x11c>
|
|
if(len && (base == 16U)) {
|
|
12d76: 1e63 subs r3, r4, #1
|
|
12d78: d00f beq.n 12d9a <_ntoa_format+0x102>
|
|
12d7a: 990f ldr r1, [sp, #60] ; 0x3c
|
|
12d7c: 2910 cmp r1, #16
|
|
12d7e: d001 beq.n 12d84 <_ntoa_format+0xec>
|
|
len--;
|
|
12d80: 461c mov r4, r3
|
|
12d82: e7e1 b.n 12d48 <_ntoa_format+0xb0>
|
|
len--;
|
|
12d84: 3c02 subs r4, #2
|
|
if((base == 16U) && !(flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12d86: f012 0f20 tst.w r2, #32
|
|
12d8a: d15d bne.n 12e48 <_ntoa_format+0x1b0>
|
|
12d8c: 2c1f cmp r4, #31
|
|
12d8e: d8de bhi.n 12d4e <_ntoa_format+0xb6>
|
|
buf[len++] = 'x';
|
|
12d90: 2378 movs r3, #120 ; 0x78
|
|
12d92: f809 3004 strb.w r3, [r9, r4]
|
|
12d96: 3401 adds r4, #1
|
|
12d98: e7d9 b.n 12d4e <_ntoa_format+0xb6>
|
|
len--;
|
|
12d9a: 461c mov r4, r3
|
|
12d9c: e7d1 b.n 12d42 <_ntoa_format+0xaa>
|
|
else if((base == 2U) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12d9e: 2c1f cmp r4, #31
|
|
12da0: d808 bhi.n 12db4 <_ntoa_format+0x11c>
|
|
buf[len++] = 'b';
|
|
12da2: 2362 movs r3, #98 ; 0x62
|
|
12da4: f809 3004 strb.w r3, [r9, r4]
|
|
12da8: 3401 adds r4, #1
|
|
12daa: e7d0 b.n 12d4e <_ntoa_format+0xb6>
|
|
buf[len++] = '-';
|
|
12dac: 232d movs r3, #45 ; 0x2d
|
|
12dae: f809 3004 strb.w r3, [r9, r4]
|
|
12db2: 3401 adds r4, #1
|
|
if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) {
|
|
12db4: f012 0f03 tst.w r2, #3
|
|
12db8: d115 bne.n 12de6 <_ntoa_format+0x14e>
|
|
for(i = len; i < width; i++) {
|
|
12dba: 4554 cmp r4, sl
|
|
12dbc: bf28 it cs
|
|
12dbe: 465e movcs r6, fp
|
|
12dc0: d212 bcs.n 12de8 <_ntoa_format+0x150>
|
|
12dc2: eb0b 050a add.w r5, fp, sl
|
|
12dc6: 1b2d subs r5, r5, r4
|
|
12dc8: 465a mov r2, fp
|
|
out(' ', buffer, idx++, maxlen);
|
|
12dca: 1c56 adds r6, r2, #1
|
|
12dcc: 4643 mov r3, r8
|
|
12dce: 9900 ldr r1, [sp, #0]
|
|
12dd0: 2020 movs r0, #32
|
|
12dd2: 47b8 blx r7
|
|
12dd4: 4632 mov r2, r6
|
|
for(i = len; i < width; i++) {
|
|
12dd6: 42ae cmp r6, r5
|
|
12dd8: d1f7 bne.n 12dca <_ntoa_format+0x132>
|
|
12dda: e005 b.n 12de8 <_ntoa_format+0x150>
|
|
buf[len++] = '+'; // ignore the space if the '+' exists
|
|
12ddc: 232b movs r3, #43 ; 0x2b
|
|
12dde: f809 3004 strb.w r3, [r9, r4]
|
|
12de2: 3401 adds r4, #1
|
|
12de4: e7e6 b.n 12db4 <_ntoa_format+0x11c>
|
|
if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) {
|
|
12de6: 465e mov r6, fp
|
|
while(len) {
|
|
12de8: 4635 mov r5, r6
|
|
12dea: b15c cbz r4, 12e04 <_ntoa_format+0x16c>
|
|
12dec: 44a1 add r9, r4
|
|
12dee: 4434 add r4, r6
|
|
12df0: 4632 mov r2, r6
|
|
out(buf[--len], buffer, idx++, maxlen);
|
|
12df2: 1c55 adds r5, r2, #1
|
|
12df4: 4643 mov r3, r8
|
|
12df6: 9900 ldr r1, [sp, #0]
|
|
12df8: f819 0d01 ldrb.w r0, [r9, #-1]!
|
|
12dfc: 47b8 blx r7
|
|
12dfe: 462a mov r2, r5
|
|
while(len) {
|
|
12e00: 42ac cmp r4, r5
|
|
12e02: d1f6 bne.n 12df2 <_ntoa_format+0x15a>
|
|
if(flags & FLAGS_LEFT) {
|
|
12e04: 9b01 ldr r3, [sp, #4]
|
|
12e06: b1a3 cbz r3, 12e32 <_ntoa_format+0x19a>
|
|
while(idx - start_idx < width) {
|
|
12e08: eba5 030b sub.w r3, r5, fp
|
|
12e0c: 4553 cmp r3, sl
|
|
12e0e: d212 bcs.n 12e36 <_ntoa_format+0x19e>
|
|
out(' ', buffer, idx++, maxlen);
|
|
12e10: 2620 movs r6, #32
|
|
12e12: 462a mov r2, r5
|
|
12e14: 9d00 ldr r5, [sp, #0]
|
|
12e16: 1c54 adds r4, r2, #1
|
|
12e18: 4643 mov r3, r8
|
|
12e1a: 4629 mov r1, r5
|
|
12e1c: 4630 mov r0, r6
|
|
12e1e: 47b8 blx r7
|
|
12e20: 4622 mov r2, r4
|
|
while(idx - start_idx < width) {
|
|
12e22: eba4 030b sub.w r3, r4, fp
|
|
12e26: 4553 cmp r3, sl
|
|
12e28: d3f5 bcc.n 12e16 <_ntoa_format+0x17e>
|
|
}
|
|
}
|
|
|
|
return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags);
|
|
}
|
|
12e2a: 4620 mov r0, r4
|
|
12e2c: b003 add sp, #12
|
|
12e2e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(flags & FLAGS_LEFT) {
|
|
12e32: 462c mov r4, r5
|
|
12e34: e7f9 b.n 12e2a <_ntoa_format+0x192>
|
|
while(idx - start_idx < width) {
|
|
12e36: 462c mov r4, r5
|
|
return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags);
|
|
12e38: e7f7 b.n 12e2a <_ntoa_format+0x192>
|
|
while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12e3a: 428c cmp r4, r1
|
|
12e3c: f4bf af76 bcs.w 12d2c <_ntoa_format+0x94>
|
|
12e40: 2c1f cmp r4, #31
|
|
12e42: f67f af53 bls.w 12cec <_ntoa_format+0x54>
|
|
12e46: e771 b.n 12d2c <_ntoa_format+0x94>
|
|
else if((base == 16U) && (flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) {
|
|
12e48: 2c1f cmp r4, #31
|
|
12e4a: d8b3 bhi.n 12db4 <_ntoa_format+0x11c>
|
|
buf[len++] = 'X';
|
|
12e4c: 2358 movs r3, #88 ; 0x58
|
|
12e4e: f809 3004 strb.w r3, [r9, r4]
|
|
12e52: 3401 adds r4, #1
|
|
12e54: e77b b.n 12d4e <_ntoa_format+0xb6>
|
|
...
|
|
|
|
00012e58 <_ntoa_long>:
|
|
|
|
|
|
// internal itoa for 'long' type
|
|
static size_t _ntoa_long(out_fct_type out, char * buffer, size_t idx, size_t maxlen, unsigned long value, bool negative,
|
|
unsigned long base, unsigned int prec, unsigned int width, unsigned int flags)
|
|
{
|
|
12e58: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
12e5c: b090 sub sp, #64 ; 0x40
|
|
12e5e: 9d16 ldr r5, [sp, #88] ; 0x58
|
|
12e60: 9e18 ldr r6, [sp, #96] ; 0x60
|
|
12e62: f8dd 806c ldr.w r8, [sp, #108] ; 0x6c
|
|
char buf[PRINTF_NTOA_BUFFER_SIZE];
|
|
size_t len = 0U;
|
|
|
|
// no hash for 0 values
|
|
if(!value) {
|
|
12e66: b92d cbnz r5, 12e74 <_ntoa_long+0x1c>
|
|
flags &= ~FLAGS_HASH;
|
|
12e68: f028 0410 bic.w r4, r8, #16
|
|
}
|
|
|
|
// write if precision != 0 and value is != 0
|
|
if(!(flags & FLAGS_PRECISION) || value) {
|
|
12e6c: f418 6f80 tst.w r8, #1024 ; 0x400
|
|
12e70: d12f bne.n 12ed2 <_ntoa_long+0x7a>
|
|
flags &= ~FLAGS_HASH;
|
|
12e72: 46a0 mov r8, r4
|
|
12e74: f018 0f20 tst.w r8, #32
|
|
12e78: f10d 0e1f add.w lr, sp, #31
|
|
do {
|
|
const char digit = (char)(value % base);
|
|
buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10;
|
|
12e7c: f04f 0700 mov.w r7, #0
|
|
12e80: bf14 ite ne
|
|
12e82: f04f 0c37 movne.w ip, #55 ; 0x37
|
|
12e86: f04f 0c57 moveq.w ip, #87 ; 0x57
|
|
const char digit = (char)(value % base);
|
|
12e8a: fbb5 f4f6 udiv r4, r5, r6
|
|
12e8e: fb06 5414 mls r4, r6, r4, r5
|
|
12e92: b2e4 uxtb r4, r4
|
|
buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10;
|
|
12e94: 3701 adds r7, #1
|
|
12e96: 2c09 cmp r4, #9
|
|
12e98: bf94 ite ls
|
|
12e9a: 3430 addls r4, #48 ; 0x30
|
|
12e9c: 4464 addhi r4, ip
|
|
12e9e: b2e4 uxtb r4, r4
|
|
12ea0: f80e 4f01 strb.w r4, [lr, #1]!
|
|
value /= base;
|
|
12ea4: fbb5 f5f6 udiv r5, r5, r6
|
|
} while(value && (len < PRINTF_NTOA_BUFFER_SIZE));
|
|
12ea8: b10d cbz r5, 12eae <_ntoa_long+0x56>
|
|
12eaa: 2f20 cmp r7, #32
|
|
12eac: d1ed bne.n 12e8a <_ntoa_long+0x32>
|
|
}
|
|
|
|
return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags);
|
|
12eae: f8cd 8018 str.w r8, [sp, #24]
|
|
12eb2: 9c1a ldr r4, [sp, #104] ; 0x68
|
|
12eb4: 9405 str r4, [sp, #20]
|
|
12eb6: 9c19 ldr r4, [sp, #100] ; 0x64
|
|
12eb8: 9404 str r4, [sp, #16]
|
|
12eba: 9603 str r6, [sp, #12]
|
|
12ebc: f89d 405c ldrb.w r4, [sp, #92] ; 0x5c
|
|
12ec0: 9402 str r4, [sp, #8]
|
|
12ec2: 9701 str r7, [sp, #4]
|
|
12ec4: ac08 add r4, sp, #32
|
|
12ec6: 9400 str r4, [sp, #0]
|
|
12ec8: 4c03 ldr r4, [pc, #12] ; (12ed8 <_ntoa_long+0x80>)
|
|
12eca: 47a0 blx r4
|
|
}
|
|
12ecc: b010 add sp, #64 ; 0x40
|
|
12ece: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
flags &= ~FLAGS_HASH;
|
|
12ed2: 46a0 mov r8, r4
|
|
size_t len = 0U;
|
|
12ed4: 2700 movs r7, #0
|
|
12ed6: e7ea b.n 12eae <_ntoa_long+0x56>
|
|
12ed8: 00012c99 .word 0x00012c99
|
|
|
|
00012edc <_ntoa_long_long>:
|
|
|
|
// internal itoa for 'long long' type
|
|
#if defined(PRINTF_SUPPORT_LONG_LONG)
|
|
static size_t _ntoa_long_long(out_fct_type out, char * buffer, size_t idx, size_t maxlen, unsigned long long value,
|
|
bool negative, unsigned long long base, unsigned int prec, unsigned int width, unsigned int flags)
|
|
{
|
|
12edc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
12ee0: b095 sub sp, #84 ; 0x54
|
|
12ee2: 9008 str r0, [sp, #32]
|
|
12ee4: 9109 str r1, [sp, #36] ; 0x24
|
|
12ee6: 920a str r2, [sp, #40] ; 0x28
|
|
12ee8: 930b str r3, [sp, #44] ; 0x2c
|
|
12eea: e9dd 451e ldrd r4, r5, [sp, #120] ; 0x78
|
|
12eee: f8dd 9088 ldr.w r9, [sp, #136] ; 0x88
|
|
12ef2: f8dd 808c ldr.w r8, [sp, #140] ; 0x8c
|
|
char buf[PRINTF_NTOA_BUFFER_SIZE];
|
|
size_t len = 0U;
|
|
|
|
// no hash for 0 values
|
|
if(!value) {
|
|
12ef6: ea54 0305 orrs.w r3, r4, r5
|
|
12efa: d107 bne.n 12f0c <_ntoa_long_long+0x30>
|
|
flags &= ~FLAGS_HASH;
|
|
12efc: 9b26 ldr r3, [sp, #152] ; 0x98
|
|
12efe: f023 0310 bic.w r3, r3, #16
|
|
}
|
|
|
|
// write if precision != 0 and value is != 0
|
|
if(!(flags & FLAGS_PRECISION) || value) {
|
|
12f02: 9a26 ldr r2, [sp, #152] ; 0x98
|
|
12f04: f412 6f80 tst.w r2, #1024 ; 0x400
|
|
12f08: d13e bne.n 12f88 <_ntoa_long_long+0xac>
|
|
flags &= ~FLAGS_HASH;
|
|
12f0a: 9326 str r3, [sp, #152] ; 0x98
|
|
12f0c: 9b26 ldr r3, [sp, #152] ; 0x98
|
|
12f0e: f013 0f20 tst.w r3, #32
|
|
12f12: f10d 0a2f add.w sl, sp, #47 ; 0x2f
|
|
do {
|
|
const char digit = (char)(value % base);
|
|
buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10;
|
|
12f16: f04f 0600 mov.w r6, #0
|
|
const char digit = (char)(value % base);
|
|
12f1a: 4f1d ldr r7, [pc, #116] ; (12f90 <_ntoa_long_long+0xb4>)
|
|
buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10;
|
|
12f1c: bf14 ite ne
|
|
12f1e: f04f 0b37 movne.w fp, #55 ; 0x37
|
|
12f22: f04f 0b57 moveq.w fp, #87 ; 0x57
|
|
const char digit = (char)(value % base);
|
|
12f26: 464a mov r2, r9
|
|
12f28: 4643 mov r3, r8
|
|
12f2a: 4620 mov r0, r4
|
|
12f2c: 4629 mov r1, r5
|
|
12f2e: 47b8 blx r7
|
|
12f30: b2d2 uxtb r2, r2
|
|
buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10;
|
|
12f32: 3601 adds r6, #1
|
|
12f34: 2a09 cmp r2, #9
|
|
12f36: bf94 ite ls
|
|
12f38: 3230 addls r2, #48 ; 0x30
|
|
12f3a: 445a addhi r2, fp
|
|
12f3c: b2d2 uxtb r2, r2
|
|
12f3e: f80a 2f01 strb.w r2, [sl, #1]!
|
|
value /= base;
|
|
12f42: 464a mov r2, r9
|
|
12f44: 4643 mov r3, r8
|
|
12f46: 4620 mov r0, r4
|
|
12f48: 4629 mov r1, r5
|
|
12f4a: 47b8 blx r7
|
|
12f4c: 4604 mov r4, r0
|
|
12f4e: 460d mov r5, r1
|
|
} while(value && (len < PRINTF_NTOA_BUFFER_SIZE));
|
|
12f50: ea54 0305 orrs.w r3, r4, r5
|
|
12f54: d001 beq.n 12f5a <_ntoa_long_long+0x7e>
|
|
12f56: 2e20 cmp r6, #32
|
|
12f58: d1e5 bne.n 12f26 <_ntoa_long_long+0x4a>
|
|
}
|
|
|
|
return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags);
|
|
12f5a: 9b26 ldr r3, [sp, #152] ; 0x98
|
|
12f5c: 9306 str r3, [sp, #24]
|
|
12f5e: 9b25 ldr r3, [sp, #148] ; 0x94
|
|
12f60: 9305 str r3, [sp, #20]
|
|
12f62: 9b24 ldr r3, [sp, #144] ; 0x90
|
|
12f64: 9304 str r3, [sp, #16]
|
|
12f66: f8cd 900c str.w r9, [sp, #12]
|
|
12f6a: f89d 3080 ldrb.w r3, [sp, #128] ; 0x80
|
|
12f6e: 9302 str r3, [sp, #8]
|
|
12f70: 9601 str r6, [sp, #4]
|
|
12f72: ab0c add r3, sp, #48 ; 0x30
|
|
12f74: 9300 str r3, [sp, #0]
|
|
12f76: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
12f78: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
12f7a: 9909 ldr r1, [sp, #36] ; 0x24
|
|
12f7c: 9808 ldr r0, [sp, #32]
|
|
12f7e: 4c05 ldr r4, [pc, #20] ; (12f94 <_ntoa_long_long+0xb8>)
|
|
12f80: 47a0 blx r4
|
|
}
|
|
12f82: b015 add sp, #84 ; 0x54
|
|
12f84: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
flags &= ~FLAGS_HASH;
|
|
12f88: 9326 str r3, [sp, #152] ; 0x98
|
|
size_t len = 0U;
|
|
12f8a: 2600 movs r6, #0
|
|
12f8c: e7e5 b.n 12f5a <_ntoa_long_long+0x7e>
|
|
12f8e: bf00 nop
|
|
12f90: 0001b16d .word 0x0001b16d
|
|
12f94: 00012c99 .word 0x00012c99
|
|
|
|
00012f98 <_vsnprintf>:
|
|
#endif // PRINTF_SUPPORT_FLOAT
|
|
|
|
|
|
// internal vsnprintf
|
|
static int _vsnprintf(out_fct_type out, char * buffer, const size_t maxlen, const char * format, va_list va)
|
|
{
|
|
12f98: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
12f9c: b091 sub sp, #68 ; 0x44
|
|
12f9e: 920a str r2, [sp, #40] ; 0x28
|
|
12fa0: 461c mov r4, r3
|
|
12fa2: 9e1a ldr r6, [sp, #104] ; 0x68
|
|
unsigned int flags, width, precision, n;
|
|
size_t idx = 0U;
|
|
|
|
if(!buffer) {
|
|
12fa4: 910b str r1, [sp, #44] ; 0x2c
|
|
// use null output function
|
|
out = _out_null;
|
|
12fa6: 4b93 ldr r3, [pc, #588] ; (131f4 <_vsnprintf+0x25c>)
|
|
12fa8: 2900 cmp r1, #0
|
|
12faa: bf14 ite ne
|
|
12fac: 4681 movne r9, r0
|
|
12fae: 4699 moveq r9, r3
|
|
format++;
|
|
break;
|
|
}
|
|
|
|
case '%' :
|
|
out('%', buffer, idx++, maxlen);
|
|
12fb0: f04f 0b00 mov.w fp, #0
|
|
while(*format) {
|
|
12fb4: 7820 ldrb r0, [r4, #0]
|
|
12fb6: 2800 cmp r0, #0
|
|
12fb8: f000 826a beq.w 13490 <_vsnprintf+0x4f8>
|
|
if(*format != '%') {
|
|
12fbc: 2825 cmp r0, #37 ; 0x25
|
|
12fbe: d008 beq.n 12fd2 <_vsnprintf+0x3a>
|
|
out(*format, buffer, idx++, maxlen);
|
|
12fc0: f10b 0501 add.w r5, fp, #1
|
|
12fc4: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
12fc6: 465a mov r2, fp
|
|
12fc8: 990b ldr r1, [sp, #44] ; 0x2c
|
|
12fca: 47c8 blx r9
|
|
format++;
|
|
12fcc: 3401 adds r4, #1
|
|
out(*format, buffer, idx++, maxlen);
|
|
12fce: 46ab mov fp, r5
|
|
continue;
|
|
12fd0: e7f0 b.n 12fb4 <_vsnprintf+0x1c>
|
|
format++;
|
|
12fd2: 1c62 adds r2, r4, #1
|
|
flags = 0U;
|
|
12fd4: 2100 movs r1, #0
|
|
12fd6: e001 b.n 12fdc <_vsnprintf+0x44>
|
|
flags |= FLAGS_ZEROPAD;
|
|
12fd8: f041 0101 orr.w r1, r1, #1
|
|
12fdc: 4614 mov r4, r2
|
|
12fde: 3201 adds r2, #1
|
|
switch(*format) {
|
|
12fe0: 7823 ldrb r3, [r4, #0]
|
|
12fe2: 3b20 subs r3, #32
|
|
12fe4: 2b10 cmp r3, #16
|
|
12fe6: d831 bhi.n 1304c <_vsnprintf+0xb4>
|
|
12fe8: a001 add r0, pc, #4 ; (adr r0, 12ff0 <_vsnprintf+0x58>)
|
|
12fea: f850 f023 ldr.w pc, [r0, r3, lsl #2]
|
|
12fee: bf00 nop
|
|
12ff0: 00013041 .word 0x00013041
|
|
12ff4: 0001304d .word 0x0001304d
|
|
12ff8: 0001304d .word 0x0001304d
|
|
12ffc: 00013047 .word 0x00013047
|
|
13000: 0001304d .word 0x0001304d
|
|
13004: 0001304d .word 0x0001304d
|
|
13008: 0001304d .word 0x0001304d
|
|
1300c: 0001304d .word 0x0001304d
|
|
13010: 0001304d .word 0x0001304d
|
|
13014: 0001304d .word 0x0001304d
|
|
13018: 0001304d .word 0x0001304d
|
|
1301c: 0001303b .word 0x0001303b
|
|
13020: 0001304d .word 0x0001304d
|
|
13024: 00013035 .word 0x00013035
|
|
13028: 0001304d .word 0x0001304d
|
|
1302c: 0001304d .word 0x0001304d
|
|
13030: 00012fd9 .word 0x00012fd9
|
|
flags |= FLAGS_LEFT;
|
|
13034: f041 0102 orr.w r1, r1, #2
|
|
break;
|
|
13038: e7d0 b.n 12fdc <_vsnprintf+0x44>
|
|
flags |= FLAGS_PLUS;
|
|
1303a: f041 0104 orr.w r1, r1, #4
|
|
break;
|
|
1303e: e7cd b.n 12fdc <_vsnprintf+0x44>
|
|
flags |= FLAGS_SPACE;
|
|
13040: f041 0108 orr.w r1, r1, #8
|
|
break;
|
|
13044: e7ca b.n 12fdc <_vsnprintf+0x44>
|
|
flags |= FLAGS_HASH;
|
|
13046: f041 0110 orr.w r1, r1, #16
|
|
break;
|
|
1304a: e7c7 b.n 12fdc <_vsnprintf+0x44>
|
|
if(_is_digit(*format)) {
|
|
1304c: 7823 ldrb r3, [r4, #0]
|
|
return (ch >= '0') && (ch <= '9');
|
|
1304e: f1a3 0230 sub.w r2, r3, #48 ; 0x30
|
|
if(_is_digit(*format)) {
|
|
13052: b2d2 uxtb r2, r2
|
|
13054: 2a09 cmp r2, #9
|
|
13056: d916 bls.n 13086 <_vsnprintf+0xee>
|
|
else if(*format == '*') {
|
|
13058: 2b2a cmp r3, #42 ; 0x2a
|
|
1305a: d022 beq.n 130a2 <_vsnprintf+0x10a>
|
|
width = 0U;
|
|
1305c: 2500 movs r5, #0
|
|
if(*format == '.') {
|
|
1305e: 7823 ldrb r3, [r4, #0]
|
|
13060: 2b2e cmp r3, #46 ; 0x2e
|
|
13062: d028 beq.n 130b6 <_vsnprintf+0x11e>
|
|
precision = 0U;
|
|
13064: 2700 movs r7, #0
|
|
switch(*format) {
|
|
13066: 7823 ldrb r3, [r4, #0]
|
|
13068: 3b68 subs r3, #104 ; 0x68
|
|
1306a: 2b12 cmp r3, #18
|
|
1306c: d84f bhi.n 1310e <_vsnprintf+0x176>
|
|
1306e: e8df f003 tbb [pc, r3]
|
|
13072: 4eaa .short 0x4eaa
|
|
13074: 4e454eb8 .word 0x4e454eb8
|
|
13078: 4e4e4e4e .word 0x4e4e4e4e
|
|
1307c: 4eb44e4e .word 0x4eb44e4e
|
|
13080: 4e4e4e4e .word 0x4e4e4e4e
|
|
13084: bc .byte 0xbc
|
|
13085: 00 .byte 0x00
|
|
13086: 2500 movs r5, #0
|
|
i = i * 10U + (unsigned int)(*((*str)++) - '0');
|
|
13088: eb05 0585 add.w r5, r5, r5, lsl #2
|
|
1308c: eb03 0545 add.w r5, r3, r5, lsl #1
|
|
13090: 3d30 subs r5, #48 ; 0x30
|
|
while(_is_digit(**str)) {
|
|
13092: f814 3f01 ldrb.w r3, [r4, #1]!
|
|
return (ch >= '0') && (ch <= '9');
|
|
13096: f1a3 0230 sub.w r2, r3, #48 ; 0x30
|
|
while(_is_digit(**str)) {
|
|
1309a: b2d2 uxtb r2, r2
|
|
1309c: 2a09 cmp r2, #9
|
|
1309e: d9f3 bls.n 13088 <_vsnprintf+0xf0>
|
|
130a0: e7dd b.n 1305e <_vsnprintf+0xc6>
|
|
const int w = va_arg(va, int);
|
|
130a2: 1d33 adds r3, r6, #4
|
|
130a4: 6835 ldr r5, [r6, #0]
|
|
if(w < 0) {
|
|
130a6: 2d00 cmp r5, #0
|
|
flags |= FLAGS_LEFT; // reverse padding
|
|
130a8: bfbc itt lt
|
|
130aa: f041 0102 orrlt.w r1, r1, #2
|
|
width = (unsigned int) - w;
|
|
130ae: 426d neglt r5, r5
|
|
format++;
|
|
130b0: 3401 adds r4, #1
|
|
const int w = va_arg(va, int);
|
|
130b2: 461e mov r6, r3
|
|
130b4: e7d3 b.n 1305e <_vsnprintf+0xc6>
|
|
flags |= FLAGS_PRECISION;
|
|
130b6: f441 6180 orr.w r1, r1, #1024 ; 0x400
|
|
format++;
|
|
130ba: 1c60 adds r0, r4, #1
|
|
if(_is_digit(*format)) {
|
|
130bc: 7863 ldrb r3, [r4, #1]
|
|
return (ch >= '0') && (ch <= '9');
|
|
130be: f1a3 0230 sub.w r2, r3, #48 ; 0x30
|
|
if(_is_digit(*format)) {
|
|
130c2: b2d2 uxtb r2, r2
|
|
130c4: 2a09 cmp r2, #9
|
|
130c6: d904 bls.n 130d2 <_vsnprintf+0x13a>
|
|
else if(*format == '*') {
|
|
130c8: 2b2a cmp r3, #42 ; 0x2a
|
|
130ca: d011 beq.n 130f0 <_vsnprintf+0x158>
|
|
format++;
|
|
130cc: 4604 mov r4, r0
|
|
precision = 0U;
|
|
130ce: 2700 movs r7, #0
|
|
130d0: e7c9 b.n 13066 <_vsnprintf+0xce>
|
|
130d2: 2700 movs r7, #0
|
|
i = i * 10U + (unsigned int)(*((*str)++) - '0');
|
|
130d4: eb07 0787 add.w r7, r7, r7, lsl #2
|
|
130d8: eb03 0747 add.w r7, r3, r7, lsl #1
|
|
130dc: 3f30 subs r7, #48 ; 0x30
|
|
while(_is_digit(**str)) {
|
|
130de: f810 3f01 ldrb.w r3, [r0, #1]!
|
|
return (ch >= '0') && (ch <= '9');
|
|
130e2: f1a3 0230 sub.w r2, r3, #48 ; 0x30
|
|
while(_is_digit(**str)) {
|
|
130e6: b2d2 uxtb r2, r2
|
|
130e8: 2a09 cmp r2, #9
|
|
130ea: d9f3 bls.n 130d4 <_vsnprintf+0x13c>
|
|
i = i * 10U + (unsigned int)(*((*str)++) - '0');
|
|
130ec: 4604 mov r4, r0
|
|
130ee: e7ba b.n 13066 <_vsnprintf+0xce>
|
|
precision = prec > 0 ? (unsigned int)prec : 0U;
|
|
130f0: 6837 ldr r7, [r6, #0]
|
|
130f2: ea27 77e7 bic.w r7, r7, r7, asr #31
|
|
format++;
|
|
130f6: 3402 adds r4, #2
|
|
const int prec = (int)va_arg(va, int);
|
|
130f8: 3604 adds r6, #4
|
|
130fa: e7b4 b.n 13066 <_vsnprintf+0xce>
|
|
if(*format == 'l') {
|
|
130fc: 7863 ldrb r3, [r4, #1]
|
|
130fe: 2b6c cmp r3, #108 ; 0x6c
|
|
flags |= FLAGS_LONG;
|
|
13100: bf19 ittee ne
|
|
13102: f441 7180 orrne.w r1, r1, #256 ; 0x100
|
|
format++;
|
|
13106: 3401 addne r4, #1
|
|
flags |= FLAGS_LONG_LONG;
|
|
13108: f441 7140 orreq.w r1, r1, #768 ; 0x300
|
|
format++;
|
|
1310c: 3402 addeq r4, #2
|
|
switch(*format) {
|
|
1310e: 7820 ldrb r0, [r4, #0]
|
|
13110: f1a0 0325 sub.w r3, r0, #37 ; 0x25
|
|
13114: 2b53 cmp r3, #83 ; 0x53
|
|
13116: f200 81b2 bhi.w 1347e <_vsnprintf+0x4e6>
|
|
1311a: e8df f013 tbh [pc, r3, lsl #1]
|
|
1311e: 01a6 .short 0x01a6
|
|
13120: 01b001b0 .word 0x01b001b0
|
|
13124: 01b001b0 .word 0x01b001b0
|
|
13128: 01b001b0 .word 0x01b001b0
|
|
1312c: 01b001b0 .word 0x01b001b0
|
|
13130: 01b001b0 .word 0x01b001b0
|
|
13134: 01b001b0 .word 0x01b001b0
|
|
13138: 01b001b0 .word 0x01b001b0
|
|
1313c: 01b001b0 .word 0x01b001b0
|
|
13140: 01b001b0 .word 0x01b001b0
|
|
13144: 01b001b0 .word 0x01b001b0
|
|
13148: 01b001b0 .word 0x01b001b0
|
|
1314c: 01b001b0 .word 0x01b001b0
|
|
13150: 01b001b0 .word 0x01b001b0
|
|
13154: 01b001b0 .word 0x01b001b0
|
|
13158: 01b001b0 .word 0x01b001b0
|
|
1315c: 01b001b0 .word 0x01b001b0
|
|
13160: 01b001b0 .word 0x01b001b0
|
|
13164: 01b001b0 .word 0x01b001b0
|
|
13168: 01b001b0 .word 0x01b001b0
|
|
1316c: 01b001b0 .word 0x01b001b0
|
|
13170: 01b001b0 .word 0x01b001b0
|
|
13174: 01b001b0 .word 0x01b001b0
|
|
13178: 01b001b0 .word 0x01b001b0
|
|
1317c: 01b001b0 .word 0x01b001b0
|
|
13180: 01b001b0 .word 0x01b001b0
|
|
13184: 01b0006d .word 0x01b0006d
|
|
13188: 01b001b0 .word 0x01b001b0
|
|
1318c: 01b001b0 .word 0x01b001b0
|
|
13190: 01b001b0 .word 0x01b001b0
|
|
13194: 01b001b0 .word 0x01b001b0
|
|
13198: 0114006d .word 0x0114006d
|
|
1319c: 01b0006d .word 0x01b0006d
|
|
131a0: 01b001b0 .word 0x01b001b0
|
|
131a4: 006d01b0 .word 0x006d01b0
|
|
131a8: 01b001b0 .word 0x01b001b0
|
|
131ac: 01b001b0 .word 0x01b001b0
|
|
131b0: 006d01b0 .word 0x006d01b0
|
|
131b4: 01b0018f .word 0x01b0018f
|
|
131b8: 013701b0 .word 0x013701b0
|
|
131bc: 006d01b0 .word 0x006d01b0
|
|
131c0: 01b001b0 .word 0x01b001b0
|
|
131c4: 006d .short 0x006d
|
|
if(*format == 'h') {
|
|
131c6: 7863 ldrb r3, [r4, #1]
|
|
131c8: 2b68 cmp r3, #104 ; 0x68
|
|
flags |= FLAGS_SHORT;
|
|
131ca: bf19 ittee ne
|
|
131cc: f041 0180 orrne.w r1, r1, #128 ; 0x80
|
|
format++;
|
|
131d0: 3401 addne r4, #1
|
|
flags |= FLAGS_CHAR;
|
|
131d2: f041 01c0 orreq.w r1, r1, #192 ; 0xc0
|
|
format++;
|
|
131d6: 3402 addeq r4, #2
|
|
131d8: e799 b.n 1310e <_vsnprintf+0x176>
|
|
flags |= (sizeof(ptrdiff_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG);
|
|
131da: f441 7180 orr.w r1, r1, #256 ; 0x100
|
|
format++;
|
|
131de: 3401 adds r4, #1
|
|
break;
|
|
131e0: e795 b.n 1310e <_vsnprintf+0x176>
|
|
flags |= (sizeof(intmax_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG);
|
|
131e2: f441 7100 orr.w r1, r1, #512 ; 0x200
|
|
format++;
|
|
131e6: 3401 adds r4, #1
|
|
break;
|
|
131e8: e791 b.n 1310e <_vsnprintf+0x176>
|
|
flags |= (sizeof(size_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG);
|
|
131ea: f441 7180 orr.w r1, r1, #256 ; 0x100
|
|
format++;
|
|
131ee: 3401 adds r4, #1
|
|
break;
|
|
131f0: e78d b.n 1310e <_vsnprintf+0x176>
|
|
131f2: bf00 nop
|
|
131f4: 00012c97 .word 0x00012c97
|
|
if(*format == 'x' || *format == 'X') {
|
|
131f8: 2878 cmp r0, #120 ; 0x78
|
|
131fa: f000 81d5 beq.w 135a8 <_vsnprintf+0x610>
|
|
131fe: 2858 cmp r0, #88 ; 0x58
|
|
13200: f000 8154 beq.w 134ac <_vsnprintf+0x514>
|
|
else if(*format == 'o') {
|
|
13204: 286f cmp r0, #111 ; 0x6f
|
|
13206: f000 81d1 beq.w 135ac <_vsnprintf+0x614>
|
|
else if(*format == 'b') {
|
|
1320a: 2862 cmp r0, #98 ; 0x62
|
|
1320c: f000 81d0 beq.w 135b0 <_vsnprintf+0x618>
|
|
flags &= ~FLAGS_HASH; // no hash for dec format
|
|
13210: f021 0310 bic.w r3, r1, #16
|
|
if((*format != 'i') && (*format != 'd')) {
|
|
13214: 2869 cmp r0, #105 ; 0x69
|
|
13216: d126 bne.n 13266 <_vsnprintf+0x2ce>
|
|
if(flags & FLAGS_PRECISION) {
|
|
13218: f411 6f80 tst.w r1, #1024 ; 0x400
|
|
1321c: f040 81c0 bne.w 135a0 <_vsnprintf+0x608>
|
|
base = 10U;
|
|
13220: 220a movs r2, #10
|
|
if(flags & FLAGS_LONG_LONG) {
|
|
13222: f413 7f00 tst.w r3, #512 ; 0x200
|
|
13226: d124 bne.n 13272 <_vsnprintf+0x2da>
|
|
else if(flags & FLAGS_LONG) {
|
|
13228: f413 7f80 tst.w r3, #256 ; 0x100
|
|
1322c: d144 bne.n 132b8 <_vsnprintf+0x320>
|
|
const int value = (flags & FLAGS_CHAR) ? (char)va_arg(va, int) : (flags & FLAGS_SHORT) ? (short int)va_arg(va,
|
|
1322e: f013 0f40 tst.w r3, #64 ; 0x40
|
|
13232: d157 bne.n 132e4 <_vsnprintf+0x34c>
|
|
int) : va_arg(va, int);
|
|
13234: f013 0f80 tst.w r3, #128 ; 0x80
|
|
13238: bf14 ite ne
|
|
1323a: f9b6 1000 ldrshne.w r1, [r6]
|
|
1323e: 6831 ldreq r1, [r6, #0]
|
|
13240: 3604 adds r6, #4
|
|
idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned int)(value > 0 ? value : 0 - value), value < 0, base, precision,
|
|
13242: 9305 str r3, [sp, #20]
|
|
13244: 9504 str r5, [sp, #16]
|
|
13246: 9703 str r7, [sp, #12]
|
|
13248: 9202 str r2, [sp, #8]
|
|
1324a: 0fcb lsrs r3, r1, #31
|
|
1324c: 9301 str r3, [sp, #4]
|
|
1324e: 2900 cmp r1, #0
|
|
13250: bfb8 it lt
|
|
13252: 4249 neglt r1, r1
|
|
13254: 9100 str r1, [sp, #0]
|
|
13256: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13258: 465a mov r2, fp
|
|
1325a: 990b ldr r1, [sp, #44] ; 0x2c
|
|
1325c: 4648 mov r0, r9
|
|
1325e: 4dac ldr r5, [pc, #688] ; (13510 <_vsnprintf+0x578>)
|
|
13260: 47a8 blx r5
|
|
13262: 4683 mov fp, r0
|
|
13264: e152 b.n 1350c <_vsnprintf+0x574>
|
|
if((*format != 'i') && (*format != 'd')) {
|
|
13266: 2864 cmp r0, #100 ; 0x64
|
|
13268: f000 8156 beq.w 13518 <_vsnprintf+0x580>
|
|
flags &= ~FLAGS_HASH; // no hash for dec format
|
|
1326c: 4619 mov r1, r3
|
|
base = 10U;
|
|
1326e: 220a movs r2, #10
|
|
13270: e11f b.n 134b2 <_vsnprintf+0x51a>
|
|
const long long value = va_arg(va, long long);
|
|
13272: 1df1 adds r1, r6, #7
|
|
13274: f021 0107 bic.w r1, r1, #7
|
|
13278: f101 0608 add.w r6, r1, #8
|
|
1327c: 6808 ldr r0, [r1, #0]
|
|
1327e: 6849 ldr r1, [r1, #4]
|
|
idx = _ntoa_long_long(out, buffer, idx, maxlen, (unsigned long long)(value > 0 ? value : 0 - value), value < 0, base,
|
|
13280: 9308 str r3, [sp, #32]
|
|
13282: 9507 str r5, [sp, #28]
|
|
13284: 9706 str r7, [sp, #24]
|
|
13286: 9204 str r2, [sp, #16]
|
|
13288: 2300 movs r3, #0
|
|
1328a: 9305 str r3, [sp, #20]
|
|
1328c: 0fcb lsrs r3, r1, #31
|
|
1328e: 9302 str r3, [sp, #8]
|
|
13290: 4602 mov r2, r0
|
|
13292: 460b mov r3, r1
|
|
13294: 2800 cmp r0, #0
|
|
13296: f173 0100 sbcs.w r1, r3, #0
|
|
1329a: db09 blt.n 132b0 <_vsnprintf+0x318>
|
|
1329c: e9cd 2300 strd r2, r3, [sp]
|
|
132a0: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
132a2: 465a mov r2, fp
|
|
132a4: 990b ldr r1, [sp, #44] ; 0x2c
|
|
132a6: 4648 mov r0, r9
|
|
132a8: 4d9a ldr r5, [pc, #616] ; (13514 <_vsnprintf+0x57c>)
|
|
132aa: 47a8 blx r5
|
|
132ac: 4683 mov fp, r0
|
|
132ae: e12d b.n 1350c <_vsnprintf+0x574>
|
|
132b0: 4242 negs r2, r0
|
|
132b2: eb63 0343 sbc.w r3, r3, r3, lsl #1
|
|
132b6: e7f1 b.n 1329c <_vsnprintf+0x304>
|
|
const long value = va_arg(va, long);
|
|
132b8: f106 0804 add.w r8, r6, #4
|
|
132bc: 6831 ldr r1, [r6, #0]
|
|
idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)(value > 0 ? value : 0 - value), value < 0, base, precision,
|
|
132be: 9305 str r3, [sp, #20]
|
|
132c0: 9504 str r5, [sp, #16]
|
|
132c2: 9703 str r7, [sp, #12]
|
|
132c4: 9202 str r2, [sp, #8]
|
|
132c6: 0fcb lsrs r3, r1, #31
|
|
132c8: 9301 str r3, [sp, #4]
|
|
132ca: 2900 cmp r1, #0
|
|
132cc: bfb8 it lt
|
|
132ce: 4249 neglt r1, r1
|
|
132d0: 9100 str r1, [sp, #0]
|
|
132d2: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
132d4: 465a mov r2, fp
|
|
132d6: 990b ldr r1, [sp, #44] ; 0x2c
|
|
132d8: 4648 mov r0, r9
|
|
132da: 4d8d ldr r5, [pc, #564] ; (13510 <_vsnprintf+0x578>)
|
|
132dc: 47a8 blx r5
|
|
132de: 4683 mov fp, r0
|
|
const long value = va_arg(va, long);
|
|
132e0: 4646 mov r6, r8
|
|
132e2: e113 b.n 1350c <_vsnprintf+0x574>
|
|
132e4: 7831 ldrb r1, [r6, #0]
|
|
const int value = (flags & FLAGS_CHAR) ? (char)va_arg(va, int) : (flags & FLAGS_SHORT) ? (short int)va_arg(va,
|
|
132e6: 3604 adds r6, #4
|
|
132e8: e7ab b.n 13242 <_vsnprintf+0x2aa>
|
|
idx = _ntoa_long_long(out, buffer, idx, maxlen, va_arg(va, unsigned long long), false, base, precision, width, flags);
|
|
132ea: 1df1 adds r1, r6, #7
|
|
132ec: f021 0107 bic.w r1, r1, #7
|
|
132f0: f101 0608 add.w r6, r1, #8
|
|
132f4: 9308 str r3, [sp, #32]
|
|
132f6: 9507 str r5, [sp, #28]
|
|
132f8: 9706 str r7, [sp, #24]
|
|
132fa: 2300 movs r3, #0
|
|
132fc: 9204 str r2, [sp, #16]
|
|
132fe: 9305 str r3, [sp, #20]
|
|
13300: 9302 str r3, [sp, #8]
|
|
13302: e9d1 2300 ldrd r2, r3, [r1]
|
|
13306: e9cd 2300 strd r2, r3, [sp]
|
|
1330a: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
1330c: 465a mov r2, fp
|
|
1330e: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13310: 4648 mov r0, r9
|
|
13312: 4d80 ldr r5, [pc, #512] ; (13514 <_vsnprintf+0x57c>)
|
|
13314: 47a8 blx r5
|
|
13316: 4683 mov fp, r0
|
|
13318: e0f8 b.n 1350c <_vsnprintf+0x574>
|
|
idx = _ntoa_long(out, buffer, idx, maxlen, va_arg(va, unsigned long), false, base, precision, width, flags);
|
|
1331a: f106 0804 add.w r8, r6, #4
|
|
1331e: 9305 str r3, [sp, #20]
|
|
13320: 9504 str r5, [sp, #16]
|
|
13322: 9703 str r7, [sp, #12]
|
|
13324: 9202 str r2, [sp, #8]
|
|
13326: 2300 movs r3, #0
|
|
13328: 9301 str r3, [sp, #4]
|
|
1332a: 6833 ldr r3, [r6, #0]
|
|
1332c: 9300 str r3, [sp, #0]
|
|
1332e: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13330: 465a mov r2, fp
|
|
13332: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13334: 4648 mov r0, r9
|
|
13336: 4d76 ldr r5, [pc, #472] ; (13510 <_vsnprintf+0x578>)
|
|
13338: 47a8 blx r5
|
|
1333a: 4683 mov fp, r0
|
|
1333c: 4646 mov r6, r8
|
|
1333e: e0e5 b.n 1350c <_vsnprintf+0x574>
|
|
13340: 7831 ldrb r1, [r6, #0]
|
|
const unsigned int value = (flags & FLAGS_CHAR) ? (unsigned char)va_arg(va,
|
|
13342: 3604 adds r6, #4
|
|
13344: e0d4 b.n 134f0 <_vsnprintf+0x558>
|
|
if(!(flags & FLAGS_LEFT)) {
|
|
13346: f011 0f02 tst.w r1, #2
|
|
1334a: f040 80ea bne.w 13522 <_vsnprintf+0x58a>
|
|
while(l++ < width) {
|
|
1334e: 2d01 cmp r5, #1
|
|
13350: f240 8103 bls.w 1355a <_vsnprintf+0x5c2>
|
|
13354: f10b 37ff add.w r7, fp, #4294967295
|
|
13358: 442f add r7, r5
|
|
out(' ', buffer, idx++, maxlen);
|
|
1335a: f04f 0820 mov.w r8, #32
|
|
1335e: 465a mov r2, fp
|
|
13360: 1c55 adds r5, r2, #1
|
|
13362: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13364: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13366: 4640 mov r0, r8
|
|
13368: 47c8 blx r9
|
|
1336a: 462a mov r2, r5
|
|
while(l++ < width) {
|
|
1336c: 42bd cmp r5, r7
|
|
1336e: d1f7 bne.n 13360 <_vsnprintf+0x3c8>
|
|
out((char)va_arg(va, int), buffer, idx++, maxlen);
|
|
13370: 1d37 adds r7, r6, #4
|
|
13372: f105 0b01 add.w fp, r5, #1
|
|
13376: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13378: 462a mov r2, r5
|
|
1337a: 990b ldr r1, [sp, #44] ; 0x2c
|
|
1337c: 7830 ldrb r0, [r6, #0]
|
|
1337e: 47c8 blx r9
|
|
13380: 463e mov r6, r7
|
|
format++;
|
|
13382: 3401 adds r4, #1
|
|
break;
|
|
13384: e616 b.n 12fb4 <_vsnprintf+0x1c>
|
|
out((char)va_arg(va, int), buffer, idx++, maxlen);
|
|
13386: 9e0c ldr r6, [sp, #48] ; 0x30
|
|
13388: 46bb mov fp, r7
|
|
1338a: e7fa b.n 13382 <_vsnprintf+0x3ea>
|
|
const char * p = va_arg(va, char *);
|
|
1338c: 1d33 adds r3, r6, #4
|
|
1338e: 930e str r3, [sp, #56] ; 0x38
|
|
13390: 6833 ldr r3, [r6, #0]
|
|
13392: 461a mov r2, r3
|
|
13394: 930c str r3, [sp, #48] ; 0x30
|
|
unsigned int l = _strnlen_s(p, precision ? precision : (size_t) -1);
|
|
13396: 2f00 cmp r7, #0
|
|
13398: bf14 ite ne
|
|
1339a: 463b movne r3, r7
|
|
1339c: f04f 33ff moveq.w r3, #4294967295
|
|
for(s = str; *s && maxsize--; ++s);
|
|
133a0: 7810 ldrb r0, [r2, #0]
|
|
133a2: 2800 cmp r0, #0
|
|
133a4: f000 80db beq.w 1355e <_vsnprintf+0x5c6>
|
|
133a8: f812 6f01 ldrb.w r6, [r2, #1]!
|
|
133ac: b10e cbz r6, 133b2 <_vsnprintf+0x41a>
|
|
133ae: 3b01 subs r3, #1
|
|
133b0: d1fa bne.n 133a8 <_vsnprintf+0x410>
|
|
return (unsigned int)(s - str);
|
|
133b2: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
133b4: 1ad3 subs r3, r2, r3
|
|
133b6: 930d str r3, [sp, #52] ; 0x34
|
|
if(flags & FLAGS_PRECISION) {
|
|
133b8: f411 6a80 ands.w sl, r1, #1024 ; 0x400
|
|
133bc: d003 beq.n 133c6 <_vsnprintf+0x42e>
|
|
l = (l < precision ? l : precision);
|
|
133be: 42bb cmp r3, r7
|
|
133c0: bf28 it cs
|
|
133c2: 463b movcs r3, r7
|
|
133c4: 930d str r3, [sp, #52] ; 0x34
|
|
if(!(flags & FLAGS_LEFT)) {
|
|
133c6: f011 0302 ands.w r3, r1, #2
|
|
133ca: 930f str r3, [sp, #60] ; 0x3c
|
|
133cc: f040 80ce bne.w 1356c <_vsnprintf+0x5d4>
|
|
while(l++ < width) {
|
|
133d0: 990d ldr r1, [sp, #52] ; 0x34
|
|
133d2: 460b mov r3, r1
|
|
133d4: 3301 adds r3, #1
|
|
133d6: 428d cmp r5, r1
|
|
133d8: f240 80c3 bls.w 13562 <_vsnprintf+0x5ca>
|
|
133dc: eb05 080b add.w r8, r5, fp
|
|
133e0: eba8 0801 sub.w r8, r8, r1
|
|
out(' ', buffer, idx++, maxlen);
|
|
133e4: 465a mov r2, fp
|
|
133e6: 1c56 adds r6, r2, #1
|
|
133e8: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
133ea: 990b ldr r1, [sp, #44] ; 0x2c
|
|
133ec: 2020 movs r0, #32
|
|
133ee: 47c8 blx r9
|
|
133f0: 4632 mov r2, r6
|
|
while(l++ < width) {
|
|
133f2: 4546 cmp r6, r8
|
|
133f4: d1f7 bne.n 133e6 <_vsnprintf+0x44e>
|
|
133f6: 1c6b adds r3, r5, #1
|
|
133f8: 930d str r3, [sp, #52] ; 0x34
|
|
while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) {
|
|
133fa: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
133fc: 7818 ldrb r0, [r3, #0]
|
|
133fe: 2800 cmp r0, #0
|
|
13400: f000 80b2 beq.w 13568 <_vsnprintf+0x5d0>
|
|
13404: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30
|
|
13408: 4632 mov r2, r6
|
|
1340a: 4656 mov r6, sl
|
|
1340c: e009 b.n 13422 <_vsnprintf+0x48a>
|
|
1340e: 461f mov r7, r3
|
|
out(*(p++), buffer, idx++, maxlen);
|
|
13410: f102 0b01 add.w fp, r2, #1
|
|
13414: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13416: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13418: 47c8 blx r9
|
|
while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) {
|
|
1341a: f818 0f01 ldrb.w r0, [r8, #1]!
|
|
1341e: b130 cbz r0, 1342e <_vsnprintf+0x496>
|
|
out(*(p++), buffer, idx++, maxlen);
|
|
13420: 465a mov r2, fp
|
|
while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) {
|
|
13422: 2e00 cmp r6, #0
|
|
13424: d0f4 beq.n 13410 <_vsnprintf+0x478>
|
|
13426: 1e7b subs r3, r7, #1
|
|
13428: 2f00 cmp r7, #0
|
|
1342a: d1f0 bne.n 1340e <_vsnprintf+0x476>
|
|
1342c: 4693 mov fp, r2
|
|
if(flags & FLAGS_LEFT) {
|
|
1342e: 9b0f ldr r3, [sp, #60] ; 0x3c
|
|
13430: 2b00 cmp r3, #0
|
|
13432: f040 809f bne.w 13574 <_vsnprintf+0x5dc>
|
|
format++;
|
|
13436: 3401 adds r4, #1
|
|
const char * p = va_arg(va, char *);
|
|
13438: 9e0e ldr r6, [sp, #56] ; 0x38
|
|
break;
|
|
1343a: e5bb b.n 12fb4 <_vsnprintf+0x1c>
|
|
idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width,
|
|
1343c: 1d35 adds r5, r6, #4
|
|
flags |= FLAGS_ZEROPAD | FLAGS_UPPERCASE;
|
|
1343e: f041 0121 orr.w r1, r1, #33 ; 0x21
|
|
idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width,
|
|
13442: 9105 str r1, [sp, #20]
|
|
13444: 2308 movs r3, #8
|
|
13446: 9304 str r3, [sp, #16]
|
|
13448: 9703 str r7, [sp, #12]
|
|
1344a: 2310 movs r3, #16
|
|
1344c: 9302 str r3, [sp, #8]
|
|
1344e: 2300 movs r3, #0
|
|
13450: 9301 str r3, [sp, #4]
|
|
13452: 6833 ldr r3, [r6, #0]
|
|
13454: 9300 str r3, [sp, #0]
|
|
13456: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13458: 465a mov r2, fp
|
|
1345a: 990b ldr r1, [sp, #44] ; 0x2c
|
|
1345c: 4648 mov r0, r9
|
|
1345e: 4e2c ldr r6, [pc, #176] ; (13510 <_vsnprintf+0x578>)
|
|
13460: 47b0 blx r6
|
|
13462: 4683 mov fp, r0
|
|
format++;
|
|
13464: 3401 adds r4, #1
|
|
idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width,
|
|
13466: 462e mov r6, r5
|
|
break;
|
|
13468: e5a4 b.n 12fb4 <_vsnprintf+0x1c>
|
|
out('%', buffer, idx++, maxlen);
|
|
1346a: f10b 0501 add.w r5, fp, #1
|
|
1346e: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13470: 465a mov r2, fp
|
|
13472: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13474: 2025 movs r0, #37 ; 0x25
|
|
13476: 47c8 blx r9
|
|
format++;
|
|
13478: 3401 adds r4, #1
|
|
out('%', buffer, idx++, maxlen);
|
|
1347a: 46ab mov fp, r5
|
|
break;
|
|
1347c: e59a b.n 12fb4 <_vsnprintf+0x1c>
|
|
|
|
default :
|
|
out(*format, buffer, idx++, maxlen);
|
|
1347e: f10b 0501 add.w r5, fp, #1
|
|
13482: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13484: 465a mov r2, fp
|
|
13486: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13488: 47c8 blx r9
|
|
format++;
|
|
1348a: 3401 adds r4, #1
|
|
out(*format, buffer, idx++, maxlen);
|
|
1348c: 46ab mov fp, r5
|
|
break;
|
|
1348e: e591 b.n 12fb4 <_vsnprintf+0x1c>
|
|
}
|
|
}
|
|
|
|
// termination
|
|
out((char)0, buffer, idx < maxlen ? idx : maxlen - 1U, maxlen);
|
|
13490: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
13492: 4593 cmp fp, r2
|
|
13494: bf2c ite cs
|
|
13496: f102 32ff addcs.w r2, r2, #4294967295
|
|
1349a: 465a movcc r2, fp
|
|
1349c: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
1349e: 990b ldr r1, [sp, #44] ; 0x2c
|
|
134a0: 2000 movs r0, #0
|
|
134a2: 47c8 blx r9
|
|
|
|
// return written chars without terminating \0
|
|
return (int)idx;
|
|
}
|
|
134a4: 4658 mov r0, fp
|
|
134a6: b011 add sp, #68 ; 0x44
|
|
134a8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
flags |= FLAGS_UPPERCASE;
|
|
134ac: f041 0120 orr.w r1, r1, #32
|
|
base = 16U;
|
|
134b0: 2210 movs r2, #16
|
|
flags &= ~(FLAGS_PLUS | FLAGS_SPACE);
|
|
134b2: f021 030c bic.w r3, r1, #12
|
|
if(flags & FLAGS_PRECISION) {
|
|
134b6: f411 6f80 tst.w r1, #1024 ; 0x400
|
|
134ba: d007 beq.n 134cc <_vsnprintf+0x534>
|
|
flags &= ~FLAGS_ZEROPAD;
|
|
134bc: f021 030d bic.w r3, r1, #13
|
|
if((*format == 'i') || (*format == 'd')) {
|
|
134c0: 2869 cmp r0, #105 ; 0x69
|
|
134c2: f43f aeae beq.w 13222 <_vsnprintf+0x28a>
|
|
134c6: 2864 cmp r0, #100 ; 0x64
|
|
134c8: f43f aeab beq.w 13222 <_vsnprintf+0x28a>
|
|
if(flags & FLAGS_LONG_LONG) {
|
|
134cc: f413 7f00 tst.w r3, #512 ; 0x200
|
|
134d0: f47f af0b bne.w 132ea <_vsnprintf+0x352>
|
|
else if(flags & FLAGS_LONG) {
|
|
134d4: f413 7f80 tst.w r3, #256 ; 0x100
|
|
134d8: f47f af1f bne.w 1331a <_vsnprintf+0x382>
|
|
unsigned int) : (flags & FLAGS_SHORT) ? (unsigned short int)va_arg(va, unsigned int) : va_arg(va, unsigned int);
|
|
134dc: f013 0f40 tst.w r3, #64 ; 0x40
|
|
134e0: f47f af2e bne.w 13340 <_vsnprintf+0x3a8>
|
|
134e4: f013 0f80 tst.w r3, #128 ; 0x80
|
|
134e8: bf14 ite ne
|
|
134ea: 8831 ldrhne r1, [r6, #0]
|
|
134ec: 6831 ldreq r1, [r6, #0]
|
|
134ee: 3604 adds r6, #4
|
|
idx = _ntoa_long(out, buffer, idx, maxlen, value, false, base, precision, width, flags);
|
|
134f0: 9305 str r3, [sp, #20]
|
|
134f2: 9504 str r5, [sp, #16]
|
|
134f4: 9703 str r7, [sp, #12]
|
|
134f6: 9202 str r2, [sp, #8]
|
|
134f8: 2300 movs r3, #0
|
|
134fa: 9301 str r3, [sp, #4]
|
|
134fc: 9100 str r1, [sp, #0]
|
|
134fe: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13500: 465a mov r2, fp
|
|
13502: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13504: 4648 mov r0, r9
|
|
13506: 4d02 ldr r5, [pc, #8] ; (13510 <_vsnprintf+0x578>)
|
|
13508: 47a8 blx r5
|
|
1350a: 4683 mov fp, r0
|
|
format++;
|
|
1350c: 3401 adds r4, #1
|
|
break;
|
|
1350e: e551 b.n 12fb4 <_vsnprintf+0x1c>
|
|
13510: 00012e59 .word 0x00012e59
|
|
13514: 00012edd .word 0x00012edd
|
|
if(flags & FLAGS_PRECISION) {
|
|
13518: f411 6f80 tst.w r1, #1024 ; 0x400
|
|
1351c: d13c bne.n 13598 <_vsnprintf+0x600>
|
|
base = 10U;
|
|
1351e: 220a movs r2, #10
|
|
13520: e67f b.n 13222 <_vsnprintf+0x28a>
|
|
out((char)va_arg(va, int), buffer, idx++, maxlen);
|
|
13522: 1d33 adds r3, r6, #4
|
|
13524: 930c str r3, [sp, #48] ; 0x30
|
|
13526: f10b 0701 add.w r7, fp, #1
|
|
1352a: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
1352c: 465a mov r2, fp
|
|
1352e: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13530: 7830 ldrb r0, [r6, #0]
|
|
13532: 47c8 blx r9
|
|
while(l++ < width) {
|
|
13534: 2d01 cmp r5, #1
|
|
13536: f67f af26 bls.w 13386 <_vsnprintf+0x3ee>
|
|
1353a: eb05 0a0b add.w sl, r5, fp
|
|
out(' ', buffer, idx++, maxlen);
|
|
1353e: f04f 0820 mov.w r8, #32
|
|
13542: 463a mov r2, r7
|
|
13544: 1c56 adds r6, r2, #1
|
|
13546: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13548: 990b ldr r1, [sp, #44] ; 0x2c
|
|
1354a: 4640 mov r0, r8
|
|
1354c: 47c8 blx r9
|
|
1354e: 4632 mov r2, r6
|
|
while(l++ < width) {
|
|
13550: 45b2 cmp sl, r6
|
|
13552: d1f7 bne.n 13544 <_vsnprintf+0x5ac>
|
|
13554: 44ab add fp, r5
|
|
out((char)va_arg(va, int), buffer, idx++, maxlen);
|
|
13556: 9e0c ldr r6, [sp, #48] ; 0x30
|
|
13558: e713 b.n 13382 <_vsnprintf+0x3ea>
|
|
while(l++ < width) {
|
|
1355a: 465d mov r5, fp
|
|
1355c: e708 b.n 13370 <_vsnprintf+0x3d8>
|
|
for(s = str; *s && maxsize--; ++s);
|
|
1355e: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
13560: e727 b.n 133b2 <_vsnprintf+0x41a>
|
|
while(l++ < width) {
|
|
13562: 930d str r3, [sp, #52] ; 0x34
|
|
13564: 465e mov r6, fp
|
|
13566: e748 b.n 133fa <_vsnprintf+0x462>
|
|
while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) {
|
|
13568: 46b3 mov fp, r6
|
|
1356a: e764 b.n 13436 <_vsnprintf+0x49e>
|
|
1356c: 465e mov r6, fp
|
|
1356e: 2800 cmp r0, #0
|
|
13570: f47f af48 bne.w 13404 <_vsnprintf+0x46c>
|
|
while(l++ < width) {
|
|
13574: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
13576: 4295 cmp r5, r2
|
|
13578: f67f af5d bls.w 13436 <_vsnprintf+0x49e>
|
|
1357c: 445d add r5, fp
|
|
1357e: 1aad subs r5, r5, r2
|
|
13580: 465a mov r2, fp
|
|
out(' ', buffer, idx++, maxlen);
|
|
13582: 2620 movs r6, #32
|
|
13584: f102 0b01 add.w fp, r2, #1
|
|
13588: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
1358a: 990b ldr r1, [sp, #44] ; 0x2c
|
|
1358c: 4630 mov r0, r6
|
|
1358e: 47c8 blx r9
|
|
13590: 465a mov r2, fp
|
|
while(l++ < width) {
|
|
13592: 45ab cmp fp, r5
|
|
13594: d1f6 bne.n 13584 <_vsnprintf+0x5ec>
|
|
13596: e74e b.n 13436 <_vsnprintf+0x49e>
|
|
flags &= ~FLAGS_ZEROPAD;
|
|
13598: f021 0311 bic.w r3, r1, #17
|
|
base = 10U;
|
|
1359c: 220a movs r2, #10
|
|
1359e: e640 b.n 13222 <_vsnprintf+0x28a>
|
|
flags &= ~FLAGS_ZEROPAD;
|
|
135a0: f021 0311 bic.w r3, r1, #17
|
|
base = 10U;
|
|
135a4: 220a movs r2, #10
|
|
135a6: e63c b.n 13222 <_vsnprintf+0x28a>
|
|
base = 16U;
|
|
135a8: 2210 movs r2, #16
|
|
135aa: e782 b.n 134b2 <_vsnprintf+0x51a>
|
|
base = 8U;
|
|
135ac: 2208 movs r2, #8
|
|
135ae: e780 b.n 134b2 <_vsnprintf+0x51a>
|
|
base = 2U;
|
|
135b0: 2202 movs r2, #2
|
|
135b2: e77e b.n 134b2 <_vsnprintf+0x51a>
|
|
|
|
000135b4 <lv_vsnprintf>:
|
|
va_end(va);
|
|
return ret;
|
|
}
|
|
|
|
int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va)
|
|
{
|
|
135b4: b510 push {r4, lr}
|
|
135b6: b082 sub sp, #8
|
|
return _vsnprintf(_out_buffer, buffer, count, format, va);
|
|
135b8: 9300 str r3, [sp, #0]
|
|
135ba: 4613 mov r3, r2
|
|
135bc: 460a mov r2, r1
|
|
135be: 4601 mov r1, r0
|
|
135c0: 4802 ldr r0, [pc, #8] ; (135cc <lv_vsnprintf+0x18>)
|
|
135c2: 4c03 ldr r4, [pc, #12] ; (135d0 <lv_vsnprintf+0x1c>)
|
|
135c4: 47a0 blx r4
|
|
}
|
|
135c6: b002 add sp, #8
|
|
135c8: bd10 pop {r4, pc}
|
|
135ca: bf00 nop
|
|
135cc: 00012c8f .word 0x00012c8f
|
|
135d0: 00012f99 .word 0x00012f99
|
|
|
|
000135d4 <_lv_task_core_init>:
|
|
|
|
/**
|
|
* Init the lv_task module
|
|
*/
|
|
void _lv_task_core_init(void)
|
|
{
|
|
135d4: b508 push {r3, lr}
|
|
_lv_ll_init(&LV_GC_ROOT(_lv_task_ll), sizeof(lv_task_t));
|
|
135d6: 2118 movs r1, #24
|
|
135d8: 4804 ldr r0, [pc, #16] ; (135ec <_lv_task_core_init+0x18>)
|
|
135da: 4b05 ldr r3, [pc, #20] ; (135f0 <_lv_task_core_init+0x1c>)
|
|
135dc: 4798 blx r3
|
|
|
|
task_list_changed = false;
|
|
135de: 4b05 ldr r3, [pc, #20] ; (135f4 <_lv_task_core_init+0x20>)
|
|
135e0: 2200 movs r2, #0
|
|
135e2: 701a strb r2, [r3, #0]
|
|
* Enable or disable the whole lv_task handling
|
|
* @param en: true: lv_task handling is running, false: lv_task handling is suspended
|
|
*/
|
|
void lv_task_enable(bool en)
|
|
{
|
|
lv_task_run = en;
|
|
135e4: 2201 movs r2, #1
|
|
135e6: 705a strb r2, [r3, #1]
|
|
135e8: bd08 pop {r3, pc}
|
|
135ea: bf00 nop
|
|
135ec: 20006c80 .word 0x20006c80
|
|
135f0: 00011ee1 .word 0x00011ee1
|
|
135f4: 20006bb8 .word 0x20006bb8
|
|
|
|
000135f8 <lv_task_create_basic>:
|
|
{
|
|
135f8: b5f0 push {r4, r5, r6, r7, lr}
|
|
135fa: b083 sub sp, #12
|
|
tmp = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll));
|
|
135fc: 4837 ldr r0, [pc, #220] ; (136dc <lv_task_create_basic+0xe4>)
|
|
135fe: 4b38 ldr r3, [pc, #224] ; (136e0 <lv_task_create_basic+0xe8>)
|
|
13600: 4798 blx r3
|
|
if(NULL == tmp) {
|
|
13602: b310 cbz r0, 1364a <lv_task_create_basic+0x52>
|
|
13604: 4604 mov r4, r0
|
|
tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp);
|
|
13606: 4e35 ldr r6, [pc, #212] ; (136dc <lv_task_create_basic+0xe4>)
|
|
13608: 4d36 ldr r5, [pc, #216] ; (136e4 <lv_task_create_basic+0xec>)
|
|
if(tmp->prio <= DEF_PRIO) {
|
|
1360a: 7d23 ldrb r3, [r4, #20]
|
|
1360c: f003 0307 and.w r3, r3, #7
|
|
13610: 2b03 cmp r3, #3
|
|
13612: dd30 ble.n 13676 <lv_task_create_basic+0x7e>
|
|
tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp);
|
|
13614: 4621 mov r1, r4
|
|
13616: 4630 mov r0, r6
|
|
13618: 47a8 blx r5
|
|
} while(tmp != NULL);
|
|
1361a: 4604 mov r4, r0
|
|
1361c: 2800 cmp r0, #0
|
|
1361e: d1f4 bne.n 1360a <lv_task_create_basic+0x12>
|
|
new_task = _lv_ll_ins_tail(&LV_GC_ROOT(_lv_task_ll));
|
|
13620: 482e ldr r0, [pc, #184] ; (136dc <lv_task_create_basic+0xe4>)
|
|
13622: 4b31 ldr r3, [pc, #196] ; (136e8 <lv_task_create_basic+0xf0>)
|
|
13624: 4798 blx r3
|
|
13626: 4605 mov r5, r0
|
|
LV_ASSERT_MEM(new_task);
|
|
13628: 4b30 ldr r3, [pc, #192] ; (136ec <lv_task_create_basic+0xf4>)
|
|
1362a: 4798 blx r3
|
|
1362c: 2800 cmp r0, #0
|
|
1362e: d152 bne.n 136d6 <lv_task_create_basic+0xde>
|
|
13630: 4b2f ldr r3, [pc, #188] ; (136f0 <lv_task_create_basic+0xf8>)
|
|
13632: 9300 str r3, [sp, #0]
|
|
13634: 22e5 movs r2, #229 ; 0xe5
|
|
13636: 492f ldr r1, [pc, #188] ; (136f4 <lv_task_create_basic+0xfc>)
|
|
13638: 2003 movs r0, #3
|
|
1363a: 4c2f ldr r4, [pc, #188] ; (136f8 <lv_task_create_basic+0x100>)
|
|
1363c: 47a0 blx r4
|
|
1363e: 462a mov r2, r5
|
|
13640: 2300 movs r3, #0
|
|
13642: 482e ldr r0, [pc, #184] ; (136fc <lv_task_create_basic+0x104>)
|
|
13644: 492e ldr r1, [pc, #184] ; (13700 <lv_task_create_basic+0x108>)
|
|
13646: 4788 blx r1
|
|
13648: e7fe b.n 13648 <lv_task_create_basic+0x50>
|
|
new_task = _lv_ll_ins_head(&LV_GC_ROOT(_lv_task_ll));
|
|
1364a: 4824 ldr r0, [pc, #144] ; (136dc <lv_task_create_basic+0xe4>)
|
|
1364c: 4b2d ldr r3, [pc, #180] ; (13704 <lv_task_create_basic+0x10c>)
|
|
1364e: 4798 blx r3
|
|
13650: 4605 mov r5, r0
|
|
LV_ASSERT_MEM(new_task);
|
|
13652: 4b26 ldr r3, [pc, #152] ; (136ec <lv_task_create_basic+0xf4>)
|
|
13654: 4798 blx r3
|
|
13656: b960 cbnz r0, 13672 <lv_task_create_basic+0x7a>
|
|
13658: 4b25 ldr r3, [pc, #148] ; (136f0 <lv_task_create_basic+0xf8>)
|
|
1365a: 9300 str r3, [sp, #0]
|
|
1365c: 22d3 movs r2, #211 ; 0xd3
|
|
1365e: 4925 ldr r1, [pc, #148] ; (136f4 <lv_task_create_basic+0xfc>)
|
|
13660: 2003 movs r0, #3
|
|
13662: 4c25 ldr r4, [pc, #148] ; (136f8 <lv_task_create_basic+0x100>)
|
|
13664: 47a0 blx r4
|
|
13666: 462a mov r2, r5
|
|
13668: 2300 movs r3, #0
|
|
1366a: 4824 ldr r0, [pc, #144] ; (136fc <lv_task_create_basic+0x104>)
|
|
1366c: 4924 ldr r1, [pc, #144] ; (13700 <lv_task_create_basic+0x108>)
|
|
1366e: 4788 blx r1
|
|
13670: e7fe b.n 13670 <lv_task_create_basic+0x78>
|
|
if(new_task == NULL) return NULL;
|
|
13672: b95d cbnz r5, 1368c <lv_task_create_basic+0x94>
|
|
13674: e01f b.n 136b6 <lv_task_create_basic+0xbe>
|
|
new_task = _lv_ll_ins_prev(&LV_GC_ROOT(_lv_task_ll), tmp);
|
|
13676: 4621 mov r1, r4
|
|
13678: 4818 ldr r0, [pc, #96] ; (136dc <lv_task_create_basic+0xe4>)
|
|
1367a: 4b23 ldr r3, [pc, #140] ; (13708 <lv_task_create_basic+0x110>)
|
|
1367c: 4798 blx r3
|
|
1367e: 4605 mov r5, r0
|
|
LV_ASSERT_MEM(new_task);
|
|
13680: 4b1a ldr r3, [pc, #104] ; (136ec <lv_task_create_basic+0xf4>)
|
|
13682: 4798 blx r3
|
|
13684: b1d0 cbz r0, 136bc <lv_task_create_basic+0xc4>
|
|
if(new_task == NULL) return NULL;
|
|
13686: b1b5 cbz r5, 136b6 <lv_task_create_basic+0xbe>
|
|
if(tmp == NULL) {
|
|
13688: 2c00 cmp r4, #0
|
|
1368a: d0c9 beq.n 13620 <lv_task_create_basic+0x28>
|
|
task_list_changed = true;
|
|
1368c: 4c1f ldr r4, [pc, #124] ; (1370c <lv_task_create_basic+0x114>)
|
|
1368e: 2601 movs r6, #1
|
|
13690: 7026 strb r6, [r4, #0]
|
|
new_task->period = DEF_PERIOD;
|
|
13692: f44f 73fa mov.w r3, #500 ; 0x1f4
|
|
13696: 602b str r3, [r5, #0]
|
|
new_task->task_cb = NULL;
|
|
13698: 2700 movs r7, #0
|
|
1369a: 60af str r7, [r5, #8]
|
|
new_task->prio = DEF_PRIO;
|
|
1369c: 7d2b ldrb r3, [r5, #20]
|
|
1369e: 2203 movs r2, #3
|
|
136a0: f362 0302 bfi r3, r2, #0, #3
|
|
136a4: 752b strb r3, [r5, #20]
|
|
new_task->repeat_count = -1;
|
|
136a6: f04f 33ff mov.w r3, #4294967295
|
|
136aa: 612b str r3, [r5, #16]
|
|
new_task->last_run = lv_tick_get();
|
|
136ac: 4b18 ldr r3, [pc, #96] ; (13710 <lv_task_create_basic+0x118>)
|
|
136ae: 4798 blx r3
|
|
136b0: 6068 str r0, [r5, #4]
|
|
new_task->user_data = NULL;
|
|
136b2: 60ef str r7, [r5, #12]
|
|
task_created = true;
|
|
136b4: 70a6 strb r6, [r4, #2]
|
|
}
|
|
136b6: 4628 mov r0, r5
|
|
136b8: b003 add sp, #12
|
|
136ba: bdf0 pop {r4, r5, r6, r7, pc}
|
|
LV_ASSERT_MEM(new_task);
|
|
136bc: 4b0c ldr r3, [pc, #48] ; (136f0 <lv_task_create_basic+0xf8>)
|
|
136be: 9300 str r3, [sp, #0]
|
|
136c0: 22db movs r2, #219 ; 0xdb
|
|
136c2: 490c ldr r1, [pc, #48] ; (136f4 <lv_task_create_basic+0xfc>)
|
|
136c4: 2003 movs r0, #3
|
|
136c6: 4c0c ldr r4, [pc, #48] ; (136f8 <lv_task_create_basic+0x100>)
|
|
136c8: 47a0 blx r4
|
|
136ca: 462a mov r2, r5
|
|
136cc: 2300 movs r3, #0
|
|
136ce: 480b ldr r0, [pc, #44] ; (136fc <lv_task_create_basic+0x104>)
|
|
136d0: 490b ldr r1, [pc, #44] ; (13700 <lv_task_create_basic+0x108>)
|
|
136d2: 4788 blx r1
|
|
136d4: e7fe b.n 136d4 <lv_task_create_basic+0xdc>
|
|
if(new_task == NULL) return NULL;
|
|
136d6: 2d00 cmp r5, #0
|
|
136d8: d1d8 bne.n 1368c <lv_task_create_basic+0x94>
|
|
136da: e7ec b.n 136b6 <lv_task_create_basic+0xbe>
|
|
136dc: 20006c80 .word 0x20006c80
|
|
136e0: 00011f91 .word 0x00011f91
|
|
136e4: 00011fa5 .word 0x00011fa5
|
|
136e8: 00011f45 .word 0x00011f45
|
|
136ec: 00002299 .word 0x00002299
|
|
136f0: 00029494 .word 0x00029494
|
|
136f4: 000294bc .word 0x000294bc
|
|
136f8: 00012245 .word 0x00012245
|
|
136fc: 00023fc0 .word 0x00023fc0
|
|
13700: 000022a1 .word 0x000022a1
|
|
13704: 00011ef9 .word 0x00011ef9
|
|
13708: 00011ffd .word 0x00011ffd
|
|
1370c: 20006bb8 .word 0x20006bb8
|
|
13710: 00011041 .word 0x00011041
|
|
|
|
00013714 <lv_task_del>:
|
|
{
|
|
13714: b510 push {r4, lr}
|
|
13716: 4604 mov r4, r0
|
|
_lv_ll_remove(&LV_GC_ROOT(_lv_task_ll), task);
|
|
13718: 4601 mov r1, r0
|
|
1371a: 4809 ldr r0, [pc, #36] ; (13740 <lv_task_del+0x2c>)
|
|
1371c: 4b09 ldr r3, [pc, #36] ; (13744 <lv_task_del+0x30>)
|
|
1371e: 4798 blx r3
|
|
task_list_changed = true;
|
|
13720: 2201 movs r2, #1
|
|
13722: 4b09 ldr r3, [pc, #36] ; (13748 <lv_task_del+0x34>)
|
|
13724: 701a strb r2, [r3, #0]
|
|
lv_mem_free(task);
|
|
13726: 4620 mov r0, r4
|
|
13728: 4b08 ldr r3, [pc, #32] ; (1374c <lv_task_del+0x38>)
|
|
1372a: 4798 blx r3
|
|
if(LV_GC_ROOT(_lv_task_act) == task) task_deleted = true; /*The active task was deleted*/
|
|
1372c: 4b08 ldr r3, [pc, #32] ; (13750 <lv_task_del+0x3c>)
|
|
1372e: 681b ldr r3, [r3, #0]
|
|
13730: 429c cmp r4, r3
|
|
13732: d000 beq.n 13736 <lv_task_del+0x22>
|
|
13734: bd10 pop {r4, pc}
|
|
13736: 2201 movs r2, #1
|
|
13738: 4b03 ldr r3, [pc, #12] ; (13748 <lv_task_del+0x34>)
|
|
1373a: 70da strb r2, [r3, #3]
|
|
}
|
|
1373c: e7fa b.n 13734 <lv_task_del+0x20>
|
|
1373e: bf00 nop
|
|
13740: 20006c80 .word 0x20006c80
|
|
13744: 0001207d .word 0x0001207d
|
|
13748: 20006bb8 .word 0x20006bb8
|
|
1374c: 000124ad .word 0x000124ad
|
|
13750: 20006d4c .word 0x20006d4c
|
|
|
|
00013754 <lv_task_exec>:
|
|
* Execute task if its the priority is appropriate
|
|
* @param task pointer to lv_task
|
|
* @return true: execute, false: not executed
|
|
*/
|
|
static bool lv_task_exec(lv_task_t * task)
|
|
{
|
|
13754: b510 push {r4, lr}
|
|
13756: 4604 mov r4, r0
|
|
* @return the time remaining, or 0 if it needs to be run again
|
|
*/
|
|
static uint32_t lv_task_time_remaining(lv_task_t * task)
|
|
{
|
|
/*Check if at least 'period' time elapsed*/
|
|
uint32_t elp = lv_tick_elaps(task->last_run);
|
|
13758: 6840 ldr r0, [r0, #4]
|
|
1375a: 4b12 ldr r3, [pc, #72] ; (137a4 <lv_task_exec+0x50>)
|
|
1375c: 4798 blx r3
|
|
if(elp >= task->period)
|
|
1375e: 6823 ldr r3, [r4, #0]
|
|
13760: 4298 cmp r0, r3
|
|
13762: d201 bcs.n 13768 <lv_task_exec+0x14>
|
|
bool exec = false;
|
|
13764: 2000 movs r0, #0
|
|
13766: bd10 pop {r4, pc}
|
|
task->last_run = lv_tick_get();
|
|
13768: 4b0f ldr r3, [pc, #60] ; (137a8 <lv_task_exec+0x54>)
|
|
1376a: 4798 blx r3
|
|
1376c: 6060 str r0, [r4, #4]
|
|
task_deleted = false;
|
|
1376e: 4b0f ldr r3, [pc, #60] ; (137ac <lv_task_exec+0x58>)
|
|
13770: 2200 movs r2, #0
|
|
13772: 70da strb r2, [r3, #3]
|
|
task_created = false;
|
|
13774: 709a strb r2, [r3, #2]
|
|
if(task->task_cb) task->task_cb(task);
|
|
13776: 68a3 ldr r3, [r4, #8]
|
|
13778: b12b cbz r3, 13786 <lv_task_exec+0x32>
|
|
1377a: 4620 mov r0, r4
|
|
1377c: 4798 blx r3
|
|
if(task_deleted == false) { /*The task might be deleted by itself as well*/
|
|
1377e: 4b0b ldr r3, [pc, #44] ; (137ac <lv_task_exec+0x58>)
|
|
13780: 78d8 ldrb r0, [r3, #3]
|
|
13782: b100 cbz r0, 13786 <lv_task_exec+0x32>
|
|
}
|
|
13784: bd10 pop {r4, pc}
|
|
if(task->repeat_count > 0) {
|
|
13786: 6923 ldr r3, [r4, #16]
|
|
13788: 2b00 cmp r3, #0
|
|
task->repeat_count--;
|
|
1378a: bfc4 itt gt
|
|
1378c: f103 33ff addgt.w r3, r3, #4294967295
|
|
13790: 6123 strgt r3, [r4, #16]
|
|
if(task->repeat_count == 0) {
|
|
13792: 6923 ldr r3, [r4, #16]
|
|
13794: b10b cbz r3, 1379a <lv_task_exec+0x46>
|
|
exec = true;
|
|
13796: 2001 movs r0, #1
|
|
13798: e7f4 b.n 13784 <lv_task_exec+0x30>
|
|
lv_task_del(task);
|
|
1379a: 4620 mov r0, r4
|
|
1379c: 4b04 ldr r3, [pc, #16] ; (137b0 <lv_task_exec+0x5c>)
|
|
1379e: 4798 blx r3
|
|
exec = true;
|
|
137a0: 2001 movs r0, #1
|
|
137a2: bd10 pop {r4, pc}
|
|
137a4: 00011059 .word 0x00011059
|
|
137a8: 00011041 .word 0x00011041
|
|
137ac: 20006bb8 .word 0x20006bb8
|
|
137b0: 00013715 .word 0x00013715
|
|
|
|
000137b4 <lv_task_handler>:
|
|
{
|
|
137b4: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
if(already_running) return 1;
|
|
137b8: 4b58 ldr r3, [pc, #352] ; (1391c <lv_task_handler+0x168>)
|
|
137ba: 791b ldrb r3, [r3, #4]
|
|
137bc: 2b00 cmp r3, #0
|
|
137be: f040 80a9 bne.w 13914 <lv_task_handler+0x160>
|
|
already_running = true;
|
|
137c2: 4b56 ldr r3, [pc, #344] ; (1391c <lv_task_handler+0x168>)
|
|
137c4: 2201 movs r2, #1
|
|
137c6: 711a strb r2, [r3, #4]
|
|
if(lv_task_run == false) {
|
|
137c8: 785b ldrb r3, [r3, #1]
|
|
137ca: b92b cbnz r3, 137d8 <lv_task_handler+0x24>
|
|
already_running = false; /*Release mutex*/
|
|
137cc: 2200 movs r2, #0
|
|
137ce: 4b53 ldr r3, [pc, #332] ; (1391c <lv_task_handler+0x168>)
|
|
137d0: 711a strb r2, [r3, #4]
|
|
return 1;
|
|
137d2: 2001 movs r0, #1
|
|
137d4: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
handler_start = lv_tick_get();
|
|
137d8: 4b51 ldr r3, [pc, #324] ; (13920 <lv_task_handler+0x16c>)
|
|
137da: 4798 blx r3
|
|
137dc: 4b4f ldr r3, [pc, #316] ; (1391c <lv_task_handler+0x168>)
|
|
137de: 6098 str r0, [r3, #8]
|
|
lv_task_t * task_interrupter = NULL;
|
|
137e0: 2600 movs r6, #0
|
|
task_deleted = false;
|
|
137e2: 461d mov r5, r3
|
|
LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll));
|
|
137e4: f8df 814c ldr.w r8, [pc, #332] ; 13934 <lv_task_handler+0x180>
|
|
137e8: 4c4e ldr r4, [pc, #312] ; (13924 <lv_task_handler+0x170>)
|
|
next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act));
|
|
137ea: f8df 9150 ldr.w r9, [pc, #336] ; 1393c <lv_task_handler+0x188>
|
|
137ee: e06d b.n 138cc <lv_task_handler+0x118>
|
|
LV_GC_ROOT(_lv_task_act) = next;
|
|
137f0: 6027 str r7, [r4, #0]
|
|
task_interrupter = NULL; /*From this point only task after the interrupter comes, so
|
|
137f2: 2600 movs r6, #0
|
|
continue; /*Load the next task*/
|
|
137f4: e009 b.n 1380a <lv_task_handler+0x56>
|
|
lv_task_exec(LV_GC_ROOT(_lv_task_act));
|
|
137f6: 4b4c ldr r3, [pc, #304] ; (13928 <lv_task_handler+0x174>)
|
|
137f8: 4798 blx r3
|
|
if(task_created || task_deleted) {
|
|
137fa: 78ab ldrb r3, [r5, #2]
|
|
137fc: bb33 cbnz r3, 1384c <lv_task_handler+0x98>
|
|
137fe: 78eb ldrb r3, [r5, #3]
|
|
13800: bb23 cbnz r3, 1384c <lv_task_handler+0x98>
|
|
if(task_list_changed) {
|
|
13802: 782b ldrb r3, [r5, #0]
|
|
13804: 2b00 cmp r3, #0
|
|
13806: d15f bne.n 138c8 <lv_task_handler+0x114>
|
|
LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/
|
|
13808: 6027 str r7, [r4, #0]
|
|
while(LV_GC_ROOT(_lv_task_act)) {
|
|
1380a: 6821 ldr r1, [r4, #0]
|
|
1380c: b1f1 cbz r1, 1384c <lv_task_handler+0x98>
|
|
next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act));
|
|
1380e: 4640 mov r0, r8
|
|
13810: 47c8 blx r9
|
|
13812: 4607 mov r7, r0
|
|
if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_OFF) {
|
|
13814: 6820 ldr r0, [r4, #0]
|
|
13816: 7d03 ldrb r3, [r0, #20]
|
|
13818: f013 0307 ands.w r3, r3, #7
|
|
1381c: d016 beq.n 1384c <lv_task_handler+0x98>
|
|
if(LV_GC_ROOT(_lv_task_act) == task_interrupter) {
|
|
1381e: 4286 cmp r6, r0
|
|
13820: d0e6 beq.n 137f0 <lv_task_handler+0x3c>
|
|
if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_HIGHEST) {
|
|
13822: 2b05 cmp r3, #5
|
|
13824: d0e7 beq.n 137f6 <lv_task_handler+0x42>
|
|
else if(task_interrupter) {
|
|
13826: 2e00 cmp r6, #0
|
|
13828: d042 beq.n 138b0 <lv_task_handler+0xfc>
|
|
if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio > task_interrupter->prio) {
|
|
1382a: 7d02 ldrb r2, [r0, #20]
|
|
1382c: f002 0207 and.w r2, r2, #7
|
|
13830: 7d33 ldrb r3, [r6, #20]
|
|
13832: f003 0307 and.w r3, r3, #7
|
|
13836: 429a cmp r2, r3
|
|
13838: dddf ble.n 137fa <lv_task_handler+0x46>
|
|
if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) {
|
|
1383a: 4b3b ldr r3, [pc, #236] ; (13928 <lv_task_handler+0x174>)
|
|
1383c: 4798 blx r3
|
|
1383e: 2800 cmp r0, #0
|
|
13840: d0db beq.n 137fa <lv_task_handler+0x46>
|
|
if(!task_created && !task_deleted) {
|
|
13842: 78ab ldrb r3, [r5, #2]
|
|
13844: b913 cbnz r3, 1384c <lv_task_handler+0x98>
|
|
13846: 78eb ldrb r3, [r5, #3]
|
|
13848: 2b00 cmp r3, #0
|
|
1384a: d02f beq.n 138ac <lv_task_handler+0xf8>
|
|
busy_time += lv_tick_elaps(handler_start);
|
|
1384c: 4c33 ldr r4, [pc, #204] ; (1391c <lv_task_handler+0x168>)
|
|
1384e: 68a0 ldr r0, [r4, #8]
|
|
13850: 4d36 ldr r5, [pc, #216] ; (1392c <lv_task_handler+0x178>)
|
|
13852: 47a8 blx r5
|
|
13854: 68e3 ldr r3, [r4, #12]
|
|
13856: 4403 add r3, r0
|
|
13858: 60e3 str r3, [r4, #12]
|
|
uint32_t idle_period_time = lv_tick_elaps(idle_period_start);
|
|
1385a: 6920 ldr r0, [r4, #16]
|
|
1385c: 47a8 blx r5
|
|
if(idle_period_time >= IDLE_MEAS_PERIOD) {
|
|
1385e: f5b0 7ffa cmp.w r0, #500 ; 0x1f4
|
|
13862: d315 bcc.n 13890 <lv_task_handler+0xdc>
|
|
idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/
|
|
13864: 68e2 ldr r2, [r4, #12]
|
|
13866: 2364 movs r3, #100 ; 0x64
|
|
13868: fb03 f302 mul.w r3, r3, r2
|
|
1386c: 4a30 ldr r2, [pc, #192] ; (13930 <lv_task_handler+0x17c>)
|
|
1386e: fba2 2303 umull r2, r3, r2, r3
|
|
13872: f3c3 1347 ubfx r3, r3, #5, #8
|
|
idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/
|
|
13876: 2b64 cmp r3, #100 ; 0x64
|
|
13878: bf9a itte ls
|
|
1387a: f1c3 0364 rsbls r3, r3, #100 ; 0x64
|
|
1387e: b2db uxtbls r3, r3
|
|
13880: 2300 movhi r3, #0
|
|
13882: 4c26 ldr r4, [pc, #152] ; (1391c <lv_task_handler+0x168>)
|
|
13884: 7523 strb r3, [r4, #20]
|
|
busy_time = 0;
|
|
13886: 2300 movs r3, #0
|
|
13888: 60e3 str r3, [r4, #12]
|
|
idle_period_start = lv_tick_get();
|
|
1388a: 4b25 ldr r3, [pc, #148] ; (13920 <lv_task_handler+0x16c>)
|
|
1388c: 4798 blx r3
|
|
1388e: 6120 str r0, [r4, #16]
|
|
time_till_next = LV_NO_TASK_READY;
|
|
13890: f04f 32ff mov.w r2, #4294967295
|
|
13894: 4b21 ldr r3, [pc, #132] ; (1391c <lv_task_handler+0x168>)
|
|
13896: 619a str r2, [r3, #24]
|
|
next = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll));
|
|
13898: 4826 ldr r0, [pc, #152] ; (13934 <lv_task_handler+0x180>)
|
|
1389a: 4b27 ldr r3, [pc, #156] ; (13938 <lv_task_handler+0x184>)
|
|
1389c: 4798 blx r3
|
|
while(next) {
|
|
1389e: 4604 mov r4, r0
|
|
138a0: 2800 cmp r0, #0
|
|
138a2: d031 beq.n 13908 <lv_task_handler+0x154>
|
|
uint32_t elp = lv_tick_elaps(task->last_run);
|
|
138a4: 4f21 ldr r7, [pc, #132] ; (1392c <lv_task_handler+0x178>)
|
|
if(delay < time_till_next)
|
|
138a6: 4e1d ldr r6, [pc, #116] ; (1391c <lv_task_handler+0x168>)
|
|
next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), next); /*Find the next task*/
|
|
138a8: 4d22 ldr r5, [pc, #136] ; (13934 <lv_task_handler+0x180>)
|
|
138aa: e01d b.n 138e8 <lv_task_handler+0x134>
|
|
task_interrupter = LV_GC_ROOT(_lv_task_act);
|
|
138ac: 6826 ldr r6, [r4, #0]
|
|
break;
|
|
138ae: e00d b.n 138cc <lv_task_handler+0x118>
|
|
if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) {
|
|
138b0: 4b1d ldr r3, [pc, #116] ; (13928 <lv_task_handler+0x174>)
|
|
138b2: 4798 blx r3
|
|
138b4: 2800 cmp r0, #0
|
|
138b6: d0a0 beq.n 137fa <lv_task_handler+0x46>
|
|
if(!task_created && !task_deleted) {
|
|
138b8: 78ab ldrb r3, [r5, #2]
|
|
138ba: 2b00 cmp r3, #0
|
|
138bc: d1c6 bne.n 1384c <lv_task_handler+0x98>
|
|
138be: 78eb ldrb r3, [r5, #3]
|
|
138c0: 2b00 cmp r3, #0
|
|
138c2: d1c3 bne.n 1384c <lv_task_handler+0x98>
|
|
task_interrupter = LV_GC_ROOT(_lv_task_act); /*Check all tasks again from the highest priority */
|
|
138c4: 6826 ldr r6, [r4, #0]
|
|
break;
|
|
138c6: e001 b.n 138cc <lv_task_handler+0x118>
|
|
task_list_changed = false;
|
|
138c8: 2600 movs r6, #0
|
|
138ca: 702e strb r6, [r5, #0]
|
|
task_deleted = false;
|
|
138cc: 2300 movs r3, #0
|
|
138ce: 70eb strb r3, [r5, #3]
|
|
task_created = false;
|
|
138d0: 70ab strb r3, [r5, #2]
|
|
LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll));
|
|
138d2: 4640 mov r0, r8
|
|
138d4: 4b18 ldr r3, [pc, #96] ; (13938 <lv_task_handler+0x184>)
|
|
138d6: 4798 blx r3
|
|
138d8: 6020 str r0, [r4, #0]
|
|
while(LV_GC_ROOT(_lv_task_act)) {
|
|
138da: e796 b.n 1380a <lv_task_handler+0x56>
|
|
next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), next); /*Find the next task*/
|
|
138dc: 4621 mov r1, r4
|
|
138de: 4628 mov r0, r5
|
|
138e0: 4b16 ldr r3, [pc, #88] ; (1393c <lv_task_handler+0x188>)
|
|
138e2: 4798 blx r3
|
|
while(next) {
|
|
138e4: 4604 mov r4, r0
|
|
138e6: b178 cbz r0, 13908 <lv_task_handler+0x154>
|
|
if(next->prio != LV_TASK_PRIO_OFF) {
|
|
138e8: 7d23 ldrb r3, [r4, #20]
|
|
138ea: f013 0f07 tst.w r3, #7
|
|
138ee: d0f5 beq.n 138dc <lv_task_handler+0x128>
|
|
uint32_t elp = lv_tick_elaps(task->last_run);
|
|
138f0: 6860 ldr r0, [r4, #4]
|
|
138f2: 47b8 blx r7
|
|
if(elp >= task->period)
|
|
138f4: 6823 ldr r3, [r4, #0]
|
|
138f6: 4298 cmp r0, r3
|
|
return 0;
|
|
return task->period - elp;
|
|
138f8: bf34 ite cc
|
|
138fa: 1a1b subcc r3, r3, r0
|
|
return 0;
|
|
138fc: 2300 movcs r3, #0
|
|
if(delay < time_till_next)
|
|
138fe: 69b2 ldr r2, [r6, #24]
|
|
13900: 429a cmp r2, r3
|
|
time_till_next = delay;
|
|
13902: bf88 it hi
|
|
13904: 61b3 strhi r3, [r6, #24]
|
|
13906: e7e9 b.n 138dc <lv_task_handler+0x128>
|
|
already_running = false; /*Release the mutex*/
|
|
13908: 4b04 ldr r3, [pc, #16] ; (1391c <lv_task_handler+0x168>)
|
|
1390a: 2200 movs r2, #0
|
|
1390c: 711a strb r2, [r3, #4]
|
|
return time_till_next;
|
|
1390e: 6998 ldr r0, [r3, #24]
|
|
13910: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
if(already_running) return 1;
|
|
13914: 2001 movs r0, #1
|
|
}
|
|
13916: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
1391a: bf00 nop
|
|
1391c: 20006bb8 .word 0x20006bb8
|
|
13920: 00011041 .word 0x00011041
|
|
13924: 20006d4c .word 0x20006d4c
|
|
13928: 00013755 .word 0x00013755
|
|
1392c: 00011059 .word 0x00011059
|
|
13930: 10624dd3 .word 0x10624dd3
|
|
13934: 20006c80 .word 0x20006c80
|
|
13938: 00011f91 .word 0x00011f91
|
|
1393c: 00011fa5 .word 0x00011fa5
|
|
|
|
00013940 <lv_task_set_prio>:
|
|
{
|
|
13940: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
if(task->prio == prio) return;
|
|
13944: 7d03 ldrb r3, [r0, #20]
|
|
13946: f003 0307 and.w r3, r3, #7
|
|
1394a: 428b cmp r3, r1
|
|
1394c: d031 beq.n 139b2 <lv_task_set_prio+0x72>
|
|
1394e: 460d mov r5, r1
|
|
13950: 4688 mov r8, r1
|
|
13952: 4681 mov r9, r0
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) {
|
|
13954: 4818 ldr r0, [pc, #96] ; (139b8 <lv_task_set_prio+0x78>)
|
|
13956: 4b19 ldr r3, [pc, #100] ; (139bc <lv_task_set_prio+0x7c>)
|
|
13958: 4798 blx r3
|
|
1395a: 4604 mov r4, r0
|
|
1395c: b318 cbz r0, 139a6 <lv_task_set_prio+0x66>
|
|
if(i->prio <= prio) {
|
|
1395e: 7d03 ldrb r3, [r0, #20]
|
|
13960: f003 0307 and.w r3, r3, #7
|
|
13964: 429d cmp r5, r3
|
|
13966: da0b bge.n 13980 <lv_task_set_prio+0x40>
|
|
_LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) {
|
|
13968: 4f13 ldr r7, [pc, #76] ; (139b8 <lv_task_set_prio+0x78>)
|
|
1396a: 4e15 ldr r6, [pc, #84] ; (139c0 <lv_task_set_prio+0x80>)
|
|
1396c: 4621 mov r1, r4
|
|
1396e: 4638 mov r0, r7
|
|
13970: 47b0 blx r6
|
|
13972: 4604 mov r4, r0
|
|
13974: b1b8 cbz r0, 139a6 <lv_task_set_prio+0x66>
|
|
if(i->prio <= prio) {
|
|
13976: 7d23 ldrb r3, [r4, #20]
|
|
13978: f003 0307 and.w r3, r3, #7
|
|
1397c: 429d cmp r5, r3
|
|
1397e: dbf5 blt.n 1396c <lv_task_set_prio+0x2c>
|
|
if(i != task) _lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, i);
|
|
13980: 45a1 cmp r9, r4
|
|
13982: d005 beq.n 13990 <lv_task_set_prio+0x50>
|
|
13984: 4622 mov r2, r4
|
|
13986: 4649 mov r1, r9
|
|
13988: 480b ldr r0, [pc, #44] ; (139b8 <lv_task_set_prio+0x78>)
|
|
1398a: 4b0e ldr r3, [pc, #56] ; (139c4 <lv_task_set_prio+0x84>)
|
|
1398c: 4798 blx r3
|
|
if(i == NULL) {
|
|
1398e: b154 cbz r4, 139a6 <lv_task_set_prio+0x66>
|
|
task_list_changed = true;
|
|
13990: 2201 movs r2, #1
|
|
13992: 4b0d ldr r3, [pc, #52] ; (139c8 <lv_task_set_prio+0x88>)
|
|
13994: 701a strb r2, [r3, #0]
|
|
task->prio = prio;
|
|
13996: f899 3014 ldrb.w r3, [r9, #20]
|
|
1399a: f368 0302 bfi r3, r8, #0, #3
|
|
1399e: f889 3014 strb.w r3, [r9, #20]
|
|
139a2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
_lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, NULL);
|
|
139a6: 2200 movs r2, #0
|
|
139a8: 4649 mov r1, r9
|
|
139aa: 4803 ldr r0, [pc, #12] ; (139b8 <lv_task_set_prio+0x78>)
|
|
139ac: 4b05 ldr r3, [pc, #20] ; (139c4 <lv_task_set_prio+0x84>)
|
|
139ae: 4798 blx r3
|
|
139b0: e7ee b.n 13990 <lv_task_set_prio+0x50>
|
|
139b2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
139b6: bf00 nop
|
|
139b8: 20006c80 .word 0x20006c80
|
|
139bc: 00011f91 .word 0x00011f91
|
|
139c0: 00011fa5 .word 0x00011fa5
|
|
139c4: 0001217d .word 0x0001217d
|
|
139c8: 20006bb8 .word 0x20006bb8
|
|
|
|
000139cc <lv_task_create>:
|
|
{
|
|
139cc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
139d0: b082 sub sp, #8
|
|
139d2: 4680 mov r8, r0
|
|
139d4: 460f mov r7, r1
|
|
139d6: 4616 mov r6, r2
|
|
139d8: 461d mov r5, r3
|
|
lv_task_t * new_task = lv_task_create_basic();
|
|
139da: 4b10 ldr r3, [pc, #64] ; (13a1c <lv_task_create+0x50>)
|
|
139dc: 4798 blx r3
|
|
139de: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(new_task);
|
|
139e0: 4b0f ldr r3, [pc, #60] ; (13a20 <lv_task_create+0x54>)
|
|
139e2: 4798 blx r3
|
|
139e4: b160 cbz r0, 13a00 <lv_task_create+0x34>
|
|
if(new_task == NULL) return NULL;
|
|
139e6: b13c cbz r4, 139f8 <lv_task_create+0x2c>
|
|
task->task_cb = task_cb;
|
|
139e8: f8c4 8008 str.w r8, [r4, #8]
|
|
task->period = period;
|
|
139ec: 6027 str r7, [r4, #0]
|
|
lv_task_set_prio(new_task, prio);
|
|
139ee: 4631 mov r1, r6
|
|
139f0: 4620 mov r0, r4
|
|
139f2: 4b0c ldr r3, [pc, #48] ; (13a24 <lv_task_create+0x58>)
|
|
139f4: 4798 blx r3
|
|
new_task->user_data = user_data;
|
|
139f6: 60e5 str r5, [r4, #12]
|
|
}
|
|
139f8: 4620 mov r0, r4
|
|
139fa: b002 add sp, #8
|
|
139fc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
LV_ASSERT_MEM(new_task);
|
|
13a00: 4b09 ldr r3, [pc, #36] ; (13a28 <lv_task_create+0x5c>)
|
|
13a02: 9300 str r3, [sp, #0]
|
|
13a04: f44f 7283 mov.w r2, #262 ; 0x106
|
|
13a08: 4908 ldr r1, [pc, #32] ; (13a2c <lv_task_create+0x60>)
|
|
13a0a: 2003 movs r0, #3
|
|
13a0c: 4d08 ldr r5, [pc, #32] ; (13a30 <lv_task_create+0x64>)
|
|
13a0e: 47a8 blx r5
|
|
13a10: 4622 mov r2, r4
|
|
13a12: 2300 movs r3, #0
|
|
13a14: 4807 ldr r0, [pc, #28] ; (13a34 <lv_task_create+0x68>)
|
|
13a16: 4908 ldr r1, [pc, #32] ; (13a38 <lv_task_create+0x6c>)
|
|
13a18: 4788 blx r1
|
|
13a1a: e7fe b.n 13a1a <lv_task_create+0x4e>
|
|
13a1c: 000135f9 .word 0x000135f9
|
|
13a20: 00002299 .word 0x00002299
|
|
13a24: 00013941 .word 0x00013941
|
|
13a28: 000294ac .word 0x000294ac
|
|
13a2c: 000294bc .word 0x000294bc
|
|
13a30: 00012245 .word 0x00012245
|
|
13a34: 00023fc0 .word 0x00023fc0
|
|
13a38: 000022a1 .word 0x000022a1
|
|
|
|
00013a3c <lv_task_ready>:
|
|
{
|
|
13a3c: b510 push {r4, lr}
|
|
13a3e: 4604 mov r4, r0
|
|
task->last_run = lv_tick_get() - task->period - 1;
|
|
13a40: 4b03 ldr r3, [pc, #12] ; (13a50 <lv_task_ready+0x14>)
|
|
13a42: 4798 blx r3
|
|
13a44: 6823 ldr r3, [r4, #0]
|
|
13a46: 43db mvns r3, r3
|
|
13a48: 4403 add r3, r0
|
|
13a4a: 6063 str r3, [r4, #4]
|
|
13a4c: bd10 pop {r4, pc}
|
|
13a4e: bf00 nop
|
|
13a50: 00011041 .word 0x00011041
|
|
|
|
00013a54 <lv_txt_utf8_size>:
|
|
* @param str pointer to a character in a string
|
|
* @return length of the UTF-8 character (1,2,3 or 4). O on invalid code
|
|
*/
|
|
static uint8_t lv_txt_utf8_size(const char * str)
|
|
{
|
|
if((str[0] & 0x80) == 0)
|
|
13a54: 7803 ldrb r3, [r0, #0]
|
|
13a56: f013 0f80 tst.w r3, #128 ; 0x80
|
|
13a5a: d101 bne.n 13a60 <lv_txt_utf8_size+0xc>
|
|
return 1;
|
|
13a5c: 2001 movs r0, #1
|
|
13a5e: 4770 bx lr
|
|
else if((str[0] & 0xE0) == 0xC0)
|
|
13a60: f003 02e0 and.w r2, r3, #224 ; 0xe0
|
|
13a64: 2ac0 cmp r2, #192 ; 0xc0
|
|
13a66: d00a beq.n 13a7e <lv_txt_utf8_size+0x2a>
|
|
return 2;
|
|
else if((str[0] & 0xF0) == 0xE0)
|
|
13a68: f003 02f0 and.w r2, r3, #240 ; 0xf0
|
|
13a6c: 2ae0 cmp r2, #224 ; 0xe0
|
|
13a6e: d008 beq.n 13a82 <lv_txt_utf8_size+0x2e>
|
|
return 3;
|
|
else if((str[0] & 0xF8) == 0xF0)
|
|
13a70: f003 03f8 and.w r3, r3, #248 ; 0xf8
|
|
return 4;
|
|
return 0; /*If the char was invalid tell it's 1 byte long*/
|
|
13a74: 2bf0 cmp r3, #240 ; 0xf0
|
|
13a76: bf0c ite eq
|
|
13a78: 2004 moveq r0, #4
|
|
13a7a: 2000 movne r0, #0
|
|
13a7c: 4770 bx lr
|
|
return 2;
|
|
13a7e: 2002 movs r0, #2
|
|
13a80: 4770 bx lr
|
|
return 3;
|
|
13a82: 2003 movs r0, #3
|
|
}
|
|
13a84: 4770 bx lr
|
|
|
|
00013a86 <lv_txt_unicode_to_utf8>:
|
|
* @param letter_uni an Unicode letter
|
|
* @return UTF-8 coded character in Little Endian to be compatible with C chars (e.g. 'Á', 'Ű')
|
|
*/
|
|
static uint32_t lv_txt_unicode_to_utf8(uint32_t letter_uni)
|
|
{
|
|
if(letter_uni < 128) return letter_uni;
|
|
13a86: 287f cmp r0, #127 ; 0x7f
|
|
13a88: d916 bls.n 13ab8 <lv_txt_unicode_to_utf8+0x32>
|
|
{
|
|
13a8a: b082 sub sp, #8
|
|
uint8_t bytes[4];
|
|
|
|
if(letter_uni < 0x0800) {
|
|
13a8c: f5b0 6f00 cmp.w r0, #2048 ; 0x800
|
|
13a90: d213 bcs.n 13aba <lv_txt_unicode_to_utf8+0x34>
|
|
bytes[0] = ((letter_uni >> 6) & 0x1F) | 0xC0;
|
|
13a92: f3c0 1384 ubfx r3, r0, #6, #5
|
|
13a96: f063 033f orn r3, r3, #63 ; 0x3f
|
|
13a9a: f88d 3004 strb.w r3, [sp, #4]
|
|
bytes[1] = ((letter_uni >> 0) & 0x3F) | 0x80;
|
|
13a9e: f000 003f and.w r0, r0, #63 ; 0x3f
|
|
13aa2: f060 007f orn r0, r0, #127 ; 0x7f
|
|
13aa6: f88d 0005 strb.w r0, [sp, #5]
|
|
bytes[2] = 0;
|
|
13aaa: 2300 movs r3, #0
|
|
13aac: f88d 3006 strb.w r3, [sp, #6]
|
|
bytes[3] = 0;
|
|
13ab0: f88d 3007 strb.w r3, [sp, #7]
|
|
bytes[2] = ((letter_uni >> 6) & 0x3F) | 0x80;
|
|
bytes[3] = ((letter_uni >> 0) & 0x3F) | 0x80;
|
|
}
|
|
|
|
uint32_t * res_p = (uint32_t *)bytes;
|
|
return *res_p;
|
|
13ab4: 9801 ldr r0, [sp, #4]
|
|
}
|
|
13ab6: b002 add sp, #8
|
|
13ab8: 4770 bx lr
|
|
else if(letter_uni < 0x010000) {
|
|
13aba: f5b0 3f80 cmp.w r0, #65536 ; 0x10000
|
|
13abe: d215 bcs.n 13aec <lv_txt_unicode_to_utf8+0x66>
|
|
bytes[0] = ((letter_uni >> 12) & 0x0F) | 0xE0;
|
|
13ac0: f3c0 3303 ubfx r3, r0, #12, #4
|
|
13ac4: f063 031f orn r3, r3, #31
|
|
13ac8: f88d 3004 strb.w r3, [sp, #4]
|
|
bytes[1] = ((letter_uni >> 6) & 0x3F) | 0x80;
|
|
13acc: f3c0 1385 ubfx r3, r0, #6, #6
|
|
13ad0: f063 037f orn r3, r3, #127 ; 0x7f
|
|
13ad4: f88d 3005 strb.w r3, [sp, #5]
|
|
bytes[2] = ((letter_uni >> 0) & 0x3F) | 0x80;
|
|
13ad8: f000 003f and.w r0, r0, #63 ; 0x3f
|
|
13adc: f060 007f orn r0, r0, #127 ; 0x7f
|
|
13ae0: f88d 0006 strb.w r0, [sp, #6]
|
|
bytes[3] = 0;
|
|
13ae4: 2300 movs r3, #0
|
|
13ae6: f88d 3007 strb.w r3, [sp, #7]
|
|
13aea: e7e3 b.n 13ab4 <lv_txt_unicode_to_utf8+0x2e>
|
|
else if(letter_uni < 0x110000) {
|
|
13aec: f5b0 1f88 cmp.w r0, #1114112 ; 0x110000
|
|
13af0: d2e0 bcs.n 13ab4 <lv_txt_unicode_to_utf8+0x2e>
|
|
bytes[0] = ((letter_uni >> 18) & 0x07) | 0xF0;
|
|
13af2: f3c0 4382 ubfx r3, r0, #18, #3
|
|
13af6: f063 030f orn r3, r3, #15
|
|
13afa: f88d 3004 strb.w r3, [sp, #4]
|
|
bytes[1] = ((letter_uni >> 12) & 0x3F) | 0x80;
|
|
13afe: f3c0 3305 ubfx r3, r0, #12, #6
|
|
13b02: f063 037f orn r3, r3, #127 ; 0x7f
|
|
13b06: f88d 3005 strb.w r3, [sp, #5]
|
|
bytes[2] = ((letter_uni >> 6) & 0x3F) | 0x80;
|
|
13b0a: f3c0 1385 ubfx r3, r0, #6, #6
|
|
13b0e: f063 037f orn r3, r3, #127 ; 0x7f
|
|
13b12: f88d 3006 strb.w r3, [sp, #6]
|
|
bytes[3] = ((letter_uni >> 0) & 0x3F) | 0x80;
|
|
13b16: f000 003f and.w r0, r0, #63 ; 0x3f
|
|
13b1a: f060 007f orn r0, r0, #127 ; 0x7f
|
|
13b1e: f88d 0007 strb.w r0, [sp, #7]
|
|
13b22: e7c7 b.n 13ab4 <lv_txt_unicode_to_utf8+0x2e>
|
|
|
|
00013b24 <lv_txt_utf8_conv_wc>:
|
|
* Convert a wide character, e.g. 'Á' little endian to be UTF-8 compatible
|
|
* @param c a wide character or a Little endian number
|
|
* @return `c` in big endian
|
|
*/
|
|
static uint32_t lv_txt_utf8_conv_wc(uint32_t c)
|
|
{
|
|
13b24: b082 sub sp, #8
|
|
13b26: 9001 str r0, [sp, #4]
|
|
/*Swap the bytes (UTF-8 is big endian, but the MCUs are little endian)*/
|
|
if((c & 0x80) != 0) {
|
|
13b28: f010 0f80 tst.w r0, #128 ; 0x80
|
|
13b2c: d017 beq.n 13b5e <lv_txt_utf8_conv_wc+0x3a>
|
|
uint32_t swapped;
|
|
uint8_t c8[4];
|
|
_lv_memcpy_small(c8, &c, 4);
|
|
swapped = (c8[0] << 24) + (c8[1] << 16) + (c8[2] << 8) + (c8[3]);
|
|
13b2e: f89d 3004 ldrb.w r3, [sp, #4]
|
|
13b32: f89d 2005 ldrb.w r2, [sp, #5]
|
|
13b36: 0412 lsls r2, r2, #16
|
|
13b38: eb02 6203 add.w r2, r2, r3, lsl #24
|
|
13b3c: f89d 3006 ldrb.w r3, [sp, #6]
|
|
13b40: eb02 2203 add.w r2, r2, r3, lsl #8
|
|
13b44: f89d 3007 ldrb.w r3, [sp, #7]
|
|
13b48: 441a add r2, r3
|
|
13b4a: 2304 movs r3, #4
|
|
uint8_t i;
|
|
for(i = 0; i < 4; i++) {
|
|
if((swapped & 0xFF) == 0)
|
|
13b4c: f012 0fff tst.w r2, #255 ; 0xff
|
|
swapped = (swapped >> 8); /*Ignore leading zeros (they were in the end originally)*/
|
|
13b50: bf08 it eq
|
|
13b52: 0a12 lsreq r2, r2, #8
|
|
13b54: 3b01 subs r3, #1
|
|
for(i = 0; i < 4; i++) {
|
|
13b56: f013 03ff ands.w r3, r3, #255 ; 0xff
|
|
13b5a: d1f7 bne.n 13b4c <lv_txt_utf8_conv_wc+0x28>
|
|
}
|
|
c = swapped;
|
|
13b5c: 9201 str r2, [sp, #4]
|
|
}
|
|
|
|
return c;
|
|
}
|
|
13b5e: 9801 ldr r0, [sp, #4]
|
|
13b60: b002 add sp, #8
|
|
13b62: 4770 bx lr
|
|
|
|
00013b64 <lv_txt_utf8_next>:
|
|
* After call it will point to the next UTF-8 char in 'txt'.
|
|
* NULL to use txt[0] as index
|
|
* @return the decoded Unicode character or 0 on invalid UTF-8 code
|
|
*/
|
|
static uint32_t lv_txt_utf8_next(const char * txt, uint32_t * i)
|
|
{
|
|
13b64: b470 push {r4, r5, r6}
|
|
13b66: b083 sub sp, #12
|
|
* */
|
|
|
|
uint32_t result = 0;
|
|
|
|
/*Dummy 'i' pointer is required*/
|
|
uint32_t i_tmp = 0;
|
|
13b68: 2300 movs r3, #0
|
|
13b6a: 9301 str r3, [sp, #4]
|
|
if(i == NULL) i = &i_tmp;
|
|
13b6c: 460c mov r4, r1
|
|
13b6e: b151 cbz r1, 13b86 <lv_txt_utf8_next+0x22>
|
|
|
|
/*Normal ASCII*/
|
|
if((txt[*i] & 0x80) == 0) {
|
|
13b70: 6822 ldr r2, [r4, #0]
|
|
13b72: 5c83 ldrb r3, [r0, r2]
|
|
13b74: f013 0f80 tst.w r3, #128 ; 0x80
|
|
13b78: d107 bne.n 13b8a <lv_txt_utf8_next+0x26>
|
|
result = txt[*i];
|
|
13b7a: 4618 mov r0, r3
|
|
(*i)++;
|
|
13b7c: 3201 adds r2, #1
|
|
13b7e: 6022 str r2, [r4, #0]
|
|
else {
|
|
(*i)++; /*Not UTF-8 char. Go the next.*/
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
13b80: b003 add sp, #12
|
|
13b82: bc70 pop {r4, r5, r6}
|
|
13b84: 4770 bx lr
|
|
if(i == NULL) i = &i_tmp;
|
|
13b86: ac01 add r4, sp, #4
|
|
13b88: e7f2 b.n 13b70 <lv_txt_utf8_next+0xc>
|
|
if((txt[*i] & 0xE0) == 0xC0) {
|
|
13b8a: f003 01e0 and.w r1, r3, #224 ; 0xe0
|
|
13b8e: 29c0 cmp r1, #192 ; 0xc0
|
|
13b90: d00b beq.n 13baa <lv_txt_utf8_next+0x46>
|
|
else if((txt[*i] & 0xF0) == 0xE0) {
|
|
13b92: f003 01f0 and.w r1, r3, #240 ; 0xf0
|
|
13b96: 29e0 cmp r1, #224 ; 0xe0
|
|
13b98: d019 beq.n 13bce <lv_txt_utf8_next+0x6a>
|
|
else if((txt[*i] & 0xF8) == 0xF0) {
|
|
13b9a: f003 01f8 and.w r1, r3, #248 ; 0xf8
|
|
13b9e: 29f0 cmp r1, #240 ; 0xf0
|
|
13ba0: d033 beq.n 13c0a <lv_txt_utf8_next+0xa6>
|
|
(*i)++; /*Not UTF-8 char. Go the next.*/
|
|
13ba2: 3201 adds r2, #1
|
|
13ba4: 6022 str r2, [r4, #0]
|
|
uint32_t result = 0;
|
|
13ba6: 2000 movs r0, #0
|
|
13ba8: e7ea b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
(*i)++;
|
|
13baa: 1c51 adds r1, r2, #1
|
|
13bac: 6021 str r1, [r4, #0]
|
|
if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/
|
|
13bae: 5c40 ldrb r0, [r0, r1]
|
|
13bb0: f000 01c0 and.w r1, r0, #192 ; 0xc0
|
|
13bb4: 2980 cmp r1, #128 ; 0x80
|
|
13bb6: d001 beq.n 13bbc <lv_txt_utf8_next+0x58>
|
|
13bb8: 2000 movs r0, #0
|
|
13bba: e7e1 b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
result = (uint32_t)(txt[*i] & 0x1F) << 6;
|
|
13bbc: 019b lsls r3, r3, #6
|
|
13bbe: f403 63f8 and.w r3, r3, #1984 ; 0x7c0
|
|
result += (txt[*i] & 0x3F);
|
|
13bc2: f000 003f and.w r0, r0, #63 ; 0x3f
|
|
13bc6: 4418 add r0, r3
|
|
(*i)++;
|
|
13bc8: 3202 adds r2, #2
|
|
13bca: 6022 str r2, [r4, #0]
|
|
13bcc: e7d8 b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
(*i)++;
|
|
13bce: 1c51 adds r1, r2, #1
|
|
13bd0: 6021 str r1, [r4, #0]
|
|
if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/
|
|
13bd2: 5c41 ldrb r1, [r0, r1]
|
|
13bd4: f001 05c0 and.w r5, r1, #192 ; 0xc0
|
|
13bd8: 2d80 cmp r5, #128 ; 0x80
|
|
13bda: d001 beq.n 13be0 <lv_txt_utf8_next+0x7c>
|
|
13bdc: 2000 movs r0, #0
|
|
13bde: e7cf b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
(*i)++;
|
|
13be0: 1c95 adds r5, r2, #2
|
|
13be2: 6025 str r5, [r4, #0]
|
|
if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/
|
|
13be4: 5d40 ldrb r0, [r0, r5]
|
|
13be6: f000 05c0 and.w r5, r0, #192 ; 0xc0
|
|
13bea: 2d80 cmp r5, #128 ; 0x80
|
|
13bec: d001 beq.n 13bf2 <lv_txt_utf8_next+0x8e>
|
|
13bee: 2000 movs r0, #0
|
|
13bf0: e7c6 b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
result = (uint32_t)(txt[*i] & 0x0F) << 12;
|
|
13bf2: 031b lsls r3, r3, #12
|
|
13bf4: b29b uxth r3, r3
|
|
result += (txt[*i] & 0x3F);
|
|
13bf6: f000 003f and.w r0, r0, #63 ; 0x3f
|
|
13bfa: 4403 add r3, r0
|
|
result += (uint32_t)(txt[*i] & 0x3F) << 6;
|
|
13bfc: 0188 lsls r0, r1, #6
|
|
13bfe: f400 607c and.w r0, r0, #4032 ; 0xfc0
|
|
result += (txt[*i] & 0x3F);
|
|
13c02: 4418 add r0, r3
|
|
(*i)++;
|
|
13c04: 3203 adds r2, #3
|
|
13c06: 6022 str r2, [r4, #0]
|
|
13c08: e7ba b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
(*i)++;
|
|
13c0a: 1c51 adds r1, r2, #1
|
|
13c0c: 6021 str r1, [r4, #0]
|
|
if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/
|
|
13c0e: 5c41 ldrb r1, [r0, r1]
|
|
13c10: f001 05c0 and.w r5, r1, #192 ; 0xc0
|
|
13c14: 2d80 cmp r5, #128 ; 0x80
|
|
13c16: d001 beq.n 13c1c <lv_txt_utf8_next+0xb8>
|
|
13c18: 2000 movs r0, #0
|
|
13c1a: e7b1 b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
(*i)++;
|
|
13c1c: 1c95 adds r5, r2, #2
|
|
13c1e: 6025 str r5, [r4, #0]
|
|
if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/
|
|
13c20: 5d45 ldrb r5, [r0, r5]
|
|
13c22: f005 06c0 and.w r6, r5, #192 ; 0xc0
|
|
13c26: 2e80 cmp r6, #128 ; 0x80
|
|
13c28: d001 beq.n 13c2e <lv_txt_utf8_next+0xca>
|
|
13c2a: 2000 movs r0, #0
|
|
13c2c: e7a8 b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
(*i)++;
|
|
13c2e: 1cd6 adds r6, r2, #3
|
|
13c30: 6026 str r6, [r4, #0]
|
|
if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/
|
|
13c32: 5d86 ldrb r6, [r0, r6]
|
|
13c34: f006 00c0 and.w r0, r6, #192 ; 0xc0
|
|
13c38: 2880 cmp r0, #128 ; 0x80
|
|
13c3a: d001 beq.n 13c40 <lv_txt_utf8_next+0xdc>
|
|
13c3c: 2000 movs r0, #0
|
|
13c3e: e79f b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
result = (uint32_t)(txt[*i] & 0x07) << 18;
|
|
13c40: 049b lsls r3, r3, #18
|
|
13c42: f403 13e0 and.w r3, r3, #1835008 ; 0x1c0000
|
|
result += (uint32_t)(txt[*i] & 0x3F) << 12;
|
|
13c46: 0309 lsls r1, r1, #12
|
|
13c48: f401 307c and.w r0, r1, #258048 ; 0x3f000
|
|
13c4c: 4303 orrs r3, r0
|
|
result += (uint32_t)(txt[*i] & 0x3F) << 6;
|
|
13c4e: 01a8 lsls r0, r5, #6
|
|
13c50: f400 607c and.w r0, r0, #4032 ; 0xfc0
|
|
result += txt[*i] & 0x3F;
|
|
13c54: f006 063f and.w r6, r6, #63 ; 0x3f
|
|
13c58: 4430 add r0, r6
|
|
13c5a: 4418 add r0, r3
|
|
(*i)++;
|
|
13c5c: 3204 adds r2, #4
|
|
13c5e: 6022 str r2, [r4, #0]
|
|
13c60: e78e b.n 13b80 <lv_txt_utf8_next+0x1c>
|
|
...
|
|
|
|
00013c64 <lv_txt_utf8_prev>:
|
|
* @param i start byte index in 'txt' where to start. After the call it will point to the previous
|
|
* UTF-8 char in 'txt'.
|
|
* @return the decoded Unicode character or 0 on invalid UTF-8 code
|
|
*/
|
|
static uint32_t lv_txt_utf8_prev(const char * txt, uint32_t * i)
|
|
{
|
|
13c64: b5f0 push {r4, r5, r6, r7, lr}
|
|
13c66: b083 sub sp, #12
|
|
13c68: 4606 mov r6, r0
|
|
13c6a: 460d mov r5, r1
|
|
uint8_t c_size;
|
|
uint8_t cnt = 0;
|
|
|
|
/*Try to find a !0 long UTF-8 char by stepping one character back*/
|
|
(*i)--;
|
|
13c6c: 680b ldr r3, [r1, #0]
|
|
13c6e: 3b01 subs r3, #1
|
|
13c70: 600b str r3, [r1, #0]
|
|
13c72: 2404 movs r4, #4
|
|
do {
|
|
if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/
|
|
|
|
c_size = _lv_txt_encoded_size(&txt[*i]);
|
|
13c74: 4f0e ldr r7, [pc, #56] ; (13cb0 <lv_txt_utf8_prev+0x4c>)
|
|
13c76: e005 b.n 13c84 <lv_txt_utf8_prev+0x20>
|
|
if(c_size == 0) {
|
|
if(*i != 0)
|
|
(*i)--;
|
|
13c78: 3801 subs r0, #1
|
|
13c7a: 6028 str r0, [r5, #0]
|
|
13c7c: 1e63 subs r3, r4, #1
|
|
if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/
|
|
13c7e: f013 04ff ands.w r4, r3, #255 ; 0xff
|
|
13c82: d008 beq.n 13c96 <lv_txt_utf8_prev+0x32>
|
|
c_size = _lv_txt_encoded_size(&txt[*i]);
|
|
13c84: 6828 ldr r0, [r5, #0]
|
|
13c86: 4430 add r0, r6
|
|
13c88: 683b ldr r3, [r7, #0]
|
|
13c8a: 4798 blx r3
|
|
if(c_size == 0) {
|
|
13c8c: b928 cbnz r0, 13c9a <lv_txt_utf8_prev+0x36>
|
|
if(*i != 0)
|
|
13c8e: 6828 ldr r0, [r5, #0]
|
|
13c90: 2800 cmp r0, #0
|
|
13c92: d1f1 bne.n 13c78 <lv_txt_utf8_prev+0x14>
|
|
13c94: e009 b.n 13caa <lv_txt_utf8_prev+0x46>
|
|
if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/
|
|
13c96: 2000 movs r0, #0
|
|
13c98: e007 b.n 13caa <lv_txt_utf8_prev+0x46>
|
|
return 0;
|
|
}
|
|
cnt++;
|
|
} while(c_size == 0);
|
|
|
|
uint32_t i_tmp = *i;
|
|
13c9a: 682b ldr r3, [r5, #0]
|
|
13c9c: a902 add r1, sp, #8
|
|
13c9e: f841 3d04 str.w r3, [r1, #-4]!
|
|
uint32_t letter = _lv_txt_encoded_next(txt, &i_tmp); /*Character found, get it*/
|
|
13ca2: 4b03 ldr r3, [pc, #12] ; (13cb0 <lv_txt_utf8_prev+0x4c>)
|
|
13ca4: 685b ldr r3, [r3, #4]
|
|
13ca6: 4630 mov r0, r6
|
|
13ca8: 4798 blx r3
|
|
|
|
return letter;
|
|
}
|
|
13caa: b003 add sp, #12
|
|
13cac: bdf0 pop {r4, r5, r6, r7, pc}
|
|
13cae: bf00 nop
|
|
13cb0: 20000054 .word 0x20000054
|
|
|
|
00013cb4 <lv_txt_utf8_get_byte_id>:
|
|
* @param txt a '\0' terminated UTF-8 string
|
|
* @param utf8_id character index
|
|
* @return byte index of the 'utf8_id'th letter
|
|
*/
|
|
static uint32_t lv_txt_utf8_get_byte_id(const char * txt, uint32_t utf8_id)
|
|
{
|
|
13cb4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
uint32_t i;
|
|
uint32_t byte_cnt = 0;
|
|
for(i = 0; i < utf8_id; i++) {
|
|
13cb8: 460e mov r6, r1
|
|
13cba: b191 cbz r1, 13ce2 <lv_txt_utf8_get_byte_id+0x2e>
|
|
13cbc: 4607 mov r7, r0
|
|
13cbe: 2400 movs r4, #0
|
|
13cc0: 4625 mov r5, r4
|
|
uint8_t c_size = _lv_txt_encoded_size(&txt[byte_cnt]);
|
|
13cc2: f8df 8024 ldr.w r8, [pc, #36] ; 13ce8 <lv_txt_utf8_get_byte_id+0x34>
|
|
13cc6: 1938 adds r0, r7, r4
|
|
13cc8: f8d8 3000 ldr.w r3, [r8]
|
|
13ccc: 4798 blx r3
|
|
byte_cnt += c_size > 0 ? c_size : 1;
|
|
13cce: 2800 cmp r0, #0
|
|
13cd0: bf08 it eq
|
|
13cd2: 2001 moveq r0, #1
|
|
13cd4: 4404 add r4, r0
|
|
for(i = 0; i < utf8_id; i++) {
|
|
13cd6: 3501 adds r5, #1
|
|
13cd8: 42ae cmp r6, r5
|
|
13cda: d1f4 bne.n 13cc6 <lv_txt_utf8_get_byte_id+0x12>
|
|
}
|
|
|
|
return byte_cnt;
|
|
}
|
|
13cdc: 4620 mov r0, r4
|
|
13cde: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
uint32_t byte_cnt = 0;
|
|
13ce2: 460c mov r4, r1
|
|
return byte_cnt;
|
|
13ce4: e7fa b.n 13cdc <lv_txt_utf8_get_byte_id+0x28>
|
|
13ce6: bf00 nop
|
|
13ce8: 20000054 .word 0x20000054
|
|
|
|
00013cec <lv_txt_utf8_get_char_id>:
|
|
* @param txt a '\0' terminated UTF-8 string
|
|
* @param byte_id byte index
|
|
* @return character index of the letter at 'byte_id'th position
|
|
*/
|
|
static uint32_t lv_txt_utf8_get_char_id(const char * txt, uint32_t byte_id)
|
|
{
|
|
13cec: b5f0 push {r4, r5, r6, r7, lr}
|
|
13cee: b083 sub sp, #12
|
|
uint32_t i = 0;
|
|
13cf0: 2300 movs r3, #0
|
|
13cf2: 9301 str r3, [sp, #4]
|
|
uint32_t char_cnt = 0;
|
|
|
|
while(i < byte_id) {
|
|
13cf4: 460d mov r5, r1
|
|
13cf6: b169 cbz r1, 13d14 <lv_txt_utf8_get_char_id+0x28>
|
|
13cf8: 4606 mov r6, r0
|
|
13cfa: 461c mov r4, r3
|
|
_lv_txt_encoded_next(txt, &i); /*'i' points to the next letter so use the prev. value*/
|
|
13cfc: 4f06 ldr r7, [pc, #24] ; (13d18 <lv_txt_utf8_get_char_id+0x2c>)
|
|
13cfe: a901 add r1, sp, #4
|
|
13d00: 4630 mov r0, r6
|
|
13d02: 687b ldr r3, [r7, #4]
|
|
13d04: 4798 blx r3
|
|
char_cnt++;
|
|
13d06: 3401 adds r4, #1
|
|
while(i < byte_id) {
|
|
13d08: 9b01 ldr r3, [sp, #4]
|
|
13d0a: 42ab cmp r3, r5
|
|
13d0c: d3f7 bcc.n 13cfe <lv_txt_utf8_get_char_id+0x12>
|
|
}
|
|
|
|
return char_cnt;
|
|
}
|
|
13d0e: 4620 mov r0, r4
|
|
13d10: b003 add sp, #12
|
|
13d12: bdf0 pop {r4, r5, r6, r7, pc}
|
|
uint32_t char_cnt = 0;
|
|
13d14: 460c mov r4, r1
|
|
return char_cnt;
|
|
13d16: e7fa b.n 13d0e <lv_txt_utf8_get_char_id+0x22>
|
|
13d18: 20000054 .word 0x20000054
|
|
|
|
00013d1c <lv_txt_utf8_get_length>:
|
|
* E.g.: "ÁBC" is 3 characters (but 4 bytes)
|
|
* @param txt a '\0' terminated char string
|
|
* @return number of characters
|
|
*/
|
|
static uint32_t lv_txt_utf8_get_length(const char * txt)
|
|
{
|
|
13d1c: b570 push {r4, r5, r6, lr}
|
|
13d1e: b082 sub sp, #8
|
|
uint32_t len = 0;
|
|
uint32_t i = 0;
|
|
13d20: 2300 movs r3, #0
|
|
13d22: 9301 str r3, [sp, #4]
|
|
|
|
while(txt[i] != '\0') {
|
|
13d24: 7803 ldrb r3, [r0, #0]
|
|
13d26: b173 cbz r3, 13d46 <lv_txt_utf8_get_length+0x2a>
|
|
13d28: 4604 mov r4, r0
|
|
13d2a: 2500 movs r5, #0
|
|
_lv_txt_encoded_next(txt, &i);
|
|
13d2c: 4e07 ldr r6, [pc, #28] ; (13d4c <lv_txt_utf8_get_length+0x30>)
|
|
13d2e: a901 add r1, sp, #4
|
|
13d30: 4620 mov r0, r4
|
|
13d32: 6873 ldr r3, [r6, #4]
|
|
13d34: 4798 blx r3
|
|
len++;
|
|
13d36: 3501 adds r5, #1
|
|
while(txt[i] != '\0') {
|
|
13d38: 9b01 ldr r3, [sp, #4]
|
|
13d3a: 5ce3 ldrb r3, [r4, r3]
|
|
13d3c: 2b00 cmp r3, #0
|
|
13d3e: d1f6 bne.n 13d2e <lv_txt_utf8_get_length+0x12>
|
|
}
|
|
|
|
return len;
|
|
}
|
|
13d40: 4628 mov r0, r5
|
|
13d42: b002 add sp, #8
|
|
13d44: bd70 pop {r4, r5, r6, pc}
|
|
uint32_t len = 0;
|
|
13d46: 2500 movs r5, #0
|
|
return len;
|
|
13d48: e7fa b.n 13d40 <lv_txt_utf8_get_length+0x24>
|
|
13d4a: bf00 nop
|
|
13d4c: 20000054 .word 0x20000054
|
|
|
|
00013d50 <_lv_txt_is_cmd>:
|
|
if(c == (uint32_t)LV_TXT_COLOR_CMD[0]) {
|
|
13d50: 2923 cmp r1, #35 ; 0x23
|
|
13d52: d004 beq.n 13d5e <_lv_txt_is_cmd+0xe>
|
|
if(*state == LV_TXT_CMD_STATE_PAR) {
|
|
13d54: 7803 ldrb r3, [r0, #0]
|
|
13d56: 2b01 cmp r3, #1
|
|
13d58: d015 beq.n 13d86 <_lv_txt_is_cmd+0x36>
|
|
bool ret = false;
|
|
13d5a: 2000 movs r0, #0
|
|
13d5c: 4770 bx lr
|
|
if(*state == LV_TXT_CMD_STATE_WAIT) { /*Start char*/
|
|
13d5e: 7803 ldrb r3, [r0, #0]
|
|
13d60: b91b cbnz r3, 13d6a <_lv_txt_is_cmd+0x1a>
|
|
*state = LV_TXT_CMD_STATE_PAR;
|
|
13d62: 2301 movs r3, #1
|
|
13d64: 7003 strb r3, [r0, #0]
|
|
ret = true;
|
|
13d66: 4618 mov r0, r3
|
|
13d68: 4770 bx lr
|
|
else if(*state == LV_TXT_CMD_STATE_PAR) {
|
|
13d6a: 2b01 cmp r3, #1
|
|
13d6c: d003 beq.n 13d76 <_lv_txt_is_cmd+0x26>
|
|
else if(*state == LV_TXT_CMD_STATE_IN) {
|
|
13d6e: 2b02 cmp r3, #2
|
|
13d70: d005 beq.n 13d7e <_lv_txt_is_cmd+0x2e>
|
|
bool ret = false;
|
|
13d72: 2000 movs r0, #0
|
|
}
|
|
13d74: 4770 bx lr
|
|
*state = LV_TXT_CMD_STATE_WAIT;
|
|
13d76: 2300 movs r3, #0
|
|
13d78: 7003 strb r3, [r0, #0]
|
|
bool ret = false;
|
|
13d7a: 4618 mov r0, r3
|
|
13d7c: 4770 bx lr
|
|
*state = LV_TXT_CMD_STATE_WAIT;
|
|
13d7e: 2300 movs r3, #0
|
|
13d80: 7003 strb r3, [r0, #0]
|
|
ret = true;
|
|
13d82: 2001 movs r0, #1
|
|
13d84: 4770 bx lr
|
|
if(c == ' ') {
|
|
13d86: 2920 cmp r1, #32
|
|
13d88: d103 bne.n 13d92 <_lv_txt_is_cmd+0x42>
|
|
*state = LV_TXT_CMD_STATE_IN; /*After the parameter the text is in the command*/
|
|
13d8a: 2302 movs r3, #2
|
|
13d8c: 7003 strb r3, [r0, #0]
|
|
ret = true;
|
|
13d8e: 2001 movs r0, #1
|
|
13d90: 4770 bx lr
|
|
13d92: 2001 movs r0, #1
|
|
13d94: 4770 bx lr
|
|
...
|
|
|
|
00013d98 <_lv_txt_get_next_line>:
|
|
{
|
|
13d98: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
13d9c: b091 sub sp, #68 ; 0x44
|
|
13d9e: 9105 str r1, [sp, #20]
|
|
13da0: 9206 str r2, [sp, #24]
|
|
13da2: 9307 str r3, [sp, #28]
|
|
13da4: f89d 3068 ldrb.w r3, [sp, #104] ; 0x68
|
|
13da8: 9304 str r3, [sp, #16]
|
|
if(txt == NULL) return 0;
|
|
13daa: 9008 str r0, [sp, #32]
|
|
13dac: 2800 cmp r0, #0
|
|
13dae: f000 80f0 beq.w 13f92 <_lv_txt_get_next_line+0x1fa>
|
|
if(font == NULL) return 0;
|
|
13db2: 2900 cmp r1, #0
|
|
13db4: f000 80ef beq.w 13f96 <_lv_txt_get_next_line+0x1fe>
|
|
if((flag & LV_TXT_FLAG_EXPAND) || (flag & LV_TXT_FLAG_FIT)) {
|
|
13db8: f013 0f12 tst.w r3, #18
|
|
13dbc: d017 beq.n 13dee <_lv_txt_get_next_line+0x56>
|
|
for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) {
|
|
13dbe: 7803 ldrb r3, [r0, #0]
|
|
13dc0: 2b0a cmp r3, #10
|
|
13dc2: f000 80ea beq.w 13f9a <_lv_txt_get_next_line+0x202>
|
|
13dc6: 2b0d cmp r3, #13
|
|
13dc8: f000 80ed beq.w 13fa6 <_lv_txt_get_next_line+0x20e>
|
|
13dcc: 2b00 cmp r3, #0
|
|
13dce: f000 80ec beq.w 13faa <_lv_txt_get_next_line+0x212>
|
|
13dd2: 4601 mov r1, r0
|
|
13dd4: 2200 movs r2, #0
|
|
13dd6: 3201 adds r2, #1
|
|
13dd8: f811 3f01 ldrb.w r3, [r1, #1]!
|
|
13ddc: 2b0a cmp r3, #10
|
|
13dde: f000 80dd beq.w 13f9c <_lv_txt_get_next_line+0x204>
|
|
13de2: 2b0d cmp r3, #13
|
|
13de4: f000 80da beq.w 13f9c <_lv_txt_get_next_line+0x204>
|
|
13de8: 2b00 cmp r3, #0
|
|
13dea: d1f4 bne.n 13dd6 <_lv_txt_get_next_line+0x3e>
|
|
13dec: e0d7 b.n 13f9e <_lv_txt_get_next_line+0x206>
|
|
13dee: 9b04 ldr r3, [sp, #16]
|
|
13df0: f003 0302 and.w r3, r3, #2
|
|
13df4: 461a mov r2, r3
|
|
13df6: 930b str r3, [sp, #44] ; 0x2c
|
|
if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX;
|
|
13df8: f647 4318 movw r3, #31768 ; 0x7c18
|
|
13dfc: 9907 ldr r1, [sp, #28]
|
|
13dfe: 2a00 cmp r2, #0
|
|
13e00: bf18 it ne
|
|
13e02: 4619 movne r1, r3
|
|
13e04: 9107 str r1, [sp, #28]
|
|
lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT;
|
|
13e06: 2300 movs r3, #0
|
|
13e08: f88d 303f strb.w r3, [sp, #63] ; 0x3f
|
|
uint32_t i = 0; /* Iterating index into txt */
|
|
13e0c: 930e str r3, [sp, #56] ; 0x38
|
|
letter = _lv_txt_encoded_next(txt, &i_next);
|
|
13e0e: f8df 91ac ldr.w r9, [pc, #428] ; 13fbc <_lv_txt_get_next_line+0x224>
|
|
{
|
|
uint8_t i;
|
|
bool ret = false;
|
|
|
|
/*Compare the letter to TXT_BREAK_CHARS*/
|
|
for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) {
|
|
13e12: f8df a1ac ldr.w sl, [pc, #428] ; 13fc0 <_lv_txt_get_next_line+0x228>
|
|
while(txt[i] != '\0' && max_width > 0) {
|
|
13e16: e078 b.n 13f0a <_lv_txt_get_next_line+0x172>
|
|
letter_w = lv_font_get_glyph_width(font, letter, letter_next);
|
|
13e18: 9a01 ldr r2, [sp, #4]
|
|
13e1a: 4621 mov r1, r4
|
|
13e1c: 9805 ldr r0, [sp, #20]
|
|
13e1e: 4b64 ldr r3, [pc, #400] ; (13fb0 <_lv_txt_get_next_line+0x218>)
|
|
13e20: 4798 blx r3
|
|
cur_w += letter_w;
|
|
13e22: 4405 add r5, r0
|
|
13e24: b2ad uxth r5, r5
|
|
if(letter_w > 0) {
|
|
13e26: b200 sxth r0, r0
|
|
13e28: 2800 cmp r0, #0
|
|
13e2a: dd02 ble.n 13e32 <_lv_txt_get_next_line+0x9a>
|
|
cur_w += letter_space;
|
|
13e2c: 9b06 ldr r3, [sp, #24]
|
|
13e2e: 441d add r5, r3
|
|
13e30: b2ad uxth r5, r5
|
|
13e32: b22d sxth r5, r5
|
|
if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) {
|
|
13e34: f1b7 3fff cmp.w r7, #4294967295
|
|
13e38: d038 beq.n 13eac <_lv_txt_get_next_line+0x114>
|
|
if(letter == '\n' || letter == '\r' || is_break_char(letter)) {
|
|
13e3a: f1a4 020a sub.w r2, r4, #10
|
|
13e3e: 2a16 cmp r2, #22
|
|
13e40: d83b bhi.n 13eba <_lv_txt_get_next_line+0x122>
|
|
13e42: 4b5c ldr r3, [pc, #368] ; (13fb4 <_lv_txt_get_next_line+0x21c>)
|
|
13e44: 40d3 lsrs r3, r2
|
|
13e46: f013 0f01 tst.w r3, #1
|
|
13e4a: d139 bne.n 13ec0 <_lv_txt_get_next_line+0x128>
|
|
13e4c: 2301 movs r3, #1
|
|
13e4e: 222c movs r2, #44 ; 0x2c
|
|
if(letter == (uint32_t)LV_TXT_BREAK_CHARS[i]) {
|
|
13e50: 4294 cmp r4, r2
|
|
13e52: d035 beq.n 13ec0 <_lv_txt_get_next_line+0x128>
|
|
for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) {
|
|
13e54: 3301 adds r3, #1
|
|
13e56: b2db uxtb r3, r3
|
|
13e58: f81a 2003 ldrb.w r2, [sl, r3]
|
|
13e5c: 2a00 cmp r2, #0
|
|
13e5e: d1f7 bne.n 13e50 <_lv_txt_get_next_line+0xb8>
|
|
if(word_w_ptr != NULL && break_index == NO_BREAK_FOUND) *word_w_ptr = cur_w;
|
|
13e60: f1b7 3fff cmp.w r7, #4294967295
|
|
13e64: bf08 it eq
|
|
13e66: 46ab moveq fp, r5
|
|
i = i_next;
|
|
13e68: 9e0c ldr r6, [sp, #48] ; 0x30
|
|
i_next = i_next_next;
|
|
13e6a: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
13e6c: 930c str r3, [sp, #48] ; 0x30
|
|
letter_next = _lv_txt_encoded_next(txt, &i_next_next);
|
|
13e6e: 9b03 ldr r3, [sp, #12]
|
|
13e70: 9302 str r3, [sp, #8]
|
|
13e72: 9c01 ldr r4, [sp, #4]
|
|
while(txt[i] != '\0') {
|
|
13e74: f818 3006 ldrb.w r3, [r8, r6]
|
|
13e78: 2b00 cmp r3, #0
|
|
13e7a: d06e beq.n 13f5a <_lv_txt_get_next_line+0x1c2>
|
|
letter_next = _lv_txt_encoded_next(txt, &i_next_next);
|
|
13e7c: f8d9 3004 ldr.w r3, [r9, #4]
|
|
13e80: a90d add r1, sp, #52 ; 0x34
|
|
13e82: 4640 mov r0, r8
|
|
13e84: 4798 blx r3
|
|
13e86: 9001 str r0, [sp, #4]
|
|
word_len++;
|
|
13e88: 9b02 ldr r3, [sp, #8]
|
|
13e8a: 3301 adds r3, #1
|
|
13e8c: 9303 str r3, [sp, #12]
|
|
if((flag & LV_TXT_FLAG_RECOLOR) != 0) {
|
|
13e8e: 9b04 ldr r3, [sp, #16]
|
|
13e90: f013 0f01 tst.w r3, #1
|
|
13e94: d0c0 beq.n 13e18 <_lv_txt_get_next_line+0x80>
|
|
if(_lv_txt_is_cmd(cmd_state, letter) != false) {
|
|
13e96: 4621 mov r1, r4
|
|
13e98: f10d 003f add.w r0, sp, #63 ; 0x3f
|
|
13e9c: 4b46 ldr r3, [pc, #280] ; (13fb8 <_lv_txt_get_next_line+0x220>)
|
|
13e9e: 4798 blx r3
|
|
13ea0: 2800 cmp r0, #0
|
|
13ea2: d0b9 beq.n 13e18 <_lv_txt_get_next_line+0x80>
|
|
i = i_next;
|
|
13ea4: 9e0c ldr r6, [sp, #48] ; 0x30
|
|
i_next = i_next_next;
|
|
13ea6: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
13ea8: 930c str r3, [sp, #48] ; 0x30
|
|
13eaa: e7e0 b.n 13e6e <_lv_txt_get_next_line+0xd6>
|
|
if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) {
|
|
13eac: 9b06 ldr r3, [sp, #24]
|
|
13eae: 1aeb subs r3, r5, r3
|
|
13eb0: 9a09 ldr r2, [sp, #36] ; 0x24
|
|
13eb2: 4293 cmp r3, r2
|
|
13eb4: bfc8 it gt
|
|
13eb6: 4637 movgt r7, r6
|
|
13eb8: e7bf b.n 13e3a <_lv_txt_get_next_line+0xa2>
|
|
if(letter == '\n' || letter == '\r' || is_break_char(letter)) {
|
|
13eba: 2301 movs r3, #1
|
|
13ebc: 222c movs r2, #44 ; 0x2c
|
|
13ebe: e7c7 b.n 13e50 <_lv_txt_get_next_line+0xb8>
|
|
if(i == 0 && break_index == NO_BREAK_FOUND && word_w_ptr != NULL) *word_w_ptr = cur_w;
|
|
13ec0: 2e00 cmp r6, #0
|
|
13ec2: d14a bne.n 13f5a <_lv_txt_get_next_line+0x1c2>
|
|
13ec4: f1b7 3fff cmp.w r7, #4294967295
|
|
13ec8: d14a bne.n 13f60 <_lv_txt_get_next_line+0x1c8>
|
|
13eca: 46ab mov fp, r5
|
|
if(word_len == 0 || (letter == '\r' && letter_next == '\n')) i = i_next;
|
|
13ecc: 9b02 ldr r3, [sp, #8]
|
|
13ece: b123 cbz r3, 13eda <_lv_txt_get_next_line+0x142>
|
|
13ed0: 2c0d cmp r4, #13
|
|
13ed2: d103 bne.n 13edc <_lv_txt_get_next_line+0x144>
|
|
13ed4: 9b01 ldr r3, [sp, #4]
|
|
13ed6: 2b0a cmp r3, #10
|
|
13ed8: d100 bne.n 13edc <_lv_txt_get_next_line+0x144>
|
|
13eda: 9e0c ldr r6, [sp, #48] ; 0x30
|
|
return i;
|
|
13edc: b2b6 uxth r6, r6
|
|
max_width -= word_w;
|
|
13ede: 9b07 ldr r3, [sp, #28]
|
|
13ee0: eba3 0b0b sub.w fp, r3, fp
|
|
13ee4: fa0f f38b sxth.w r3, fp
|
|
13ee8: 9307 str r3, [sp, #28]
|
|
if(advance == 0) {
|
|
13eea: 2e00 cmp r6, #0
|
|
13eec: d03a beq.n 13f64 <_lv_txt_get_next_line+0x1cc>
|
|
i += advance;
|
|
13eee: 9f0e ldr r7, [sp, #56] ; 0x38
|
|
13ef0: 443e add r6, r7
|
|
13ef2: 960e str r6, [sp, #56] ; 0x38
|
|
if(txt[0] == '\n' || txt[0] == '\r') break;
|
|
13ef4: 9a08 ldr r2, [sp, #32]
|
|
13ef6: 7813 ldrb r3, [r2, #0]
|
|
13ef8: 2b0a cmp r3, #10
|
|
13efa: d03f beq.n 13f7c <_lv_txt_get_next_line+0x1e4>
|
|
13efc: 2b0d cmp r3, #13
|
|
13efe: d03d beq.n 13f7c <_lv_txt_get_next_line+0x1e4>
|
|
if(txt[i] == '\n' || txt[i] == '\r') {
|
|
13f00: 5d93 ldrb r3, [r2, r6]
|
|
13f02: 2b0a cmp r3, #10
|
|
13f04: d038 beq.n 13f78 <_lv_txt_get_next_line+0x1e0>
|
|
13f06: 2b0d cmp r3, #13
|
|
13f08: d036 beq.n 13f78 <_lv_txt_get_next_line+0x1e0>
|
|
while(txt[i] != '\0' && max_width > 0) {
|
|
13f0a: 9b0e ldr r3, [sp, #56] ; 0x38
|
|
13f0c: 930a str r3, [sp, #40] ; 0x28
|
|
13f0e: 9908 ldr r1, [sp, #32]
|
|
13f10: eb01 0803 add.w r8, r1, r3
|
|
13f14: 5ccb ldrb r3, [r1, r3]
|
|
13f16: 2b00 cmp r3, #0
|
|
13f18: d030 beq.n 13f7c <_lv_txt_get_next_line+0x1e4>
|
|
13f1a: 9b07 ldr r3, [sp, #28]
|
|
13f1c: 2b00 cmp r3, #0
|
|
13f1e: dd2d ble.n 13f7c <_lv_txt_get_next_line+0x1e4>
|
|
if(txt == NULL || txt[0] == '\0') return 0;
|
|
13f20: f1b8 0f00 cmp.w r8, #0
|
|
13f24: d01e beq.n 13f64 <_lv_txt_get_next_line+0x1cc>
|
|
if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX;
|
|
13f26: f647 4318 movw r3, #31768 ; 0x7c18
|
|
13f2a: 9a07 ldr r2, [sp, #28]
|
|
13f2c: 990b ldr r1, [sp, #44] ; 0x2c
|
|
13f2e: 2900 cmp r1, #0
|
|
13f30: bf08 it eq
|
|
13f32: 4613 moveq r3, r2
|
|
13f34: 9309 str r3, [sp, #36] ; 0x24
|
|
uint32_t i = 0, i_next = 0, i_next_next = 0; /* Iterating index into txt */
|
|
13f36: 2600 movs r6, #0
|
|
13f38: 960c str r6, [sp, #48] ; 0x30
|
|
13f3a: 960d str r6, [sp, #52] ; 0x34
|
|
letter = _lv_txt_encoded_next(txt, &i_next);
|
|
13f3c: f8d9 3004 ldr.w r3, [r9, #4]
|
|
13f40: a90c add r1, sp, #48 ; 0x30
|
|
13f42: 4640 mov r0, r8
|
|
13f44: 4798 blx r3
|
|
13f46: 4604 mov r4, r0
|
|
i_next_next = i_next;
|
|
13f48: 9b0c ldr r3, [sp, #48] ; 0x30
|
|
13f4a: 930d str r3, [sp, #52] ; 0x34
|
|
uint32_t word_w = 0;
|
|
13f4c: 46b3 mov fp, r6
|
|
uint32_t break_index = NO_BREAK_FOUND; /* only used for "long" words */
|
|
13f4e: f04f 37ff mov.w r7, #4294967295
|
|
uint32_t word_len = 0; /* Number of characters in the transversed word */
|
|
13f52: 9602 str r6, [sp, #8]
|
|
lv_coord_t cur_w = 0; /* Pixel Width of transversed string */
|
|
13f54: 4635 mov r5, r6
|
|
uint32_t letter_next = 0; /* Letter at i_next */
|
|
13f56: 9601 str r6, [sp, #4]
|
|
13f58: e78c b.n 13e74 <_lv_txt_get_next_line+0xdc>
|
|
if(break_index == NO_BREAK_FOUND) {
|
|
13f5a: f1b7 3fff cmp.w r7, #4294967295
|
|
13f5e: d0b5 beq.n 13ecc <_lv_txt_get_next_line+0x134>
|
|
if(force) return break_index;
|
|
13f60: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
13f62: b13b cbz r3, 13f74 <_lv_txt_get_next_line+0x1dc>
|
|
if(i == 0) _lv_txt_encoded_next(txt, &i); // prevent inf loops
|
|
13f64: 9b0e ldr r3, [sp, #56] ; 0x38
|
|
13f66: b95b cbnz r3, 13f80 <_lv_txt_get_next_line+0x1e8>
|
|
13f68: 4b14 ldr r3, [pc, #80] ; (13fbc <_lv_txt_get_next_line+0x224>)
|
|
13f6a: 685b ldr r3, [r3, #4]
|
|
13f6c: a90e add r1, sp, #56 ; 0x38
|
|
13f6e: 9808 ldr r0, [sp, #32]
|
|
13f70: 4798 blx r3
|
|
13f72: e003 b.n 13f7c <_lv_txt_get_next_line+0x1e4>
|
|
if(force) return break_index;
|
|
13f74: b2be uxth r6, r7
|
|
13f76: e7b2 b.n 13ede <_lv_txt_get_next_line+0x146>
|
|
i++; /* Include the following newline in the current line */
|
|
13f78: 3601 adds r6, #1
|
|
13f7a: 960e str r6, [sp, #56] ; 0x38
|
|
if(i == 0) {
|
|
13f7c: 9b0e ldr r3, [sp, #56] ; 0x38
|
|
13f7e: b113 cbz r3, 13f86 <_lv_txt_get_next_line+0x1ee>
|
|
return i;
|
|
13f80: f8bd 0038 ldrh.w r0, [sp, #56] ; 0x38
|
|
13f84: e00c b.n 13fa0 <_lv_txt_get_next_line+0x208>
|
|
_lv_txt_encoded_next(txt, &i);
|
|
13f86: 4b0d ldr r3, [pc, #52] ; (13fbc <_lv_txt_get_next_line+0x224>)
|
|
13f88: 685b ldr r3, [r3, #4]
|
|
13f8a: a90e add r1, sp, #56 ; 0x38
|
|
13f8c: 9808 ldr r0, [sp, #32]
|
|
13f8e: 4798 blx r3
|
|
13f90: e7f6 b.n 13f80 <_lv_txt_get_next_line+0x1e8>
|
|
if(txt == NULL) return 0;
|
|
13f92: 2000 movs r0, #0
|
|
13f94: e004 b.n 13fa0 <_lv_txt_get_next_line+0x208>
|
|
if(font == NULL) return 0;
|
|
13f96: 2000 movs r0, #0
|
|
13f98: e002 b.n 13fa0 <_lv_txt_get_next_line+0x208>
|
|
for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) {
|
|
13f9a: 2200 movs r2, #0
|
|
if(txt[i] != '\0') i++; /*To go beyond `\n`*/
|
|
13f9c: 3201 adds r2, #1
|
|
return i;
|
|
13f9e: b290 uxth r0, r2
|
|
}
|
|
13fa0: b011 add sp, #68 ; 0x44
|
|
13fa2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) {
|
|
13fa6: 2200 movs r2, #0
|
|
13fa8: e7f8 b.n 13f9c <_lv_txt_get_next_line+0x204>
|
|
13faa: 2200 movs r2, #0
|
|
13fac: e7f7 b.n 13f9e <_lv_txt_get_next_line+0x206>
|
|
13fae: bf00 nop
|
|
13fb0: 00010049 .word 0x00010049
|
|
13fb4: 00400009 .word 0x00400009
|
|
13fb8: 00013d51 .word 0x00013d51
|
|
13fbc: 20000054 .word 0x20000054
|
|
13fc0: 000294fc .word 0x000294fc
|
|
|
|
00013fc4 <_lv_txt_get_width>:
|
|
{
|
|
13fc4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
13fc8: b085 sub sp, #20
|
|
if(txt == NULL) return 0;
|
|
13fca: 2800 cmp r0, #0
|
|
13fcc: d040 beq.n 14050 <_lv_txt_get_width+0x8c>
|
|
13fce: 4605 mov r5, r0
|
|
if(font == NULL) return 0;
|
|
13fd0: 2a00 cmp r2, #0
|
|
13fd2: d03f beq.n 14054 <_lv_txt_get_width+0x90>
|
|
uint32_t i = 0;
|
|
13fd4: 2000 movs r0, #0
|
|
13fd6: 9003 str r0, [sp, #12]
|
|
lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT;
|
|
13fd8: f88d 000b strb.w r0, [sp, #11]
|
|
if(length != 0) {
|
|
13fdc: b149 cbz r1, 13ff2 <_lv_txt_get_width+0x2e>
|
|
13fde: 469b mov fp, r3
|
|
13fe0: 9201 str r2, [sp, #4]
|
|
13fe2: 4689 mov r9, r1
|
|
13fe4: 2400 movs r4, #0
|
|
uint32_t letter = _lv_txt_encoded_next(txt, &i);
|
|
13fe6: 4f1c ldr r7, [pc, #112] ; (14058 <_lv_txt_get_width+0x94>)
|
|
if((flag & LV_TXT_FLAG_RECOLOR) != 0) {
|
|
13fe8: f89d a038 ldrb.w sl, [sp, #56] ; 0x38
|
|
13fec: f00a 0a01 and.w sl, sl, #1
|
|
13ff0: e00c b.n 1400c <_lv_txt_get_width+0x48>
|
|
lv_coord_t width = 0;
|
|
13ff2: 4604 mov r4, r0
|
|
13ff4: e028 b.n 14048 <_lv_txt_get_width+0x84>
|
|
lv_coord_t char_width = lv_font_get_glyph_width(font, letter, letter_next);
|
|
13ff6: 4642 mov r2, r8
|
|
13ff8: 4631 mov r1, r6
|
|
13ffa: 9801 ldr r0, [sp, #4]
|
|
13ffc: 4b17 ldr r3, [pc, #92] ; (1405c <_lv_txt_get_width+0x98>)
|
|
13ffe: 4798 blx r3
|
|
if(char_width > 0) {
|
|
14000: b203 sxth r3, r0
|
|
14002: 2b00 cmp r3, #0
|
|
14004: dd02 ble.n 1400c <_lv_txt_get_width+0x48>
|
|
width += letter_space;
|
|
14006: 445c add r4, fp
|
|
14008: 4404 add r4, r0
|
|
1400a: b224 sxth r4, r4
|
|
while(i < length) {
|
|
1400c: 9b03 ldr r3, [sp, #12]
|
|
1400e: 4599 cmp r9, r3
|
|
14010: d915 bls.n 1403e <_lv_txt_get_width+0x7a>
|
|
uint32_t letter = _lv_txt_encoded_next(txt, &i);
|
|
14012: 687b ldr r3, [r7, #4]
|
|
14014: a903 add r1, sp, #12
|
|
14016: 4628 mov r0, r5
|
|
14018: 4798 blx r3
|
|
1401a: 4606 mov r6, r0
|
|
uint32_t letter_next = _lv_txt_encoded_next(&txt[i], NULL);
|
|
1401c: 687b ldr r3, [r7, #4]
|
|
1401e: 2100 movs r1, #0
|
|
14020: 9803 ldr r0, [sp, #12]
|
|
14022: 4428 add r0, r5
|
|
14024: 4798 blx r3
|
|
14026: 4680 mov r8, r0
|
|
if((flag & LV_TXT_FLAG_RECOLOR) != 0) {
|
|
14028: f1ba 0f00 cmp.w sl, #0
|
|
1402c: d0e3 beq.n 13ff6 <_lv_txt_get_width+0x32>
|
|
if(_lv_txt_is_cmd(&cmd_state, letter) != false) {
|
|
1402e: 4631 mov r1, r6
|
|
14030: f10d 000b add.w r0, sp, #11
|
|
14034: 4b0a ldr r3, [pc, #40] ; (14060 <_lv_txt_get_width+0x9c>)
|
|
14036: 4798 blx r3
|
|
14038: 2800 cmp r0, #0
|
|
1403a: d1e7 bne.n 1400c <_lv_txt_get_width+0x48>
|
|
1403c: e7db b.n 13ff6 <_lv_txt_get_width+0x32>
|
|
if(width > 0) {
|
|
1403e: 2c00 cmp r4, #0
|
|
14040: dd02 ble.n 14048 <_lv_txt_get_width+0x84>
|
|
width -= letter_space; /*Trim the last letter space. Important if the text is center
|
|
14042: eba4 040b sub.w r4, r4, fp
|
|
14046: b224 sxth r4, r4
|
|
}
|
|
14048: 4620 mov r0, r4
|
|
1404a: b005 add sp, #20
|
|
1404c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(txt == NULL) return 0;
|
|
14050: 2400 movs r4, #0
|
|
14052: e7f9 b.n 14048 <_lv_txt_get_width+0x84>
|
|
if(font == NULL) return 0;
|
|
14054: 2400 movs r4, #0
|
|
14056: e7f7 b.n 14048 <_lv_txt_get_width+0x84>
|
|
14058: 20000054 .word 0x20000054
|
|
1405c: 00010049 .word 0x00010049
|
|
14060: 00013d51 .word 0x00013d51
|
|
|
|
00014064 <_lv_txt_get_size>:
|
|
{
|
|
14064: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
14068: b089 sub sp, #36 ; 0x24
|
|
1406a: f9bd 4048 ldrsh.w r4, [sp, #72] ; 0x48
|
|
1406e: 9406 str r4, [sp, #24]
|
|
14070: f9bd 504c ldrsh.w r5, [sp, #76] ; 0x4c
|
|
14074: f89d 8050 ldrb.w r8, [sp, #80] ; 0x50
|
|
size_res->x = 0;
|
|
14078: 2400 movs r4, #0
|
|
1407a: 8004 strh r4, [r0, #0]
|
|
size_res->y = 0;
|
|
1407c: 8044 strh r4, [r0, #2]
|
|
if(text == NULL) return;
|
|
1407e: 2900 cmp r1, #0
|
|
14080: d05b beq.n 1413a <_lv_txt_get_size+0xd6>
|
|
14082: 460f mov r7, r1
|
|
if(font == NULL) return;
|
|
14084: 2a00 cmp r2, #0
|
|
14086: d058 beq.n 1413a <_lv_txt_get_size+0xd6>
|
|
14088: 9303 str r3, [sp, #12]
|
|
1408a: 4611 mov r1, r2
|
|
1408c: 9202 str r2, [sp, #8]
|
|
1408e: 4604 mov r4, r0
|
|
if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX;
|
|
14090: f008 0302 and.w r3, r8, #2
|
|
14094: f647 4218 movw r2, #31768 ; 0x7c18
|
|
14098: 2b00 cmp r3, #0
|
|
1409a: bf18 it ne
|
|
1409c: 4615 movne r5, r2
|
|
1409e: 9504 str r5, [sp, #16]
|
|
* @param font_p pointer to a font
|
|
* @return the height of a font
|
|
*/
|
|
static inline lv_coord_t lv_font_get_line_height(const lv_font_t * font_p)
|
|
{
|
|
return font_p->line_height;
|
|
140a0: f9b1 2008 ldrsh.w r2, [r1, #8]
|
|
140a4: 9207 str r2, [sp, #28]
|
|
uint16_t letter_height = lv_font_get_line_height(font);
|
|
140a6: fa1f fa82 uxth.w sl, r2
|
|
while(text[line_start] != '\0') {
|
|
140aa: 783b ldrb r3, [r7, #0]
|
|
140ac: 2b00 cmp r3, #0
|
|
140ae: d04c beq.n 1414a <_lv_txt_get_size+0xe6>
|
|
140b0: 463e mov r6, r7
|
|
140b2: 2500 movs r5, #0
|
|
new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag);
|
|
140b4: f8df b0b0 ldr.w fp, [pc, #176] ; 14168 <_lv_txt_get_size+0x104>
|
|
if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) {
|
|
140b8: 9b06 ldr r3, [sp, #24]
|
|
140ba: 449a add sl, r3
|
|
140bc: fa1f f98a uxth.w r9, sl
|
|
140c0: 4647 mov r7, r8
|
|
140c2: 46b0 mov r8, r6
|
|
new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag);
|
|
140c4: 9700 str r7, [sp, #0]
|
|
140c6: 9b04 ldr r3, [sp, #16]
|
|
140c8: 9a03 ldr r2, [sp, #12]
|
|
140ca: 9902 ldr r1, [sp, #8]
|
|
140cc: 4630 mov r0, r6
|
|
140ce: 47d8 blx fp
|
|
140d0: 4405 add r5, r0
|
|
if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) {
|
|
140d2: f9b4 3002 ldrsh.w r3, [r4, #2]
|
|
140d6: eb0a 0203 add.w r2, sl, r3
|
|
140da: f5b2 4f00 cmp.w r2, #32768 ; 0x8000
|
|
140de: d224 bcs.n 1412a <_lv_txt_get_size+0xc6>
|
|
140e0: f8cd 9014 str.w r9, [sp, #20]
|
|
size_res->y += line_space;
|
|
140e4: 444b add r3, r9
|
|
140e6: 8063 strh r3, [r4, #2]
|
|
lv_coord_t act_line_length = _lv_txt_get_width(&text[line_start], new_line_start - line_start, font, letter_space,
|
|
140e8: 9700 str r7, [sp, #0]
|
|
140ea: 9b03 ldr r3, [sp, #12]
|
|
140ec: 9a02 ldr r2, [sp, #8]
|
|
140ee: 4601 mov r1, r0
|
|
140f0: 4630 mov r0, r6
|
|
140f2: 4e18 ldr r6, [pc, #96] ; (14154 <_lv_txt_get_size+0xf0>)
|
|
140f4: 47b0 blx r6
|
|
size_res->x = LV_MATH_MAX(act_line_length, size_res->x);
|
|
140f6: f9b4 3000 ldrsh.w r3, [r4]
|
|
140fa: 4298 cmp r0, r3
|
|
140fc: bfb8 it lt
|
|
140fe: 4618 movlt r0, r3
|
|
14100: 8020 strh r0, [r4, #0]
|
|
while(text[line_start] != '\0') {
|
|
14102: eb08 0605 add.w r6, r8, r5
|
|
14106: f818 3005 ldrb.w r3, [r8, r5]
|
|
1410a: 2b00 cmp r3, #0
|
|
1410c: d1da bne.n 140c4 <_lv_txt_get_size+0x60>
|
|
if((line_start != 0) && (text[line_start - 1] == '\n' || text[line_start - 1] == '\r')) {
|
|
1410e: b12d cbz r5, 1411c <_lv_txt_get_size+0xb8>
|
|
14110: f816 3c01 ldrb.w r3, [r6, #-1]
|
|
14114: 2b0a cmp r3, #10
|
|
14116: d013 beq.n 14140 <_lv_txt_get_size+0xdc>
|
|
14118: 2b0d cmp r3, #13
|
|
1411a: d011 beq.n 14140 <_lv_txt_get_size+0xdc>
|
|
if(size_res->y == 0)
|
|
1411c: f9b4 3002 ldrsh.w r3, [r4, #2]
|
|
14120: b19b cbz r3, 1414a <_lv_txt_get_size+0xe6>
|
|
size_res->y -= line_space;
|
|
14122: 9a06 ldr r2, [sp, #24]
|
|
14124: 1a9b subs r3, r3, r2
|
|
14126: 8063 strh r3, [r4, #2]
|
|
14128: e007 b.n 1413a <_lv_txt_get_size+0xd6>
|
|
LV_LOG_WARN("lv_txt_get_size: integer overflow while calculating text height");
|
|
1412a: 4b0b ldr r3, [pc, #44] ; (14158 <_lv_txt_get_size+0xf4>)
|
|
1412c: 9300 str r3, [sp, #0]
|
|
1412e: 4b0b ldr r3, [pc, #44] ; (1415c <_lv_txt_get_size+0xf8>)
|
|
14130: 2271 movs r2, #113 ; 0x71
|
|
14132: 490b ldr r1, [pc, #44] ; (14160 <_lv_txt_get_size+0xfc>)
|
|
14134: 2002 movs r0, #2
|
|
14136: 4c0b ldr r4, [pc, #44] ; (14164 <_lv_txt_get_size+0x100>)
|
|
14138: 47a0 blx r4
|
|
}
|
|
1413a: b009 add sp, #36 ; 0x24
|
|
1413c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
size_res->y += letter_height + line_space;
|
|
14140: 8863 ldrh r3, [r4, #2]
|
|
14142: 9a05 ldr r2, [sp, #20]
|
|
14144: 441a add r2, r3
|
|
14146: 8062 strh r2, [r4, #2]
|
|
14148: e7e8 b.n 1411c <_lv_txt_get_size+0xb8>
|
|
size_res->y = letter_height;
|
|
1414a: f8bd 301c ldrh.w r3, [sp, #28]
|
|
1414e: 8063 strh r3, [r4, #2]
|
|
14150: e7f3 b.n 1413a <_lv_txt_get_size+0xd6>
|
|
14152: bf00 nop
|
|
14154: 00013fc5 .word 0x00013fc5
|
|
14158: 0002952c .word 0x0002952c
|
|
1415c: 000294e8 .word 0x000294e8
|
|
14160: 00029504 .word 0x00029504
|
|
14164: 00012245 .word 0x00012245
|
|
14168: 00013d99 .word 0x00013d99
|
|
|
|
0001416c <_lv_utils_bsearch>:
|
|
*
|
|
* @return a pointer to a matching item, or NULL if none exists.
|
|
*/
|
|
void * _lv_utils_bsearch(const void * key, const void * base, uint32_t n, uint32_t size,
|
|
int32_t (*cmp)(const void * pRef, const void * pElement))
|
|
{
|
|
1416c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
14170: 4681 mov r9, r0
|
|
14172: 468a mov sl, r1
|
|
14174: 461f mov r7, r3
|
|
14176: f8dd 8020 ldr.w r8, [sp, #32]
|
|
const char * middle;
|
|
int32_t c;
|
|
|
|
for(middle = base; n != 0;) {
|
|
1417a: 4614 mov r4, r2
|
|
1417c: b932 cbnz r2, 1418c <_lv_utils_bsearch+0x20>
|
|
}
|
|
else {
|
|
return (char *)middle;
|
|
}
|
|
}
|
|
return NULL;
|
|
1417e: 2000 movs r0, #0
|
|
14180: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
else if(c < 0) {
|
|
14184: 2800 cmp r0, #0
|
|
14186: da14 bge.n 141b2 <_lv_utils_bsearch+0x46>
|
|
n /= 2;
|
|
14188: 462c mov r4, r5
|
|
for(middle = base; n != 0;) {
|
|
1418a: b17c cbz r4, 141ac <_lv_utils_bsearch+0x40>
|
|
middle += (n / 2) * size;
|
|
1418c: 0865 lsrs r5, r4, #1
|
|
1418e: fb07 a605 mla r6, r7, r5, sl
|
|
if((c = (*cmp)(key, middle)) > 0) {
|
|
14192: 4631 mov r1, r6
|
|
14194: 4648 mov r0, r9
|
|
14196: 47c0 blx r8
|
|
14198: 2800 cmp r0, #0
|
|
1419a: ddf3 ble.n 14184 <_lv_utils_bsearch+0x18>
|
|
n = (n / 2) - ((n & 1) == 0);
|
|
1419c: f084 0401 eor.w r4, r4, #1
|
|
141a0: f004 0401 and.w r4, r4, #1
|
|
141a4: 1b2c subs r4, r5, r4
|
|
base = (middle += size);
|
|
141a6: eb06 0a07 add.w sl, r6, r7
|
|
141aa: e7ee b.n 1418a <_lv_utils_bsearch+0x1e>
|
|
return NULL;
|
|
141ac: 2000 movs r0, #0
|
|
141ae: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
middle += (n / 2) * size;
|
|
141b2: 4630 mov r0, r6
|
|
}
|
|
141b4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
|
|
000141b8 <lv_theme_set_act>:
|
|
* From now, all the created objects will use styles from this theme by default
|
|
* @param th pointer to theme (return value of: 'lv_theme_init_xxx()')
|
|
*/
|
|
void lv_theme_set_act(lv_theme_t * th)
|
|
{
|
|
act_theme = th;
|
|
141b8: 4b01 ldr r3, [pc, #4] ; (141c0 <lv_theme_set_act+0x8>)
|
|
141ba: 6018 str r0, [r3, #0]
|
|
141bc: 4770 bx lr
|
|
141be: bf00 nop
|
|
141c0: 20006bd4 .word 0x20006bd4
|
|
|
|
000141c4 <lv_theme_get_font_normal>:
|
|
* Get the normal font of the theme
|
|
* @return pointer to the font
|
|
*/
|
|
const lv_font_t * lv_theme_get_font_normal(void)
|
|
{
|
|
return act_theme->font_normal;
|
|
141c4: 4b01 ldr r3, [pc, #4] ; (141cc <lv_theme_get_font_normal+0x8>)
|
|
141c6: 681b ldr r3, [r3, #0]
|
|
}
|
|
141c8: 68d8 ldr r0, [r3, #12]
|
|
141ca: 4770 bx lr
|
|
141cc: 20006bd4 .word 0x20006bd4
|
|
|
|
000141d0 <lv_theme_apply>:
|
|
{
|
|
return act_theme->flags;
|
|
}
|
|
|
|
void lv_theme_apply(lv_obj_t * obj, lv_theme_style_t name)
|
|
{
|
|
141d0: b508 push {r3, lr}
|
|
act_theme->apply_xcb(obj, name);
|
|
141d2: 4b02 ldr r3, [pc, #8] ; (141dc <lv_theme_apply+0xc>)
|
|
141d4: 681b ldr r3, [r3, #0]
|
|
141d6: 681b ldr r3, [r3, #0]
|
|
141d8: 4798 blx r3
|
|
141da: bd08 pop {r3, pc}
|
|
141dc: 20006bd4 .word 0x20006bd4
|
|
|
|
000141e0 <theme_apply>:
|
|
return &theme;
|
|
}
|
|
|
|
|
|
static void theme_apply(lv_obj_t * obj, lv_theme_style_t name)
|
|
{
|
|
141e0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
141e4: 4604 mov r4, r0
|
|
lv_style_list_t * list;
|
|
|
|
switch(name) {
|
|
141e6: 3901 subs r1, #1
|
|
141e8: 2927 cmp r1, #39 ; 0x27
|
|
141ea: d834 bhi.n 14256 <theme_apply+0x76>
|
|
141ec: e8df f011 tbh [pc, r1, lsl #1]
|
|
141f0: 00390028 .word 0x00390028
|
|
141f4: 00a100ec .word 0x00a100ec
|
|
141f8: 00600053 .word 0x00600053
|
|
141fc: 00d803a3 .word 0x00d803a3
|
|
14200: 02b20144 .word 0x02b20144
|
|
14204: 03cc0046 .word 0x03cc0046
|
|
14208: 03fe0273 .word 0x03fe0273
|
|
1420c: 00e000dc .word 0x00e000dc
|
|
14210: 00e40081 .word 0x00e40081
|
|
14214: 00e80193 .word 0x00e80193
|
|
14218: 02660247 .word 0x02660247
|
|
1421c: 016a03e3 .word 0x016a03e3
|
|
14220: 023f017c .word 0x023f017c
|
|
14224: 022301a0 .word 0x022301a0
|
|
14228: 0375011f .word 0x0375011f
|
|
1422c: 01080391 .word 0x01080391
|
|
14230: 02e000b8 .word 0x02e000b8
|
|
14234: 01f401c9 .word 0x01f401c9
|
|
14238: 02040347 .word 0x02040347
|
|
1423c: 033a0312 .word 0x033a0312
|
|
case LV_THEME_NONE:
|
|
break;
|
|
|
|
case LV_THEME_SCR:
|
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
|
14240: 2100 movs r1, #0
|
|
14242: 4b9b ldr r3, [pc, #620] ; (144b0 <theme_apply+0x2d0>)
|
|
14244: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
|
14246: 2100 movs r1, #0
|
|
14248: 4620 mov r0, r4
|
|
1424a: 4b9a ldr r3, [pc, #616] ; (144b4 <theme_apply+0x2d4>)
|
|
1424c: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->scr);
|
|
1424e: 4b9a ldr r3, [pc, #616] ; (144b8 <theme_apply+0x2d8>)
|
|
14250: 6819 ldr r1, [r3, #0]
|
|
14252: 4b9a ldr r3, [pc, #616] ; (144bc <theme_apply+0x2dc>)
|
|
14254: 4798 blx r3
|
|
#endif
|
|
default:
|
|
break;
|
|
}
|
|
|
|
lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL);
|
|
14256: 21ff movs r1, #255 ; 0xff
|
|
14258: 4620 mov r0, r4
|
|
1425a: 4b99 ldr r3, [pc, #612] ; (144c0 <theme_apply+0x2e0>)
|
|
1425c: 4798 blx r3
|
|
1425e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
|
14262: 2100 movs r1, #0
|
|
14264: 4b92 ldr r3, [pc, #584] ; (144b0 <theme_apply+0x2d0>)
|
|
14266: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
|
14268: 2100 movs r1, #0
|
|
1426a: 4620 mov r0, r4
|
|
1426c: 4b91 ldr r3, [pc, #580] ; (144b4 <theme_apply+0x2d4>)
|
|
1426e: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14270: 4b91 ldr r3, [pc, #580] ; (144b8 <theme_apply+0x2d8>)
|
|
14272: 6819 ldr r1, [r3, #0]
|
|
14274: 3104 adds r1, #4
|
|
14276: 4b91 ldr r3, [pc, #580] ; (144bc <theme_apply+0x2dc>)
|
|
14278: 4798 blx r3
|
|
break;
|
|
1427a: e7ec b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
|
1427c: 2100 movs r1, #0
|
|
1427e: 4b8c ldr r3, [pc, #560] ; (144b0 <theme_apply+0x2d0>)
|
|
14280: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_CONT_PART_MAIN);
|
|
14282: 2100 movs r1, #0
|
|
14284: 4620 mov r0, r4
|
|
14286: 4b8b ldr r3, [pc, #556] ; (144b4 <theme_apply+0x2d4>)
|
|
14288: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
1428a: 4b8b ldr r3, [pc, #556] ; (144b8 <theme_apply+0x2d8>)
|
|
1428c: 6819 ldr r1, [r3, #0]
|
|
1428e: 3104 adds r1, #4
|
|
14290: 4b8a ldr r3, [pc, #552] ; (144bc <theme_apply+0x2dc>)
|
|
14292: 4798 blx r3
|
|
break;
|
|
14294: e7df b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
|
14296: 2100 movs r1, #0
|
|
14298: 4b85 ldr r3, [pc, #532] ; (144b0 <theme_apply+0x2d0>)
|
|
1429a: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
|
1429c: 2100 movs r1, #0
|
|
1429e: 4620 mov r0, r4
|
|
142a0: 4b84 ldr r3, [pc, #528] ; (144b4 <theme_apply+0x2d4>)
|
|
142a2: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->btn);
|
|
142a4: 4b84 ldr r3, [pc, #528] ; (144b8 <theme_apply+0x2d8>)
|
|
142a6: 6819 ldr r1, [r3, #0]
|
|
142a8: 3110 adds r1, #16
|
|
142aa: 4b84 ldr r3, [pc, #528] ; (144bc <theme_apply+0x2dc>)
|
|
142ac: 4798 blx r3
|
|
break;
|
|
142ae: e7d2 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BG);
|
|
142b0: 2100 movs r1, #0
|
|
142b2: f8df 81fc ldr.w r8, [pc, #508] ; 144b0 <theme_apply+0x2d0>
|
|
142b6: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BG);
|
|
142b8: 2100 movs r1, #0
|
|
142ba: 4620 mov r0, r4
|
|
142bc: 4f7d ldr r7, [pc, #500] ; (144b4 <theme_apply+0x2d4>)
|
|
142be: 47b8 blx r7
|
|
142c0: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
142c2: 4e7d ldr r6, [pc, #500] ; (144b8 <theme_apply+0x2d8>)
|
|
142c4: 6831 ldr r1, [r6, #0]
|
|
142c6: 3104 adds r1, #4
|
|
142c8: 4d7c ldr r5, [pc, #496] ; (144bc <theme_apply+0x2dc>)
|
|
142ca: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->pad_small);
|
|
142cc: 6831 ldr r1, [r6, #0]
|
|
142ce: 3118 adds r1, #24
|
|
142d0: 4648 mov r0, r9
|
|
142d2: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BTN);
|
|
142d4: 2101 movs r1, #1
|
|
142d6: 4620 mov r0, r4
|
|
142d8: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BTN);
|
|
142da: 2101 movs r1, #1
|
|
142dc: 4620 mov r0, r4
|
|
142de: 47b8 blx r7
|
|
142e0: 4607 mov r7, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
142e2: 6831 ldr r1, [r6, #0]
|
|
142e4: 3104 adds r1, #4
|
|
142e6: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->bg_click);
|
|
142e8: 6831 ldr r1, [r6, #0]
|
|
142ea: 3108 adds r1, #8
|
|
142ec: 4638 mov r0, r7
|
|
142ee: 47a8 blx r5
|
|
break;
|
|
142f0: e7b1 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BG);
|
|
142f2: 2100 movs r1, #0
|
|
142f4: f8df 81b8 ldr.w r8, [pc, #440] ; 144b0 <theme_apply+0x2d0>
|
|
142f8: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BG);
|
|
142fa: 2100 movs r1, #0
|
|
142fc: 4620 mov r0, r4
|
|
142fe: 4f6d ldr r7, [pc, #436] ; (144b4 <theme_apply+0x2d4>)
|
|
14300: 47b8 blx r7
|
|
14302: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->scr);
|
|
14304: 4e6c ldr r6, [pc, #432] ; (144b8 <theme_apply+0x2d8>)
|
|
14306: 6831 ldr r1, [r6, #0]
|
|
14308: 4d6c ldr r5, [pc, #432] ; (144bc <theme_apply+0x2dc>)
|
|
1430a: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->kb_bg);
|
|
1430c: 6831 ldr r1, [r6, #0]
|
|
1430e: 3168 adds r1, #104 ; 0x68
|
|
14310: 4648 mov r0, r9
|
|
14312: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BTN);
|
|
14314: 2101 movs r1, #1
|
|
14316: 4620 mov r0, r4
|
|
14318: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BTN);
|
|
1431a: 2101 movs r1, #1
|
|
1431c: 4620 mov r0, r4
|
|
1431e: 47b8 blx r7
|
|
14320: 4607 mov r7, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14322: 6831 ldr r1, [r6, #0]
|
|
14324: 3104 adds r1, #4
|
|
14326: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->bg_click);
|
|
14328: 6831 ldr r1, [r6, #0]
|
|
1432a: 3108 adds r1, #8
|
|
1432c: 4638 mov r0, r7
|
|
1432e: 47a8 blx r5
|
|
break;
|
|
14330: e791 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_BAR_PART_BG);
|
|
14332: 2100 movs r1, #0
|
|
14334: f8df 8178 ldr.w r8, [pc, #376] ; 144b0 <theme_apply+0x2d0>
|
|
14338: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_BAR_PART_BG);
|
|
1433a: 2100 movs r1, #0
|
|
1433c: 4620 mov r0, r4
|
|
1433e: 4f5d ldr r7, [pc, #372] ; (144b4 <theme_apply+0x2d4>)
|
|
14340: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bar_bg);
|
|
14342: 4e5d ldr r6, [pc, #372] ; (144b8 <theme_apply+0x2d8>)
|
|
14344: 6831 ldr r1, [r6, #0]
|
|
14346: 3124 adds r1, #36 ; 0x24
|
|
14348: 4d5c ldr r5, [pc, #368] ; (144bc <theme_apply+0x2dc>)
|
|
1434a: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_BAR_PART_INDIC);
|
|
1434c: 2101 movs r1, #1
|
|
1434e: 4620 mov r0, r4
|
|
14350: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_BAR_PART_INDIC);
|
|
14352: 2101 movs r1, #1
|
|
14354: 4620 mov r0, r4
|
|
14356: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bar_indic);
|
|
14358: 6831 ldr r1, [r6, #0]
|
|
1435a: 3128 adds r1, #40 ; 0x28
|
|
1435c: 47a8 blx r5
|
|
break;
|
|
1435e: e77a b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_SWITCH_PART_BG);
|
|
14360: 2100 movs r1, #0
|
|
14362: f8df 814c ldr.w r8, [pc, #332] ; 144b0 <theme_apply+0x2d0>
|
|
14366: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_BG);
|
|
14368: 2100 movs r1, #0
|
|
1436a: 4620 mov r0, r4
|
|
1436c: 4f51 ldr r7, [pc, #324] ; (144b4 <theme_apply+0x2d4>)
|
|
1436e: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bar_bg);
|
|
14370: 4e51 ldr r6, [pc, #324] ; (144b8 <theme_apply+0x2d8>)
|
|
14372: 6831 ldr r1, [r6, #0]
|
|
14374: 3124 adds r1, #36 ; 0x24
|
|
14376: 4d51 ldr r5, [pc, #324] ; (144bc <theme_apply+0x2dc>)
|
|
14378: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_SWITCH_PART_INDIC);
|
|
1437a: 2101 movs r1, #1
|
|
1437c: 4620 mov r0, r4
|
|
1437e: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_INDIC);
|
|
14380: 2101 movs r1, #1
|
|
14382: 4620 mov r0, r4
|
|
14384: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bar_indic);
|
|
14386: 6831 ldr r1, [r6, #0]
|
|
14388: 3128 adds r1, #40 ; 0x28
|
|
1438a: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_SWITCH_PART_KNOB);
|
|
1438c: 2102 movs r1, #2
|
|
1438e: 4620 mov r0, r4
|
|
14390: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_KNOB);
|
|
14392: 2102 movs r1, #2
|
|
14394: 4620 mov r0, r4
|
|
14396: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->sw_knob);
|
|
14398: 6831 ldr r1, [r6, #0]
|
|
1439a: 319c adds r1, #156 ; 0x9c
|
|
1439c: 47a8 blx r5
|
|
break;
|
|
1439e: e75a b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_CANVAS_PART_MAIN);
|
|
143a0: 2100 movs r1, #0
|
|
143a2: 4b43 ldr r3, [pc, #268] ; (144b0 <theme_apply+0x2d0>)
|
|
143a4: 4798 blx r3
|
|
break;
|
|
143a6: e756 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN);
|
|
143a8: 2100 movs r1, #0
|
|
143aa: 4b41 ldr r3, [pc, #260] ; (144b0 <theme_apply+0x2d0>)
|
|
143ac: 4798 blx r3
|
|
break;
|
|
143ae: e752 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN);
|
|
143b0: 2100 movs r1, #0
|
|
143b2: 4b3f ldr r3, [pc, #252] ; (144b0 <theme_apply+0x2d0>)
|
|
143b4: 4798 blx r3
|
|
break;
|
|
143b6: e74e b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN);
|
|
143b8: 2100 movs r1, #0
|
|
143ba: 4b3d ldr r3, [pc, #244] ; (144b0 <theme_apply+0x2d0>)
|
|
143bc: 4798 blx r3
|
|
break;
|
|
143be: e74a b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN);
|
|
143c0: 2100 movs r1, #0
|
|
143c2: 4b3b ldr r3, [pc, #236] ; (144b0 <theme_apply+0x2d0>)
|
|
143c4: 4798 blx r3
|
|
break;
|
|
143c6: e746 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_ARC_PART_BG);
|
|
143c8: 2100 movs r1, #0
|
|
143ca: f8df 80e4 ldr.w r8, [pc, #228] ; 144b0 <theme_apply+0x2d0>
|
|
143ce: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_ARC_PART_BG);
|
|
143d0: 2100 movs r1, #0
|
|
143d2: 4620 mov r0, r4
|
|
143d4: 4f37 ldr r7, [pc, #220] ; (144b4 <theme_apply+0x2d4>)
|
|
143d6: 47b8 blx r7
|
|
143d8: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
143da: 4e37 ldr r6, [pc, #220] ; (144b8 <theme_apply+0x2d8>)
|
|
143dc: 6831 ldr r1, [r6, #0]
|
|
143de: 3104 adds r1, #4
|
|
143e0: 4d36 ldr r5, [pc, #216] ; (144bc <theme_apply+0x2dc>)
|
|
143e2: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->arc_bg);
|
|
143e4: 6831 ldr r1, [r6, #0]
|
|
143e6: 3120 adds r1, #32
|
|
143e8: 4648 mov r0, r9
|
|
143ea: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_ARC_PART_INDIC);
|
|
143ec: 2101 movs r1, #1
|
|
143ee: 4620 mov r0, r4
|
|
143f0: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_ARC_PART_INDIC);
|
|
143f2: 2101 movs r1, #1
|
|
143f4: 4620 mov r0, r4
|
|
143f6: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->arc_indic);
|
|
143f8: 6831 ldr r1, [r6, #0]
|
|
143fa: 311c adds r1, #28
|
|
143fc: 47a8 blx r5
|
|
break;
|
|
143fe: e72a b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_SPINNER_PART_BG);
|
|
14400: 2100 movs r1, #0
|
|
14402: f8df 80ac ldr.w r8, [pc, #172] ; 144b0 <theme_apply+0x2d0>
|
|
14406: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SPINNER_PART_BG);
|
|
14408: 2100 movs r1, #0
|
|
1440a: 4620 mov r0, r4
|
|
1440c: 4f29 ldr r7, [pc, #164] ; (144b4 <theme_apply+0x2d4>)
|
|
1440e: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->arc_bg);
|
|
14410: 4e29 ldr r6, [pc, #164] ; (144b8 <theme_apply+0x2d8>)
|
|
14412: 6831 ldr r1, [r6, #0]
|
|
14414: 3120 adds r1, #32
|
|
14416: 4d29 ldr r5, [pc, #164] ; (144bc <theme_apply+0x2dc>)
|
|
14418: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_SPINNER_PART_INDIC);
|
|
1441a: 2101 movs r1, #1
|
|
1441c: 4620 mov r0, r4
|
|
1441e: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SPINNER_PART_INDIC);
|
|
14420: 2101 movs r1, #1
|
|
14422: 4620 mov r0, r4
|
|
14424: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->arc_indic);
|
|
14426: 6831 ldr r1, [r6, #0]
|
|
14428: 311c adds r1, #28
|
|
1442a: 47a8 blx r5
|
|
break;
|
|
1442c: e713 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_SLIDER_PART_BG);
|
|
1442e: 2100 movs r1, #0
|
|
14430: f8df 807c ldr.w r8, [pc, #124] ; 144b0 <theme_apply+0x2d0>
|
|
14434: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_BG);
|
|
14436: 2100 movs r1, #0
|
|
14438: 4620 mov r0, r4
|
|
1443a: 4f1e ldr r7, [pc, #120] ; (144b4 <theme_apply+0x2d4>)
|
|
1443c: 47b8 blx r7
|
|
1443e: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bar_bg);
|
|
14440: 4e1d ldr r6, [pc, #116] ; (144b8 <theme_apply+0x2d8>)
|
|
14442: 6831 ldr r1, [r6, #0]
|
|
14444: 3124 adds r1, #36 ; 0x24
|
|
14446: 4d1d ldr r5, [pc, #116] ; (144bc <theme_apply+0x2dc>)
|
|
14448: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->slider_bg);
|
|
1444a: 6831 ldr r1, [r6, #0]
|
|
1444c: 3194 adds r1, #148 ; 0x94
|
|
1444e: 4648 mov r0, r9
|
|
14450: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_SLIDER_PART_INDIC);
|
|
14452: 2101 movs r1, #1
|
|
14454: 4620 mov r0, r4
|
|
14456: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_INDIC);
|
|
14458: 2101 movs r1, #1
|
|
1445a: 4620 mov r0, r4
|
|
1445c: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bar_indic);
|
|
1445e: 6831 ldr r1, [r6, #0]
|
|
14460: 3128 adds r1, #40 ; 0x28
|
|
14462: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_SLIDER_PART_KNOB);
|
|
14464: 2102 movs r1, #2
|
|
14466: 4620 mov r0, r4
|
|
14468: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_KNOB);
|
|
1446a: 2102 movs r1, #2
|
|
1446c: 4620 mov r0, r4
|
|
1446e: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->slider_knob);
|
|
14470: 6831 ldr r1, [r6, #0]
|
|
14472: 3190 adds r1, #144 ; 0x90
|
|
14474: 47a8 blx r5
|
|
break;
|
|
14476: e6ee b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BG);
|
|
14478: 2100 movs r1, #0
|
|
1447a: f8df 8034 ldr.w r8, [pc, #52] ; 144b0 <theme_apply+0x2d0>
|
|
1447e: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BG);
|
|
14480: 2100 movs r1, #0
|
|
14482: 4620 mov r0, r4
|
|
14484: 4f0b ldr r7, [pc, #44] ; (144b4 <theme_apply+0x2d4>)
|
|
14486: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->cb_bg);
|
|
14488: 4e0b ldr r6, [pc, #44] ; (144b8 <theme_apply+0x2d8>)
|
|
1448a: 6831 ldr r1, [r6, #0]
|
|
1448c: 314c adds r1, #76 ; 0x4c
|
|
1448e: 4d0b ldr r5, [pc, #44] ; (144bc <theme_apply+0x2dc>)
|
|
14490: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BULLET);
|
|
14492: 2140 movs r1, #64 ; 0x40
|
|
14494: 4620 mov r0, r4
|
|
14496: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BULLET);
|
|
14498: 2140 movs r1, #64 ; 0x40
|
|
1449a: 4620 mov r0, r4
|
|
1449c: 47b8 blx r7
|
|
1449e: 4607 mov r7, r0
|
|
_lv_style_list_add_style(list, &styles->btn);
|
|
144a0: 6831 ldr r1, [r6, #0]
|
|
144a2: 3110 adds r1, #16
|
|
144a4: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->cb_bullet);
|
|
144a6: 6831 ldr r1, [r6, #0]
|
|
144a8: 3150 adds r1, #80 ; 0x50
|
|
144aa: 4638 mov r0, r7
|
|
144ac: 47a8 blx r5
|
|
break;
|
|
144ae: e6d2 b.n 14256 <theme_apply+0x76>
|
|
144b0: 000030b5 .word 0x000030b5
|
|
144b4: 00002fe5 .word 0x00002fe5
|
|
144b8: 20006bd8 .word 0x20006bd8
|
|
144bc: 000065c1 .word 0x000065c1
|
|
144c0: 00003a81 .word 0x00003a81
|
|
lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BG);
|
|
144c4: 2100 movs r1, #0
|
|
144c6: 4b9f ldr r3, [pc, #636] ; (14744 <theme_apply+0x564>)
|
|
144c8: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BG);
|
|
144ca: 2100 movs r1, #0
|
|
144cc: 4620 mov r0, r4
|
|
144ce: 4b9e ldr r3, [pc, #632] ; (14748 <theme_apply+0x568>)
|
|
144d0: 4798 blx r3
|
|
144d2: 4607 mov r7, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
144d4: 4e9d ldr r6, [pc, #628] ; (1474c <theme_apply+0x56c>)
|
|
144d6: 6831 ldr r1, [r6, #0]
|
|
144d8: 3104 adds r1, #4
|
|
144da: 4d9d ldr r5, [pc, #628] ; (14750 <theme_apply+0x570>)
|
|
144dc: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->mbox_bg);
|
|
144de: 6831 ldr r1, [r6, #0]
|
|
144e0: 317c adds r1, #124 ; 0x7c
|
|
144e2: 4638 mov r0, r7
|
|
144e4: 47a8 blx r5
|
|
break;
|
|
144e6: e6b6 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN_BG);
|
|
144e8: 2140 movs r1, #64 ; 0x40
|
|
144ea: f8df 8258 ldr.w r8, [pc, #600] ; 14744 <theme_apply+0x564>
|
|
144ee: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN_BG);
|
|
144f0: 2140 movs r1, #64 ; 0x40
|
|
144f2: 4620 mov r0, r4
|
|
144f4: 4f94 ldr r7, [pc, #592] ; (14748 <theme_apply+0x568>)
|
|
144f6: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->pad_small);
|
|
144f8: 4e94 ldr r6, [pc, #592] ; (1474c <theme_apply+0x56c>)
|
|
144fa: 6831 ldr r1, [r6, #0]
|
|
144fc: 3118 adds r1, #24
|
|
144fe: 4d94 ldr r5, [pc, #592] ; (14750 <theme_apply+0x570>)
|
|
14500: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN);
|
|
14502: 2141 movs r1, #65 ; 0x41
|
|
14504: 4620 mov r0, r4
|
|
14506: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN);
|
|
14508: 2141 movs r1, #65 ; 0x41
|
|
1450a: 4620 mov r0, r4
|
|
1450c: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->btn);
|
|
1450e: 6831 ldr r1, [r6, #0]
|
|
14510: 3110 adds r1, #16
|
|
14512: 47a8 blx r5
|
|
break;
|
|
14514: e69f b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_LED_PART_MAIN);
|
|
14516: 2100 movs r1, #0
|
|
14518: 4b8a ldr r3, [pc, #552] ; (14744 <theme_apply+0x564>)
|
|
1451a: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_LED_PART_MAIN);
|
|
1451c: 2100 movs r1, #0
|
|
1451e: 4620 mov r0, r4
|
|
14520: 4b89 ldr r3, [pc, #548] ; (14748 <theme_apply+0x568>)
|
|
14522: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->led);
|
|
14524: 4b89 ldr r3, [pc, #548] ; (1474c <theme_apply+0x56c>)
|
|
14526: 6819 ldr r1, [r3, #0]
|
|
14528: 316c adds r1, #108 ; 0x6c
|
|
1452a: 4b89 ldr r3, [pc, #548] ; (14750 <theme_apply+0x570>)
|
|
1452c: 4798 blx r3
|
|
break;
|
|
1452e: e692 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_BG);
|
|
14530: 2100 movs r1, #0
|
|
14532: f8df 8210 ldr.w r8, [pc, #528] ; 14744 <theme_apply+0x564>
|
|
14536: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG);
|
|
14538: 2100 movs r1, #0
|
|
1453a: 4620 mov r0, r4
|
|
1453c: 4f82 ldr r7, [pc, #520] ; (14748 <theme_apply+0x568>)
|
|
1453e: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14540: 4e82 ldr r6, [pc, #520] ; (1474c <theme_apply+0x56c>)
|
|
14542: 6831 ldr r1, [r6, #0]
|
|
14544: 3104 adds r1, #4
|
|
14546: 4d82 ldr r5, [pc, #520] ; (14750 <theme_apply+0x570>)
|
|
14548: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE);
|
|
1454a: 2140 movs r1, #64 ; 0x40
|
|
1454c: 4620 mov r0, r4
|
|
1454e: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE);
|
|
14550: 2140 movs r1, #64 ; 0x40
|
|
14552: 4620 mov r0, r4
|
|
14554: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->pad_inner);
|
|
14556: 6831 ldr r1, [r6, #0]
|
|
14558: 3114 adds r1, #20
|
|
1455a: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLBAR);
|
|
1455c: 2101 movs r1, #1
|
|
1455e: 4620 mov r0, r4
|
|
14560: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLBAR);
|
|
14562: 2101 movs r1, #1
|
|
14564: 4620 mov r0, r4
|
|
14566: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->sb);
|
|
14568: 6831 ldr r1, [r6, #0]
|
|
1456a: 3180 adds r1, #128 ; 0x80
|
|
1456c: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_EDGE_FLASH);
|
|
1456e: 2102 movs r1, #2
|
|
14570: 4620 mov r0, r4
|
|
14572: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_EDGE_FLASH);
|
|
14574: 2102 movs r1, #2
|
|
14576: 4620 mov r0, r4
|
|
14578: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->edge_flash);
|
|
1457a: 6831 ldr r1, [r6, #0]
|
|
1457c: 3184 adds r1, #132 ; 0x84
|
|
1457e: 47a8 blx r5
|
|
break;
|
|
14580: e669 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG);
|
|
14582: 2100 movs r1, #0
|
|
14584: 4d6f ldr r5, [pc, #444] ; (14744 <theme_apply+0x564>)
|
|
14586: 47a8 blx r5
|
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG);
|
|
14588: 2100 movs r1, #0
|
|
1458a: 4620 mov r0, r4
|
|
1458c: f8df 81b8 ldr.w r8, [pc, #440] ; 14748 <theme_apply+0x568>
|
|
14590: 47c0 blx r8
|
|
_lv_style_list_add_style(list, &styles->scr);
|
|
14592: 4f6e ldr r7, [pc, #440] ; (1474c <theme_apply+0x56c>)
|
|
14594: 6839 ldr r1, [r7, #0]
|
|
14596: 4e6e ldr r6, [pc, #440] ; (14750 <theme_apply+0x570>)
|
|
14598: 47b0 blx r6
|
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG_SCRLLABLE);
|
|
1459a: 2140 movs r1, #64 ; 0x40
|
|
1459c: 4620 mov r0, r4
|
|
1459e: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BG);
|
|
145a0: 2141 movs r1, #65 ; 0x41
|
|
145a2: 4620 mov r0, r4
|
|
145a4: 47a8 blx r5
|
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BG);
|
|
145a6: 2141 movs r1, #65 ; 0x41
|
|
145a8: 4620 mov r0, r4
|
|
145aa: 47c0 blx r8
|
|
_lv_style_list_add_style(list, &styles->tabview_btns_bg);
|
|
145ac: 6839 ldr r1, [r7, #0]
|
|
145ae: 31a8 adds r1, #168 ; 0xa8
|
|
145b0: 47b0 blx r6
|
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_INDIC);
|
|
145b2: 2143 movs r1, #67 ; 0x43
|
|
145b4: 4620 mov r0, r4
|
|
145b6: 47a8 blx r5
|
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_INDIC);
|
|
145b8: 2143 movs r1, #67 ; 0x43
|
|
145ba: 4620 mov r0, r4
|
|
145bc: 47c0 blx r8
|
|
_lv_style_list_add_style(list, &styles->tabview_indic);
|
|
145be: 6839 ldr r1, [r7, #0]
|
|
145c0: 31ac adds r1, #172 ; 0xac
|
|
145c2: 47b0 blx r6
|
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BTN);
|
|
145c4: 2142 movs r1, #66 ; 0x42
|
|
145c6: 4620 mov r0, r4
|
|
145c8: 47a8 blx r5
|
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BTN);
|
|
145ca: 2142 movs r1, #66 ; 0x42
|
|
145cc: 4620 mov r0, r4
|
|
145ce: 47c0 blx r8
|
|
_lv_style_list_add_style(list, &styles->tabview_btns);
|
|
145d0: 6839 ldr r1, [r7, #0]
|
|
145d2: 31a4 adds r1, #164 ; 0xa4
|
|
145d4: 47b0 blx r6
|
|
break;
|
|
145d6: e63e b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_BG);
|
|
145d8: 2100 movs r1, #0
|
|
145da: 4d5a ldr r5, [pc, #360] ; (14744 <theme_apply+0x564>)
|
|
145dc: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE);
|
|
145de: 2140 movs r1, #64 ; 0x40
|
|
145e0: 4620 mov r0, r4
|
|
145e2: 47a8 blx r5
|
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE);
|
|
145e4: 2140 movs r1, #64 ; 0x40
|
|
145e6: 4620 mov r0, r4
|
|
145e8: 4b57 ldr r3, [pc, #348] ; (14748 <theme_apply+0x568>)
|
|
145ea: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->tabview_page_scrl);
|
|
145ec: 4b57 ldr r3, [pc, #348] ; (1474c <theme_apply+0x56c>)
|
|
145ee: 6819 ldr r1, [r3, #0]
|
|
145f0: 31b0 adds r1, #176 ; 0xb0
|
|
145f2: 4b57 ldr r3, [pc, #348] ; (14750 <theme_apply+0x570>)
|
|
145f4: 4798 blx r3
|
|
break;
|
|
145f6: e62e b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_BG);
|
|
145f8: 2100 movs r1, #0
|
|
145fa: f8df 8148 ldr.w r8, [pc, #328] ; 14744 <theme_apply+0x564>
|
|
145fe: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_BG);
|
|
14600: 2100 movs r1, #0
|
|
14602: 4620 mov r0, r4
|
|
14604: 4f50 ldr r7, [pc, #320] ; (14748 <theme_apply+0x568>)
|
|
14606: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->scr);
|
|
14608: 4e50 ldr r6, [pc, #320] ; (1474c <theme_apply+0x56c>)
|
|
1460a: 6831 ldr r1, [r6, #0]
|
|
1460c: 4d50 ldr r5, [pc, #320] ; (14750 <theme_apply+0x570>)
|
|
1460e: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR);
|
|
14610: 2101 movs r1, #1
|
|
14612: 4620 mov r0, r4
|
|
14614: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR);
|
|
14616: 2101 movs r1, #1
|
|
14618: 4620 mov r0, r4
|
|
1461a: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->sb);
|
|
1461c: 6831 ldr r1, [r6, #0]
|
|
1461e: 3180 adds r1, #128 ; 0x80
|
|
14620: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH);
|
|
14622: 2102 movs r1, #2
|
|
14624: 4620 mov r0, r4
|
|
14626: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH);
|
|
14628: 2102 movs r1, #2
|
|
1462a: 4620 mov r0, r4
|
|
1462c: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->edge_flash);
|
|
1462e: 6831 ldr r1, [r6, #0]
|
|
14630: 3184 adds r1, #132 ; 0x84
|
|
14632: 47a8 blx r5
|
|
break;
|
|
14634: e60f b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_ROLLER_PART_BG);
|
|
14636: 2100 movs r1, #0
|
|
14638: f8df 8108 ldr.w r8, [pc, #264] ; 14744 <theme_apply+0x564>
|
|
1463c: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_ROLLER_PART_BG);
|
|
1463e: 2100 movs r1, #0
|
|
14640: 4620 mov r0, r4
|
|
14642: 4f41 ldr r7, [pc, #260] ; (14748 <theme_apply+0x568>)
|
|
14644: 47b8 blx r7
|
|
14646: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14648: 4e40 ldr r6, [pc, #256] ; (1474c <theme_apply+0x56c>)
|
|
1464a: 6831 ldr r1, [r6, #0]
|
|
1464c: 3104 adds r1, #4
|
|
1464e: 4d40 ldr r5, [pc, #256] ; (14750 <theme_apply+0x570>)
|
|
14650: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->roller_bg);
|
|
14652: 6831 ldr r1, [r6, #0]
|
|
14654: 3188 adds r1, #136 ; 0x88
|
|
14656: 4648 mov r0, r9
|
|
14658: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_ROLLER_PART_SELECTED);
|
|
1465a: 2103 movs r1, #3
|
|
1465c: 4620 mov r0, r4
|
|
1465e: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_ROLLER_PART_SELECTED);
|
|
14660: 2103 movs r1, #3
|
|
14662: 4620 mov r0, r4
|
|
14664: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->roller_sel);
|
|
14666: 6831 ldr r1, [r6, #0]
|
|
14668: 318c adds r1, #140 ; 0x8c
|
|
1466a: 47a8 blx r5
|
|
break;
|
|
1466c: e5f3 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_OBJMASK_PART_MAIN);
|
|
1466e: 2100 movs r1, #0
|
|
14670: 4b34 ldr r3, [pc, #208] ; (14744 <theme_apply+0x564>)
|
|
14672: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_OBJMASK_PART_MAIN);
|
|
14674: 2100 movs r1, #0
|
|
14676: 4620 mov r0, r4
|
|
14678: 4b33 ldr r3, [pc, #204] ; (14748 <theme_apply+0x568>)
|
|
1467a: 4798 blx r3
|
|
break;
|
|
1467c: e5eb b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_LIST_PART_BG);
|
|
1467e: 2100 movs r1, #0
|
|
14680: 4f30 ldr r7, [pc, #192] ; (14744 <theme_apply+0x564>)
|
|
14682: 47b8 blx r7
|
|
list = lv_obj_get_style_list(obj, LV_LIST_PART_BG);
|
|
14684: 2100 movs r1, #0
|
|
14686: 4620 mov r0, r4
|
|
14688: f8df 80bc ldr.w r8, [pc, #188] ; 14748 <theme_apply+0x568>
|
|
1468c: 47c0 blx r8
|
|
1468e: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14690: 4e2e ldr r6, [pc, #184] ; (1474c <theme_apply+0x56c>)
|
|
14692: 6831 ldr r1, [r6, #0]
|
|
14694: 3104 adds r1, #4
|
|
14696: 4d2e ldr r5, [pc, #184] ; (14750 <theme_apply+0x570>)
|
|
14698: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->list_bg);
|
|
1469a: 6831 ldr r1, [r6, #0]
|
|
1469c: 3174 adds r1, #116 ; 0x74
|
|
1469e: 4648 mov r0, r9
|
|
146a0: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLABLE);
|
|
146a2: 2140 movs r1, #64 ; 0x40
|
|
146a4: 4620 mov r0, r4
|
|
146a6: 47b8 blx r7
|
|
lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLBAR);
|
|
146a8: 2101 movs r1, #1
|
|
146aa: 4620 mov r0, r4
|
|
146ac: 47b8 blx r7
|
|
list = lv_obj_get_style_list(obj, LV_LIST_PART_SCROLLBAR);
|
|
146ae: 2101 movs r1, #1
|
|
146b0: 4620 mov r0, r4
|
|
146b2: 47c0 blx r8
|
|
_lv_style_list_add_style(list, &styles->sb);
|
|
146b4: 6831 ldr r1, [r6, #0]
|
|
146b6: 3180 adds r1, #128 ; 0x80
|
|
146b8: 47a8 blx r5
|
|
break;
|
|
146ba: e5cc b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
|
146bc: 2100 movs r1, #0
|
|
146be: 4b21 ldr r3, [pc, #132] ; (14744 <theme_apply+0x564>)
|
|
146c0: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
|
146c2: 2100 movs r1, #0
|
|
146c4: 4620 mov r0, r4
|
|
146c6: 4b20 ldr r3, [pc, #128] ; (14748 <theme_apply+0x568>)
|
|
146c8: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->list_btn);
|
|
146ca: 4b20 ldr r3, [pc, #128] ; (1474c <theme_apply+0x56c>)
|
|
146cc: 6819 ldr r1, [r3, #0]
|
|
146ce: 3178 adds r1, #120 ; 0x78
|
|
146d0: 4b1f ldr r3, [pc, #124] ; (14750 <theme_apply+0x570>)
|
|
146d2: 4798 blx r3
|
|
break;
|
|
146d4: e5bf b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_MAIN);
|
|
146d6: 2100 movs r1, #0
|
|
146d8: f8df 8068 ldr.w r8, [pc, #104] ; 14744 <theme_apply+0x564>
|
|
146dc: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_MAIN);
|
|
146de: 2100 movs r1, #0
|
|
146e0: 4620 mov r0, r4
|
|
146e2: 4f19 ldr r7, [pc, #100] ; (14748 <theme_apply+0x568>)
|
|
146e4: 47b8 blx r7
|
|
146e6: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
146e8: 4e18 ldr r6, [pc, #96] ; (1474c <theme_apply+0x56c>)
|
|
146ea: 6831 ldr r1, [r6, #0]
|
|
146ec: 3104 adds r1, #4
|
|
146ee: 4d18 ldr r5, [pc, #96] ; (14750 <theme_apply+0x570>)
|
|
146f0: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->bg_click);
|
|
146f2: 6831 ldr r1, [r6, #0]
|
|
146f4: 3108 adds r1, #8
|
|
146f6: 4648 mov r0, r9
|
|
146f8: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->pad_small);
|
|
146fa: 6831 ldr r1, [r6, #0]
|
|
146fc: 3118 adds r1, #24
|
|
146fe: 4648 mov r0, r9
|
|
14700: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_LIST);
|
|
14702: 2140 movs r1, #64 ; 0x40
|
|
14704: 4620 mov r0, r4
|
|
14706: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_LIST);
|
|
14708: 2140 movs r1, #64 ; 0x40
|
|
1470a: 4620 mov r0, r4
|
|
1470c: 47b8 blx r7
|
|
1470e: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14710: 6831 ldr r1, [r6, #0]
|
|
14712: 3104 adds r1, #4
|
|
14714: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->ddlist_page);
|
|
14716: 6831 ldr r1, [r6, #0]
|
|
14718: 3154 adds r1, #84 ; 0x54
|
|
1471a: 4648 mov r0, r9
|
|
1471c: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR);
|
|
1471e: 2141 movs r1, #65 ; 0x41
|
|
14720: 4620 mov r0, r4
|
|
14722: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR);
|
|
14724: 2141 movs r1, #65 ; 0x41
|
|
14726: 4620 mov r0, r4
|
|
14728: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->sb);
|
|
1472a: 6831 ldr r1, [r6, #0]
|
|
1472c: 3180 adds r1, #128 ; 0x80
|
|
1472e: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SELECTED);
|
|
14730: 2142 movs r1, #66 ; 0x42
|
|
14732: 4620 mov r0, r4
|
|
14734: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SELECTED);
|
|
14736: 2142 movs r1, #66 ; 0x42
|
|
14738: 4620 mov r0, r4
|
|
1473a: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->ddlist_sel);
|
|
1473c: 6831 ldr r1, [r6, #0]
|
|
1473e: 3158 adds r1, #88 ; 0x58
|
|
14740: 47a8 blx r5
|
|
break;
|
|
14742: e588 b.n 14256 <theme_apply+0x76>
|
|
14744: 000030b5 .word 0x000030b5
|
|
14748: 00002fe5 .word 0x00002fe5
|
|
1474c: 20006bd8 .word 0x20006bd8
|
|
14750: 000065c1 .word 0x000065c1
|
|
lv_obj_clean_style_list(obj, LV_CHART_PART_BG);
|
|
14754: 2100 movs r1, #0
|
|
14756: f8df 8290 ldr.w r8, [pc, #656] ; 149e8 <theme_apply+0x808>
|
|
1475a: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CHART_PART_BG);
|
|
1475c: 2100 movs r1, #0
|
|
1475e: 4620 mov r0, r4
|
|
14760: 4f9e ldr r7, [pc, #632] ; (149dc <theme_apply+0x7fc>)
|
|
14762: 47b8 blx r7
|
|
14764: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14766: 4e9e ldr r6, [pc, #632] ; (149e0 <theme_apply+0x800>)
|
|
14768: 6831 ldr r1, [r6, #0]
|
|
1476a: 3104 adds r1, #4
|
|
1476c: 4d9d ldr r5, [pc, #628] ; (149e4 <theme_apply+0x804>)
|
|
1476e: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->chart_bg);
|
|
14770: 6831 ldr r1, [r6, #0]
|
|
14772: 3140 adds r1, #64 ; 0x40
|
|
14774: 4648 mov r0, r9
|
|
14776: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->pad_small);
|
|
14778: 6831 ldr r1, [r6, #0]
|
|
1477a: 3118 adds r1, #24
|
|
1477c: 4648 mov r0, r9
|
|
1477e: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES_BG);
|
|
14780: 2101 movs r1, #1
|
|
14782: 4620 mov r0, r4
|
|
14784: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES_BG);
|
|
14786: 2101 movs r1, #1
|
|
14788: 4620 mov r0, r4
|
|
1478a: 47b8 blx r7
|
|
1478c: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->pad_small);
|
|
1478e: 6831 ldr r1, [r6, #0]
|
|
14790: 3118 adds r1, #24
|
|
14792: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->chart_series_bg);
|
|
14794: 6831 ldr r1, [r6, #0]
|
|
14796: 3144 adds r1, #68 ; 0x44
|
|
14798: 4648 mov r0, r9
|
|
1479a: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES);
|
|
1479c: 2102 movs r1, #2
|
|
1479e: 4620 mov r0, r4
|
|
147a0: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES);
|
|
147a2: 2102 movs r1, #2
|
|
147a4: 4620 mov r0, r4
|
|
147a6: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->chart_series);
|
|
147a8: 6831 ldr r1, [r6, #0]
|
|
147aa: 3148 adds r1, #72 ; 0x48
|
|
147ac: 47a8 blx r5
|
|
break;
|
|
147ae: e552 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_BG);
|
|
147b0: 2100 movs r1, #0
|
|
147b2: f8df 8234 ldr.w r8, [pc, #564] ; 149e8 <theme_apply+0x808>
|
|
147b6: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_BG);
|
|
147b8: 2100 movs r1, #0
|
|
147ba: 4620 mov r0, r4
|
|
147bc: 4f87 ldr r7, [pc, #540] ; (149dc <theme_apply+0x7fc>)
|
|
147be: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
147c0: 4e87 ldr r6, [pc, #540] ; (149e0 <theme_apply+0x800>)
|
|
147c2: 6831 ldr r1, [r6, #0]
|
|
147c4: 3104 adds r1, #4
|
|
147c6: 4d87 ldr r5, [pc, #540] ; (149e4 <theme_apply+0x804>)
|
|
147c8: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL1);
|
|
147ca: 2101 movs r1, #1
|
|
147cc: 4620 mov r0, r4
|
|
147ce: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL1);
|
|
147d0: 2101 movs r1, #1
|
|
147d2: 4620 mov r0, r4
|
|
147d4: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->table_cell);
|
|
147d6: 6831 ldr r1, [r6, #0]
|
|
147d8: 31a0 adds r1, #160 ; 0xa0
|
|
147da: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL2);
|
|
147dc: 2102 movs r1, #2
|
|
147de: 4620 mov r0, r4
|
|
147e0: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL2);
|
|
147e2: 2102 movs r1, #2
|
|
147e4: 4620 mov r0, r4
|
|
147e6: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->table_cell);
|
|
147e8: 6831 ldr r1, [r6, #0]
|
|
147ea: 31a0 adds r1, #160 ; 0xa0
|
|
147ec: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL3);
|
|
147ee: 2103 movs r1, #3
|
|
147f0: 4620 mov r0, r4
|
|
147f2: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL3);
|
|
147f4: 2103 movs r1, #3
|
|
147f6: 4620 mov r0, r4
|
|
147f8: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->table_cell);
|
|
147fa: 6831 ldr r1, [r6, #0]
|
|
147fc: 31a0 adds r1, #160 ; 0xa0
|
|
147fe: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL4);
|
|
14800: 2104 movs r1, #4
|
|
14802: 4620 mov r0, r4
|
|
14804: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL4);
|
|
14806: 2104 movs r1, #4
|
|
14808: 4620 mov r0, r4
|
|
1480a: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->table_cell);
|
|
1480c: 6831 ldr r1, [r6, #0]
|
|
1480e: 31a0 adds r1, #160 ; 0xa0
|
|
14810: 47a8 blx r5
|
|
break;
|
|
14812: e520 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_WIN_PART_BG);
|
|
14814: 2100 movs r1, #0
|
|
14816: f8df 81d0 ldr.w r8, [pc, #464] ; 149e8 <theme_apply+0x808>
|
|
1481a: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_BG);
|
|
1481c: 2100 movs r1, #0
|
|
1481e: 4620 mov r0, r4
|
|
14820: 4f6e ldr r7, [pc, #440] ; (149dc <theme_apply+0x7fc>)
|
|
14822: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->scr);
|
|
14824: 4e6e ldr r6, [pc, #440] ; (149e0 <theme_apply+0x800>)
|
|
14826: 6831 ldr r1, [r6, #0]
|
|
14828: 4d6e ldr r5, [pc, #440] ; (149e4 <theme_apply+0x804>)
|
|
1482a: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_WIN_PART_SCROLLBAR);
|
|
1482c: 2142 movs r1, #66 ; 0x42
|
|
1482e: 4620 mov r0, r4
|
|
14830: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_SCROLLBAR);
|
|
14832: 2142 movs r1, #66 ; 0x42
|
|
14834: 4620 mov r0, r4
|
|
14836: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->sb);
|
|
14838: 6831 ldr r1, [r6, #0]
|
|
1483a: 3180 adds r1, #128 ; 0x80
|
|
1483c: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE);
|
|
1483e: 2141 movs r1, #65 ; 0x41
|
|
14840: 4620 mov r0, r4
|
|
14842: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE);
|
|
14844: 2141 movs r1, #65 ; 0x41
|
|
14846: 4620 mov r0, r4
|
|
14848: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->tabview_page_scrl);
|
|
1484a: 6831 ldr r1, [r6, #0]
|
|
1484c: 31b0 adds r1, #176 ; 0xb0
|
|
1484e: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_WIN_PART_HEADER);
|
|
14850: 2140 movs r1, #64 ; 0x40
|
|
14852: 4620 mov r0, r4
|
|
14854: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_HEADER);
|
|
14856: 2140 movs r1, #64 ; 0x40
|
|
14858: 4620 mov r0, r4
|
|
1485a: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->tabview_btns_bg);
|
|
1485c: 6831 ldr r1, [r6, #0]
|
|
1485e: 31a8 adds r1, #168 ; 0xa8
|
|
14860: 47a8 blx r5
|
|
break;
|
|
14862: e4f8 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
|
14864: 2100 movs r1, #0
|
|
14866: 4b60 ldr r3, [pc, #384] ; (149e8 <theme_apply+0x808>)
|
|
14868: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
|
1486a: 2100 movs r1, #0
|
|
1486c: 4620 mov r0, r4
|
|
1486e: 4b5b ldr r3, [pc, #364] ; (149dc <theme_apply+0x7fc>)
|
|
14870: 4798 blx r3
|
|
_lv_style_list_add_style(list, &styles->tabview_btns);
|
|
14872: 4b5b ldr r3, [pc, #364] ; (149e0 <theme_apply+0x800>)
|
|
14874: 6819 ldr r1, [r3, #0]
|
|
14876: 31a4 adds r1, #164 ; 0xa4
|
|
14878: 4b5a ldr r3, [pc, #360] ; (149e4 <theme_apply+0x804>)
|
|
1487a: 4798 blx r3
|
|
break;
|
|
1487c: e4eb b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_BG);
|
|
1487e: 2100 movs r1, #0
|
|
14880: f8df 8164 ldr.w r8, [pc, #356] ; 149e8 <theme_apply+0x808>
|
|
14884: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG);
|
|
14886: 2100 movs r1, #0
|
|
14888: 4620 mov r0, r4
|
|
1488a: 4f54 ldr r7, [pc, #336] ; (149dc <theme_apply+0x7fc>)
|
|
1488c: 47b8 blx r7
|
|
1488e: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14890: 4e53 ldr r6, [pc, #332] ; (149e0 <theme_apply+0x800>)
|
|
14892: 6831 ldr r1, [r6, #0]
|
|
14894: 3104 adds r1, #4
|
|
14896: 4d53 ldr r5, [pc, #332] ; (149e4 <theme_apply+0x804>)
|
|
14898: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->pad_small);
|
|
1489a: 6831 ldr r1, [r6, #0]
|
|
1489c: 3118 adds r1, #24
|
|
1489e: 4648 mov r0, r9
|
|
148a0: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
|
148a2: 2104 movs r1, #4
|
|
148a4: 4620 mov r0, r4
|
|
148a6: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
|
148a8: 2104 movs r1, #4
|
|
148aa: 4620 mov r0, r4
|
|
148ac: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->ta_placeholder);
|
|
148ae: 6831 ldr r1, [r6, #0]
|
|
148b0: 31b8 adds r1, #184 ; 0xb8
|
|
148b2: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
|
148b4: 2103 movs r1, #3
|
|
148b6: 4620 mov r0, r4
|
|
148b8: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
|
148ba: 2103 movs r1, #3
|
|
148bc: 4620 mov r0, r4
|
|
148be: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->ta_cursor);
|
|
148c0: 6831 ldr r1, [r6, #0]
|
|
148c2: 31b4 adds r1, #180 ; 0xb4
|
|
148c4: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR);
|
|
148c6: 2101 movs r1, #1
|
|
148c8: 4620 mov r0, r4
|
|
148ca: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR);
|
|
148cc: 2101 movs r1, #1
|
|
148ce: 4620 mov r0, r4
|
|
148d0: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->sb);
|
|
148d2: 6831 ldr r1, [r6, #0]
|
|
148d4: 3180 adds r1, #128 ; 0x80
|
|
148d6: 47a8 blx r5
|
|
break;
|
|
148d8: e4bd b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_SPINBOX_PART_BG);
|
|
148da: 2100 movs r1, #0
|
|
148dc: f8df 8108 ldr.w r8, [pc, #264] ; 149e8 <theme_apply+0x808>
|
|
148e0: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_BG);
|
|
148e2: 2100 movs r1, #0
|
|
148e4: 4620 mov r0, r4
|
|
148e6: 4f3d ldr r7, [pc, #244] ; (149dc <theme_apply+0x7fc>)
|
|
148e8: 47b8 blx r7
|
|
148ea: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
148ec: 4e3c ldr r6, [pc, #240] ; (149e0 <theme_apply+0x800>)
|
|
148ee: 6831 ldr r1, [r6, #0]
|
|
148f0: 3104 adds r1, #4
|
|
148f2: 4d3c ldr r5, [pc, #240] ; (149e4 <theme_apply+0x804>)
|
|
148f4: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->pad_small);
|
|
148f6: 6831 ldr r1, [r6, #0]
|
|
148f8: 3118 adds r1, #24
|
|
148fa: 4648 mov r0, r9
|
|
148fc: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_SPINBOX_PART_CURSOR);
|
|
148fe: 2103 movs r1, #3
|
|
14900: 4620 mov r0, r4
|
|
14902: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_CURSOR);
|
|
14904: 2103 movs r1, #3
|
|
14906: 4620 mov r0, r4
|
|
14908: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->spinbox_cursor);
|
|
1490a: 6831 ldr r1, [r6, #0]
|
|
1490c: 3198 adds r1, #152 ; 0x98
|
|
1490e: 47a8 blx r5
|
|
break;
|
|
14910: e4a1 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
|
14912: 2100 movs r1, #0
|
|
14914: 4b34 ldr r3, [pc, #208] ; (149e8 <theme_apply+0x808>)
|
|
14916: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
|
14918: 2100 movs r1, #0
|
|
1491a: 4620 mov r0, r4
|
|
1491c: 4b2f ldr r3, [pc, #188] ; (149dc <theme_apply+0x7fc>)
|
|
1491e: 4798 blx r3
|
|
14920: 4607 mov r7, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14922: 4e2f ldr r6, [pc, #188] ; (149e0 <theme_apply+0x800>)
|
|
14924: 6831 ldr r1, [r6, #0]
|
|
14926: 3104 adds r1, #4
|
|
14928: 4d2e ldr r5, [pc, #184] ; (149e4 <theme_apply+0x804>)
|
|
1492a: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->bg_click);
|
|
1492c: 6831 ldr r1, [r6, #0]
|
|
1492e: 3108 adds r1, #8
|
|
14930: 4638 mov r0, r7
|
|
14932: 47a8 blx r5
|
|
break;
|
|
14934: e48f b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_BG);
|
|
14936: 2100 movs r1, #0
|
|
14938: f8df 80ac ldr.w r8, [pc, #172] ; 149e8 <theme_apply+0x808>
|
|
1493c: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_BG);
|
|
1493e: 2100 movs r1, #0
|
|
14940: 4620 mov r0, r4
|
|
14942: 4f26 ldr r7, [pc, #152] ; (149dc <theme_apply+0x7fc>)
|
|
14944: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
14946: 4e26 ldr r6, [pc, #152] ; (149e0 <theme_apply+0x800>)
|
|
14948: 6831 ldr r1, [r6, #0]
|
|
1494a: 3104 adds r1, #4
|
|
1494c: 4d25 ldr r5, [pc, #148] ; (149e4 <theme_apply+0x804>)
|
|
1494e: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DATE);
|
|
14950: 2103 movs r1, #3
|
|
14952: 4620 mov r0, r4
|
|
14954: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DATE);
|
|
14956: 2103 movs r1, #3
|
|
14958: 4620 mov r0, r4
|
|
1495a: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->calendar_date_nums);
|
|
1495c: 6831 ldr r1, [r6, #0]
|
|
1495e: 312c adds r1, #44 ; 0x2c
|
|
14960: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_HEADER);
|
|
14962: 2101 movs r1, #1
|
|
14964: 4620 mov r0, r4
|
|
14966: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_HEADER);
|
|
14968: 2101 movs r1, #1
|
|
1496a: 4620 mov r0, r4
|
|
1496c: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->calendar_header);
|
|
1496e: 6831 ldr r1, [r6, #0]
|
|
14970: 3130 adds r1, #48 ; 0x30
|
|
14972: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DAY_NAMES);
|
|
14974: 2102 movs r1, #2
|
|
14976: 4620 mov r0, r4
|
|
14978: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DAY_NAMES);
|
|
1497a: 2102 movs r1, #2
|
|
1497c: 4620 mov r0, r4
|
|
1497e: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->calendar_daynames);
|
|
14980: 6831 ldr r1, [r6, #0]
|
|
14982: 3134 adds r1, #52 ; 0x34
|
|
14984: 47a8 blx r5
|
|
break;
|
|
14986: e466 b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_CPICKER_PART_MAIN);
|
|
14988: 2100 movs r1, #0
|
|
1498a: f8df 805c ldr.w r8, [pc, #92] ; 149e8 <theme_apply+0x808>
|
|
1498e: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CPICKER_PART_MAIN);
|
|
14990: 2100 movs r1, #0
|
|
14992: 4620 mov r0, r4
|
|
14994: 4f11 ldr r7, [pc, #68] ; (149dc <theme_apply+0x7fc>)
|
|
14996: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->cpicker_bg);
|
|
14998: 4e11 ldr r6, [pc, #68] ; (149e0 <theme_apply+0x800>)
|
|
1499a: 6831 ldr r1, [r6, #0]
|
|
1499c: 3138 adds r1, #56 ; 0x38
|
|
1499e: 4d11 ldr r5, [pc, #68] ; (149e4 <theme_apply+0x804>)
|
|
149a0: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_CPICKER_PART_KNOB);
|
|
149a2: 2101 movs r1, #1
|
|
149a4: 4620 mov r0, r4
|
|
149a6: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_CPICKER_PART_KNOB);
|
|
149a8: 2101 movs r1, #1
|
|
149aa: 4620 mov r0, r4
|
|
149ac: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->cpicker_indic);
|
|
149ae: 6831 ldr r1, [r6, #0]
|
|
149b0: 313c adds r1, #60 ; 0x3c
|
|
149b2: 47a8 blx r5
|
|
break;
|
|
149b4: e44f b.n 14256 <theme_apply+0x76>
|
|
lv_obj_clean_style_list(obj, LV_LINEMETER_PART_MAIN);
|
|
149b6: 2100 movs r1, #0
|
|
149b8: 4b0b ldr r3, [pc, #44] ; (149e8 <theme_apply+0x808>)
|
|
149ba: 4798 blx r3
|
|
list = lv_obj_get_style_list(obj, LV_LINEMETER_PART_MAIN);
|
|
149bc: 2100 movs r1, #0
|
|
149be: 4620 mov r0, r4
|
|
149c0: 4b06 ldr r3, [pc, #24] ; (149dc <theme_apply+0x7fc>)
|
|
149c2: 4798 blx r3
|
|
149c4: 4607 mov r7, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
149c6: 4e06 ldr r6, [pc, #24] ; (149e0 <theme_apply+0x800>)
|
|
149c8: 6831 ldr r1, [r6, #0]
|
|
149ca: 3104 adds r1, #4
|
|
149cc: 4d05 ldr r5, [pc, #20] ; (149e4 <theme_apply+0x804>)
|
|
149ce: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->lmeter);
|
|
149d0: 6831 ldr r1, [r6, #0]
|
|
149d2: 3170 adds r1, #112 ; 0x70
|
|
149d4: 4638 mov r0, r7
|
|
149d6: 47a8 blx r5
|
|
break;
|
|
149d8: e43d b.n 14256 <theme_apply+0x76>
|
|
149da: bf00 nop
|
|
149dc: 00002fe5 .word 0x00002fe5
|
|
149e0: 20006bd8 .word 0x20006bd8
|
|
149e4: 000065c1 .word 0x000065c1
|
|
149e8: 000030b5 .word 0x000030b5
|
|
lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAIN);
|
|
149ec: 2100 movs r1, #0
|
|
149ee: f8df 8054 ldr.w r8, [pc, #84] ; 14a44 <theme_apply+0x864>
|
|
149f2: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAIN);
|
|
149f4: 2100 movs r1, #0
|
|
149f6: 4620 mov r0, r4
|
|
149f8: 4f0f ldr r7, [pc, #60] ; (14a38 <theme_apply+0x858>)
|
|
149fa: 47b8 blx r7
|
|
149fc: 4681 mov r9, r0
|
|
_lv_style_list_add_style(list, &styles->bg);
|
|
149fe: 4e0f ldr r6, [pc, #60] ; (14a3c <theme_apply+0x85c>)
|
|
14a00: 6831 ldr r1, [r6, #0]
|
|
14a02: 3104 adds r1, #4
|
|
14a04: 4d0e ldr r5, [pc, #56] ; (14a40 <theme_apply+0x860>)
|
|
14a06: 47a8 blx r5
|
|
_lv_style_list_add_style(list, &styles->gauge_main);
|
|
14a08: 6831 ldr r1, [r6, #0]
|
|
14a0a: 315c adds r1, #92 ; 0x5c
|
|
14a0c: 4648 mov r0, r9
|
|
14a0e: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAJOR);
|
|
14a10: 2101 movs r1, #1
|
|
14a12: 4620 mov r0, r4
|
|
14a14: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAJOR);
|
|
14a16: 2101 movs r1, #1
|
|
14a18: 4620 mov r0, r4
|
|
14a1a: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->gauge_strong);
|
|
14a1c: 6831 ldr r1, [r6, #0]
|
|
14a1e: 3160 adds r1, #96 ; 0x60
|
|
14a20: 47a8 blx r5
|
|
lv_obj_clean_style_list(obj, LV_GAUGE_PART_NEEDLE);
|
|
14a22: 2102 movs r1, #2
|
|
14a24: 4620 mov r0, r4
|
|
14a26: 47c0 blx r8
|
|
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_NEEDLE);
|
|
14a28: 2102 movs r1, #2
|
|
14a2a: 4620 mov r0, r4
|
|
14a2c: 47b8 blx r7
|
|
_lv_style_list_add_style(list, &styles->gauge_needle);
|
|
14a2e: 6831 ldr r1, [r6, #0]
|
|
14a30: 3164 adds r1, #100 ; 0x64
|
|
14a32: 47a8 blx r5
|
|
break;
|
|
14a34: e40f b.n 14256 <theme_apply+0x76>
|
|
14a36: bf00 nop
|
|
14a38: 00002fe5 .word 0x00002fe5
|
|
14a3c: 20006bd8 .word 0x20006bd8
|
|
14a40: 000065c1 .word 0x000065c1
|
|
14a44: 000030b5 .word 0x000030b5
|
|
|
|
00014a48 <style_init_reset>:
|
|
/**********************
|
|
* STATIC FUNCTIONS
|
|
**********************/
|
|
|
|
static void style_init_reset(lv_style_t * style)
|
|
{
|
|
14a48: b508 push {r3, lr}
|
|
if(inited) lv_style_reset(style);
|
|
14a4a: 4b04 ldr r3, [pc, #16] ; (14a5c <style_init_reset+0x14>)
|
|
14a4c: 791b ldrb r3, [r3, #4]
|
|
14a4e: b913 cbnz r3, 14a56 <style_init_reset+0xe>
|
|
else lv_style_init(style);
|
|
14a50: 4b03 ldr r3, [pc, #12] ; (14a60 <style_init_reset+0x18>)
|
|
14a52: 4798 blx r3
|
|
14a54: bd08 pop {r3, pc}
|
|
if(inited) lv_style_reset(style);
|
|
14a56: 4b03 ldr r3, [pc, #12] ; (14a64 <style_init_reset+0x1c>)
|
|
14a58: 4798 blx r3
|
|
14a5a: bd08 pop {r3, pc}
|
|
14a5c: 20006bd8 .word 0x20006bd8
|
|
14a60: 000064c1 .word 0x000064c1
|
|
14a64: 0000674d .word 0x0000674d
|
|
|
|
00014a68 <basic_init>:
|
|
{
|
|
14a68: b570 push {r4, r5, r6, lr}
|
|
style_init_reset(&styles->scr);
|
|
14a6a: 4cb3 ldr r4, [pc, #716] ; (14d38 <basic_init+0x2d0>)
|
|
14a6c: 6820 ldr r0, [r4, #0]
|
|
14a6e: 4bb3 ldr r3, [pc, #716] ; (14d3c <basic_init+0x2d4>)
|
|
14a70: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
14a72: 22ff movs r2, #255 ; 0xff
|
|
14a74: 212c movs r1, #44 ; 0x2c
|
|
14a76: 6820 ldr r0, [r4, #0]
|
|
14a78: 4bb1 ldr r3, [pc, #708] ; (14d40 <basic_init+0x2d8>)
|
|
14a7a: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR);
|
|
14a7c: 6a23 ldr r3, [r4, #32]
|
|
14a7e: f013 0302 ands.w r3, r3, #2
|
|
14a82: bf14 ite ne
|
|
14a84: 211d movne r1, #29
|
|
14a86: 2108 moveq r1, #8
|
|
14a88: 2b00 cmp r3, #0
|
|
14a8a: bf15 itete ne
|
|
14a8c: 203b movne r0, #59 ; 0x3b
|
|
14a8e: 2012 moveq r0, #18
|
|
14a90: 231e movne r3, #30
|
|
14a92: 230b moveq r3, #11
|
|
14a94: f04f 0200 mov.w r2, #0
|
|
14a98: f363 0204 bfi r2, r3, #0, #5
|
|
14a9c: f360 124a bfi r2, r0, #5, #6
|
|
14aa0: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
14aa4: 2129 movs r1, #41 ; 0x29
|
|
14aa6: 6820 ldr r0, [r4, #0]
|
|
14aa8: 4ba6 ldr r3, [pc, #664] ; (14d44 <basic_init+0x2dc>)
|
|
14aaa: 4798 blx r3
|
|
lv_style_set_text_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT);
|
|
14aac: 4620 mov r0, r4
|
|
14aae: 6a23 ldr r3, [r4, #32]
|
|
14ab0: f013 0302 ands.w r3, r3, #2
|
|
14ab4: bf14 ite ne
|
|
14ab6: 2107 movne r1, #7
|
|
14ab8: 211c moveq r1, #28
|
|
14aba: 2b00 cmp r3, #0
|
|
14abc: bf15 itete ne
|
|
14abe: 240f movne r4, #15
|
|
14ac0: 243a moveq r4, #58 ; 0x3a
|
|
14ac2: 2308 movne r3, #8
|
|
14ac4: 231d moveq r3, #29
|
|
14ac6: f04f 0200 mov.w r2, #0
|
|
14aca: f363 0204 bfi r2, r3, #0, #5
|
|
14ace: f364 124a bfi r2, r4, #5, #6
|
|
14ad2: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
14ad6: f248 0189 movw r1, #32905 ; 0x8089
|
|
14ada: 6800 ldr r0, [r0, #0]
|
|
14adc: 4b99 ldr r3, [pc, #612] ; (14d44 <basic_init+0x2dc>)
|
|
14ade: 4798 blx r3
|
|
lv_style_set_value_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT);
|
|
14ae0: 4895 ldr r0, [pc, #596] ; (14d38 <basic_init+0x2d0>)
|
|
14ae2: 6a03 ldr r3, [r0, #32]
|
|
14ae4: f013 0302 ands.w r3, r3, #2
|
|
14ae8: bf14 ite ne
|
|
14aea: 2107 movne r1, #7
|
|
14aec: 211c moveq r1, #28
|
|
14aee: 2b00 cmp r3, #0
|
|
14af0: bf15 itete ne
|
|
14af2: 240f movne r4, #15
|
|
14af4: 243a moveq r4, #58 ; 0x3a
|
|
14af6: 2308 movne r3, #8
|
|
14af8: 231d moveq r3, #29
|
|
14afa: f04f 0200 mov.w r2, #0
|
|
14afe: f363 0204 bfi r2, r3, #0, #5
|
|
14b02: f364 124a bfi r2, r4, #5, #6
|
|
14b06: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
14b0a: 2179 movs r1, #121 ; 0x79
|
|
14b0c: 6800 ldr r0, [r0, #0]
|
|
14b0e: 4b8d ldr r3, [pc, #564] ; (14d44 <basic_init+0x2dc>)
|
|
14b10: 4798 blx r3
|
|
lv_style_set_text_font(&styles->scr, LV_STATE_DEFAULT, theme.font_normal);
|
|
14b12: 4c89 ldr r4, [pc, #548] ; (14d38 <basic_init+0x2d0>)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
14b14: 6962 ldr r2, [r4, #20]
|
|
14b16: f248 018e movw r1, #32910 ; 0x808e
|
|
14b1a: 6820 ldr r0, [r4, #0]
|
|
14b1c: 4d8a ldr r5, [pc, #552] ; (14d48 <basic_init+0x2e0>)
|
|
14b1e: 47a8 blx r5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar)
|
|
14b20: 6962 ldr r2, [r4, #20]
|
|
14b22: 217e movs r1, #126 ; 0x7e
|
|
14b24: 6820 ldr r0, [r4, #0]
|
|
14b26: 47a8 blx r5
|
|
style_init_reset(&styles->bg);
|
|
14b28: 6820 ldr r0, [r4, #0]
|
|
14b2a: 3004 adds r0, #4
|
|
14b2c: 4b83 ldr r3, [pc, #524] ; (14d3c <basic_init+0x2d4>)
|
|
14b2e: 4798 blx r3
|
|
lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8));
|
|
14b30: 6824 ldr r4, [r4, #0]
|
|
14b32: 3404 adds r4, #4
|
|
14b34: 2000 movs r0, #0
|
|
14b36: 4b85 ldr r3, [pc, #532] ; (14d4c <basic_init+0x2e4>)
|
|
14b38: 4798 blx r3
|
|
14b3a: 300a adds r0, #10
|
|
14b3c: 00c0 lsls r0, r0, #3
|
|
14b3e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14b42: f280 8646 bge.w 157d2 <basic_init+0xd6a>
|
|
14b46: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
14b48: 2101 movs r1, #1
|
|
14b4a: 4620 mov r0, r4
|
|
14b4c: 4b80 ldr r3, [pc, #512] ; (14d50 <basic_init+0x2e8>)
|
|
14b4e: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->bg, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
14b50: 4c79 ldr r4, [pc, #484] ; (14d38 <basic_init+0x2d0>)
|
|
14b52: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
14b54: 22ff movs r2, #255 ; 0xff
|
|
14b56: 212c movs r1, #44 ; 0x2c
|
|
14b58: 3004 adds r0, #4
|
|
14b5a: 4b79 ldr r3, [pc, #484] ; (14d40 <basic_init+0x2d8>)
|
|
14b5c: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG);
|
|
14b5e: 6820 ldr r0, [r4, #0]
|
|
14b60: 3004 adds r0, #4
|
|
14b62: 6a23 ldr r3, [r4, #32]
|
|
14b64: f013 0f02 tst.w r3, #2
|
|
14b68: f040 8641 bne.w 157ee <basic_init+0xd86>
|
|
14b6c: 230b movs r3, #11
|
|
14b6e: 2118 movs r1, #24
|
|
14b70: 240e movs r4, #14
|
|
14b72: f04f 0200 mov.w r2, #0
|
|
14b76: f364 0204 bfi r2, r4, #0, #5
|
|
14b7a: f361 124a bfi r2, r1, #5, #6
|
|
14b7e: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
14b82: 2129 movs r1, #41 ; 0x29
|
|
14b84: 4b6f ldr r3, [pc, #444] ; (14d44 <basic_init+0x2dc>)
|
|
14b86: 4798 blx r3
|
|
lv_style_set_border_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_BORDER);
|
|
14b88: 4b6b ldr r3, [pc, #428] ; (14d38 <basic_init+0x2d0>)
|
|
14b8a: 6818 ldr r0, [r3, #0]
|
|
14b8c: 6a1b ldr r3, [r3, #32]
|
|
14b8e: f013 0302 ands.w r3, r3, #2
|
|
14b92: bf14 ite ne
|
|
14b94: 211a movne r1, #26
|
|
14b96: 2110 moveq r1, #16
|
|
14b98: 2b00 cmp r3, #0
|
|
14b9a: bf15 itete ne
|
|
14b9c: 2437 movne r4, #55 ; 0x37
|
|
14b9e: 2422 moveq r4, #34 ; 0x22
|
|
14ba0: 231c movne r3, #28
|
|
14ba2: 2312 moveq r3, #18
|
|
14ba4: f04f 0200 mov.w r2, #0
|
|
14ba8: f363 0204 bfi r2, r3, #0, #5
|
|
14bac: f364 124a bfi r2, r4, #5, #6
|
|
14bb0: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
14bb4: 2139 movs r1, #57 ; 0x39
|
|
14bb6: 3004 adds r0, #4
|
|
14bb8: 4d62 ldr r5, [pc, #392] ; (14d44 <basic_init+0x2dc>)
|
|
14bba: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->bg, LV_STATE_FOCUSED, theme.color_primary);
|
|
14bbc: 4c5e ldr r4, [pc, #376] ; (14d38 <basic_init+0x2d0>)
|
|
14bbe: 6820 ldr r0, [r4, #0]
|
|
14bc0: 89a2 ldrh r2, [r4, #12]
|
|
14bc2: f240 2139 movw r1, #569 ; 0x239
|
|
14bc6: 3004 adds r0, #4
|
|
14bc8: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->bg, LV_STATE_EDITED, theme.color_secondary);
|
|
14bca: 6820 ldr r0, [r4, #0]
|
|
14bcc: 89e2 ldrh r2, [r4, #14]
|
|
14bce: f240 4139 movw r1, #1081 ; 0x439
|
|
14bd2: 3004 adds r0, #4
|
|
14bd4: 47a8 blx r5
|
|
lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH);
|
|
14bd6: 6824 ldr r4, [r4, #0]
|
|
14bd8: 3404 adds r4, #4
|
|
14bda: 2000 movs r0, #0
|
|
14bdc: 4b5b ldr r3, [pc, #364] ; (14d4c <basic_init+0x2e4>)
|
|
14bde: 4798 blx r3
|
|
14be0: 3028 adds r0, #40 ; 0x28
|
|
14be2: 0040 lsls r0, r0, #1
|
|
14be4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14be8: f280 8606 bge.w 157f8 <basic_init+0xd90>
|
|
14bec: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
14bee: 2130 movs r1, #48 ; 0x30
|
|
14bf0: 4620 mov r0, r4
|
|
14bf2: 4d57 ldr r5, [pc, #348] ; (14d50 <basic_init+0x2e8>)
|
|
14bf4: 47a8 blx r5
|
|
lv_style_set_border_post(&styles->bg, LV_STATE_DEFAULT, true);
|
|
14bf6: 4c50 ldr r4, [pc, #320] ; (14d38 <basic_init+0x2d0>)
|
|
14bf8: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar)
|
|
14bfa: 2201 movs r2, #1
|
|
14bfc: 2133 movs r1, #51 ; 0x33
|
|
14bfe: 3004 adds r0, #4
|
|
14c00: 47a8 blx r5
|
|
lv_style_set_text_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal);
|
|
14c02: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
14c04: 6962 ldr r2, [r4, #20]
|
|
14c06: f248 018e movw r1, #32910 ; 0x808e
|
|
14c0a: 3004 adds r0, #4
|
|
14c0c: 4b4e ldr r3, [pc, #312] ; (14d48 <basic_init+0x2e0>)
|
|
14c0e: 4798 blx r3
|
|
lv_style_set_text_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
14c10: 6820 ldr r0, [r4, #0]
|
|
14c12: 3004 adds r0, #4
|
|
14c14: 6a23 ldr r3, [r4, #32]
|
|
14c16: f013 0f02 tst.w r3, #2
|
|
14c1a: f040 85fb bne.w 15814 <basic_init+0xdac>
|
|
14c1e: 231f movs r3, #31
|
|
14c20: 213f movs r1, #63 ; 0x3f
|
|
14c22: 461c mov r4, r3
|
|
14c24: f04f 0200 mov.w r2, #0
|
|
14c28: f364 0204 bfi r2, r4, #0, #5
|
|
14c2c: f361 124a bfi r2, r1, #5, #6
|
|
14c30: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
14c34: f248 0189 movw r1, #32905 ; 0x8089
|
|
14c38: 4b42 ldr r3, [pc, #264] ; (14d44 <basic_init+0x2dc>)
|
|
14c3a: 4798 blx r3
|
|
lv_style_set_value_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal);
|
|
14c3c: 4c3e ldr r4, [pc, #248] ; (14d38 <basic_init+0x2d0>)
|
|
14c3e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar)
|
|
14c40: 6962 ldr r2, [r4, #20]
|
|
14c42: 217e movs r1, #126 ; 0x7e
|
|
14c44: 3004 adds r0, #4
|
|
14c46: 4b40 ldr r3, [pc, #256] ; (14d48 <basic_init+0x2e0>)
|
|
14c48: 4798 blx r3
|
|
lv_style_set_value_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
14c4a: 6820 ldr r0, [r4, #0]
|
|
14c4c: 3004 adds r0, #4
|
|
14c4e: 6a23 ldr r3, [r4, #32]
|
|
14c50: f013 0f02 tst.w r3, #2
|
|
14c54: f040 85e3 bne.w 1581e <basic_init+0xdb6>
|
|
14c58: 231f movs r3, #31
|
|
14c5a: 213f movs r1, #63 ; 0x3f
|
|
14c5c: 461c mov r4, r3
|
|
14c5e: f04f 0200 mov.w r2, #0
|
|
14c62: f364 0204 bfi r2, r4, #0, #5
|
|
14c66: f361 124a bfi r2, r1, #5, #6
|
|
14c6a: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
14c6e: 2179 movs r1, #121 ; 0x79
|
|
14c70: 4b34 ldr r3, [pc, #208] ; (14d44 <basic_init+0x2dc>)
|
|
14c72: 4798 blx r3
|
|
lv_style_set_image_recolor(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
14c74: 4b30 ldr r3, [pc, #192] ; (14d38 <basic_init+0x2d0>)
|
|
14c76: 6818 ldr r0, [r3, #0]
|
|
14c78: 3004 adds r0, #4
|
|
14c7a: 6a1b ldr r3, [r3, #32]
|
|
14c7c: f013 0f02 tst.w r3, #2
|
|
14c80: f040 85d2 bne.w 15828 <basic_init+0xdc0>
|
|
14c84: 231f movs r3, #31
|
|
14c86: 213f movs r1, #63 ; 0x3f
|
|
14c88: 461c mov r4, r3
|
|
14c8a: f04f 0200 mov.w r2, #0
|
|
14c8e: f364 0204 bfi r2, r4, #0, #5
|
|
14c92: f361 124a bfi r2, r1, #5, #6
|
|
14c96: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
14c9a: f248 01a9 movw r1, #32937 ; 0x80a9
|
|
14c9e: 4b29 ldr r3, [pc, #164] ; (14d44 <basic_init+0x2dc>)
|
|
14ca0: 4798 blx r3
|
|
lv_style_set_line_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
14ca2: 4b25 ldr r3, [pc, #148] ; (14d38 <basic_init+0x2d0>)
|
|
14ca4: 6818 ldr r0, [r3, #0]
|
|
14ca6: 3004 adds r0, #4
|
|
14ca8: 6a1b ldr r3, [r3, #32]
|
|
14caa: f013 0f02 tst.w r3, #2
|
|
14cae: f040 85c0 bne.w 15832 <basic_init+0xdca>
|
|
14cb2: 231f movs r3, #31
|
|
14cb4: 213f movs r1, #63 ; 0x3f
|
|
14cb6: 461c mov r4, r3
|
|
14cb8: f04f 0200 mov.w r2, #0
|
|
14cbc: f364 0204 bfi r2, r4, #0, #5
|
|
14cc0: f361 124a bfi r2, r1, #5, #6
|
|
14cc4: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
14cc8: 2199 movs r1, #153 ; 0x99
|
|
14cca: 4b1e ldr r3, [pc, #120] ; (14d44 <basic_init+0x2dc>)
|
|
14ccc: 4798 blx r3
|
|
lv_style_set_line_width(&styles->bg, LV_STATE_DEFAULT, 1);
|
|
14cce: 4c1a ldr r4, [pc, #104] ; (14d38 <basic_init+0x2d0>)
|
|
14cd0: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
14cd2: 2201 movs r2, #1
|
|
14cd4: 2190 movs r1, #144 ; 0x90
|
|
14cd6: 3004 adds r0, #4
|
|
14cd8: 4b1d ldr r3, [pc, #116] ; (14d50 <basic_init+0x2e8>)
|
|
14cda: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
14cdc: 6825 ldr r5, [r4, #0]
|
|
14cde: 3504 adds r5, #4
|
|
14ce0: 2000 movs r0, #0
|
|
14ce2: 4b1c ldr r3, [pc, #112] ; (14d54 <basic_init+0x2ec>)
|
|
14ce4: 4798 blx r3
|
|
14ce6: 2801 cmp r0, #1
|
|
14ce8: f240 85a8 bls.w 1583c <basic_init+0xdd4>
|
|
14cec: 2000 movs r0, #0
|
|
14cee: 4b17 ldr r3, [pc, #92] ; (14d4c <basic_init+0x2e4>)
|
|
14cf0: 4798 blx r3
|
|
14cf2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
14cf6: 0040 lsls r0, r0, #1
|
|
14cf8: 3050 adds r0, #80 ; 0x50
|
|
14cfa: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14cfe: f280 85b8 bge.w 15872 <basic_init+0xe0a>
|
|
14d02: 2401 movs r4, #1
|
|
14d04: 2000 movs r0, #0
|
|
14d06: 4b11 ldr r3, [pc, #68] ; (14d4c <basic_init+0x2e4>)
|
|
14d08: 4798 blx r3
|
|
14d0a: 3028 adds r0, #40 ; 0x28
|
|
14d0c: 0040 lsls r0, r0, #1
|
|
14d0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14d12: f280 85be bge.w 15892 <basic_init+0xe2a>
|
|
14d16: 2201 movs r2, #1
|
|
14d18: 4422 add r2, r4
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
14d1a: b212 sxth r2, r2
|
|
14d1c: 2112 movs r1, #18
|
|
14d1e: 4628 mov r0, r5
|
|
14d20: 4b0b ldr r3, [pc, #44] ; (14d50 <basic_init+0x2e8>)
|
|
14d22: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
14d24: 4b04 ldr r3, [pc, #16] ; (14d38 <basic_init+0x2d0>)
|
|
14d26: 681d ldr r5, [r3, #0]
|
|
14d28: 3504 adds r5, #4
|
|
14d2a: 2000 movs r0, #0
|
|
14d2c: 4b09 ldr r3, [pc, #36] ; (14d54 <basic_init+0x2ec>)
|
|
14d2e: 4798 blx r3
|
|
14d30: 2801 cmp r0, #1
|
|
14d32: f240 85bc bls.w 158ae <basic_init+0xe46>
|
|
14d36: e00f b.n 14d58 <basic_init+0x2f0>
|
|
14d38: 20006bd8 .word 0x20006bd8
|
|
14d3c: 00014a49 .word 0x00014a49
|
|
14d40: 00006b51 .word 0x00006b51
|
|
14d44: 00006a0d .word 0x00006a0d
|
|
14d48: 00006c81 .word 0x00006c81
|
|
14d4c: 00010f25 .word 0x00010f25
|
|
14d50: 000068c9 .word 0x000068c9
|
|
14d54: 00010f41 .word 0x00010f41
|
|
14d58: 2000 movs r0, #0
|
|
14d5a: 4bb1 ldr r3, [pc, #708] ; (15020 <basic_init+0x5b8>)
|
|
14d5c: 4798 blx r3
|
|
14d5e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
14d62: 0040 lsls r0, r0, #1
|
|
14d64: 3050 adds r0, #80 ; 0x50
|
|
14d66: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14d6a: f280 85bb bge.w 158e4 <basic_init+0xe7c>
|
|
14d6e: 2401 movs r4, #1
|
|
14d70: 2000 movs r0, #0
|
|
14d72: 4bab ldr r3, [pc, #684] ; (15020 <basic_init+0x5b8>)
|
|
14d74: 4798 blx r3
|
|
14d76: 3028 adds r0, #40 ; 0x28
|
|
14d78: 0040 lsls r0, r0, #1
|
|
14d7a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14d7e: f280 85c1 bge.w 15904 <basic_init+0xe9c>
|
|
14d82: 2201 movs r2, #1
|
|
14d84: 4422 add r2, r4
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
14d86: b212 sxth r2, r2
|
|
14d88: 2113 movs r1, #19
|
|
14d8a: 4628 mov r0, r5
|
|
14d8c: 4ba5 ldr r3, [pc, #660] ; (15024 <basic_init+0x5bc>)
|
|
14d8e: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
14d90: 4ba5 ldr r3, [pc, #660] ; (15028 <basic_init+0x5c0>)
|
|
14d92: 681d ldr r5, [r3, #0]
|
|
14d94: 3504 adds r5, #4
|
|
14d96: 2000 movs r0, #0
|
|
14d98: 4ba4 ldr r3, [pc, #656] ; (1502c <basic_init+0x5c4>)
|
|
14d9a: 4798 blx r3
|
|
14d9c: 2801 cmp r0, #1
|
|
14d9e: f240 85bf bls.w 15920 <basic_init+0xeb8>
|
|
14da2: 2000 movs r0, #0
|
|
14da4: 4b9e ldr r3, [pc, #632] ; (15020 <basic_init+0x5b8>)
|
|
14da6: 4798 blx r3
|
|
14da8: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
14dac: 0040 lsls r0, r0, #1
|
|
14dae: 3050 adds r0, #80 ; 0x50
|
|
14db0: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14db4: f280 85cf bge.w 15956 <basic_init+0xeee>
|
|
14db8: 2401 movs r4, #1
|
|
14dba: 2000 movs r0, #0
|
|
14dbc: 4b98 ldr r3, [pc, #608] ; (15020 <basic_init+0x5b8>)
|
|
14dbe: 4798 blx r3
|
|
14dc0: 3028 adds r0, #40 ; 0x28
|
|
14dc2: 0040 lsls r0, r0, #1
|
|
14dc4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14dc8: f280 85d5 bge.w 15976 <basic_init+0xf0e>
|
|
14dcc: 2201 movs r2, #1
|
|
14dce: 4422 add r2, r4
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
14dd0: b212 sxth r2, r2
|
|
14dd2: 2110 movs r1, #16
|
|
14dd4: 4628 mov r0, r5
|
|
14dd6: 4b93 ldr r3, [pc, #588] ; (15024 <basic_init+0x5bc>)
|
|
14dd8: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
14dda: 4b93 ldr r3, [pc, #588] ; (15028 <basic_init+0x5c0>)
|
|
14ddc: 681d ldr r5, [r3, #0]
|
|
14dde: 3504 adds r5, #4
|
|
14de0: 2000 movs r0, #0
|
|
14de2: 4b92 ldr r3, [pc, #584] ; (1502c <basic_init+0x5c4>)
|
|
14de4: 4798 blx r3
|
|
14de6: 2801 cmp r0, #1
|
|
14de8: f240 85d3 bls.w 15992 <basic_init+0xf2a>
|
|
14dec: 2000 movs r0, #0
|
|
14dee: 4b8c ldr r3, [pc, #560] ; (15020 <basic_init+0x5b8>)
|
|
14df0: 4798 blx r3
|
|
14df2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
14df6: 0040 lsls r0, r0, #1
|
|
14df8: 3050 adds r0, #80 ; 0x50
|
|
14dfa: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14dfe: f280 85f4 bge.w 159ea <basic_init+0xf82>
|
|
14e02: 2401 movs r4, #1
|
|
14e04: 2000 movs r0, #0
|
|
14e06: 4b86 ldr r3, [pc, #536] ; (15020 <basic_init+0x5b8>)
|
|
14e08: 4798 blx r3
|
|
14e0a: 3028 adds r0, #40 ; 0x28
|
|
14e0c: 0040 lsls r0, r0, #1
|
|
14e0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14e12: f280 85fa bge.w 15a0a <basic_init+0xfa2>
|
|
14e16: 2201 movs r2, #1
|
|
14e18: 4422 add r2, r4
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
14e1a: b212 sxth r2, r2
|
|
14e1c: 2111 movs r1, #17
|
|
14e1e: 4628 mov r0, r5
|
|
14e20: 4b80 ldr r3, [pc, #512] ; (15024 <basic_init+0x5bc>)
|
|
14e22: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF);
|
|
14e24: 4b80 ldr r3, [pc, #512] ; (15028 <basic_init+0x5c0>)
|
|
14e26: 681c ldr r4, [r3, #0]
|
|
14e28: 3404 adds r4, #4
|
|
14e2a: 2000 movs r0, #0
|
|
14e2c: 4b7f ldr r3, [pc, #508] ; (1502c <basic_init+0x5c4>)
|
|
14e2e: 4798 blx r3
|
|
14e30: 2801 cmp r0, #1
|
|
14e32: f240 85f8 bls.w 15a26 <basic_init+0xfbe>
|
|
14e36: 2000 movs r0, #0
|
|
14e38: 4b79 ldr r3, [pc, #484] ; (15020 <basic_init+0x5b8>)
|
|
14e3a: 4798 blx r3
|
|
14e3c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
14e40: 0040 lsls r0, r0, #1
|
|
14e42: 3050 adds r0, #80 ; 0x50
|
|
14e44: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
14e48: f280 8608 bge.w 15a5c <basic_init+0xff4>
|
|
14e4c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
14e4e: 2114 movs r1, #20
|
|
14e50: 4620 mov r0, r4
|
|
14e52: 4d74 ldr r5, [pc, #464] ; (15024 <basic_init+0x5bc>)
|
|
14e54: 47a8 blx r5
|
|
lv_style_set_transition_time(&styles->bg, LV_STATE_DEFAULT, TRANSITION_TIME);
|
|
14e56: 4c74 ldr r4, [pc, #464] ; (15028 <basic_init+0x5c0>)
|
|
14e58: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar)
|
|
14e5a: 2296 movs r2, #150 ; 0x96
|
|
14e5c: 21b0 movs r1, #176 ; 0xb0
|
|
14e5e: 3004 adds r0, #4
|
|
14e60: 47a8 blx r5
|
|
lv_style_set_transition_prop_6(&styles->bg, LV_STATE_DEFAULT, LV_STYLE_BORDER_COLOR);
|
|
14e62: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar)
|
|
14e64: 2239 movs r2, #57 ; 0x39
|
|
14e66: 21b7 movs r1, #183 ; 0xb7
|
|
14e68: 3004 adds r0, #4
|
|
14e6a: 47a8 blx r5
|
|
style_init_reset(&styles->bg_sec);
|
|
14e6c: 6820 ldr r0, [r4, #0]
|
|
14e6e: 300c adds r0, #12
|
|
14e70: 4b6f ldr r3, [pc, #444] ; (15030 <basic_init+0x5c8>)
|
|
14e72: 4798 blx r3
|
|
lv_style_copy(&styles->bg_sec, &styles->bg);
|
|
14e74: 6820 ldr r0, [r4, #0]
|
|
14e76: 1d01 adds r1, r0, #4
|
|
14e78: 300c adds r0, #12
|
|
14e7a: 4b6e ldr r3, [pc, #440] ; (15034 <basic_init+0x5cc>)
|
|
14e7c: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC);
|
|
14e7e: 6820 ldr r0, [r4, #0]
|
|
14e80: 6a23 ldr r3, [r4, #32]
|
|
14e82: f013 0302 ands.w r3, r3, #2
|
|
14e86: bf14 ite ne
|
|
14e88: 211a movne r1, #26
|
|
14e8a: 2108 moveq r1, #8
|
|
14e8c: 2b00 cmp r3, #0
|
|
14e8e: bf15 itete ne
|
|
14e90: 2435 movne r4, #53 ; 0x35
|
|
14e92: 2412 moveq r4, #18
|
|
14e94: 231b movne r3, #27
|
|
14e96: 2309 moveq r3, #9
|
|
14e98: f04f 0200 mov.w r2, #0
|
|
14e9c: f363 0204 bfi r2, r3, #0, #5
|
|
14ea0: f364 124a bfi r2, r4, #5, #6
|
|
14ea4: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
14ea8: 2129 movs r1, #41 ; 0x29
|
|
14eaa: 300c adds r0, #12
|
|
14eac: 4b62 ldr r3, [pc, #392] ; (15038 <basic_init+0x5d0>)
|
|
14eae: 4798 blx r3
|
|
lv_style_set_border_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_BORDER);
|
|
14eb0: 4b5d ldr r3, [pc, #372] ; (15028 <basic_init+0x5c0>)
|
|
14eb2: 6818 ldr r0, [r3, #0]
|
|
14eb4: 300c adds r0, #12
|
|
14eb6: 6a1b ldr r3, [r3, #32]
|
|
14eb8: f013 0f02 tst.w r3, #2
|
|
14ebc: f040 85de bne.w 15a7c <basic_init+0x1014>
|
|
14ec0: 2308 movs r3, #8
|
|
14ec2: 2110 movs r1, #16
|
|
14ec4: 461c mov r4, r3
|
|
14ec6: f04f 0200 mov.w r2, #0
|
|
14eca: f364 0204 bfi r2, r4, #0, #5
|
|
14ece: f361 124a bfi r2, r1, #5, #6
|
|
14ed2: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
14ed6: 2139 movs r1, #57 ; 0x39
|
|
14ed8: 4b57 ldr r3, [pc, #348] ; (15038 <basic_init+0x5d0>)
|
|
14eda: 4798 blx r3
|
|
lv_style_set_text_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT);
|
|
14edc: 4b52 ldr r3, [pc, #328] ; (15028 <basic_init+0x5c0>)
|
|
14ede: 6818 ldr r0, [r3, #0]
|
|
14ee0: 6a1b ldr r3, [r3, #32]
|
|
14ee2: f013 0302 ands.w r3, r3, #2
|
|
14ee6: bf14 ite ne
|
|
14ee8: 2106 movne r1, #6
|
|
14eea: 2114 moveq r1, #20
|
|
14eec: 2b00 cmp r3, #0
|
|
14eee: bf15 itete ne
|
|
14ef0: 2410 movne r4, #16
|
|
14ef2: 242a moveq r4, #42 ; 0x2a
|
|
14ef4: 2309 movne r3, #9
|
|
14ef6: 2315 moveq r3, #21
|
|
14ef8: f04f 0200 mov.w r2, #0
|
|
14efc: f363 0204 bfi r2, r3, #0, #5
|
|
14f00: f364 124a bfi r2, r4, #5, #6
|
|
14f04: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
14f08: f248 0189 movw r1, #32905 ; 0x8089
|
|
14f0c: 300c adds r0, #12
|
|
14f0e: 4b4a ldr r3, [pc, #296] ; (15038 <basic_init+0x5d0>)
|
|
14f10: 4798 blx r3
|
|
lv_style_set_value_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT);
|
|
14f12: 4b45 ldr r3, [pc, #276] ; (15028 <basic_init+0x5c0>)
|
|
14f14: 6818 ldr r0, [r3, #0]
|
|
14f16: 6a1b ldr r3, [r3, #32]
|
|
14f18: f013 0302 ands.w r3, r3, #2
|
|
14f1c: bf14 ite ne
|
|
14f1e: 2106 movne r1, #6
|
|
14f20: 2114 moveq r1, #20
|
|
14f22: 2b00 cmp r3, #0
|
|
14f24: bf15 itete ne
|
|
14f26: 2410 movne r4, #16
|
|
14f28: 242a moveq r4, #42 ; 0x2a
|
|
14f2a: 2309 movne r3, #9
|
|
14f2c: 2315 moveq r3, #21
|
|
14f2e: f04f 0200 mov.w r2, #0
|
|
14f32: f363 0204 bfi r2, r3, #0, #5
|
|
14f36: f364 124a bfi r2, r4, #5, #6
|
|
14f3a: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
14f3e: 2179 movs r1, #121 ; 0x79
|
|
14f40: 300c adds r0, #12
|
|
14f42: 4b3d ldr r3, [pc, #244] ; (15038 <basic_init+0x5d0>)
|
|
14f44: 4798 blx r3
|
|
lv_style_set_image_recolor(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT);
|
|
14f46: 4b38 ldr r3, [pc, #224] ; (15028 <basic_init+0x5c0>)
|
|
14f48: 6818 ldr r0, [r3, #0]
|
|
14f4a: 6a1b ldr r3, [r3, #32]
|
|
14f4c: f013 0302 ands.w r3, r3, #2
|
|
14f50: bf14 ite ne
|
|
14f52: 2106 movne r1, #6
|
|
14f54: 2114 moveq r1, #20
|
|
14f56: 2b00 cmp r3, #0
|
|
14f58: bf15 itete ne
|
|
14f5a: 2410 movne r4, #16
|
|
14f5c: 242a moveq r4, #42 ; 0x2a
|
|
14f5e: 2309 movne r3, #9
|
|
14f60: 2315 moveq r3, #21
|
|
14f62: f04f 0200 mov.w r2, #0
|
|
14f66: f363 0204 bfi r2, r3, #0, #5
|
|
14f6a: f364 124a bfi r2, r4, #5, #6
|
|
14f6e: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
14f72: f248 01a9 movw r1, #32937 ; 0x80a9
|
|
14f76: 300c adds r0, #12
|
|
14f78: 4b2f ldr r3, [pc, #188] ; (15038 <basic_init+0x5d0>)
|
|
14f7a: 4798 blx r3
|
|
lv_style_set_line_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT);
|
|
14f7c: 4b2a ldr r3, [pc, #168] ; (15028 <basic_init+0x5c0>)
|
|
14f7e: 6818 ldr r0, [r3, #0]
|
|
14f80: 6a1b ldr r3, [r3, #32]
|
|
14f82: f013 0302 ands.w r3, r3, #2
|
|
14f86: bf14 ite ne
|
|
14f88: 2106 movne r1, #6
|
|
14f8a: 2114 moveq r1, #20
|
|
14f8c: 2b00 cmp r3, #0
|
|
14f8e: bf15 itete ne
|
|
14f90: 2410 movne r4, #16
|
|
14f92: 242a moveq r4, #42 ; 0x2a
|
|
14f94: 2309 movne r3, #9
|
|
14f96: 2315 moveq r3, #21
|
|
14f98: f04f 0200 mov.w r2, #0
|
|
14f9c: f363 0204 bfi r2, r3, #0, #5
|
|
14fa0: f364 124a bfi r2, r4, #5, #6
|
|
14fa4: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
14fa8: 2199 movs r1, #153 ; 0x99
|
|
14faa: 300c adds r0, #12
|
|
14fac: 4b22 ldr r3, [pc, #136] ; (15038 <basic_init+0x5d0>)
|
|
14fae: 4798 blx r3
|
|
style_init_reset(&styles->bg_click);
|
|
14fb0: 4c1d ldr r4, [pc, #116] ; (15028 <basic_init+0x5c0>)
|
|
14fb2: 6820 ldr r0, [r4, #0]
|
|
14fb4: 3008 adds r0, #8
|
|
14fb6: 4b1e ldr r3, [pc, #120] ; (15030 <basic_init+0x5c8>)
|
|
14fb8: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_PR);
|
|
14fba: 6820 ldr r0, [r4, #0]
|
|
14fbc: 3008 adds r0, #8
|
|
14fbe: 6a23 ldr r3, [r4, #32]
|
|
14fc0: f013 0f02 tst.w r3, #2
|
|
14fc4: f040 855f bne.w 15a86 <basic_init+0x101e>
|
|
14fc8: 2309 movs r3, #9
|
|
14fca: 2113 movs r1, #19
|
|
14fcc: 240a movs r4, #10
|
|
14fce: f04f 0200 mov.w r2, #0
|
|
14fd2: f364 0204 bfi r2, r4, #0, #5
|
|
14fd6: f361 124a bfi r2, r1, #5, #6
|
|
14fda: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
14fde: f241 0129 movw r1, #4137 ; 0x1029
|
|
14fe2: 4d15 ldr r5, [pc, #84] ; (15038 <basic_init+0x5d0>)
|
|
14fe4: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_CHK);
|
|
14fe6: 4c10 ldr r4, [pc, #64] ; (15028 <basic_init+0x5c0>)
|
|
14fe8: 6820 ldr r0, [r4, #0]
|
|
14fea: 89a2 ldrh r2, [r4, #12]
|
|
14fec: f240 1129 movw r1, #297 ; 0x129
|
|
14ff0: 3008 adds r0, #8
|
|
14ff2: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_PR_CHK);
|
|
14ff4: 6826 ldr r6, [r4, #0]
|
|
14ff6: 3608 adds r6, #8
|
|
14ff8: 2133 movs r1, #51 ; 0x33
|
|
14ffa: 89a0 ldrh r0, [r4, #12]
|
|
14ffc: 4b0f ldr r3, [pc, #60] ; (1503c <basic_init+0x5d4>)
|
|
14ffe: 4798 blx r3
|
|
15000: 4602 mov r2, r0
|
|
15002: f241 1129 movw r1, #4393 ; 0x1129
|
|
15006: 4630 mov r0, r6
|
|
15008: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_DIS);
|
|
1500a: 6820 ldr r0, [r4, #0]
|
|
1500c: 3008 adds r0, #8
|
|
1500e: 6a23 ldr r3, [r4, #32]
|
|
15010: f013 0f02 tst.w r3, #2
|
|
15014: f040 853c bne.w 15a90 <basic_init+0x1028>
|
|
15018: 230b movs r3, #11
|
|
1501a: 2118 movs r1, #24
|
|
1501c: 240e movs r4, #14
|
|
1501e: e00f b.n 15040 <basic_init+0x5d8>
|
|
15020: 00010f25 .word 0x00010f25
|
|
15024: 000068c9 .word 0x000068c9
|
|
15028: 20006bd8 .word 0x20006bd8
|
|
1502c: 00010f41 .word 0x00010f41
|
|
15030: 00014a49 .word 0x00014a49
|
|
15034: 000067a1 .word 0x000067a1
|
|
15038: 00006a0d .word 0x00006a0d
|
|
1503c: 00011beb .word 0x00011beb
|
|
15040: f04f 0200 mov.w r2, #0
|
|
15044: f364 0204 bfi r2, r4, #0, #5
|
|
15048: f361 124a bfi r2, r1, #5, #6
|
|
1504c: f363 22cf bfi r2, r3, #11, #5
|
|
15050: f242 0129 movw r1, #8233 ; 0x2029
|
|
15054: 4ebb ldr r6, [pc, #748] ; (15344 <basic_init+0x8dc>)
|
|
15056: 47b0 blx r6
|
|
lv_style_set_border_width(&styles->bg_click, LV_STATE_CHECKED, 0);
|
|
15058: 4cbb ldr r4, [pc, #748] ; (15348 <basic_init+0x8e0>)
|
|
1505a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
1505c: 2200 movs r2, #0
|
|
1505e: f44f 7198 mov.w r1, #304 ; 0x130
|
|
15062: 3008 adds r0, #8
|
|
15064: 4bb9 ldr r3, [pc, #740] ; (1534c <basic_init+0x8e4>)
|
|
15066: 4798 blx r3
|
|
lv_style_set_border_color(&styles->bg_click, LV_STATE_FOCUSED | LV_STATE_PRESSED, lv_color_darken(theme.color_primary,
|
|
15068: 6825 ldr r5, [r4, #0]
|
|
1506a: 3508 adds r5, #8
|
|
1506c: 2133 movs r1, #51 ; 0x33
|
|
1506e: 89a0 ldrh r0, [r4, #12]
|
|
15070: 4bb7 ldr r3, [pc, #732] ; (15350 <basic_init+0x8e8>)
|
|
15072: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
15074: 4602 mov r2, r0
|
|
15076: f241 2139 movw r1, #4665 ; 0x1239
|
|
1507a: 4628 mov r0, r5
|
|
1507c: 47b0 blx r6
|
|
lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_BORDER_PR);
|
|
1507e: 6820 ldr r0, [r4, #0]
|
|
15080: 3008 adds r0, #8
|
|
15082: 6a23 ldr r3, [r4, #32]
|
|
15084: f013 0f02 tst.w r3, #2
|
|
15088: f040 8507 bne.w 15a9a <basic_init+0x1032>
|
|
1508c: 230b movs r3, #11
|
|
1508e: 2119 movs r1, #25
|
|
15090: 240d movs r4, #13
|
|
15092: f04f 0200 mov.w r2, #0
|
|
15096: f364 0204 bfi r2, r4, #0, #5
|
|
1509a: f361 124a bfi r2, r1, #5, #6
|
|
1509e: f363 22cf bfi r2, r3, #11, #5
|
|
150a2: f241 0139 movw r1, #4153 ; 0x1039
|
|
150a6: 4ba7 ldr r3, [pc, #668] ; (15344 <basic_init+0x8dc>)
|
|
150a8: 4798 blx r3
|
|
lv_style_set_border_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_BORDER_CHK);
|
|
150aa: 4ba7 ldr r3, [pc, #668] ; (15348 <basic_init+0x8e0>)
|
|
150ac: 6818 ldr r0, [r3, #0]
|
|
150ae: 6a1b ldr r3, [r3, #32]
|
|
150b0: f013 0302 ands.w r3, r3, #2
|
|
150b4: bf14 ite ne
|
|
150b6: 2107 movne r1, #7
|
|
150b8: 210b moveq r1, #11
|
|
150ba: 2b00 cmp r3, #0
|
|
150bc: bf15 itete ne
|
|
150be: 240f movne r4, #15
|
|
150c0: 2419 moveq r4, #25
|
|
150c2: 2308 movne r3, #8
|
|
150c4: 230d moveq r3, #13
|
|
150c6: f04f 0200 mov.w r2, #0
|
|
150ca: f363 0204 bfi r2, r3, #0, #5
|
|
150ce: f364 124a bfi r2, r4, #5, #6
|
|
150d2: f361 22cf bfi r2, r1, #11, #5
|
|
150d6: f240 1139 movw r1, #313 ; 0x139
|
|
150da: 3008 adds r0, #8
|
|
150dc: 4b99 ldr r3, [pc, #612] ; (15344 <basic_init+0x8dc>)
|
|
150de: 4798 blx r3
|
|
lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_BORDER_CHK_PR);
|
|
150e0: 4b99 ldr r3, [pc, #612] ; (15348 <basic_init+0x8e0>)
|
|
150e2: 6818 ldr r0, [r3, #0]
|
|
150e4: 6a1b ldr r3, [r3, #32]
|
|
150e6: f013 0302 ands.w r3, r3, #2
|
|
150ea: bf14 ite ne
|
|
150ec: 2107 movne r1, #7
|
|
150ee: 210b moveq r1, #11
|
|
150f0: 2b00 cmp r3, #0
|
|
150f2: bf15 itete ne
|
|
150f4: 240f movne r4, #15
|
|
150f6: 2419 moveq r4, #25
|
|
150f8: 2308 movne r3, #8
|
|
150fa: 230d moveq r3, #13
|
|
150fc: f04f 0200 mov.w r2, #0
|
|
15100: f363 0204 bfi r2, r3, #0, #5
|
|
15104: f364 124a bfi r2, r4, #5, #6
|
|
15108: f361 22cf bfi r2, r1, #11, #5
|
|
1510c: f241 1139 movw r1, #4409 ; 0x1139
|
|
15110: 3008 adds r0, #8
|
|
15112: 4b8c ldr r3, [pc, #560] ; (15344 <basic_init+0x8dc>)
|
|
15114: 4798 blx r3
|
|
lv_style_set_border_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_BORDER_DIS);
|
|
15116: 4b8c ldr r3, [pc, #560] ; (15348 <basic_init+0x8e0>)
|
|
15118: 6818 ldr r0, [r3, #0]
|
|
1511a: 6a1b ldr r3, [r3, #32]
|
|
1511c: f013 0302 ands.w r3, r3, #2
|
|
15120: bf14 ite ne
|
|
15122: 211a movne r1, #26
|
|
15124: 210b moveq r1, #11
|
|
15126: 2b00 cmp r3, #0
|
|
15128: bf15 itete ne
|
|
1512a: 2437 movne r4, #55 ; 0x37
|
|
1512c: 2419 moveq r4, #25
|
|
1512e: 231c movne r3, #28
|
|
15130: 230d moveq r3, #13
|
|
15132: f04f 0200 mov.w r2, #0
|
|
15136: f363 0204 bfi r2, r3, #0, #5
|
|
1513a: f364 124a bfi r2, r4, #5, #6
|
|
1513e: f361 22cf bfi r2, r1, #11, #5
|
|
15142: f242 0139 movw r1, #8249 ; 0x2039
|
|
15146: 3008 adds r0, #8
|
|
15148: 4b7e ldr r3, [pc, #504] ; (15344 <basic_init+0x8dc>)
|
|
1514a: 4798 blx r3
|
|
lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR);
|
|
1514c: 4b7e ldr r3, [pc, #504] ; (15348 <basic_init+0x8e0>)
|
|
1514e: 6818 ldr r0, [r3, #0]
|
|
15150: 3008 adds r0, #8
|
|
15152: 6a1b ldr r3, [r3, #32]
|
|
15154: f013 0f02 tst.w r3, #2
|
|
15158: f040 84a4 bne.w 15aa4 <basic_init+0x103c>
|
|
1515c: 231f movs r3, #31
|
|
1515e: 213f movs r1, #63 ; 0x3f
|
|
15160: 461c mov r4, r3
|
|
15162: f04f 0200 mov.w r2, #0
|
|
15166: f364 0204 bfi r2, r4, #0, #5
|
|
1516a: f361 124a bfi r2, r1, #5, #6
|
|
1516e: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
15172: f249 0189 movw r1, #37001 ; 0x9089
|
|
15176: 4d73 ldr r5, [pc, #460] ; (15344 <basic_init+0x8dc>)
|
|
15178: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK);
|
|
1517a: 4c73 ldr r4, [pc, #460] ; (15348 <basic_init+0x8e0>)
|
|
1517c: 6820 ldr r0, [r4, #0]
|
|
1517e: f04f 32ff mov.w r2, #4294967295
|
|
15182: f248 1189 movw r1, #33161 ; 0x8189
|
|
15186: 3008 adds r0, #8
|
|
15188: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR);
|
|
1518a: 6820 ldr r0, [r4, #0]
|
|
1518c: f04f 32ff mov.w r2, #4294967295
|
|
15190: f249 1189 movw r1, #37257 ; 0x9189
|
|
15194: 3008 adds r0, #8
|
|
15196: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS);
|
|
15198: 6820 ldr r0, [r4, #0]
|
|
1519a: 6a23 ldr r3, [r4, #32]
|
|
1519c: f013 0302 ands.w r3, r3, #2
|
|
151a0: bf14 ite ne
|
|
151a2: 212a movne r1, #42 ; 0x2a
|
|
151a4: 2126 moveq r1, #38 ; 0x26
|
|
151a6: 2b00 cmp r3, #0
|
|
151a8: bf14 ite ne
|
|
151aa: 2315 movne r3, #21
|
|
151ac: 2313 moveq r3, #19
|
|
151ae: f04f 0200 mov.w r2, #0
|
|
151b2: f363 0204 bfi r2, r3, #0, #5
|
|
151b6: f361 124a bfi r2, r1, #5, #6
|
|
151ba: f363 22cf bfi r2, r3, #11, #5
|
|
151be: f24a 0189 movw r1, #41097 ; 0xa089
|
|
151c2: 3008 adds r0, #8
|
|
151c4: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR);
|
|
151c6: 6820 ldr r0, [r4, #0]
|
|
151c8: 3008 adds r0, #8
|
|
151ca: 6a23 ldr r3, [r4, #32]
|
|
151cc: f013 0f02 tst.w r3, #2
|
|
151d0: f040 846d bne.w 15aae <basic_init+0x1046>
|
|
151d4: 231f movs r3, #31
|
|
151d6: 213f movs r1, #63 ; 0x3f
|
|
151d8: 461c mov r4, r3
|
|
151da: f04f 0200 mov.w r2, #0
|
|
151de: f364 0204 bfi r2, r4, #0, #5
|
|
151e2: f361 124a bfi r2, r1, #5, #6
|
|
151e6: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
151ea: f249 01a9 movw r1, #37033 ; 0x90a9
|
|
151ee: 4d55 ldr r5, [pc, #340] ; (15344 <basic_init+0x8dc>)
|
|
151f0: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK);
|
|
151f2: 4c55 ldr r4, [pc, #340] ; (15348 <basic_init+0x8e0>)
|
|
151f4: 6820 ldr r0, [r4, #0]
|
|
151f6: f04f 32ff mov.w r2, #4294967295
|
|
151fa: f248 11a9 movw r1, #33193 ; 0x81a9
|
|
151fe: 3008 adds r0, #8
|
|
15200: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR);
|
|
15202: 6820 ldr r0, [r4, #0]
|
|
15204: f04f 32ff mov.w r2, #4294967295
|
|
15208: f249 11a9 movw r1, #37289 ; 0x91a9
|
|
1520c: 3008 adds r0, #8
|
|
1520e: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS);
|
|
15210: 6820 ldr r0, [r4, #0]
|
|
15212: 6a23 ldr r3, [r4, #32]
|
|
15214: f013 0302 ands.w r3, r3, #2
|
|
15218: bf14 ite ne
|
|
1521a: 212a movne r1, #42 ; 0x2a
|
|
1521c: 2126 moveq r1, #38 ; 0x26
|
|
1521e: 2b00 cmp r3, #0
|
|
15220: bf14 ite ne
|
|
15222: 2315 movne r3, #21
|
|
15224: 2313 moveq r3, #19
|
|
15226: f04f 0200 mov.w r2, #0
|
|
1522a: f363 0204 bfi r2, r3, #0, #5
|
|
1522e: f361 124a bfi r2, r1, #5, #6
|
|
15232: f363 22cf bfi r2, r3, #11, #5
|
|
15236: f24a 01a9 movw r1, #41129 ; 0xa0a9
|
|
1523a: 3008 adds r0, #8
|
|
1523c: 47a8 blx r5
|
|
lv_style_set_transition_prop_5(&styles->bg_click, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR);
|
|
1523e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar)
|
|
15240: 2229 movs r2, #41 ; 0x29
|
|
15242: 21b6 movs r1, #182 ; 0xb6
|
|
15244: 3008 adds r0, #8
|
|
15246: 4d41 ldr r5, [pc, #260] ; (1534c <basic_init+0x8e4>)
|
|
15248: 47a8 blx r5
|
|
style_init_reset(&styles->btn);
|
|
1524a: 6820 ldr r0, [r4, #0]
|
|
1524c: 3010 adds r0, #16
|
|
1524e: 4b41 ldr r3, [pc, #260] ; (15354 <basic_init+0x8ec>)
|
|
15250: 4798 blx r3
|
|
lv_style_set_radius(&styles->btn, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
15252: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
15254: f647 72ff movw r2, #32767 ; 0x7fff
|
|
15258: 2101 movs r1, #1
|
|
1525a: 3010 adds r0, #16
|
|
1525c: 47a8 blx r5
|
|
lv_style_set_bg_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
1525e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
15260: 22ff movs r2, #255 ; 0xff
|
|
15262: 212c movs r1, #44 ; 0x2c
|
|
15264: 3010 adds r0, #16
|
|
15266: 4b3c ldr r3, [pc, #240] ; (15358 <basic_init+0x8f0>)
|
|
15268: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN);
|
|
1526a: 6820 ldr r0, [r4, #0]
|
|
1526c: 3010 adds r0, #16
|
|
1526e: 6a23 ldr r3, [r4, #32]
|
|
15270: f013 0f02 tst.w r3, #2
|
|
15274: f040 8420 bne.w 15ab8 <basic_init+0x1050>
|
|
15278: 230b movs r3, #11
|
|
1527a: 2118 movs r1, #24
|
|
1527c: 240e movs r4, #14
|
|
1527e: f04f 0200 mov.w r2, #0
|
|
15282: f364 0204 bfi r2, r4, #0, #5
|
|
15286: f361 124a bfi r2, r1, #5, #6
|
|
1528a: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
1528e: 2129 movs r1, #41 ; 0x29
|
|
15290: 4b2c ldr r3, [pc, #176] ; (15344 <basic_init+0x8dc>)
|
|
15292: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_PR);
|
|
15294: 4b2c ldr r3, [pc, #176] ; (15348 <basic_init+0x8e0>)
|
|
15296: 6818 ldr r0, [r3, #0]
|
|
15298: 3010 adds r0, #16
|
|
1529a: 6a1b ldr r3, [r3, #32]
|
|
1529c: f013 0f02 tst.w r3, #2
|
|
152a0: f000 840f beq.w 15ac2 <basic_init+0x105a>
|
|
LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix)
|
|
{
|
|
lv_color_t ret;
|
|
#if LV_COLOR_DEPTH != 1
|
|
/*LV_COLOR_DEPTH == 8, 16 or 32*/
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
152a4: 4928 ldr r1, [pc, #160] ; (15348 <basic_init+0x8e0>)
|
|
152a6: 7b4b ldrb r3, [r1, #13]
|
|
152a8: 08db lsrs r3, r3, #3
|
|
152aa: eb03 0383 add.w r3, r3, r3, lsl #2
|
|
152ae: eb03 0383 add.w r3, r3, r3, lsl #2
|
|
152b2: f641 35da movw r5, #7130 ; 0x1bda
|
|
152b6: 442b add r3, r5
|
|
152b8: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
152bc: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
152c0: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
152c4: 898a ldrh r2, [r1, #12]
|
|
152c6: f3c2 1245 ubfx r2, r2, #5, #6
|
|
152ca: eb02 0282 add.w r2, r2, r2, lsl #2
|
|
152ce: eb02 0282 add.w r2, r2, r2, lsl #2
|
|
152d2: f502 5262 add.w r2, r2, #14464 ; 0x3880
|
|
152d6: 321a adds r2, #26
|
|
152d8: eb02 2402 add.w r4, r2, r2, lsl #8
|
|
152dc: eb02 12c4 add.w r2, r2, r4, lsl #7
|
|
152e0: f3c2 54c5 ubfx r4, r2, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
152e4: 7b09 ldrb r1, [r1, #12]
|
|
152e6: f001 011f and.w r1, r1, #31
|
|
152ea: eb01 0181 add.w r1, r1, r1, lsl #2
|
|
152ee: eb01 0181 add.w r1, r1, r1, lsl #2
|
|
152f2: 4429 add r1, r5
|
|
152f4: eb01 2201 add.w r2, r1, r1, lsl #8
|
|
152f8: eb01 11c2 add.w r1, r1, r2, lsl #7
|
|
152fc: f3c1 51c4 ubfx r1, r1, #23, #5
|
|
15300: f04f 0200 mov.w r2, #0
|
|
15304: f361 0204 bfi r2, r1, #0, #5
|
|
15308: f364 124a bfi r2, r4, #5, #6
|
|
1530c: f363 22cf bfi r2, r3, #11, #5
|
|
15310: f241 0129 movw r1, #4137 ; 0x1029
|
|
15314: 4d0b ldr r5, [pc, #44] ; (15344 <basic_init+0x8dc>)
|
|
15316: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED, COLOR_BTN_CHK);
|
|
15318: 4c0b ldr r4, [pc, #44] ; (15348 <basic_init+0x8e0>)
|
|
1531a: 6820 ldr r0, [r4, #0]
|
|
1531c: 89a2 ldrh r2, [r4, #12]
|
|
1531e: f240 1129 movw r1, #297 ; 0x129
|
|
15322: 3010 adds r0, #16
|
|
15324: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BTN_CHK_PR);
|
|
15326: 6826 ldr r6, [r4, #0]
|
|
15328: 3610 adds r6, #16
|
|
1532a: 214c movs r1, #76 ; 0x4c
|
|
1532c: 89a0 ldrh r0, [r4, #12]
|
|
1532e: 4b08 ldr r3, [pc, #32] ; (15350 <basic_init+0x8e8>)
|
|
15330: 4798 blx r3
|
|
15332: 4602 mov r2, r0
|
|
15334: f241 1129 movw r1, #4393 ; 0x1129
|
|
15338: 4630 mov r0, r6
|
|
1533a: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN);
|
|
1533c: 6820 ldr r0, [r4, #0]
|
|
1533e: 3010 adds r0, #16
|
|
15340: 6a23 ldr r3, [r4, #32]
|
|
15342: e00b b.n 1535c <basic_init+0x8f4>
|
|
15344: 00006a0d .word 0x00006a0d
|
|
15348: 20006bd8 .word 0x20006bd8
|
|
1534c: 000068c9 .word 0x000068c9
|
|
15350: 00011beb .word 0x00011beb
|
|
15354: 00014a49 .word 0x00014a49
|
|
15358: 00006b51 .word 0x00006b51
|
|
1535c: f013 0f02 tst.w r3, #2
|
|
15360: f040 83d9 bne.w 15b16 <basic_init+0x10ae>
|
|
15364: 230b movs r3, #11
|
|
15366: 2118 movs r1, #24
|
|
15368: 240e movs r4, #14
|
|
1536a: f04f 0200 mov.w r2, #0
|
|
1536e: f364 0204 bfi r2, r4, #0, #5
|
|
15372: f361 124a bfi r2, r1, #5, #6
|
|
15376: f363 22cf bfi r2, r3, #11, #5
|
|
1537a: f242 0129 movw r1, #8233 ; 0x2029
|
|
1537e: 4bc6 ldr r3, [pc, #792] ; (15698 <basic_init+0xc30>)
|
|
15380: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED | LV_STATE_CHECKED, COLOR_BTN_DIS);
|
|
15382: 4bc6 ldr r3, [pc, #792] ; (1569c <basic_init+0xc34>)
|
|
15384: 6818 ldr r0, [r3, #0]
|
|
15386: 6a1b ldr r3, [r3, #32]
|
|
15388: f013 0302 ands.w r3, r3, #2
|
|
1538c: bf14 ite ne
|
|
1538e: 2133 movne r1, #51 ; 0x33
|
|
15390: 2122 moveq r1, #34 ; 0x22
|
|
15392: 2b00 cmp r3, #0
|
|
15394: bf14 ite ne
|
|
15396: 2319 movne r3, #25
|
|
15398: 2311 moveq r3, #17
|
|
1539a: f04f 0200 mov.w r2, #0
|
|
1539e: f363 0204 bfi r2, r3, #0, #5
|
|
153a2: f361 124a bfi r2, r1, #5, #6
|
|
153a6: f363 22cf bfi r2, r3, #11, #5
|
|
153aa: f242 1129 movw r1, #8489 ; 0x2129
|
|
153ae: 3010 adds r0, #16
|
|
153b0: 4db9 ldr r5, [pc, #740] ; (15698 <basic_init+0xc30>)
|
|
153b2: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN_BORDER);
|
|
153b4: 4cb9 ldr r4, [pc, #740] ; (1569c <basic_init+0xc34>)
|
|
153b6: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
153b8: 89a2 ldrh r2, [r4, #12]
|
|
153ba: 2139 movs r1, #57 ; 0x39
|
|
153bc: 3010 adds r0, #16
|
|
153be: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_BORDER_PR);
|
|
153c0: 6820 ldr r0, [r4, #0]
|
|
153c2: 89a2 ldrh r2, [r4, #12]
|
|
153c4: f241 0139 movw r1, #4153 ; 0x1039
|
|
153c8: 3010 adds r0, #16
|
|
153ca: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN_BORDER_INA);
|
|
153cc: 6820 ldr r0, [r4, #0]
|
|
153ce: 6a23 ldr r3, [r4, #32]
|
|
153d0: f013 0302 ands.w r3, r3, #2
|
|
153d4: bf14 ite ne
|
|
153d6: 2122 movne r1, #34 ; 0x22
|
|
153d8: 2110 moveq r1, #16
|
|
153da: 2b00 cmp r3, #0
|
|
153dc: bf14 ite ne
|
|
153de: 2311 movne r3, #17
|
|
153e0: 2308 moveq r3, #8
|
|
153e2: f04f 0200 mov.w r2, #0
|
|
153e6: f363 0204 bfi r2, r3, #0, #5
|
|
153ea: f361 124a bfi r2, r1, #5, #6
|
|
153ee: f363 22cf bfi r2, r3, #11, #5
|
|
153f2: f242 0139 movw r1, #8249 ; 0x2039
|
|
153f6: 3010 adds r0, #16
|
|
153f8: 47a8 blx r5
|
|
lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH);
|
|
153fa: 6824 ldr r4, [r4, #0]
|
|
153fc: 3410 adds r4, #16
|
|
153fe: 2000 movs r0, #0
|
|
15400: 4ba7 ldr r3, [pc, #668] ; (156a0 <basic_init+0xc38>)
|
|
15402: 4798 blx r3
|
|
15404: 3028 adds r0, #40 ; 0x28
|
|
15406: 0040 lsls r0, r0, #1
|
|
15408: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1540c: f280 8387 bge.w 15b1e <basic_init+0x10b6>
|
|
15410: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
15412: 2130 movs r1, #48 ; 0x30
|
|
15414: 4620 mov r0, r4
|
|
15416: 4ba3 ldr r3, [pc, #652] ; (156a4 <basic_init+0xc3c>)
|
|
15418: 4798 blx r3
|
|
lv_style_set_border_opa(&styles->btn, LV_STATE_CHECKED, LV_OPA_TRANSP);
|
|
1541a: 4ca0 ldr r4, [pc, #640] ; (1569c <basic_init+0xc34>)
|
|
1541c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar)
|
|
1541e: 2200 movs r2, #0
|
|
15420: f44f 719e mov.w r1, #316 ; 0x13c
|
|
15424: 3010 adds r0, #16
|
|
15426: 4ba0 ldr r3, [pc, #640] ; (156a8 <basic_init+0xc40>)
|
|
15428: 4798 blx r3
|
|
lv_style_set_text_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff));
|
|
1542a: 6820 ldr r0, [r4, #0]
|
|
1542c: 3010 adds r0, #16
|
|
1542e: 6a23 ldr r3, [r4, #32]
|
|
15430: f013 0f02 tst.w r3, #2
|
|
15434: f040 8380 bne.w 15b38 <basic_init+0x10d0>
|
|
15438: 231f movs r3, #31
|
|
1543a: 213f movs r1, #63 ; 0x3f
|
|
1543c: 461c mov r4, r3
|
|
1543e: f04f 0200 mov.w r2, #0
|
|
15442: f364 0204 bfi r2, r4, #0, #5
|
|
15446: f361 124a bfi r2, r1, #5, #6
|
|
1544a: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
1544e: f248 0189 movw r1, #32905 ; 0x8089
|
|
15452: 4b91 ldr r3, [pc, #580] ; (15698 <basic_init+0xc30>)
|
|
15454: 4798 blx r3
|
|
lv_style_set_text_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff));
|
|
15456: 4b91 ldr r3, [pc, #580] ; (1569c <basic_init+0xc34>)
|
|
15458: 6818 ldr r0, [r3, #0]
|
|
1545a: 3010 adds r0, #16
|
|
1545c: 6a1b ldr r3, [r3, #32]
|
|
1545e: f013 0f02 tst.w r3, #2
|
|
15462: f040 836d bne.w 15b40 <basic_init+0x10d8>
|
|
15466: 231f movs r3, #31
|
|
15468: 213f movs r1, #63 ; 0x3f
|
|
1546a: 461c mov r4, r3
|
|
1546c: f04f 0200 mov.w r2, #0
|
|
15470: f364 0204 bfi r2, r4, #0, #5
|
|
15474: f361 124a bfi r2, r1, #5, #6
|
|
15478: f363 22cf bfi r2, r3, #11, #5
|
|
1547c: f249 0189 movw r1, #37001 ; 0x9089
|
|
15480: 4d85 ldr r5, [pc, #532] ; (15698 <basic_init+0xc30>)
|
|
15482: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff));
|
|
15484: 4c85 ldr r4, [pc, #532] ; (1569c <basic_init+0xc34>)
|
|
15486: 6820 ldr r0, [r4, #0]
|
|
15488: f04f 32ff mov.w r2, #4294967295
|
|
1548c: f248 1189 movw r1, #33161 ; 0x8189
|
|
15490: 3010 adds r0, #16
|
|
15492: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff));
|
|
15494: 6820 ldr r0, [r4, #0]
|
|
15496: f04f 32ff mov.w r2, #4294967295
|
|
1549a: f249 1189 movw r1, #37257 ; 0x9189
|
|
1549e: 3010 adds r0, #16
|
|
154a0: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888));
|
|
154a2: 6820 ldr r0, [r4, #0]
|
|
154a4: 2311 movs r3, #17
|
|
154a6: f04f 0200 mov.w r2, #0
|
|
154aa: f363 0204 bfi r2, r3, #0, #5
|
|
154ae: 2122 movs r1, #34 ; 0x22
|
|
154b0: f361 124a bfi r2, r1, #5, #6
|
|
154b4: f363 22cf bfi r2, r3, #11, #5
|
|
154b8: f24a 0189 movw r1, #41097 ; 0xa089
|
|
154bc: 3010 adds r0, #16
|
|
154be: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff));
|
|
154c0: 6820 ldr r0, [r4, #0]
|
|
154c2: 3010 adds r0, #16
|
|
154c4: 6a23 ldr r3, [r4, #32]
|
|
154c6: f013 0f02 tst.w r3, #2
|
|
154ca: f040 833d bne.w 15b48 <basic_init+0x10e0>
|
|
154ce: 231f movs r3, #31
|
|
154d0: 213f movs r1, #63 ; 0x3f
|
|
154d2: 461c mov r4, r3
|
|
154d4: f04f 0200 mov.w r2, #0
|
|
154d8: f364 0204 bfi r2, r4, #0, #5
|
|
154dc: f361 124a bfi r2, r1, #5, #6
|
|
154e0: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
154e4: f248 01a9 movw r1, #32937 ; 0x80a9
|
|
154e8: 4b6b ldr r3, [pc, #428] ; (15698 <basic_init+0xc30>)
|
|
154ea: 4798 blx r3
|
|
lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff));
|
|
154ec: 4b6b ldr r3, [pc, #428] ; (1569c <basic_init+0xc34>)
|
|
154ee: 6818 ldr r0, [r3, #0]
|
|
154f0: 3010 adds r0, #16
|
|
154f2: 6a1b ldr r3, [r3, #32]
|
|
154f4: f013 0f02 tst.w r3, #2
|
|
154f8: f040 832a bne.w 15b50 <basic_init+0x10e8>
|
|
154fc: 231f movs r3, #31
|
|
154fe: 213f movs r1, #63 ; 0x3f
|
|
15500: 461c mov r4, r3
|
|
15502: f04f 0200 mov.w r2, #0
|
|
15506: f364 0204 bfi r2, r4, #0, #5
|
|
1550a: f361 124a bfi r2, r1, #5, #6
|
|
1550e: f363 22cf bfi r2, r3, #11, #5
|
|
15512: f249 01a9 movw r1, #37033 ; 0x90a9
|
|
15516: 4d60 ldr r5, [pc, #384] ; (15698 <basic_init+0xc30>)
|
|
15518: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, lv_color_hex(0xffffff));
|
|
1551a: 4c60 ldr r4, [pc, #384] ; (1569c <basic_init+0xc34>)
|
|
1551c: 6820 ldr r0, [r4, #0]
|
|
1551e: f04f 32ff mov.w r2, #4294967295
|
|
15522: f249 01a9 movw r1, #37033 ; 0x90a9
|
|
15526: 3010 adds r0, #16
|
|
15528: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff));
|
|
1552a: 6820 ldr r0, [r4, #0]
|
|
1552c: f04f 32ff mov.w r2, #4294967295
|
|
15530: f249 11a9 movw r1, #37289 ; 0x91a9
|
|
15534: 3010 adds r0, #16
|
|
15536: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888));
|
|
15538: 6820 ldr r0, [r4, #0]
|
|
1553a: 2311 movs r3, #17
|
|
1553c: f04f 0200 mov.w r2, #0
|
|
15540: f363 0204 bfi r2, r3, #0, #5
|
|
15544: 2122 movs r1, #34 ; 0x22
|
|
15546: f361 124a bfi r2, r1, #5, #6
|
|
1554a: f363 22cf bfi r2, r3, #11, #5
|
|
1554e: f24a 01a9 movw r1, #41129 ; 0xa0a9
|
|
15552: 3010 adds r0, #16
|
|
15554: 47a8 blx r5
|
|
lv_style_set_value_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff));
|
|
15556: 6820 ldr r0, [r4, #0]
|
|
15558: 3010 adds r0, #16
|
|
1555a: 6a23 ldr r3, [r4, #32]
|
|
1555c: f013 0f02 tst.w r3, #2
|
|
15560: f040 82fa bne.w 15b58 <basic_init+0x10f0>
|
|
15564: 231f movs r3, #31
|
|
15566: 213f movs r1, #63 ; 0x3f
|
|
15568: 461c mov r4, r3
|
|
1556a: f04f 0200 mov.w r2, #0
|
|
1556e: f364 0204 bfi r2, r4, #0, #5
|
|
15572: f361 124a bfi r2, r1, #5, #6
|
|
15576: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
1557a: 2179 movs r1, #121 ; 0x79
|
|
1557c: 4b46 ldr r3, [pc, #280] ; (15698 <basic_init+0xc30>)
|
|
1557e: 4798 blx r3
|
|
lv_style_set_value_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff));
|
|
15580: 4b46 ldr r3, [pc, #280] ; (1569c <basic_init+0xc34>)
|
|
15582: 6818 ldr r0, [r3, #0]
|
|
15584: 3010 adds r0, #16
|
|
15586: 6a1b ldr r3, [r3, #32]
|
|
15588: f013 0f02 tst.w r3, #2
|
|
1558c: f040 82e8 bne.w 15b60 <basic_init+0x10f8>
|
|
15590: 231f movs r3, #31
|
|
15592: 213f movs r1, #63 ; 0x3f
|
|
15594: 461c mov r4, r3
|
|
15596: f04f 0200 mov.w r2, #0
|
|
1559a: f364 0204 bfi r2, r4, #0, #5
|
|
1559e: f361 124a bfi r2, r1, #5, #6
|
|
155a2: f363 22cf bfi r2, r3, #11, #5
|
|
155a6: f241 0179 movw r1, #4217 ; 0x1079
|
|
155aa: 4d3b ldr r5, [pc, #236] ; (15698 <basic_init+0xc30>)
|
|
155ac: 47a8 blx r5
|
|
lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff));
|
|
155ae: 4c3b ldr r4, [pc, #236] ; (1569c <basic_init+0xc34>)
|
|
155b0: 6820 ldr r0, [r4, #0]
|
|
155b2: f04f 32ff mov.w r2, #4294967295
|
|
155b6: f240 1179 movw r1, #377 ; 0x179
|
|
155ba: 3010 adds r0, #16
|
|
155bc: 47a8 blx r5
|
|
lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff));
|
|
155be: 6820 ldr r0, [r4, #0]
|
|
155c0: f04f 32ff mov.w r2, #4294967295
|
|
155c4: f241 1179 movw r1, #4473 ; 0x1179
|
|
155c8: 3010 adds r0, #16
|
|
155ca: 47a8 blx r5
|
|
lv_style_set_value_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888));
|
|
155cc: 6820 ldr r0, [r4, #0]
|
|
155ce: 2311 movs r3, #17
|
|
155d0: f04f 0200 mov.w r2, #0
|
|
155d4: f363 0204 bfi r2, r3, #0, #5
|
|
155d8: 2122 movs r1, #34 ; 0x22
|
|
155da: f361 124a bfi r2, r1, #5, #6
|
|
155de: f363 22cf bfi r2, r3, #11, #5
|
|
155e2: f242 0179 movw r1, #8313 ; 0x2079
|
|
155e6: 3010 adds r0, #16
|
|
155e8: 47a8 blx r5
|
|
lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40));
|
|
155ea: 6824 ldr r4, [r4, #0]
|
|
155ec: 3410 adds r4, #16
|
|
155ee: 2000 movs r0, #0
|
|
155f0: 4b2b ldr r3, [pc, #172] ; (156a0 <basic_init+0xc38>)
|
|
155f2: 4798 blx r3
|
|
155f4: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
155f8: 00c0 lsls r0, r0, #3
|
|
155fa: 3050 adds r0, #80 ; 0x50
|
|
155fc: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15600: f280 82b2 bge.w 15b68 <basic_init+0x1100>
|
|
15604: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
15606: 2112 movs r1, #18
|
|
15608: 4620 mov r0, r4
|
|
1560a: 4b26 ldr r3, [pc, #152] ; (156a4 <basic_init+0xc3c>)
|
|
1560c: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40));
|
|
1560e: 4b23 ldr r3, [pc, #140] ; (1569c <basic_init+0xc34>)
|
|
15610: 681c ldr r4, [r3, #0]
|
|
15612: 3410 adds r4, #16
|
|
15614: 2000 movs r0, #0
|
|
15616: 4b22 ldr r3, [pc, #136] ; (156a0 <basic_init+0xc38>)
|
|
15618: 4798 blx r3
|
|
1561a: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1561e: 00c0 lsls r0, r0, #3
|
|
15620: 3050 adds r0, #80 ; 0x50
|
|
15622: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15626: f280 82ae bge.w 15b86 <basic_init+0x111e>
|
|
1562a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
1562c: 2113 movs r1, #19
|
|
1562e: 4620 mov r0, r4
|
|
15630: 4b1c ldr r3, [pc, #112] ; (156a4 <basic_init+0xc3c>)
|
|
15632: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15));
|
|
15634: 4b19 ldr r3, [pc, #100] ; (1569c <basic_init+0xc34>)
|
|
15636: 681c ldr r4, [r3, #0]
|
|
15638: 3410 adds r4, #16
|
|
1563a: 2000 movs r0, #0
|
|
1563c: 4b18 ldr r3, [pc, #96] ; (156a0 <basic_init+0xc38>)
|
|
1563e: 4798 blx r3
|
|
15640: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15644: 3050 adds r0, #80 ; 0x50
|
|
15646: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1564a: f280 82ab bge.w 15ba4 <basic_init+0x113c>
|
|
1564e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
15650: 2110 movs r1, #16
|
|
15652: 4620 mov r0, r4
|
|
15654: 4b13 ldr r3, [pc, #76] ; (156a4 <basic_init+0xc3c>)
|
|
15656: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15));
|
|
15658: 4b10 ldr r3, [pc, #64] ; (1569c <basic_init+0xc34>)
|
|
1565a: 681c ldr r4, [r3, #0]
|
|
1565c: 3410 adds r4, #16
|
|
1565e: 2000 movs r0, #0
|
|
15660: 4b0f ldr r3, [pc, #60] ; (156a0 <basic_init+0xc38>)
|
|
15662: 4798 blx r3
|
|
15664: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15668: 3050 adds r0, #80 ; 0x50
|
|
1566a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1566e: f280 82a7 bge.w 15bc0 <basic_init+0x1158>
|
|
15672: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
15674: 2111 movs r1, #17
|
|
15676: 4620 mov r0, r4
|
|
15678: 4b0a ldr r3, [pc, #40] ; (156a4 <basic_init+0xc3c>)
|
|
1567a: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20));
|
|
1567c: 4b07 ldr r3, [pc, #28] ; (1569c <basic_init+0xc34>)
|
|
1567e: 681c ldr r4, [r3, #0]
|
|
15680: 3410 adds r4, #16
|
|
15682: 2000 movs r0, #0
|
|
15684: 4b06 ldr r3, [pc, #24] ; (156a0 <basic_init+0xc38>)
|
|
15686: 4798 blx r3
|
|
15688: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1568c: 0080 lsls r0, r0, #2
|
|
1568e: 3050 adds r0, #80 ; 0x50
|
|
15690: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15694: e00a b.n 156ac <basic_init+0xc44>
|
|
15696: bf00 nop
|
|
15698: 00006a0d .word 0x00006a0d
|
|
1569c: 20006bd8 .word 0x20006bd8
|
|
156a0: 00010f25 .word 0x00010f25
|
|
156a4: 000068c9 .word 0x000068c9
|
|
156a8: 00006b51 .word 0x00006b51
|
|
156ac: f280 8296 bge.w 15bdc <basic_init+0x1174>
|
|
156b0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
156b2: 2114 movs r1, #20
|
|
156b4: 4620 mov r0, r4
|
|
156b6: 4dbd ldr r5, [pc, #756] ; (159ac <basic_init+0xf44>)
|
|
156b8: 47a8 blx r5
|
|
lv_style_set_outline_width(&styles->btn, LV_STATE_DEFAULT, 3);
|
|
156ba: 4cbd ldr r4, [pc, #756] ; (159b0 <basic_init+0xf48>)
|
|
156bc: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar)
|
|
156be: 2203 movs r2, #3
|
|
156c0: 2140 movs r1, #64 ; 0x40
|
|
156c2: 3010 adds r0, #16
|
|
156c4: 47a8 blx r5
|
|
lv_style_set_outline_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_0);
|
|
156c6: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar)
|
|
156c8: 2200 movs r2, #0
|
|
156ca: 214c movs r1, #76 ; 0x4c
|
|
156cc: 3010 adds r0, #16
|
|
156ce: 4eb9 ldr r6, [pc, #740] ; (159b4 <basic_init+0xf4c>)
|
|
156d0: 47b0 blx r6
|
|
lv_style_set_outline_opa(&styles->btn, LV_STATE_FOCUSED, LV_OPA_50);
|
|
156d2: 6820 ldr r0, [r4, #0]
|
|
156d4: 227f movs r2, #127 ; 0x7f
|
|
156d6: f44f 7113 mov.w r1, #588 ; 0x24c
|
|
156da: 3010 adds r0, #16
|
|
156dc: 47b0 blx r6
|
|
lv_style_set_outline_color(&styles->btn, LV_STATE_DEFAULT, theme.color_primary);
|
|
156de: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar)
|
|
156e0: 89a2 ldrh r2, [r4, #12]
|
|
156e2: 2149 movs r1, #73 ; 0x49
|
|
156e4: 3010 adds r0, #16
|
|
156e6: 4eb4 ldr r6, [pc, #720] ; (159b8 <basic_init+0xf50>)
|
|
156e8: 47b0 blx r6
|
|
lv_style_set_outline_color(&styles->btn, LV_STATE_EDITED, theme.color_secondary);
|
|
156ea: 6820 ldr r0, [r4, #0]
|
|
156ec: 89e2 ldrh r2, [r4, #14]
|
|
156ee: f240 4149 movw r1, #1097 ; 0x449
|
|
156f2: 3010 adds r0, #16
|
|
156f4: 47b0 blx r6
|
|
lv_style_set_transition_time(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME);
|
|
156f6: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar)
|
|
156f8: 2296 movs r2, #150 ; 0x96
|
|
156fa: 21b0 movs r1, #176 ; 0xb0
|
|
156fc: 3010 adds r0, #16
|
|
156fe: 47a8 blx r5
|
|
lv_style_set_transition_prop_4(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BORDER_OPA);
|
|
15700: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar)
|
|
15702: 223c movs r2, #60 ; 0x3c
|
|
15704: 21b5 movs r1, #181 ; 0xb5
|
|
15706: 3010 adds r0, #16
|
|
15708: 47a8 blx r5
|
|
lv_style_set_transition_prop_5(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR);
|
|
1570a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar)
|
|
1570c: 2229 movs r2, #41 ; 0x29
|
|
1570e: 21b6 movs r1, #182 ; 0xb6
|
|
15710: 3010 adds r0, #16
|
|
15712: 47a8 blx r5
|
|
lv_style_set_transition_prop_6(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA);
|
|
15714: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar)
|
|
15716: 224c movs r2, #76 ; 0x4c
|
|
15718: 21b7 movs r1, #183 ; 0xb7
|
|
1571a: 3010 adds r0, #16
|
|
1571c: 47a8 blx r5
|
|
lv_style_set_transition_delay(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME);
|
|
1571e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar)
|
|
15720: 2296 movs r2, #150 ; 0x96
|
|
15722: 21b1 movs r1, #177 ; 0xb1
|
|
15724: 3010 adds r0, #16
|
|
15726: 47a8 blx r5
|
|
lv_style_set_transition_delay(&styles->btn, LV_STATE_PRESSED, 0);
|
|
15728: 6820 ldr r0, [r4, #0]
|
|
1572a: 2200 movs r2, #0
|
|
1572c: f241 01b1 movw r1, #4273 ; 0x10b1
|
|
15730: 3010 adds r0, #16
|
|
15732: 47a8 blx r5
|
|
style_init_reset(&styles->pad_inner);
|
|
15734: 6820 ldr r0, [r4, #0]
|
|
15736: 3014 adds r0, #20
|
|
15738: 4ba0 ldr r3, [pc, #640] ; (159bc <basic_init+0xf54>)
|
|
1573a: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT,
|
|
1573c: 6824 ldr r4, [r4, #0]
|
|
1573e: 3414 adds r4, #20
|
|
lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40));
|
|
15740: 2000 movs r0, #0
|
|
15742: 4b9f ldr r3, [pc, #636] ; (159c0 <basic_init+0xf58>)
|
|
15744: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT,
|
|
15746: 2832 cmp r0, #50 ; 0x32
|
|
15748: f200 8266 bhi.w 15c18 <basic_init+0x11b0>
|
|
lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40));
|
|
1574c: 2000 movs r0, #0
|
|
1574e: 4b9d ldr r3, [pc, #628] ; (159c4 <basic_init+0xf5c>)
|
|
15750: 4798 blx r3
|
|
15752: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15756: 0080 lsls r0, r0, #2
|
|
15758: 3050 adds r0, #80 ; 0x50
|
|
lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT,
|
|
1575a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1575e: f280 824c bge.w 15bfa <basic_init+0x1192>
|
|
15762: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
15764: 2114 movs r1, #20
|
|
15766: 4620 mov r0, r4
|
|
15768: 4b90 ldr r3, [pc, #576] ; (159ac <basic_init+0xf44>)
|
|
1576a: 4798 blx r3
|
|
style_init_reset(&styles->pad_small);
|
|
1576c: 4b90 ldr r3, [pc, #576] ; (159b0 <basic_init+0xf48>)
|
|
1576e: 6818 ldr r0, [r3, #0]
|
|
15770: 3018 adds r0, #24
|
|
15772: 4b92 ldr r3, [pc, #584] ; (159bc <basic_init+0xf54>)
|
|
15774: 4798 blx r3
|
|
lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20);
|
|
15776: 2000 movs r0, #0
|
|
15778: 4b91 ldr r3, [pc, #580] ; (159c0 <basic_init+0xf58>)
|
|
1577a: 4798 blx r3
|
|
1577c: 2832 cmp r0, #50 ; 0x32
|
|
1577e: f200 8275 bhi.w 15c6c <basic_init+0x1204>
|
|
15782: 2000 movs r0, #0
|
|
15784: 4b8f ldr r3, [pc, #572] ; (159c4 <basic_init+0xf5c>)
|
|
15786: 4798 blx r3
|
|
15788: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1578c: 0040 lsls r0, r0, #1
|
|
1578e: 3050 adds r0, #80 ; 0x50
|
|
15790: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15794: f280 825b bge.w 15c4e <basic_init+0x11e6>
|
|
15798: 2401 movs r4, #1
|
|
lv_style_set_pad_left(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value);
|
|
1579a: 4e85 ldr r6, [pc, #532] ; (159b0 <basic_init+0xf48>)
|
|
1579c: 6830 ldr r0, [r6, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
1579e: 4622 mov r2, r4
|
|
157a0: 2112 movs r1, #18
|
|
157a2: 3018 adds r0, #24
|
|
157a4: 4d81 ldr r5, [pc, #516] ; (159ac <basic_init+0xf44>)
|
|
157a6: 47a8 blx r5
|
|
lv_style_set_pad_right(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value);
|
|
157a8: 6830 ldr r0, [r6, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
157aa: 4622 mov r2, r4
|
|
157ac: 2113 movs r1, #19
|
|
157ae: 3018 adds r0, #24
|
|
157b0: 47a8 blx r5
|
|
lv_style_set_pad_top(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value);
|
|
157b2: 6830 ldr r0, [r6, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
157b4: 4622 mov r2, r4
|
|
157b6: 2110 movs r1, #16
|
|
157b8: 3018 adds r0, #24
|
|
157ba: 47a8 blx r5
|
|
lv_style_set_pad_bottom(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value);
|
|
157bc: 6830 ldr r0, [r6, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
157be: 4622 mov r2, r4
|
|
157c0: 2111 movs r1, #17
|
|
157c2: 3018 adds r0, #24
|
|
157c4: 47a8 blx r5
|
|
lv_style_set_pad_inner(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value);
|
|
157c6: 6830 ldr r0, [r6, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
157c8: 4622 mov r2, r4
|
|
157ca: 2114 movs r1, #20
|
|
157cc: 3018 adds r0, #24
|
|
157ce: 47a8 blx r5
|
|
157d0: bd70 pop {r4, r5, r6, pc}
|
|
lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8));
|
|
157d2: 2000 movs r0, #0
|
|
157d4: 4b7b ldr r3, [pc, #492] ; (159c4 <basic_init+0xf5c>)
|
|
157d6: 4798 blx r3
|
|
157d8: 300a adds r0, #10
|
|
157da: 00c0 lsls r0, r0, #3
|
|
157dc: 4b7a ldr r3, [pc, #488] ; (159c8 <basic_init+0xf60>)
|
|
157de: fb83 2300 smull r2, r3, r3, r0
|
|
157e2: 17c2 asrs r2, r0, #31
|
|
157e4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
157e8: b212 sxth r2, r2
|
|
157ea: f7ff b9ad b.w 14b48 <basic_init+0xe0>
|
|
157ee: 231f movs r3, #31
|
|
157f0: 213f movs r1, #63 ; 0x3f
|
|
157f2: 461c mov r4, r3
|
|
157f4: f7ff b9bd b.w 14b72 <basic_init+0x10a>
|
|
lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH);
|
|
157f8: 2000 movs r0, #0
|
|
157fa: 4b72 ldr r3, [pc, #456] ; (159c4 <basic_init+0xf5c>)
|
|
157fc: 4798 blx r3
|
|
157fe: 3028 adds r0, #40 ; 0x28
|
|
15800: 0040 lsls r0, r0, #1
|
|
15802: 4b71 ldr r3, [pc, #452] ; (159c8 <basic_init+0xf60>)
|
|
15804: fb83 2300 smull r2, r3, r3, r0
|
|
15808: 17c2 asrs r2, r0, #31
|
|
1580a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1580e: b212 sxth r2, r2
|
|
15810: f7ff b9ed b.w 14bee <basic_init+0x186>
|
|
15814: 2307 movs r3, #7
|
|
15816: 210f movs r1, #15
|
|
15818: 2408 movs r4, #8
|
|
1581a: f7ff ba03 b.w 14c24 <basic_init+0x1bc>
|
|
1581e: 2307 movs r3, #7
|
|
15820: 210f movs r1, #15
|
|
15822: 2408 movs r4, #8
|
|
15824: f7ff ba1b b.w 14c5e <basic_init+0x1f6>
|
|
15828: 2307 movs r3, #7
|
|
1582a: 210f movs r1, #15
|
|
1582c: 2408 movs r4, #8
|
|
1582e: f7ff ba2c b.w 14c8a <basic_init+0x222>
|
|
15832: 2307 movs r3, #7
|
|
15834: 210f movs r1, #15
|
|
15836: 2408 movs r4, #8
|
|
15838: f7ff ba3e b.w 14cb8 <basic_init+0x250>
|
|
lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
1583c: 2000 movs r0, #0
|
|
1583e: 4b61 ldr r3, [pc, #388] ; (159c4 <basic_init+0xf5c>)
|
|
15840: 4798 blx r3
|
|
15842: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15846: 3050 adds r0, #80 ; 0x50
|
|
15848: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1584c: da02 bge.n 15854 <basic_init+0xdec>
|
|
1584e: 2401 movs r4, #1
|
|
15850: f7ff ba58 b.w 14d04 <basic_init+0x29c>
|
|
15854: 2000 movs r0, #0
|
|
15856: 4b5b ldr r3, [pc, #364] ; (159c4 <basic_init+0xf5c>)
|
|
15858: 4798 blx r3
|
|
1585a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1585e: 3050 adds r0, #80 ; 0x50
|
|
15860: 4a59 ldr r2, [pc, #356] ; (159c8 <basic_init+0xf60>)
|
|
15862: fb82 3200 smull r3, r2, r2, r0
|
|
15866: 17c4 asrs r4, r0, #31
|
|
15868: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
1586c: b2a4 uxth r4, r4
|
|
1586e: f7ff ba49 b.w 14d04 <basic_init+0x29c>
|
|
15872: 2000 movs r0, #0
|
|
15874: 4b53 ldr r3, [pc, #332] ; (159c4 <basic_init+0xf5c>)
|
|
15876: 4798 blx r3
|
|
15878: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1587c: 0040 lsls r0, r0, #1
|
|
1587e: 3050 adds r0, #80 ; 0x50
|
|
15880: 4a51 ldr r2, [pc, #324] ; (159c8 <basic_init+0xf60>)
|
|
15882: fb82 3200 smull r3, r2, r2, r0
|
|
15886: 17c4 asrs r4, r0, #31
|
|
15888: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
1588c: b2a4 uxth r4, r4
|
|
1588e: f7ff ba39 b.w 14d04 <basic_init+0x29c>
|
|
15892: 2000 movs r0, #0
|
|
15894: 4b4b ldr r3, [pc, #300] ; (159c4 <basic_init+0xf5c>)
|
|
15896: 4798 blx r3
|
|
15898: 3028 adds r0, #40 ; 0x28
|
|
1589a: 0040 lsls r0, r0, #1
|
|
1589c: 4b4a ldr r3, [pc, #296] ; (159c8 <basic_init+0xf60>)
|
|
1589e: fb83 2300 smull r2, r3, r3, r0
|
|
158a2: 17c2 asrs r2, r0, #31
|
|
158a4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
158a8: b292 uxth r2, r2
|
|
158aa: f7ff ba35 b.w 14d18 <basic_init+0x2b0>
|
|
lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
158ae: 2000 movs r0, #0
|
|
158b0: 4b44 ldr r3, [pc, #272] ; (159c4 <basic_init+0xf5c>)
|
|
158b2: 4798 blx r3
|
|
158b4: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
158b8: 3050 adds r0, #80 ; 0x50
|
|
158ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
158be: da02 bge.n 158c6 <basic_init+0xe5e>
|
|
158c0: 2401 movs r4, #1
|
|
158c2: f7ff ba55 b.w 14d70 <basic_init+0x308>
|
|
158c6: 2000 movs r0, #0
|
|
158c8: 4b3e ldr r3, [pc, #248] ; (159c4 <basic_init+0xf5c>)
|
|
158ca: 4798 blx r3
|
|
158cc: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
158d0: 3050 adds r0, #80 ; 0x50
|
|
158d2: 4a3d ldr r2, [pc, #244] ; (159c8 <basic_init+0xf60>)
|
|
158d4: fb82 3200 smull r3, r2, r2, r0
|
|
158d8: 17c4 asrs r4, r0, #31
|
|
158da: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
158de: b2a4 uxth r4, r4
|
|
158e0: f7ff ba46 b.w 14d70 <basic_init+0x308>
|
|
158e4: 2000 movs r0, #0
|
|
158e6: 4b37 ldr r3, [pc, #220] ; (159c4 <basic_init+0xf5c>)
|
|
158e8: 4798 blx r3
|
|
158ea: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
158ee: 0040 lsls r0, r0, #1
|
|
158f0: 3050 adds r0, #80 ; 0x50
|
|
158f2: 4a35 ldr r2, [pc, #212] ; (159c8 <basic_init+0xf60>)
|
|
158f4: fb82 3200 smull r3, r2, r2, r0
|
|
158f8: 17c4 asrs r4, r0, #31
|
|
158fa: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
158fe: b2a4 uxth r4, r4
|
|
15900: f7ff ba36 b.w 14d70 <basic_init+0x308>
|
|
15904: 2000 movs r0, #0
|
|
15906: 4b2f ldr r3, [pc, #188] ; (159c4 <basic_init+0xf5c>)
|
|
15908: 4798 blx r3
|
|
1590a: 3028 adds r0, #40 ; 0x28
|
|
1590c: 0040 lsls r0, r0, #1
|
|
1590e: 4b2e ldr r3, [pc, #184] ; (159c8 <basic_init+0xf60>)
|
|
15910: fb83 2300 smull r2, r3, r3, r0
|
|
15914: 17c2 asrs r2, r0, #31
|
|
15916: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1591a: b292 uxth r2, r2
|
|
1591c: f7ff ba32 b.w 14d84 <basic_init+0x31c>
|
|
lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
15920: 2000 movs r0, #0
|
|
15922: 4b28 ldr r3, [pc, #160] ; (159c4 <basic_init+0xf5c>)
|
|
15924: 4798 blx r3
|
|
15926: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1592a: 3050 adds r0, #80 ; 0x50
|
|
1592c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15930: da02 bge.n 15938 <basic_init+0xed0>
|
|
15932: 2401 movs r4, #1
|
|
15934: f7ff ba41 b.w 14dba <basic_init+0x352>
|
|
15938: 2000 movs r0, #0
|
|
1593a: 4b22 ldr r3, [pc, #136] ; (159c4 <basic_init+0xf5c>)
|
|
1593c: 4798 blx r3
|
|
1593e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15942: 3050 adds r0, #80 ; 0x50
|
|
15944: 4a20 ldr r2, [pc, #128] ; (159c8 <basic_init+0xf60>)
|
|
15946: fb82 3200 smull r3, r2, r2, r0
|
|
1594a: 17c4 asrs r4, r0, #31
|
|
1594c: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
15950: b2a4 uxth r4, r4
|
|
15952: f7ff ba32 b.w 14dba <basic_init+0x352>
|
|
15956: 2000 movs r0, #0
|
|
15958: 4b1a ldr r3, [pc, #104] ; (159c4 <basic_init+0xf5c>)
|
|
1595a: 4798 blx r3
|
|
1595c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15960: 0040 lsls r0, r0, #1
|
|
15962: 3050 adds r0, #80 ; 0x50
|
|
15964: 4a18 ldr r2, [pc, #96] ; (159c8 <basic_init+0xf60>)
|
|
15966: fb82 3200 smull r3, r2, r2, r0
|
|
1596a: 17c4 asrs r4, r0, #31
|
|
1596c: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
15970: b2a4 uxth r4, r4
|
|
15972: f7ff ba22 b.w 14dba <basic_init+0x352>
|
|
15976: 2000 movs r0, #0
|
|
15978: 4b12 ldr r3, [pc, #72] ; (159c4 <basic_init+0xf5c>)
|
|
1597a: 4798 blx r3
|
|
1597c: 3028 adds r0, #40 ; 0x28
|
|
1597e: 0040 lsls r0, r0, #1
|
|
15980: 4b11 ldr r3, [pc, #68] ; (159c8 <basic_init+0xf60>)
|
|
15982: fb83 2300 smull r2, r3, r3, r0
|
|
15986: 17c2 asrs r2, r0, #31
|
|
15988: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1598c: b292 uxth r2, r2
|
|
1598e: f7ff ba1e b.w 14dce <basic_init+0x366>
|
|
lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH);
|
|
15992: 2000 movs r0, #0
|
|
15994: 4b0b ldr r3, [pc, #44] ; (159c4 <basic_init+0xf5c>)
|
|
15996: 4798 blx r3
|
|
15998: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1599c: 3050 adds r0, #80 ; 0x50
|
|
1599e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
159a2: da13 bge.n 159cc <basic_init+0xf64>
|
|
159a4: 2401 movs r4, #1
|
|
159a6: f7ff ba2d b.w 14e04 <basic_init+0x39c>
|
|
159aa: bf00 nop
|
|
159ac: 000068c9 .word 0x000068c9
|
|
159b0: 20006bd8 .word 0x20006bd8
|
|
159b4: 00006b51 .word 0x00006b51
|
|
159b8: 00006a0d .word 0x00006a0d
|
|
159bc: 00014a49 .word 0x00014a49
|
|
159c0: 00010f41 .word 0x00010f41
|
|
159c4: 00010f25 .word 0x00010f25
|
|
159c8: 66666667 .word 0x66666667
|
|
159cc: 2000 movs r0, #0
|
|
159ce: 4bb5 ldr r3, [pc, #724] ; (15ca4 <basic_init+0x123c>)
|
|
159d0: 4798 blx r3
|
|
159d2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
159d6: 3050 adds r0, #80 ; 0x50
|
|
159d8: 4ab3 ldr r2, [pc, #716] ; (15ca8 <basic_init+0x1240>)
|
|
159da: fb82 3200 smull r3, r2, r2, r0
|
|
159de: 17c4 asrs r4, r0, #31
|
|
159e0: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
159e4: b2a4 uxth r4, r4
|
|
159e6: f7ff ba0d b.w 14e04 <basic_init+0x39c>
|
|
159ea: 2000 movs r0, #0
|
|
159ec: 4bad ldr r3, [pc, #692] ; (15ca4 <basic_init+0x123c>)
|
|
159ee: 4798 blx r3
|
|
159f0: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
159f4: 0040 lsls r0, r0, #1
|
|
159f6: 3050 adds r0, #80 ; 0x50
|
|
159f8: 4aab ldr r2, [pc, #684] ; (15ca8 <basic_init+0x1240>)
|
|
159fa: fb82 3200 smull r3, r2, r2, r0
|
|
159fe: 17c4 asrs r4, r0, #31
|
|
15a00: ebc4 14a2 rsb r4, r4, r2, asr #6
|
|
15a04: b2a4 uxth r4, r4
|
|
15a06: f7ff b9fd b.w 14e04 <basic_init+0x39c>
|
|
15a0a: 2000 movs r0, #0
|
|
15a0c: 4ba5 ldr r3, [pc, #660] ; (15ca4 <basic_init+0x123c>)
|
|
15a0e: 4798 blx r3
|
|
15a10: 3028 adds r0, #40 ; 0x28
|
|
15a12: 0040 lsls r0, r0, #1
|
|
15a14: 4ba4 ldr r3, [pc, #656] ; (15ca8 <basic_init+0x1240>)
|
|
15a16: fb83 2300 smull r2, r3, r3, r0
|
|
15a1a: 17c2 asrs r2, r0, #31
|
|
15a1c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15a20: b292 uxth r2, r2
|
|
15a22: f7ff b9f9 b.w 14e18 <basic_init+0x3b0>
|
|
lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF);
|
|
15a26: 2000 movs r0, #0
|
|
15a28: 4b9e ldr r3, [pc, #632] ; (15ca4 <basic_init+0x123c>)
|
|
15a2a: 4798 blx r3
|
|
15a2c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15a30: 3050 adds r0, #80 ; 0x50
|
|
15a32: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15a36: da02 bge.n 15a3e <basic_init+0xfd6>
|
|
15a38: 2201 movs r2, #1
|
|
15a3a: f7ff ba08 b.w 14e4e <basic_init+0x3e6>
|
|
15a3e: 2000 movs r0, #0
|
|
15a40: 4b98 ldr r3, [pc, #608] ; (15ca4 <basic_init+0x123c>)
|
|
15a42: 4798 blx r3
|
|
15a44: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15a48: 3050 adds r0, #80 ; 0x50
|
|
15a4a: 4b97 ldr r3, [pc, #604] ; (15ca8 <basic_init+0x1240>)
|
|
15a4c: fb83 2300 smull r2, r3, r3, r0
|
|
15a50: 17c2 asrs r2, r0, #31
|
|
15a52: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15a56: b212 sxth r2, r2
|
|
15a58: f7ff b9f9 b.w 14e4e <basic_init+0x3e6>
|
|
15a5c: 2000 movs r0, #0
|
|
15a5e: 4b91 ldr r3, [pc, #580] ; (15ca4 <basic_init+0x123c>)
|
|
15a60: 4798 blx r3
|
|
15a62: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15a66: 0040 lsls r0, r0, #1
|
|
15a68: 3050 adds r0, #80 ; 0x50
|
|
15a6a: 4b8f ldr r3, [pc, #572] ; (15ca8 <basic_init+0x1240>)
|
|
15a6c: fb83 2300 smull r2, r3, r3, r0
|
|
15a70: 17c2 asrs r2, r0, #31
|
|
15a72: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15a76: b212 sxth r2, r2
|
|
15a78: f7ff b9e9 b.w 14e4e <basic_init+0x3e6>
|
|
15a7c: 231b movs r3, #27
|
|
15a7e: 2139 movs r1, #57 ; 0x39
|
|
15a80: 241d movs r4, #29
|
|
15a82: f7ff ba20 b.w 14ec6 <basic_init+0x45e>
|
|
15a86: 231d movs r3, #29
|
|
15a88: 213b movs r1, #59 ; 0x3b
|
|
15a8a: 461c mov r4, r3
|
|
15a8c: f7ff ba9f b.w 14fce <basic_init+0x566>
|
|
15a90: 231f movs r3, #31
|
|
15a92: 213f movs r1, #63 ; 0x3f
|
|
15a94: 461c mov r4, r3
|
|
15a96: f7ff bad3 b.w 15040 <basic_init+0x5d8>
|
|
15a9a: 2319 movs r3, #25
|
|
15a9c: 2133 movs r1, #51 ; 0x33
|
|
15a9e: 461c mov r4, r3
|
|
15aa0: f7ff baf7 b.w 15092 <basic_init+0x62a>
|
|
15aa4: 2307 movs r3, #7
|
|
15aa6: 210f movs r1, #15
|
|
15aa8: 2408 movs r4, #8
|
|
15aaa: f7ff bb5a b.w 15162 <basic_init+0x6fa>
|
|
15aae: 2307 movs r3, #7
|
|
15ab0: 210f movs r1, #15
|
|
15ab2: 2408 movs r4, #8
|
|
15ab4: f7ff bb91 b.w 151da <basic_init+0x772>
|
|
15ab8: 231f movs r3, #31
|
|
15aba: 213f movs r1, #63 ; 0x3f
|
|
15abc: 461c mov r4, r3
|
|
15abe: f7ff bbde b.w 1527e <basic_init+0x816>
|
|
LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix)));
|
|
15ac2: 4d7a ldr r5, [pc, #488] ; (15cac <basic_init+0x1244>)
|
|
15ac4: 7b6b ldrb r3, [r5, #13]
|
|
15ac6: 08db lsrs r3, r3, #3
|
|
15ac8: 214c movs r1, #76 ; 0x4c
|
|
15aca: fb01 f303 mul.w r3, r1, r3
|
|
15ace: f203 73b1 addw r3, r3, #1969 ; 0x7b1
|
|
15ad2: eb03 2203 add.w r2, r3, r3, lsl #8
|
|
15ad6: eb03 13c2 add.w r3, r3, r2, lsl #7
|
|
15ada: f3c3 53c4 ubfx r3, r3, #23, #5
|
|
LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix)));
|
|
15ade: 89ac ldrh r4, [r5, #12]
|
|
15ae0: f3c4 1445 ubfx r4, r4, #5, #6
|
|
15ae4: f241 02c8 movw r2, #4296 ; 0x10c8
|
|
15ae8: fb01 2404 mla r4, r1, r4, r2
|
|
15aec: eb04 2204 add.w r2, r4, r4, lsl #8
|
|
15af0: eb04 14c2 add.w r4, r4, r2, lsl #7
|
|
15af4: f3c4 54c5 ubfx r4, r4, #23, #6
|
|
LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix)));
|
|
15af8: 7b2a ldrb r2, [r5, #12]
|
|
15afa: f002 021f and.w r2, r2, #31
|
|
15afe: fb01 f102 mul.w r1, r1, r2
|
|
15b02: f601 11ca addw r1, r1, #2506 ; 0x9ca
|
|
15b06: eb01 2201 add.w r2, r1, r1, lsl #8
|
|
15b0a: eb01 11c2 add.w r1, r1, r2, lsl #7
|
|
15b0e: f3c1 51c4 ubfx r1, r1, #23, #5
|
|
15b12: f7ff bbf5 b.w 15300 <basic_init+0x898>
|
|
15b16: 231f movs r3, #31
|
|
15b18: 213f movs r1, #63 ; 0x3f
|
|
15b1a: 461c mov r4, r3
|
|
15b1c: e425 b.n 1536a <basic_init+0x902>
|
|
lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH);
|
|
15b1e: 2000 movs r0, #0
|
|
15b20: 4b60 ldr r3, [pc, #384] ; (15ca4 <basic_init+0x123c>)
|
|
15b22: 4798 blx r3
|
|
15b24: 3028 adds r0, #40 ; 0x28
|
|
15b26: 0040 lsls r0, r0, #1
|
|
15b28: 4b5f ldr r3, [pc, #380] ; (15ca8 <basic_init+0x1240>)
|
|
15b2a: fb83 2300 smull r2, r3, r3, r0
|
|
15b2e: 17c2 asrs r2, r0, #31
|
|
15b30: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15b34: b212 sxth r2, r2
|
|
15b36: e46c b.n 15412 <basic_init+0x9aa>
|
|
15b38: 2306 movs r3, #6
|
|
15b3a: 2110 movs r1, #16
|
|
15b3c: 2409 movs r4, #9
|
|
15b3e: e47e b.n 1543e <basic_init+0x9d6>
|
|
15b40: 2306 movs r3, #6
|
|
15b42: 2110 movs r1, #16
|
|
15b44: 2409 movs r4, #9
|
|
15b46: e491 b.n 1546c <basic_init+0xa04>
|
|
15b48: 2306 movs r3, #6
|
|
15b4a: 2110 movs r1, #16
|
|
15b4c: 2409 movs r4, #9
|
|
15b4e: e4c1 b.n 154d4 <basic_init+0xa6c>
|
|
15b50: 2306 movs r3, #6
|
|
15b52: 2110 movs r1, #16
|
|
15b54: 2409 movs r4, #9
|
|
15b56: e4d4 b.n 15502 <basic_init+0xa9a>
|
|
15b58: 2306 movs r3, #6
|
|
15b5a: 2110 movs r1, #16
|
|
15b5c: 2409 movs r4, #9
|
|
15b5e: e504 b.n 1556a <basic_init+0xb02>
|
|
15b60: 2306 movs r3, #6
|
|
15b62: 2110 movs r1, #16
|
|
15b64: 2409 movs r4, #9
|
|
15b66: e516 b.n 15596 <basic_init+0xb2e>
|
|
lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40));
|
|
15b68: 2000 movs r0, #0
|
|
15b6a: 4b4e ldr r3, [pc, #312] ; (15ca4 <basic_init+0x123c>)
|
|
15b6c: 4798 blx r3
|
|
15b6e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15b72: 00c0 lsls r0, r0, #3
|
|
15b74: 3050 adds r0, #80 ; 0x50
|
|
15b76: 4b4c ldr r3, [pc, #304] ; (15ca8 <basic_init+0x1240>)
|
|
15b78: fb83 2300 smull r2, r3, r3, r0
|
|
15b7c: 17c2 asrs r2, r0, #31
|
|
15b7e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15b82: b212 sxth r2, r2
|
|
15b84: e53f b.n 15606 <basic_init+0xb9e>
|
|
lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40));
|
|
15b86: 2000 movs r0, #0
|
|
15b88: 4b46 ldr r3, [pc, #280] ; (15ca4 <basic_init+0x123c>)
|
|
15b8a: 4798 blx r3
|
|
15b8c: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15b90: 00c0 lsls r0, r0, #3
|
|
15b92: 3050 adds r0, #80 ; 0x50
|
|
15b94: 4b44 ldr r3, [pc, #272] ; (15ca8 <basic_init+0x1240>)
|
|
15b96: fb83 2300 smull r2, r3, r3, r0
|
|
15b9a: 17c2 asrs r2, r0, #31
|
|
15b9c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15ba0: b212 sxth r2, r2
|
|
15ba2: e543 b.n 1562c <basic_init+0xbc4>
|
|
lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15));
|
|
15ba4: 2000 movs r0, #0
|
|
15ba6: 4b3f ldr r3, [pc, #252] ; (15ca4 <basic_init+0x123c>)
|
|
15ba8: 4798 blx r3
|
|
15baa: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15bae: 3050 adds r0, #80 ; 0x50
|
|
15bb0: 4b3d ldr r3, [pc, #244] ; (15ca8 <basic_init+0x1240>)
|
|
15bb2: fb83 2300 smull r2, r3, r3, r0
|
|
15bb6: 17c2 asrs r2, r0, #31
|
|
15bb8: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15bbc: b212 sxth r2, r2
|
|
15bbe: e547 b.n 15650 <basic_init+0xbe8>
|
|
lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15));
|
|
15bc0: 2000 movs r0, #0
|
|
15bc2: 4b38 ldr r3, [pc, #224] ; (15ca4 <basic_init+0x123c>)
|
|
15bc4: 4798 blx r3
|
|
15bc6: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
15bca: 3050 adds r0, #80 ; 0x50
|
|
15bcc: 4b36 ldr r3, [pc, #216] ; (15ca8 <basic_init+0x1240>)
|
|
15bce: fb83 2300 smull r2, r3, r3, r0
|
|
15bd2: 17c2 asrs r2, r0, #31
|
|
15bd4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15bd8: b212 sxth r2, r2
|
|
15bda: e54b b.n 15674 <basic_init+0xc0c>
|
|
lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20));
|
|
15bdc: 2000 movs r0, #0
|
|
15bde: 4b31 ldr r3, [pc, #196] ; (15ca4 <basic_init+0x123c>)
|
|
15be0: 4798 blx r3
|
|
15be2: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15be6: 0080 lsls r0, r0, #2
|
|
15be8: 3050 adds r0, #80 ; 0x50
|
|
15bea: 4b2f ldr r3, [pc, #188] ; (15ca8 <basic_init+0x1240>)
|
|
15bec: fb83 2300 smull r2, r3, r3, r0
|
|
15bf0: 17c2 asrs r2, r0, #31
|
|
15bf2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15bf6: b212 sxth r2, r2
|
|
15bf8: e55b b.n 156b2 <basic_init+0xc4a>
|
|
lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40));
|
|
15bfa: 2000 movs r0, #0
|
|
15bfc: 4b29 ldr r3, [pc, #164] ; (15ca4 <basic_init+0x123c>)
|
|
15bfe: 4798 blx r3
|
|
15c00: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15c04: 0080 lsls r0, r0, #2
|
|
15c06: 3050 adds r0, #80 ; 0x50
|
|
15c08: 4b27 ldr r3, [pc, #156] ; (15ca8 <basic_init+0x1240>)
|
|
15c0a: fb83 2300 smull r2, r3, r3, r0
|
|
15c0e: 17c2 asrs r2, r0, #31
|
|
15c10: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT,
|
|
15c14: b212 sxth r2, r2
|
|
15c16: e5a5 b.n 15764 <basic_init+0xcfc>
|
|
lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40));
|
|
15c18: 2000 movs r0, #0
|
|
15c1a: 4b22 ldr r3, [pc, #136] ; (15ca4 <basic_init+0x123c>)
|
|
15c1c: 4798 blx r3
|
|
15c1e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15c22: 00c0 lsls r0, r0, #3
|
|
15c24: 3050 adds r0, #80 ; 0x50
|
|
lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT,
|
|
15c26: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15c2a: da01 bge.n 15c30 <basic_init+0x11c8>
|
|
15c2c: 2201 movs r2, #1
|
|
15c2e: e599 b.n 15764 <basic_init+0xcfc>
|
|
lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40));
|
|
15c30: 2000 movs r0, #0
|
|
15c32: 4b1c ldr r3, [pc, #112] ; (15ca4 <basic_init+0x123c>)
|
|
15c34: 4798 blx r3
|
|
15c36: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15c3a: 00c0 lsls r0, r0, #3
|
|
15c3c: 3050 adds r0, #80 ; 0x50
|
|
15c3e: 4b1a ldr r3, [pc, #104] ; (15ca8 <basic_init+0x1240>)
|
|
15c40: fb83 2300 smull r2, r3, r3, r0
|
|
15c44: 17c2 asrs r2, r0, #31
|
|
15c46: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT,
|
|
15c4a: b212 sxth r2, r2
|
|
15c4c: e58a b.n 15764 <basic_init+0xcfc>
|
|
lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20);
|
|
15c4e: 2000 movs r0, #0
|
|
15c50: 4b14 ldr r3, [pc, #80] ; (15ca4 <basic_init+0x123c>)
|
|
15c52: 4798 blx r3
|
|
15c54: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15c58: 0040 lsls r0, r0, #1
|
|
15c5a: 3050 adds r0, #80 ; 0x50
|
|
15c5c: 4b12 ldr r3, [pc, #72] ; (15ca8 <basic_init+0x1240>)
|
|
15c5e: fb83 2300 smull r2, r3, r3, r0
|
|
15c62: 17c4 asrs r4, r0, #31
|
|
15c64: ebc4 14a3 rsb r4, r4, r3, asr #6
|
|
15c68: b224 sxth r4, r4
|
|
15c6a: e596 b.n 1579a <basic_init+0xd32>
|
|
15c6c: 2000 movs r0, #0
|
|
15c6e: 4b0d ldr r3, [pc, #52] ; (15ca4 <basic_init+0x123c>)
|
|
15c70: 4798 blx r3
|
|
15c72: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15c76: 0080 lsls r0, r0, #2
|
|
15c78: 3050 adds r0, #80 ; 0x50
|
|
15c7a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15c7e: da01 bge.n 15c84 <basic_init+0x121c>
|
|
15c80: 2401 movs r4, #1
|
|
15c82: e58a b.n 1579a <basic_init+0xd32>
|
|
15c84: 2000 movs r0, #0
|
|
15c86: 4b07 ldr r3, [pc, #28] ; (15ca4 <basic_init+0x123c>)
|
|
15c88: 4798 blx r3
|
|
15c8a: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15c8e: 0080 lsls r0, r0, #2
|
|
15c90: 3050 adds r0, #80 ; 0x50
|
|
15c92: 4b05 ldr r3, [pc, #20] ; (15ca8 <basic_init+0x1240>)
|
|
15c94: fb83 2300 smull r2, r3, r3, r0
|
|
15c98: 17c4 asrs r4, r0, #31
|
|
15c9a: ebc4 14a3 rsb r4, r4, r3, asr #6
|
|
15c9e: b224 sxth r4, r4
|
|
15ca0: e57b b.n 1579a <basic_init+0xd32>
|
|
15ca2: bf00 nop
|
|
15ca4: 00010f25 .word 0x00010f25
|
|
15ca8: 66666667 .word 0x66666667
|
|
15cac: 20006bd8 .word 0x20006bd8
|
|
|
|
00015cb0 <bar_init>:
|
|
{
|
|
15cb0: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
style_init_reset(&styles->bar_bg);
|
|
15cb2: 4c54 ldr r4, [pc, #336] ; (15e04 <bar_init+0x154>)
|
|
15cb4: 6820 ldr r0, [r4, #0]
|
|
15cb6: 3024 adds r0, #36 ; 0x24
|
|
15cb8: 4b53 ldr r3, [pc, #332] ; (15e08 <bar_init+0x158>)
|
|
15cba: 4798 blx r3
|
|
lv_style_set_radius(&styles->bar_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
15cbc: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
15cbe: f647 72ff movw r2, #32767 ; 0x7fff
|
|
15cc2: 2101 movs r1, #1
|
|
15cc4: 3024 adds r0, #36 ; 0x24
|
|
15cc6: 4b51 ldr r3, [pc, #324] ; (15e0c <bar_init+0x15c>)
|
|
15cc8: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
15cca: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
15ccc: 22ff movs r2, #255 ; 0xff
|
|
15cce: 212c movs r1, #44 ; 0x2c
|
|
15cd0: 3024 adds r0, #36 ; 0x24
|
|
15cd2: 4b4f ldr r3, [pc, #316] ; (15e10 <bar_init+0x160>)
|
|
15cd4: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->bar_bg, LV_STATE_DEFAULT, COLOR_BG_SEC);
|
|
15cd6: 6820 ldr r0, [r4, #0]
|
|
15cd8: 6a23 ldr r3, [r4, #32]
|
|
15cda: f013 0302 ands.w r3, r3, #2
|
|
15cde: bf14 ite ne
|
|
15ce0: 211a movne r1, #26
|
|
15ce2: 2108 moveq r1, #8
|
|
15ce4: 2b00 cmp r3, #0
|
|
15ce6: bf15 itete ne
|
|
15ce8: 2435 movne r4, #53 ; 0x35
|
|
15cea: 2412 moveq r4, #18
|
|
15cec: 231b movne r3, #27
|
|
15cee: 2309 moveq r3, #9
|
|
15cf0: f04f 0200 mov.w r2, #0
|
|
15cf4: f363 0204 bfi r2, r3, #0, #5
|
|
15cf8: f364 124a bfi r2, r4, #5, #6
|
|
15cfc: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
15d00: 2129 movs r1, #41 ; 0x29
|
|
15d02: 3024 adds r0, #36 ; 0x24
|
|
15d04: 4b43 ldr r3, [pc, #268] ; (15e14 <bar_init+0x164>)
|
|
15d06: 4798 blx r3
|
|
lv_style_set_value_color(&styles->bar_bg, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE);
|
|
15d08: 4b3e ldr r3, [pc, #248] ; (15e04 <bar_init+0x154>)
|
|
15d0a: 6818 ldr r0, [r3, #0]
|
|
15d0c: 3024 adds r0, #36 ; 0x24
|
|
15d0e: 6a1b ldr r3, [r3, #32]
|
|
15d10: f013 0f02 tst.w r3, #2
|
|
15d14: d16d bne.n 15df2 <bar_init+0x142>
|
|
15d16: 231f movs r3, #31
|
|
15d18: 213f movs r1, #63 ; 0x3f
|
|
15d1a: 461c mov r4, r3
|
|
15d1c: f04f 0200 mov.w r2, #0
|
|
15d20: f364 0204 bfi r2, r4, #0, #5
|
|
15d24: f361 124a bfi r2, r1, #5, #6
|
|
15d28: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
15d2c: 2179 movs r1, #121 ; 0x79
|
|
15d2e: 4d39 ldr r5, [pc, #228] ; (15e14 <bar_init+0x164>)
|
|
15d30: 47a8 blx r5
|
|
lv_style_set_outline_color(&styles->bar_bg, LV_STATE_DEFAULT, theme.color_primary);
|
|
15d32: 4c34 ldr r4, [pc, #208] ; (15e04 <bar_init+0x154>)
|
|
15d34: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar)
|
|
15d36: 89a2 ldrh r2, [r4, #12]
|
|
15d38: 2149 movs r1, #73 ; 0x49
|
|
15d3a: 3024 adds r0, #36 ; 0x24
|
|
15d3c: 47a8 blx r5
|
|
lv_style_set_outline_color(&styles->bar_bg, LV_STATE_EDITED, theme.color_secondary);
|
|
15d3e: 6820 ldr r0, [r4, #0]
|
|
15d40: 89e2 ldrh r2, [r4, #14]
|
|
15d42: f240 4149 movw r1, #1097 ; 0x449
|
|
15d46: 3024 adds r0, #36 ; 0x24
|
|
15d48: 47a8 blx r5
|
|
lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP);
|
|
15d4a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar)
|
|
15d4c: 2200 movs r2, #0
|
|
15d4e: 214c movs r1, #76 ; 0x4c
|
|
15d50: 3024 adds r0, #36 ; 0x24
|
|
15d52: 4f2f ldr r7, [pc, #188] ; (15e10 <bar_init+0x160>)
|
|
15d54: 47b8 blx r7
|
|
lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_FOCUSED, LV_OPA_50);
|
|
15d56: 6820 ldr r0, [r4, #0]
|
|
15d58: 227f movs r2, #127 ; 0x7f
|
|
15d5a: f44f 7113 mov.w r1, #588 ; 0x24c
|
|
15d5e: 3024 adds r0, #36 ; 0x24
|
|
15d60: 47b8 blx r7
|
|
lv_style_set_outline_width(&styles->bar_bg, LV_STATE_DEFAULT, 3);
|
|
15d62: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar)
|
|
15d64: 2203 movs r2, #3
|
|
15d66: 2140 movs r1, #64 ; 0x40
|
|
15d68: 3024 adds r0, #36 ; 0x24
|
|
15d6a: 4e28 ldr r6, [pc, #160] ; (15e0c <bar_init+0x15c>)
|
|
15d6c: 47b0 blx r6
|
|
lv_style_set_transition_time(&styles->bar_bg, LV_STATE_DEFAULT, TRANSITION_TIME);
|
|
15d6e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar)
|
|
15d70: 2296 movs r2, #150 ; 0x96
|
|
15d72: 21b0 movs r1, #176 ; 0xb0
|
|
15d74: 3024 adds r0, #36 ; 0x24
|
|
15d76: 47b0 blx r6
|
|
lv_style_set_transition_prop_6(&styles->bar_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA);
|
|
15d78: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar)
|
|
15d7a: 224c movs r2, #76 ; 0x4c
|
|
15d7c: 21b7 movs r1, #183 ; 0xb7
|
|
15d7e: 3024 adds r0, #36 ; 0x24
|
|
15d80: 47b0 blx r6
|
|
style_init_reset(&styles->bar_indic);
|
|
15d82: 6820 ldr r0, [r4, #0]
|
|
15d84: 3028 adds r0, #40 ; 0x28
|
|
15d86: 4b20 ldr r3, [pc, #128] ; (15e08 <bar_init+0x158>)
|
|
15d88: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->bar_indic, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
15d8a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
15d8c: 22ff movs r2, #255 ; 0xff
|
|
15d8e: 212c movs r1, #44 ; 0x2c
|
|
15d90: 3028 adds r0, #40 ; 0x28
|
|
15d92: 47b8 blx r7
|
|
lv_style_set_radius(&styles->bar_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
15d94: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
15d96: f647 72ff movw r2, #32767 ; 0x7fff
|
|
15d9a: 2101 movs r1, #1
|
|
15d9c: 3028 adds r0, #40 ; 0x28
|
|
15d9e: 47b0 blx r6
|
|
lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DEFAULT, theme.color_primary);
|
|
15da0: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
15da2: 89a2 ldrh r2, [r4, #12]
|
|
15da4: 2129 movs r1, #41 ; 0x29
|
|
15da6: 3028 adds r0, #40 ; 0x28
|
|
15da8: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DISABLED, lv_color_hex3(0x888));
|
|
15daa: 6820 ldr r0, [r4, #0]
|
|
15dac: 2311 movs r3, #17
|
|
15dae: f04f 0200 mov.w r2, #0
|
|
15db2: f363 0204 bfi r2, r3, #0, #5
|
|
15db6: 2122 movs r1, #34 ; 0x22
|
|
15db8: f361 124a bfi r2, r1, #5, #6
|
|
15dbc: f363 22cf bfi r2, r3, #11, #5
|
|
15dc0: f242 0129 movw r1, #8233 ; 0x2029
|
|
15dc4: 3028 adds r0, #40 ; 0x28
|
|
15dc6: 47a8 blx r5
|
|
lv_style_set_value_color(&styles->bar_indic, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x41404f) : LV_COLOR_WHITE);
|
|
15dc8: 6820 ldr r0, [r4, #0]
|
|
15dca: 3028 adds r0, #40 ; 0x28
|
|
15dcc: 6a23 ldr r3, [r4, #32]
|
|
15dce: f013 0f02 tst.w r3, #2
|
|
15dd2: d112 bne.n 15dfa <bar_init+0x14a>
|
|
15dd4: 231f movs r3, #31
|
|
15dd6: 213f movs r1, #63 ; 0x3f
|
|
15dd8: 461c mov r4, r3
|
|
15dda: f04f 0200 mov.w r2, #0
|
|
15dde: f364 0204 bfi r2, r4, #0, #5
|
|
15de2: f361 124a bfi r2, r1, #5, #6
|
|
15de6: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
15dea: 2179 movs r1, #121 ; 0x79
|
|
15dec: 4b09 ldr r3, [pc, #36] ; (15e14 <bar_init+0x164>)
|
|
15dee: 4798 blx r3
|
|
15df0: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
15df2: 2306 movs r3, #6
|
|
15df4: 2110 movs r1, #16
|
|
15df6: 2409 movs r4, #9
|
|
15df8: e790 b.n 15d1c <bar_init+0x6c>
|
|
15dfa: 2308 movs r3, #8
|
|
15dfc: 2110 movs r1, #16
|
|
15dfe: 2409 movs r4, #9
|
|
15e00: e7eb b.n 15dda <bar_init+0x12a>
|
|
15e02: bf00 nop
|
|
15e04: 20006bd8 .word 0x20006bd8
|
|
15e08: 00014a49 .word 0x00014a49
|
|
15e0c: 000068c9 .word 0x000068c9
|
|
15e10: 00006b51 .word 0x00006b51
|
|
15e14: 00006a0d .word 0x00006a0d
|
|
|
|
00015e18 <slider_init>:
|
|
{
|
|
15e18: b510 push {r4, lr}
|
|
style_init_reset(&styles->slider_knob);
|
|
15e1a: 4ca0 ldr r4, [pc, #640] ; (1609c <slider_init+0x284>)
|
|
15e1c: 6820 ldr r0, [r4, #0]
|
|
15e1e: 3090 adds r0, #144 ; 0x90
|
|
15e20: 4b9f ldr r3, [pc, #636] ; (160a0 <slider_init+0x288>)
|
|
15e22: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->slider_knob, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
15e24: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
15e26: 22ff movs r2, #255 ; 0xff
|
|
15e28: 212c movs r1, #44 ; 0x2c
|
|
15e2a: 3090 adds r0, #144 ; 0x90
|
|
15e2c: 4b9d ldr r3, [pc, #628] ; (160a4 <slider_init+0x28c>)
|
|
15e2e: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? theme.color_primary : LV_COLOR_WHITE);
|
|
15e30: 6820 ldr r0, [r4, #0]
|
|
15e32: 3090 adds r0, #144 ; 0x90
|
|
15e34: 6a23 ldr r3, [r4, #32]
|
|
15e36: f013 0f02 tst.w r3, #2
|
|
15e3a: bf19 ittee ne
|
|
15e3c: 4623 movne r3, r4
|
|
15e3e: 899a ldrhne r2, [r3, #12]
|
|
15e40: 4b99 ldreq r3, [pc, #612] ; (160a8 <slider_init+0x290>)
|
|
15e42: 881a ldrheq r2, [r3, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
15e44: 2129 movs r1, #41 ; 0x29
|
|
15e46: 4b99 ldr r3, [pc, #612] ; (160ac <slider_init+0x294>)
|
|
15e48: 4798 blx r3
|
|
lv_style_set_value_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE);
|
|
15e4a: 4b94 ldr r3, [pc, #592] ; (1609c <slider_init+0x284>)
|
|
15e4c: 6818 ldr r0, [r3, #0]
|
|
15e4e: 3090 adds r0, #144 ; 0x90
|
|
15e50: 6a1b ldr r3, [r3, #32]
|
|
15e52: f013 0f02 tst.w r3, #2
|
|
15e56: f040 80a9 bne.w 15fac <slider_init+0x194>
|
|
15e5a: 231f movs r3, #31
|
|
15e5c: 213f movs r1, #63 ; 0x3f
|
|
15e5e: 461c mov r4, r3
|
|
15e60: f04f 0200 mov.w r2, #0
|
|
15e64: f364 0204 bfi r2, r4, #0, #5
|
|
15e68: f361 124a bfi r2, r1, #5, #6
|
|
15e6c: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar)
|
|
15e70: 2179 movs r1, #121 ; 0x79
|
|
15e72: 4b8e ldr r3, [pc, #568] ; (160ac <slider_init+0x294>)
|
|
15e74: 4798 blx r3
|
|
lv_style_set_radius(&styles->slider_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
15e76: 4c89 ldr r4, [pc, #548] ; (1609c <slider_init+0x284>)
|
|
15e78: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
15e7a: f647 72ff movw r2, #32767 ; 0x7fff
|
|
15e7e: 2101 movs r1, #1
|
|
15e80: 3090 adds r0, #144 ; 0x90
|
|
15e82: 4b8b ldr r3, [pc, #556] ; (160b0 <slider_init+0x298>)
|
|
15e84: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
15e86: 6824 ldr r4, [r4, #0]
|
|
15e88: 3490 adds r4, #144 ; 0x90
|
|
15e8a: 2000 movs r0, #0
|
|
15e8c: 4b89 ldr r3, [pc, #548] ; (160b4 <slider_init+0x29c>)
|
|
15e8e: 4798 blx r3
|
|
15e90: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
15e94: 3050 adds r0, #80 ; 0x50
|
|
15e96: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15e9a: f280 808b bge.w 15fb4 <slider_init+0x19c>
|
|
15e9e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
15ea0: 2112 movs r1, #18
|
|
15ea2: 4620 mov r0, r4
|
|
15ea4: 4b82 ldr r3, [pc, #520] ; (160b0 <slider_init+0x298>)
|
|
15ea6: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
15ea8: 4b7c ldr r3, [pc, #496] ; (1609c <slider_init+0x284>)
|
|
15eaa: 681c ldr r4, [r3, #0]
|
|
15eac: 3490 adds r4, #144 ; 0x90
|
|
15eae: 2000 movs r0, #0
|
|
15eb0: 4b80 ldr r3, [pc, #512] ; (160b4 <slider_init+0x29c>)
|
|
15eb2: 4798 blx r3
|
|
15eb4: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
15eb8: 3050 adds r0, #80 ; 0x50
|
|
15eba: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15ebe: f280 8087 bge.w 15fd0 <slider_init+0x1b8>
|
|
15ec2: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
15ec4: 2113 movs r1, #19
|
|
15ec6: 4620 mov r0, r4
|
|
15ec8: 4b79 ldr r3, [pc, #484] ; (160b0 <slider_init+0x298>)
|
|
15eca: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
15ecc: 4b73 ldr r3, [pc, #460] ; (1609c <slider_init+0x284>)
|
|
15ece: 681c ldr r4, [r3, #0]
|
|
15ed0: 3490 adds r4, #144 ; 0x90
|
|
15ed2: 2000 movs r0, #0
|
|
15ed4: 4b77 ldr r3, [pc, #476] ; (160b4 <slider_init+0x29c>)
|
|
15ed6: 4798 blx r3
|
|
15ed8: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
15edc: 3050 adds r0, #80 ; 0x50
|
|
15ede: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15ee2: f280 8083 bge.w 15fec <slider_init+0x1d4>
|
|
15ee6: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
15ee8: 2110 movs r1, #16
|
|
15eea: 4620 mov r0, r4
|
|
15eec: 4b70 ldr r3, [pc, #448] ; (160b0 <slider_init+0x298>)
|
|
15eee: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
15ef0: 4b6a ldr r3, [pc, #424] ; (1609c <slider_init+0x284>)
|
|
15ef2: 681c ldr r4, [r3, #0]
|
|
15ef4: 3490 adds r4, #144 ; 0x90
|
|
15ef6: 2000 movs r0, #0
|
|
15ef8: 4b6e ldr r3, [pc, #440] ; (160b4 <slider_init+0x29c>)
|
|
15efa: 4798 blx r3
|
|
15efc: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
15f00: 3050 adds r0, #80 ; 0x50
|
|
15f02: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15f06: da7f bge.n 16008 <slider_init+0x1f0>
|
|
15f08: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
15f0a: 2111 movs r1, #17
|
|
15f0c: 4620 mov r0, r4
|
|
15f0e: 4b68 ldr r3, [pc, #416] ; (160b0 <slider_init+0x298>)
|
|
15f10: 4798 blx r3
|
|
style_init_reset(&styles->slider_bg);
|
|
15f12: 4c62 ldr r4, [pc, #392] ; (1609c <slider_init+0x284>)
|
|
15f14: 6820 ldr r0, [r4, #0]
|
|
15f16: 3094 adds r0, #148 ; 0x94
|
|
15f18: 4b61 ldr r3, [pc, #388] ; (160a0 <slider_init+0x288>)
|
|
15f1a: 4798 blx r3
|
|
lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
15f1c: 6824 ldr r4, [r4, #0]
|
|
15f1e: 3494 adds r4, #148 ; 0x94
|
|
15f20: 2000 movs r0, #0
|
|
15f22: 4b64 ldr r3, [pc, #400] ; (160b4 <slider_init+0x29c>)
|
|
15f24: 4798 blx r3
|
|
15f26: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15f2a: 0040 lsls r0, r0, #1
|
|
15f2c: 3050 adds r0, #80 ; 0x50
|
|
15f2e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15f32: da77 bge.n 16024 <slider_init+0x20c>
|
|
15f34: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_LEFT, margin_left, lv_style_int_t, _int, scalar)
|
|
15f36: 2117 movs r1, #23
|
|
15f38: 4620 mov r0, r4
|
|
15f3a: 4b5d ldr r3, [pc, #372] ; (160b0 <slider_init+0x298>)
|
|
15f3c: 4798 blx r3
|
|
lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
15f3e: 4b57 ldr r3, [pc, #348] ; (1609c <slider_init+0x284>)
|
|
15f40: 681c ldr r4, [r3, #0]
|
|
15f42: 3494 adds r4, #148 ; 0x94
|
|
15f44: 2000 movs r0, #0
|
|
15f46: 4b5b ldr r3, [pc, #364] ; (160b4 <slider_init+0x29c>)
|
|
15f48: 4798 blx r3
|
|
15f4a: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15f4e: 0040 lsls r0, r0, #1
|
|
15f50: 3050 adds r0, #80 ; 0x50
|
|
15f52: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15f56: da74 bge.n 16042 <slider_init+0x22a>
|
|
15f58: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_RIGHT, margin_right, lv_style_int_t, _int, scalar)
|
|
15f5a: 2118 movs r1, #24
|
|
15f5c: 4620 mov r0, r4
|
|
15f5e: 4b54 ldr r3, [pc, #336] ; (160b0 <slider_init+0x298>)
|
|
15f60: 4798 blx r3
|
|
lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
15f62: 4b4e ldr r3, [pc, #312] ; (1609c <slider_init+0x284>)
|
|
15f64: 681c ldr r4, [r3, #0]
|
|
15f66: 3494 adds r4, #148 ; 0x94
|
|
15f68: 2000 movs r0, #0
|
|
15f6a: 4b52 ldr r3, [pc, #328] ; (160b4 <slider_init+0x29c>)
|
|
15f6c: 4798 blx r3
|
|
15f6e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15f72: 0040 lsls r0, r0, #1
|
|
15f74: 3050 adds r0, #80 ; 0x50
|
|
15f76: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15f7a: da71 bge.n 16060 <slider_init+0x248>
|
|
15f7c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_TOP, margin_top, lv_style_int_t, _int, scalar)
|
|
15f7e: 2115 movs r1, #21
|
|
15f80: 4620 mov r0, r4
|
|
15f82: 4b4b ldr r3, [pc, #300] ; (160b0 <slider_init+0x298>)
|
|
15f84: 4798 blx r3
|
|
lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
15f86: 4b45 ldr r3, [pc, #276] ; (1609c <slider_init+0x284>)
|
|
15f88: 681c ldr r4, [r3, #0]
|
|
15f8a: 3494 adds r4, #148 ; 0x94
|
|
15f8c: 2000 movs r0, #0
|
|
15f8e: 4b49 ldr r3, [pc, #292] ; (160b4 <slider_init+0x29c>)
|
|
15f90: 4798 blx r3
|
|
15f92: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
15f96: 0040 lsls r0, r0, #1
|
|
15f98: 3050 adds r0, #80 ; 0x50
|
|
15f9a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
15f9e: da6e bge.n 1607e <slider_init+0x266>
|
|
15fa0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_BOTTOM, margin_bottom, lv_style_int_t, _int, scalar)
|
|
15fa2: 2116 movs r1, #22
|
|
15fa4: 4620 mov r0, r4
|
|
15fa6: 4b42 ldr r3, [pc, #264] ; (160b0 <slider_init+0x298>)
|
|
15fa8: 4798 blx r3
|
|
15faa: bd10 pop {r4, pc}
|
|
15fac: 2306 movs r3, #6
|
|
15fae: 2110 movs r1, #16
|
|
15fb0: 2409 movs r4, #9
|
|
15fb2: e755 b.n 15e60 <slider_init+0x48>
|
|
lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
15fb4: 2000 movs r0, #0
|
|
15fb6: 4b3f ldr r3, [pc, #252] ; (160b4 <slider_init+0x29c>)
|
|
15fb8: 4798 blx r3
|
|
15fba: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
15fbe: 3050 adds r0, #80 ; 0x50
|
|
15fc0: 4b3d ldr r3, [pc, #244] ; (160b8 <slider_init+0x2a0>)
|
|
15fc2: fb83 2300 smull r2, r3, r3, r0
|
|
15fc6: 17c2 asrs r2, r0, #31
|
|
15fc8: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15fcc: b212 sxth r2, r2
|
|
15fce: e767 b.n 15ea0 <slider_init+0x88>
|
|
lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
15fd0: 2000 movs r0, #0
|
|
15fd2: 4b38 ldr r3, [pc, #224] ; (160b4 <slider_init+0x29c>)
|
|
15fd4: 4798 blx r3
|
|
15fd6: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
15fda: 3050 adds r0, #80 ; 0x50
|
|
15fdc: 4b36 ldr r3, [pc, #216] ; (160b8 <slider_init+0x2a0>)
|
|
15fde: fb83 2300 smull r2, r3, r3, r0
|
|
15fe2: 17c2 asrs r2, r0, #31
|
|
15fe4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
15fe8: b212 sxth r2, r2
|
|
15fea: e76b b.n 15ec4 <slider_init+0xac>
|
|
lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
15fec: 2000 movs r0, #0
|
|
15fee: 4b31 ldr r3, [pc, #196] ; (160b4 <slider_init+0x29c>)
|
|
15ff0: 4798 blx r3
|
|
15ff2: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
15ff6: 3050 adds r0, #80 ; 0x50
|
|
15ff8: 4b2f ldr r3, [pc, #188] ; (160b8 <slider_init+0x2a0>)
|
|
15ffa: fb83 2300 smull r2, r3, r3, r0
|
|
15ffe: 17c2 asrs r2, r0, #31
|
|
16000: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16004: b212 sxth r2, r2
|
|
16006: e76f b.n 15ee8 <slider_init+0xd0>
|
|
lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7));
|
|
16008: 2000 movs r0, #0
|
|
1600a: 4b2a ldr r3, [pc, #168] ; (160b4 <slider_init+0x29c>)
|
|
1600c: 4798 blx r3
|
|
1600e: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
16012: 3050 adds r0, #80 ; 0x50
|
|
16014: 4b28 ldr r3, [pc, #160] ; (160b8 <slider_init+0x2a0>)
|
|
16016: fb83 2300 smull r2, r3, r3, r0
|
|
1601a: 17c2 asrs r2, r0, #31
|
|
1601c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16020: b212 sxth r2, r2
|
|
16022: e772 b.n 15f0a <slider_init+0xf2>
|
|
lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
16024: 2000 movs r0, #0
|
|
16026: 4b23 ldr r3, [pc, #140] ; (160b4 <slider_init+0x29c>)
|
|
16028: 4798 blx r3
|
|
1602a: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1602e: 0040 lsls r0, r0, #1
|
|
16030: 3050 adds r0, #80 ; 0x50
|
|
16032: 4b21 ldr r3, [pc, #132] ; (160b8 <slider_init+0x2a0>)
|
|
16034: fb83 2300 smull r2, r3, r3, r0
|
|
16038: 17c2 asrs r2, r0, #31
|
|
1603a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1603e: b212 sxth r2, r2
|
|
16040: e779 b.n 15f36 <slider_init+0x11e>
|
|
lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
16042: 2000 movs r0, #0
|
|
16044: 4b1b ldr r3, [pc, #108] ; (160b4 <slider_init+0x29c>)
|
|
16046: 4798 blx r3
|
|
16048: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1604c: 0040 lsls r0, r0, #1
|
|
1604e: 3050 adds r0, #80 ; 0x50
|
|
16050: 4b19 ldr r3, [pc, #100] ; (160b8 <slider_init+0x2a0>)
|
|
16052: fb83 2300 smull r2, r3, r3, r0
|
|
16056: 17c2 asrs r2, r0, #31
|
|
16058: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1605c: b212 sxth r2, r2
|
|
1605e: e77c b.n 15f5a <slider_init+0x142>
|
|
lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
16060: 2000 movs r0, #0
|
|
16062: 4b14 ldr r3, [pc, #80] ; (160b4 <slider_init+0x29c>)
|
|
16064: 4798 blx r3
|
|
16066: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1606a: 0040 lsls r0, r0, #1
|
|
1606c: 3050 adds r0, #80 ; 0x50
|
|
1606e: 4b12 ldr r3, [pc, #72] ; (160b8 <slider_init+0x2a0>)
|
|
16070: fb83 2300 smull r2, r3, r3, r0
|
|
16074: 17c2 asrs r2, r0, #31
|
|
16076: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1607a: b212 sxth r2, r2
|
|
1607c: e77f b.n 15f7e <slider_init+0x166>
|
|
lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
1607e: 2000 movs r0, #0
|
|
16080: 4b0c ldr r3, [pc, #48] ; (160b4 <slider_init+0x29c>)
|
|
16082: 4798 blx r3
|
|
16084: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16088: 0040 lsls r0, r0, #1
|
|
1608a: 3050 adds r0, #80 ; 0x50
|
|
1608c: 4b0a ldr r3, [pc, #40] ; (160b8 <slider_init+0x2a0>)
|
|
1608e: fb83 2300 smull r2, r3, r3, r0
|
|
16092: 17c2 asrs r2, r0, #31
|
|
16094: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16098: b212 sxth r2, r2
|
|
1609a: e782 b.n 15fa2 <slider_init+0x18a>
|
|
1609c: 20006bd8 .word 0x20006bd8
|
|
160a0: 00014a49 .word 0x00014a49
|
|
160a4: 00006b51 .word 0x00006b51
|
|
160a8: 0002956c .word 0x0002956c
|
|
160ac: 00006a0d .word 0x00006a0d
|
|
160b0: 000068c9 .word 0x000068c9
|
|
160b4: 00010f25 .word 0x00010f25
|
|
160b8: 66666667 .word 0x66666667
|
|
|
|
000160bc <switch_init>:
|
|
{
|
|
160bc: b510 push {r4, lr}
|
|
style_init_reset(&styles->sw_knob);
|
|
160be: 4c48 ldr r4, [pc, #288] ; (161e0 <switch_init+0x124>)
|
|
160c0: 6820 ldr r0, [r4, #0]
|
|
160c2: 309c adds r0, #156 ; 0x9c
|
|
160c4: 4b47 ldr r3, [pc, #284] ; (161e4 <switch_init+0x128>)
|
|
160c6: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->sw_knob, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
160c8: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
160ca: 22ff movs r2, #255 ; 0xff
|
|
160cc: 212c movs r1, #44 ; 0x2c
|
|
160ce: 309c adds r0, #156 ; 0x9c
|
|
160d0: 4b45 ldr r3, [pc, #276] ; (161e8 <switch_init+0x12c>)
|
|
160d2: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->sw_knob, LV_STATE_DEFAULT, LV_COLOR_WHITE);
|
|
160d4: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
160d6: 4b45 ldr r3, [pc, #276] ; (161ec <switch_init+0x130>)
|
|
160d8: 881a ldrh r2, [r3, #0]
|
|
160da: 2129 movs r1, #41 ; 0x29
|
|
160dc: 309c adds r0, #156 ; 0x9c
|
|
160de: 4b44 ldr r3, [pc, #272] ; (161f0 <switch_init+0x134>)
|
|
160e0: 4798 blx r3
|
|
lv_style_set_radius(&styles->sw_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
160e2: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
160e4: f647 72ff movw r2, #32767 ; 0x7fff
|
|
160e8: 2101 movs r1, #1
|
|
160ea: 309c adds r0, #156 ; 0x9c
|
|
160ec: 4b41 ldr r3, [pc, #260] ; (161f4 <switch_init+0x138>)
|
|
160ee: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
160f0: 6824 ldr r4, [r4, #0]
|
|
160f2: 349c adds r4, #156 ; 0x9c
|
|
160f4: 2000 movs r0, #0
|
|
160f6: 4b40 ldr r3, [pc, #256] ; (161f8 <switch_init+0x13c>)
|
|
160f8: 4798 blx r3
|
|
160fa: 3014 adds r0, #20
|
|
160fc: 0080 lsls r0, r0, #2
|
|
160fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16102: da39 bge.n 16178 <switch_init+0xbc>
|
|
16104: f04f 32ff mov.w r2, #4294967295
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
16108: 2110 movs r1, #16
|
|
1610a: 4620 mov r0, r4
|
|
1610c: 4b39 ldr r3, [pc, #228] ; (161f4 <switch_init+0x138>)
|
|
1610e: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
16110: 4b33 ldr r3, [pc, #204] ; (161e0 <switch_init+0x124>)
|
|
16112: 681c ldr r4, [r3, #0]
|
|
16114: 349c adds r4, #156 ; 0x9c
|
|
16116: 2000 movs r0, #0
|
|
16118: 4b37 ldr r3, [pc, #220] ; (161f8 <switch_init+0x13c>)
|
|
1611a: 4798 blx r3
|
|
1611c: 3014 adds r0, #20
|
|
1611e: 0080 lsls r0, r0, #2
|
|
16120: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16124: da35 bge.n 16192 <switch_init+0xd6>
|
|
16126: f04f 32ff mov.w r2, #4294967295
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
1612a: 2111 movs r1, #17
|
|
1612c: 4620 mov r0, r4
|
|
1612e: 4b31 ldr r3, [pc, #196] ; (161f4 <switch_init+0x138>)
|
|
16130: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
16132: 4b2b ldr r3, [pc, #172] ; (161e0 <switch_init+0x124>)
|
|
16134: 681c ldr r4, [r3, #0]
|
|
16136: 349c adds r4, #156 ; 0x9c
|
|
16138: 2000 movs r0, #0
|
|
1613a: 4b2f ldr r3, [pc, #188] ; (161f8 <switch_init+0x13c>)
|
|
1613c: 4798 blx r3
|
|
1613e: 3014 adds r0, #20
|
|
16140: 0080 lsls r0, r0, #2
|
|
16142: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16146: da31 bge.n 161ac <switch_init+0xf0>
|
|
16148: f04f 32ff mov.w r2, #4294967295
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
1614c: 2112 movs r1, #18
|
|
1614e: 4620 mov r0, r4
|
|
16150: 4b28 ldr r3, [pc, #160] ; (161f4 <switch_init+0x138>)
|
|
16152: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
16154: 4b22 ldr r3, [pc, #136] ; (161e0 <switch_init+0x124>)
|
|
16156: 681c ldr r4, [r3, #0]
|
|
16158: 349c adds r4, #156 ; 0x9c
|
|
1615a: 2000 movs r0, #0
|
|
1615c: 4b26 ldr r3, [pc, #152] ; (161f8 <switch_init+0x13c>)
|
|
1615e: 4798 blx r3
|
|
16160: 3014 adds r0, #20
|
|
16162: 0080 lsls r0, r0, #2
|
|
16164: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16168: da2d bge.n 161c6 <switch_init+0x10a>
|
|
1616a: f04f 32ff mov.w r2, #4294967295
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
1616e: 2113 movs r1, #19
|
|
16170: 4620 mov r0, r4
|
|
16172: 4b20 ldr r3, [pc, #128] ; (161f4 <switch_init+0x138>)
|
|
16174: 4798 blx r3
|
|
16176: bd10 pop {r4, pc}
|
|
lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
16178: 2000 movs r0, #0
|
|
1617a: 4b1f ldr r3, [pc, #124] ; (161f8 <switch_init+0x13c>)
|
|
1617c: 4798 blx r3
|
|
1617e: 3014 adds r0, #20
|
|
16180: 0080 lsls r0, r0, #2
|
|
16182: 4b1e ldr r3, [pc, #120] ; (161fc <switch_init+0x140>)
|
|
16184: fb83 2300 smull r2, r3, r3, r0
|
|
16188: 17c2 asrs r2, r0, #31
|
|
1618a: eba2 12a3 sub.w r2, r2, r3, asr #6
|
|
1618e: b212 sxth r2, r2
|
|
16190: e7ba b.n 16108 <switch_init+0x4c>
|
|
lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
16192: 2000 movs r0, #0
|
|
16194: 4b18 ldr r3, [pc, #96] ; (161f8 <switch_init+0x13c>)
|
|
16196: 4798 blx r3
|
|
16198: 3014 adds r0, #20
|
|
1619a: 0080 lsls r0, r0, #2
|
|
1619c: 4b17 ldr r3, [pc, #92] ; (161fc <switch_init+0x140>)
|
|
1619e: fb83 2300 smull r2, r3, r3, r0
|
|
161a2: 17c2 asrs r2, r0, #31
|
|
161a4: eba2 12a3 sub.w r2, r2, r3, asr #6
|
|
161a8: b212 sxth r2, r2
|
|
161aa: e7be b.n 1612a <switch_init+0x6e>
|
|
lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
161ac: 2000 movs r0, #0
|
|
161ae: 4b12 ldr r3, [pc, #72] ; (161f8 <switch_init+0x13c>)
|
|
161b0: 4798 blx r3
|
|
161b2: 3014 adds r0, #20
|
|
161b4: 0080 lsls r0, r0, #2
|
|
161b6: 4b11 ldr r3, [pc, #68] ; (161fc <switch_init+0x140>)
|
|
161b8: fb83 2300 smull r2, r3, r3, r0
|
|
161bc: 17c2 asrs r2, r0, #31
|
|
161be: eba2 12a3 sub.w r2, r2, r3, asr #6
|
|
161c2: b212 sxth r2, r2
|
|
161c4: e7c2 b.n 1614c <switch_init+0x90>
|
|
lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4));
|
|
161c6: 2000 movs r0, #0
|
|
161c8: 4b0b ldr r3, [pc, #44] ; (161f8 <switch_init+0x13c>)
|
|
161ca: 4798 blx r3
|
|
161cc: 3014 adds r0, #20
|
|
161ce: 0080 lsls r0, r0, #2
|
|
161d0: 4b0a ldr r3, [pc, #40] ; (161fc <switch_init+0x140>)
|
|
161d2: fb83 2300 smull r2, r3, r3, r0
|
|
161d6: 17c2 asrs r2, r0, #31
|
|
161d8: eba2 12a3 sub.w r2, r2, r3, asr #6
|
|
161dc: b212 sxth r2, r2
|
|
161de: e7c6 b.n 1616e <switch_init+0xb2>
|
|
161e0: 20006bd8 .word 0x20006bd8
|
|
161e4: 00014a49 .word 0x00014a49
|
|
161e8: 00006b51 .word 0x00006b51
|
|
161ec: 0002956c .word 0x0002956c
|
|
161f0: 00006a0d .word 0x00006a0d
|
|
161f4: 000068c9 .word 0x000068c9
|
|
161f8: 00010f25 .word 0x00010f25
|
|
161fc: 66666667 .word 0x66666667
|
|
|
|
00016200 <linemeter_init>:
|
|
{
|
|
16200: b538 push {r3, r4, r5, lr}
|
|
style_init_reset(&styles->lmeter);
|
|
16202: 4c88 ldr r4, [pc, #544] ; (16424 <linemeter_init+0x224>)
|
|
16204: 6820 ldr r0, [r4, #0]
|
|
16206: 3070 adds r0, #112 ; 0x70
|
|
16208: 4b87 ldr r3, [pc, #540] ; (16428 <linemeter_init+0x228>)
|
|
1620a: 4798 blx r3
|
|
lv_style_set_radius(&styles->lmeter, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
1620c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
1620e: f647 72ff movw r2, #32767 ; 0x7fff
|
|
16212: 2101 movs r1, #1
|
|
16214: 3070 adds r0, #112 ; 0x70
|
|
16216: 4b85 ldr r3, [pc, #532] ; (1642c <linemeter_init+0x22c>)
|
|
16218: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20));
|
|
1621a: 6824 ldr r4, [r4, #0]
|
|
1621c: 3470 adds r4, #112 ; 0x70
|
|
1621e: 2000 movs r0, #0
|
|
16220: 4b83 ldr r3, [pc, #524] ; (16430 <linemeter_init+0x230>)
|
|
16222: 4798 blx r3
|
|
16224: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16228: 0080 lsls r0, r0, #2
|
|
1622a: 3050 adds r0, #80 ; 0x50
|
|
1622c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16230: f280 808e bge.w 16350 <linemeter_init+0x150>
|
|
16234: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
16236: 2112 movs r1, #18
|
|
16238: 4620 mov r0, r4
|
|
1623a: 4b7c ldr r3, [pc, #496] ; (1642c <linemeter_init+0x22c>)
|
|
1623c: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20));
|
|
1623e: 4b79 ldr r3, [pc, #484] ; (16424 <linemeter_init+0x224>)
|
|
16240: 681c ldr r4, [r3, #0]
|
|
16242: 3470 adds r4, #112 ; 0x70
|
|
16244: 2000 movs r0, #0
|
|
16246: 4b7a ldr r3, [pc, #488] ; (16430 <linemeter_init+0x230>)
|
|
16248: 4798 blx r3
|
|
1624a: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1624e: 0080 lsls r0, r0, #2
|
|
16250: 3050 adds r0, #80 ; 0x50
|
|
16252: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16256: f280 808a bge.w 1636e <linemeter_init+0x16e>
|
|
1625a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
1625c: 2113 movs r1, #19
|
|
1625e: 4620 mov r0, r4
|
|
16260: 4b72 ldr r3, [pc, #456] ; (1642c <linemeter_init+0x22c>)
|
|
16262: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20));
|
|
16264: 4b6f ldr r3, [pc, #444] ; (16424 <linemeter_init+0x224>)
|
|
16266: 681c ldr r4, [r3, #0]
|
|
16268: 3470 adds r4, #112 ; 0x70
|
|
1626a: 2000 movs r0, #0
|
|
1626c: 4b70 ldr r3, [pc, #448] ; (16430 <linemeter_init+0x230>)
|
|
1626e: 4798 blx r3
|
|
16270: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16274: 0080 lsls r0, r0, #2
|
|
16276: 3050 adds r0, #80 ; 0x50
|
|
16278: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1627c: f280 8086 bge.w 1638c <linemeter_init+0x18c>
|
|
16280: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
16282: 2110 movs r1, #16
|
|
16284: 4620 mov r0, r4
|
|
16286: 4b69 ldr r3, [pc, #420] ; (1642c <linemeter_init+0x22c>)
|
|
16288: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30));
|
|
1628a: 4b66 ldr r3, [pc, #408] ; (16424 <linemeter_init+0x224>)
|
|
1628c: 681c ldr r4, [r3, #0]
|
|
1628e: 3470 adds r4, #112 ; 0x70
|
|
16290: 2000 movs r0, #0
|
|
16292: 4b67 ldr r3, [pc, #412] ; (16430 <linemeter_init+0x230>)
|
|
16294: 4798 blx r3
|
|
16296: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1629a: 0040 lsls r0, r0, #1
|
|
1629c: 3050 adds r0, #80 ; 0x50
|
|
1629e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
162a2: f280 8082 bge.w 163aa <linemeter_init+0x1aa>
|
|
162a6: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
162a8: 2114 movs r1, #20
|
|
162aa: 4620 mov r0, r4
|
|
162ac: 4b5f ldr r3, [pc, #380] ; (1642c <linemeter_init+0x22c>)
|
|
162ae: 4798 blx r3
|
|
lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25));
|
|
162b0: 4b5c ldr r3, [pc, #368] ; (16424 <linemeter_init+0x224>)
|
|
162b2: 681c ldr r4, [r3, #0]
|
|
162b4: 3470 adds r4, #112 ; 0x70
|
|
162b6: 2000 movs r0, #0
|
|
162b8: 4b5d ldr r3, [pc, #372] ; (16430 <linemeter_init+0x230>)
|
|
162ba: 4798 blx r3
|
|
162bc: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
162c0: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
162c4: 3050 adds r0, #80 ; 0x50
|
|
162c6: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
162ca: da7d bge.n 163c8 <linemeter_init+0x1c8>
|
|
162cc: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar)
|
|
#else
|
|
/*For compatibility*/
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, const void *, _ptr, scalar)
|
|
#endif
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar)
|
|
162ce: 21c0 movs r1, #192 ; 0xc0
|
|
162d0: 4620 mov r0, r4
|
|
162d2: 4b56 ldr r3, [pc, #344] ; (1642c <linemeter_init+0x22c>)
|
|
162d4: 4798 blx r3
|
|
lv_style_set_line_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary);
|
|
162d6: 4c53 ldr r4, [pc, #332] ; (16424 <linemeter_init+0x224>)
|
|
162d8: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
162da: 89a2 ldrh r2, [r4, #12]
|
|
162dc: 2199 movs r1, #153 ; 0x99
|
|
162de: 3070 adds r0, #112 ; 0x70
|
|
162e0: 4d54 ldr r5, [pc, #336] ; (16434 <linemeter_init+0x234>)
|
|
162e2: 47a8 blx r5
|
|
lv_style_set_scale_grad_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary);
|
|
162e4: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_BORDER_WIDTH, scale_border_width, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar)
|
|
162e6: 89a2 ldrh r2, [r4, #12]
|
|
162e8: 21c9 movs r1, #201 ; 0xc9
|
|
162ea: 3070 adds r0, #112 ; 0x70
|
|
162ec: 47a8 blx r5
|
|
lv_style_set_scale_end_color(&styles->lmeter, LV_STATE_DEFAULT, lv_color_hex3(0x888));
|
|
162ee: 6820 ldr r0, [r4, #0]
|
|
162f0: 2311 movs r3, #17
|
|
162f2: f04f 0200 mov.w r2, #0
|
|
162f6: f363 0204 bfi r2, r3, #0, #5
|
|
162fa: 2122 movs r1, #34 ; 0x22
|
|
162fc: f361 124a bfi r2, r1, #5, #6
|
|
16300: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar)
|
|
16304: 21ca movs r1, #202 ; 0xca
|
|
16306: 3070 adds r0, #112 ; 0x70
|
|
16308: 47a8 blx r5
|
|
lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10));
|
|
1630a: 6824 ldr r4, [r4, #0]
|
|
1630c: 3470 adds r4, #112 ; 0x70
|
|
1630e: 2000 movs r0, #0
|
|
16310: 4b47 ldr r3, [pc, #284] ; (16430 <linemeter_init+0x230>)
|
|
16312: 4798 blx r3
|
|
16314: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16318: 0040 lsls r0, r0, #1
|
|
1631a: 3050 adds r0, #80 ; 0x50
|
|
1631c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16320: da62 bge.n 163e8 <linemeter_init+0x1e8>
|
|
16322: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
16324: 2190 movs r1, #144 ; 0x90
|
|
16326: 4620 mov r0, r4
|
|
16328: 4b40 ldr r3, [pc, #256] ; (1642c <linemeter_init+0x22c>)
|
|
1632a: 4798 blx r3
|
|
lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7));
|
|
1632c: 4b3d ldr r3, [pc, #244] ; (16424 <linemeter_init+0x224>)
|
|
1632e: 681c ldr r4, [r3, #0]
|
|
16330: 3470 adds r4, #112 ; 0x70
|
|
16332: 2000 movs r0, #0
|
|
16334: 4b3e ldr r3, [pc, #248] ; (16430 <linemeter_init+0x230>)
|
|
16336: 4798 blx r3
|
|
16338: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
1633c: 3050 adds r0, #80 ; 0x50
|
|
1633e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16342: da60 bge.n 16406 <linemeter_init+0x206>
|
|
16344: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar)
|
|
16346: 21c3 movs r1, #195 ; 0xc3
|
|
16348: 4620 mov r0, r4
|
|
1634a: 4b38 ldr r3, [pc, #224] ; (1642c <linemeter_init+0x22c>)
|
|
1634c: 4798 blx r3
|
|
1634e: bd38 pop {r3, r4, r5, pc}
|
|
lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20));
|
|
16350: 2000 movs r0, #0
|
|
16352: 4b37 ldr r3, [pc, #220] ; (16430 <linemeter_init+0x230>)
|
|
16354: 4798 blx r3
|
|
16356: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1635a: 0080 lsls r0, r0, #2
|
|
1635c: 3050 adds r0, #80 ; 0x50
|
|
1635e: 4b36 ldr r3, [pc, #216] ; (16438 <linemeter_init+0x238>)
|
|
16360: fb83 2300 smull r2, r3, r3, r0
|
|
16364: 17c2 asrs r2, r0, #31
|
|
16366: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1636a: b212 sxth r2, r2
|
|
1636c: e763 b.n 16236 <linemeter_init+0x36>
|
|
lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20));
|
|
1636e: 2000 movs r0, #0
|
|
16370: 4b2f ldr r3, [pc, #188] ; (16430 <linemeter_init+0x230>)
|
|
16372: 4798 blx r3
|
|
16374: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16378: 0080 lsls r0, r0, #2
|
|
1637a: 3050 adds r0, #80 ; 0x50
|
|
1637c: 4b2e ldr r3, [pc, #184] ; (16438 <linemeter_init+0x238>)
|
|
1637e: fb83 2300 smull r2, r3, r3, r0
|
|
16382: 17c2 asrs r2, r0, #31
|
|
16384: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16388: b212 sxth r2, r2
|
|
1638a: e767 b.n 1625c <linemeter_init+0x5c>
|
|
lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20));
|
|
1638c: 2000 movs r0, #0
|
|
1638e: 4b28 ldr r3, [pc, #160] ; (16430 <linemeter_init+0x230>)
|
|
16390: 4798 blx r3
|
|
16392: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16396: 0080 lsls r0, r0, #2
|
|
16398: 3050 adds r0, #80 ; 0x50
|
|
1639a: 4b27 ldr r3, [pc, #156] ; (16438 <linemeter_init+0x238>)
|
|
1639c: fb83 2300 smull r2, r3, r3, r0
|
|
163a0: 17c2 asrs r2, r0, #31
|
|
163a2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
163a6: b212 sxth r2, r2
|
|
163a8: e76b b.n 16282 <linemeter_init+0x82>
|
|
lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30));
|
|
163aa: 2000 movs r0, #0
|
|
163ac: 4b20 ldr r3, [pc, #128] ; (16430 <linemeter_init+0x230>)
|
|
163ae: 4798 blx r3
|
|
163b0: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
163b4: 0040 lsls r0, r0, #1
|
|
163b6: 3050 adds r0, #80 ; 0x50
|
|
163b8: 4b1f ldr r3, [pc, #124] ; (16438 <linemeter_init+0x238>)
|
|
163ba: fb83 2300 smull r2, r3, r3, r0
|
|
163be: 17c2 asrs r2, r0, #31
|
|
163c0: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
163c4: b212 sxth r2, r2
|
|
163c6: e76f b.n 162a8 <linemeter_init+0xa8>
|
|
lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25));
|
|
163c8: 2000 movs r0, #0
|
|
163ca: 4b19 ldr r3, [pc, #100] ; (16430 <linemeter_init+0x230>)
|
|
163cc: 4798 blx r3
|
|
163ce: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
163d2: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
163d6: 3050 adds r0, #80 ; 0x50
|
|
163d8: 4b17 ldr r3, [pc, #92] ; (16438 <linemeter_init+0x238>)
|
|
163da: fb83 2300 smull r2, r3, r3, r0
|
|
163de: 17c2 asrs r2, r0, #31
|
|
163e0: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
163e4: b212 sxth r2, r2
|
|
163e6: e772 b.n 162ce <linemeter_init+0xce>
|
|
lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10));
|
|
163e8: 2000 movs r0, #0
|
|
163ea: 4b11 ldr r3, [pc, #68] ; (16430 <linemeter_init+0x230>)
|
|
163ec: 4798 blx r3
|
|
163ee: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
163f2: 0040 lsls r0, r0, #1
|
|
163f4: 3050 adds r0, #80 ; 0x50
|
|
163f6: 4b10 ldr r3, [pc, #64] ; (16438 <linemeter_init+0x238>)
|
|
163f8: fb83 2300 smull r2, r3, r3, r0
|
|
163fc: 17c2 asrs r2, r0, #31
|
|
163fe: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16402: b212 sxth r2, r2
|
|
16404: e78e b.n 16324 <linemeter_init+0x124>
|
|
lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7));
|
|
16406: 2000 movs r0, #0
|
|
16408: 4b09 ldr r3, [pc, #36] ; (16430 <linemeter_init+0x230>)
|
|
1640a: 4798 blx r3
|
|
1640c: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
16410: 3050 adds r0, #80 ; 0x50
|
|
16412: 4b09 ldr r3, [pc, #36] ; (16438 <linemeter_init+0x238>)
|
|
16414: fb83 2300 smull r2, r3, r3, r0
|
|
16418: 17c2 asrs r2, r0, #31
|
|
1641a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1641e: b212 sxth r2, r2
|
|
16420: e791 b.n 16346 <linemeter_init+0x146>
|
|
16422: bf00 nop
|
|
16424: 20006bd8 .word 0x20006bd8
|
|
16428: 00014a49 .word 0x00014a49
|
|
1642c: 000068c9 .word 0x000068c9
|
|
16430: 00010f25 .word 0x00010f25
|
|
16434: 00006a0d .word 0x00006a0d
|
|
16438: 66666667 .word 0x66666667
|
|
|
|
0001643c <gauge_init>:
|
|
{
|
|
1643c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
style_init_reset(&styles->gauge_main);
|
|
1643e: 4cc0 ldr r4, [pc, #768] ; (16740 <gauge_init+0x304>)
|
|
16440: 6820 ldr r0, [r4, #0]
|
|
16442: 305c adds r0, #92 ; 0x5c
|
|
16444: 4bbf ldr r3, [pc, #764] ; (16744 <gauge_init+0x308>)
|
|
16446: 4798 blx r3
|
|
lv_style_set_line_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888));
|
|
16448: 6820 ldr r0, [r4, #0]
|
|
1644a: 2511 movs r5, #17
|
|
1644c: f04f 0200 mov.w r2, #0
|
|
16450: f365 0204 bfi r2, r5, #0, #5
|
|
16454: 2722 movs r7, #34 ; 0x22
|
|
16456: f367 124a bfi r2, r7, #5, #6
|
|
1645a: f365 22cf bfi r2, r5, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
1645e: 2199 movs r1, #153 ; 0x99
|
|
16460: 305c adds r0, #92 ; 0x5c
|
|
16462: 4eb9 ldr r6, [pc, #740] ; (16748 <gauge_init+0x30c>)
|
|
16464: 47b0 blx r6
|
|
lv_style_set_scale_grad_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888));
|
|
16466: 6820 ldr r0, [r4, #0]
|
|
16468: f04f 0200 mov.w r2, #0
|
|
1646c: f365 0204 bfi r2, r5, #0, #5
|
|
16470: f367 124a bfi r2, r7, #5, #6
|
|
16474: f365 22cf bfi r2, r5, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar)
|
|
16478: 21c9 movs r1, #201 ; 0xc9
|
|
1647a: 305c adds r0, #92 ; 0x5c
|
|
1647c: 47b0 blx r6
|
|
lv_style_set_scale_end_color(&styles->gauge_main, LV_STATE_DEFAULT, theme.color_primary);
|
|
1647e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar)
|
|
16480: 89a2 ldrh r2, [r4, #12]
|
|
16482: 21ca movs r1, #202 ; 0xca
|
|
16484: 305c adds r0, #92 ; 0x5c
|
|
16486: 47b0 blx r6
|
|
lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5));
|
|
16488: 6824 ldr r4, [r4, #0]
|
|
1648a: 345c adds r4, #92 ; 0x5c
|
|
1648c: 2000 movs r0, #0
|
|
1648e: 4baf ldr r3, [pc, #700] ; (1674c <gauge_init+0x310>)
|
|
16490: 4798 blx r3
|
|
16492: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16496: 3050 adds r0, #80 ; 0x50
|
|
16498: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1649c: f280 8168 bge.w 16770 <gauge_init+0x334>
|
|
164a0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
164a2: 2190 movs r1, #144 ; 0x90
|
|
164a4: 4620 mov r0, r4
|
|
164a6: 4baa ldr r3, [pc, #680] ; (16750 <gauge_init+0x314>)
|
|
164a8: 4798 blx r3
|
|
lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4));
|
|
164aa: 4ba5 ldr r3, [pc, #660] ; (16740 <gauge_init+0x304>)
|
|
164ac: 681c ldr r4, [r3, #0]
|
|
164ae: 345c adds r4, #92 ; 0x5c
|
|
164b0: 2000 movs r0, #0
|
|
164b2: 4ba6 ldr r3, [pc, #664] ; (1674c <gauge_init+0x310>)
|
|
164b4: 4798 blx r3
|
|
164b6: 3014 adds r0, #20
|
|
164b8: 0080 lsls r0, r0, #2
|
|
164ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
164be: f280 8165 bge.w 1678c <gauge_init+0x350>
|
|
164c2: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar)
|
|
164c4: 21c3 movs r1, #195 ; 0xc3
|
|
164c6: 4620 mov r0, r4
|
|
164c8: 4ba1 ldr r3, [pc, #644] ; (16750 <gauge_init+0x314>)
|
|
164ca: 4798 blx r3
|
|
lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8));
|
|
164cc: 4b9c ldr r3, [pc, #624] ; (16740 <gauge_init+0x304>)
|
|
164ce: 681c ldr r4, [r3, #0]
|
|
164d0: 345c adds r4, #92 ; 0x5c
|
|
164d2: 2000 movs r0, #0
|
|
164d4: 4b9d ldr r3, [pc, #628] ; (1674c <gauge_init+0x310>)
|
|
164d6: 4798 blx r3
|
|
164d8: 300a adds r0, #10
|
|
164da: 00c0 lsls r0, r0, #3
|
|
164dc: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
164e0: f280 8161 bge.w 167a6 <gauge_init+0x36a>
|
|
164e4: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar)
|
|
164e6: 21c2 movs r1, #194 ; 0xc2
|
|
164e8: 4620 mov r0, r4
|
|
164ea: 4b99 ldr r3, [pc, #612] ; (16750 <gauge_init+0x314>)
|
|
164ec: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
164ee: 4b94 ldr r3, [pc, #592] ; (16740 <gauge_init+0x304>)
|
|
164f0: 681c ldr r4, [r3, #0]
|
|
164f2: 345c adds r4, #92 ; 0x5c
|
|
164f4: 2000 movs r0, #0
|
|
164f6: 4b95 ldr r3, [pc, #596] ; (1674c <gauge_init+0x310>)
|
|
164f8: 4798 blx r3
|
|
164fa: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
164fe: 0080 lsls r0, r0, #2
|
|
16500: 3050 adds r0, #80 ; 0x50
|
|
16502: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16506: f280 815b bge.w 167c0 <gauge_init+0x384>
|
|
1650a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
1650c: 2112 movs r1, #18
|
|
1650e: 4620 mov r0, r4
|
|
16510: 4b8f ldr r3, [pc, #572] ; (16750 <gauge_init+0x314>)
|
|
16512: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
16514: 4b8a ldr r3, [pc, #552] ; (16740 <gauge_init+0x304>)
|
|
16516: 681c ldr r4, [r3, #0]
|
|
16518: 345c adds r4, #92 ; 0x5c
|
|
1651a: 2000 movs r0, #0
|
|
1651c: 4b8b ldr r3, [pc, #556] ; (1674c <gauge_init+0x310>)
|
|
1651e: 4798 blx r3
|
|
16520: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16524: 0080 lsls r0, r0, #2
|
|
16526: 3050 adds r0, #80 ; 0x50
|
|
16528: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1652c: f280 8157 bge.w 167de <gauge_init+0x3a2>
|
|
16530: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
16532: 2113 movs r1, #19
|
|
16534: 4620 mov r0, r4
|
|
16536: 4b86 ldr r3, [pc, #536] ; (16750 <gauge_init+0x314>)
|
|
16538: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
1653a: 4b81 ldr r3, [pc, #516] ; (16740 <gauge_init+0x304>)
|
|
1653c: 681c ldr r4, [r3, #0]
|
|
1653e: 345c adds r4, #92 ; 0x5c
|
|
16540: 2000 movs r0, #0
|
|
16542: 4b82 ldr r3, [pc, #520] ; (1674c <gauge_init+0x310>)
|
|
16544: 4798 blx r3
|
|
16546: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1654a: 0080 lsls r0, r0, #2
|
|
1654c: 3050 adds r0, #80 ; 0x50
|
|
1654e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16552: f280 8153 bge.w 167fc <gauge_init+0x3c0>
|
|
16556: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
16558: 2110 movs r1, #16
|
|
1655a: 4620 mov r0, r4
|
|
1655c: 4b7c ldr r3, [pc, #496] ; (16750 <gauge_init+0x314>)
|
|
1655e: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
16560: 4b77 ldr r3, [pc, #476] ; (16740 <gauge_init+0x304>)
|
|
16562: 681c ldr r4, [r3, #0]
|
|
16564: 345c adds r4, #92 ; 0x5c
|
|
16566: 2000 movs r0, #0
|
|
16568: 4b78 ldr r3, [pc, #480] ; (1674c <gauge_init+0x310>)
|
|
1656a: 4798 blx r3
|
|
1656c: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16570: 0080 lsls r0, r0, #2
|
|
16572: 3050 adds r0, #80 ; 0x50
|
|
16574: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16578: f280 814f bge.w 1681a <gauge_init+0x3de>
|
|
1657c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
1657e: 2114 movs r1, #20
|
|
16580: 4620 mov r0, r4
|
|
16582: 4b73 ldr r3, [pc, #460] ; (16750 <gauge_init+0x314>)
|
|
16584: 4798 blx r3
|
|
lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15));
|
|
16586: 4b6e ldr r3, [pc, #440] ; (16740 <gauge_init+0x304>)
|
|
16588: 681c ldr r4, [r3, #0]
|
|
1658a: 345c adds r4, #92 ; 0x5c
|
|
1658c: 2000 movs r0, #0
|
|
1658e: 4b6f ldr r3, [pc, #444] ; (1674c <gauge_init+0x310>)
|
|
16590: 4798 blx r3
|
|
16592: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16596: 3050 adds r0, #80 ; 0x50
|
|
16598: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1659c: f280 814c bge.w 16838 <gauge_init+0x3fc>
|
|
165a0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar)
|
|
165a2: 21c0 movs r1, #192 ; 0xc0
|
|
165a4: 4620 mov r0, r4
|
|
165a6: 4d6a ldr r5, [pc, #424] ; (16750 <gauge_init+0x314>)
|
|
165a8: 47a8 blx r5
|
|
lv_style_set_radius(&styles->gauge_main, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
165aa: 4c65 ldr r4, [pc, #404] ; (16740 <gauge_init+0x304>)
|
|
165ac: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
165ae: f647 72ff movw r2, #32767 ; 0x7fff
|
|
165b2: 2101 movs r1, #1
|
|
165b4: 305c adds r0, #92 ; 0x5c
|
|
165b6: 47a8 blx r5
|
|
style_init_reset(&styles->gauge_strong);
|
|
165b8: 6820 ldr r0, [r4, #0]
|
|
165ba: 3060 adds r0, #96 ; 0x60
|
|
165bc: 4b61 ldr r3, [pc, #388] ; (16744 <gauge_init+0x308>)
|
|
165be: 4798 blx r3
|
|
lv_style_set_line_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888));
|
|
165c0: 6820 ldr r0, [r4, #0]
|
|
165c2: 2511 movs r5, #17
|
|
165c4: f04f 0200 mov.w r2, #0
|
|
165c8: f365 0204 bfi r2, r5, #0, #5
|
|
165cc: 2722 movs r7, #34 ; 0x22
|
|
165ce: f367 124a bfi r2, r7, #5, #6
|
|
165d2: f365 22cf bfi r2, r5, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
165d6: 2199 movs r1, #153 ; 0x99
|
|
165d8: 3060 adds r0, #96 ; 0x60
|
|
165da: 4e5b ldr r6, [pc, #364] ; (16748 <gauge_init+0x30c>)
|
|
165dc: 47b0 blx r6
|
|
lv_style_set_scale_grad_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888));
|
|
165de: 6820 ldr r0, [r4, #0]
|
|
165e0: f04f 0200 mov.w r2, #0
|
|
165e4: f365 0204 bfi r2, r5, #0, #5
|
|
165e8: f367 124a bfi r2, r7, #5, #6
|
|
165ec: f365 22cf bfi r2, r5, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar)
|
|
165f0: 21c9 movs r1, #201 ; 0xc9
|
|
165f2: 3060 adds r0, #96 ; 0x60
|
|
165f4: 47b0 blx r6
|
|
lv_style_set_scale_end_color(&styles->gauge_strong, LV_STATE_DEFAULT, theme.color_primary);
|
|
165f6: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar)
|
|
165f8: 89a2 ldrh r2, [r4, #12]
|
|
165fa: 21ca movs r1, #202 ; 0xca
|
|
165fc: 3060 adds r0, #96 ; 0x60
|
|
165fe: 47b0 blx r6
|
|
lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8));
|
|
16600: 6824 ldr r4, [r4, #0]
|
|
16602: 3460 adds r4, #96 ; 0x60
|
|
16604: 2000 movs r0, #0
|
|
16606: 4b51 ldr r3, [pc, #324] ; (1674c <gauge_init+0x310>)
|
|
16608: 4798 blx r3
|
|
1660a: 300a adds r0, #10
|
|
1660c: 00c0 lsls r0, r0, #3
|
|
1660e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16612: f280 811f bge.w 16854 <gauge_init+0x418>
|
|
16616: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
16618: 2190 movs r1, #144 ; 0x90
|
|
1661a: 4620 mov r0, r4
|
|
1661c: 4b4c ldr r3, [pc, #304] ; (16750 <gauge_init+0x314>)
|
|
1661e: 4798 blx r3
|
|
lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8));
|
|
16620: 4b47 ldr r3, [pc, #284] ; (16740 <gauge_init+0x304>)
|
|
16622: 681c ldr r4, [r3, #0]
|
|
16624: 3460 adds r4, #96 ; 0x60
|
|
16626: 2000 movs r0, #0
|
|
16628: 4b48 ldr r3, [pc, #288] ; (1674c <gauge_init+0x310>)
|
|
1662a: 4798 blx r3
|
|
1662c: 300a adds r0, #10
|
|
1662e: 00c0 lsls r0, r0, #3
|
|
16630: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16634: f280 811b bge.w 1686e <gauge_init+0x432>
|
|
16638: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar)
|
|
1663a: 21c3 movs r1, #195 ; 0xc3
|
|
1663c: 4620 mov r0, r4
|
|
1663e: 4b44 ldr r3, [pc, #272] ; (16750 <gauge_init+0x314>)
|
|
16640: 4798 blx r3
|
|
lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25));
|
|
16642: 4b3f ldr r3, [pc, #252] ; (16740 <gauge_init+0x304>)
|
|
16644: 681c ldr r4, [r3, #0]
|
|
16646: 3460 adds r4, #96 ; 0x60
|
|
16648: 2000 movs r0, #0
|
|
1664a: 4b40 ldr r3, [pc, #256] ; (1674c <gauge_init+0x310>)
|
|
1664c: 4798 blx r3
|
|
1664e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16652: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16656: 3050 adds r0, #80 ; 0x50
|
|
16658: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1665c: f280 8114 bge.w 16888 <gauge_init+0x44c>
|
|
16660: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar)
|
|
16662: 21c0 movs r1, #192 ; 0xc0
|
|
16664: 4620 mov r0, r4
|
|
16666: 4b3a ldr r3, [pc, #232] ; (16750 <gauge_init+0x314>)
|
|
16668: 4798 blx r3
|
|
style_init_reset(&styles->gauge_needle);
|
|
1666a: 4c35 ldr r4, [pc, #212] ; (16740 <gauge_init+0x304>)
|
|
1666c: 6820 ldr r0, [r4, #0]
|
|
1666e: 3064 adds r0, #100 ; 0x64
|
|
16670: 4b34 ldr r3, [pc, #208] ; (16744 <gauge_init+0x308>)
|
|
16672: 4798 blx r3
|
|
lv_style_set_line_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE);
|
|
16674: 6820 ldr r0, [r4, #0]
|
|
16676: 3064 adds r0, #100 ; 0x64
|
|
16678: 6a23 ldr r3, [r4, #32]
|
|
1667a: f013 0f02 tst.w r3, #2
|
|
1667e: f040 8113 bne.w 168a8 <gauge_init+0x46c>
|
|
16682: 231f movs r3, #31
|
|
16684: 213f movs r1, #63 ; 0x3f
|
|
16686: 461c mov r4, r3
|
|
16688: f04f 0200 mov.w r2, #0
|
|
1668c: f364 0204 bfi r2, r4, #0, #5
|
|
16690: f361 124a bfi r2, r1, #5, #6
|
|
16694: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
16698: 2199 movs r1, #153 ; 0x99
|
|
1669a: 4b2b ldr r3, [pc, #172] ; (16748 <gauge_init+0x30c>)
|
|
1669c: 4798 blx r3
|
|
lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8));
|
|
1669e: 4b28 ldr r3, [pc, #160] ; (16740 <gauge_init+0x304>)
|
|
166a0: 681c ldr r4, [r3, #0]
|
|
166a2: 3464 adds r4, #100 ; 0x64
|
|
166a4: 2000 movs r0, #0
|
|
166a6: 4b29 ldr r3, [pc, #164] ; (1674c <gauge_init+0x310>)
|
|
166a8: 4798 blx r3
|
|
166aa: 300a adds r0, #10
|
|
166ac: 00c0 lsls r0, r0, #3
|
|
166ae: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
166b2: f280 80fd bge.w 168b0 <gauge_init+0x474>
|
|
166b6: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
166b8: 2190 movs r1, #144 ; 0x90
|
|
166ba: 4620 mov r0, r4
|
|
166bc: 4b24 ldr r3, [pc, #144] ; (16750 <gauge_init+0x314>)
|
|
166be: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->gauge_needle, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
166c0: 4c1f ldr r4, [pc, #124] ; (16740 <gauge_init+0x304>)
|
|
166c2: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
166c4: 22ff movs r2, #255 ; 0xff
|
|
166c6: 212c movs r1, #44 ; 0x2c
|
|
166c8: 3064 adds r0, #100 ; 0x64
|
|
166ca: 4b22 ldr r3, [pc, #136] ; (16754 <gauge_init+0x318>)
|
|
166cc: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE);
|
|
166ce: 6820 ldr r0, [r4, #0]
|
|
166d0: 3064 adds r0, #100 ; 0x64
|
|
166d2: 6a23 ldr r3, [r4, #32]
|
|
166d4: f013 0f02 tst.w r3, #2
|
|
166d8: f040 80f7 bne.w 168ca <gauge_init+0x48e>
|
|
166dc: 231f movs r3, #31
|
|
166de: 213f movs r1, #63 ; 0x3f
|
|
166e0: 461c mov r4, r3
|
|
166e2: f04f 0200 mov.w r2, #0
|
|
166e6: f364 0204 bfi r2, r4, #0, #5
|
|
166ea: f361 124a bfi r2, r1, #5, #6
|
|
166ee: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
166f2: 2129 movs r1, #41 ; 0x29
|
|
166f4: 4b14 ldr r3, [pc, #80] ; (16748 <gauge_init+0x30c>)
|
|
166f6: 4798 blx r3
|
|
lv_style_set_radius(&styles->gauge_needle, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
166f8: 4c11 ldr r4, [pc, #68] ; (16740 <gauge_init+0x304>)
|
|
166fa: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
166fc: f647 72ff movw r2, #32767 ; 0x7fff
|
|
16700: 2101 movs r1, #1
|
|
16702: 3064 adds r0, #100 ; 0x64
|
|
16704: 4b12 ldr r3, [pc, #72] ; (16750 <gauge_init+0x314>)
|
|
16706: 4798 blx r3
|
|
lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30));
|
|
16708: 6824 ldr r4, [r4, #0]
|
|
1670a: 3464 adds r4, #100 ; 0x64
|
|
1670c: 2000 movs r0, #0
|
|
1670e: 4b0f ldr r3, [pc, #60] ; (1674c <gauge_init+0x310>)
|
|
16710: 4798 blx r3
|
|
16712: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16716: 0040 lsls r0, r0, #1
|
|
16718: 3050 adds r0, #80 ; 0x50
|
|
1671a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1671e: f280 80d8 bge.w 168d2 <gauge_init+0x496>
|
|
16722: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar)
|
|
16724: 2103 movs r1, #3
|
|
16726: 4620 mov r0, r4
|
|
16728: 4b09 ldr r3, [pc, #36] ; (16750 <gauge_init+0x314>)
|
|
1672a: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10));
|
|
1672c: 4b04 ldr r3, [pc, #16] ; (16740 <gauge_init+0x304>)
|
|
1672e: 681c ldr r4, [r3, #0]
|
|
16730: 3464 adds r4, #100 ; 0x64
|
|
16732: 2000 movs r0, #0
|
|
16734: 4b05 ldr r3, [pc, #20] ; (1674c <gauge_init+0x310>)
|
|
16736: 4798 blx r3
|
|
16738: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1673c: e00c b.n 16758 <gauge_init+0x31c>
|
|
1673e: bf00 nop
|
|
16740: 20006bd8 .word 0x20006bd8
|
|
16744: 00014a49 .word 0x00014a49
|
|
16748: 00006a0d .word 0x00006a0d
|
|
1674c: 00010f25 .word 0x00010f25
|
|
16750: 000068c9 .word 0x000068c9
|
|
16754: 00006b51 .word 0x00006b51
|
|
16758: 0040 lsls r0, r0, #1
|
|
1675a: 3050 adds r0, #80 ; 0x50
|
|
1675c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16760: f280 80c6 bge.w 168f0 <gauge_init+0x4b4>
|
|
16764: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
16766: 2114 movs r1, #20
|
|
16768: 4620 mov r0, r4
|
|
1676a: 4b69 ldr r3, [pc, #420] ; (16910 <gauge_init+0x4d4>)
|
|
1676c: 4798 blx r3
|
|
1676e: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5));
|
|
16770: 2000 movs r0, #0
|
|
16772: 4b68 ldr r3, [pc, #416] ; (16914 <gauge_init+0x4d8>)
|
|
16774: 4798 blx r3
|
|
16776: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1677a: 3050 adds r0, #80 ; 0x50
|
|
1677c: 4b66 ldr r3, [pc, #408] ; (16918 <gauge_init+0x4dc>)
|
|
1677e: fb83 2300 smull r2, r3, r3, r0
|
|
16782: 17c2 asrs r2, r0, #31
|
|
16784: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16788: b212 sxth r2, r2
|
|
1678a: e68a b.n 164a2 <gauge_init+0x66>
|
|
lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4));
|
|
1678c: 2000 movs r0, #0
|
|
1678e: 4b61 ldr r3, [pc, #388] ; (16914 <gauge_init+0x4d8>)
|
|
16790: 4798 blx r3
|
|
16792: 3014 adds r0, #20
|
|
16794: 0080 lsls r0, r0, #2
|
|
16796: 4b60 ldr r3, [pc, #384] ; (16918 <gauge_init+0x4dc>)
|
|
16798: fb83 2300 smull r2, r3, r3, r0
|
|
1679c: 17c2 asrs r2, r0, #31
|
|
1679e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
167a2: b212 sxth r2, r2
|
|
167a4: e68e b.n 164c4 <gauge_init+0x88>
|
|
lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8));
|
|
167a6: 2000 movs r0, #0
|
|
167a8: 4b5a ldr r3, [pc, #360] ; (16914 <gauge_init+0x4d8>)
|
|
167aa: 4798 blx r3
|
|
167ac: 300a adds r0, #10
|
|
167ae: 00c0 lsls r0, r0, #3
|
|
167b0: 4b59 ldr r3, [pc, #356] ; (16918 <gauge_init+0x4dc>)
|
|
167b2: fb83 2300 smull r2, r3, r3, r0
|
|
167b6: 17c2 asrs r2, r0, #31
|
|
167b8: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
167bc: b212 sxth r2, r2
|
|
167be: e692 b.n 164e6 <gauge_init+0xaa>
|
|
lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
167c0: 2000 movs r0, #0
|
|
167c2: 4b54 ldr r3, [pc, #336] ; (16914 <gauge_init+0x4d8>)
|
|
167c4: 4798 blx r3
|
|
167c6: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
167ca: 0080 lsls r0, r0, #2
|
|
167cc: 3050 adds r0, #80 ; 0x50
|
|
167ce: 4b52 ldr r3, [pc, #328] ; (16918 <gauge_init+0x4dc>)
|
|
167d0: fb83 2300 smull r2, r3, r3, r0
|
|
167d4: 17c2 asrs r2, r0, #31
|
|
167d6: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
167da: b212 sxth r2, r2
|
|
167dc: e696 b.n 1650c <gauge_init+0xd0>
|
|
lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
167de: 2000 movs r0, #0
|
|
167e0: 4b4c ldr r3, [pc, #304] ; (16914 <gauge_init+0x4d8>)
|
|
167e2: 4798 blx r3
|
|
167e4: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
167e8: 0080 lsls r0, r0, #2
|
|
167ea: 3050 adds r0, #80 ; 0x50
|
|
167ec: 4b4a ldr r3, [pc, #296] ; (16918 <gauge_init+0x4dc>)
|
|
167ee: fb83 2300 smull r2, r3, r3, r0
|
|
167f2: 17c2 asrs r2, r0, #31
|
|
167f4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
167f8: b212 sxth r2, r2
|
|
167fa: e69a b.n 16532 <gauge_init+0xf6>
|
|
lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
167fc: 2000 movs r0, #0
|
|
167fe: 4b45 ldr r3, [pc, #276] ; (16914 <gauge_init+0x4d8>)
|
|
16800: 4798 blx r3
|
|
16802: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16806: 0080 lsls r0, r0, #2
|
|
16808: 3050 adds r0, #80 ; 0x50
|
|
1680a: 4b43 ldr r3, [pc, #268] ; (16918 <gauge_init+0x4dc>)
|
|
1680c: fb83 2300 smull r2, r3, r3, r0
|
|
16810: 17c2 asrs r2, r0, #31
|
|
16812: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16816: b212 sxth r2, r2
|
|
16818: e69e b.n 16558 <gauge_init+0x11c>
|
|
lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20));
|
|
1681a: 2000 movs r0, #0
|
|
1681c: 4b3d ldr r3, [pc, #244] ; (16914 <gauge_init+0x4d8>)
|
|
1681e: 4798 blx r3
|
|
16820: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16824: 0080 lsls r0, r0, #2
|
|
16826: 3050 adds r0, #80 ; 0x50
|
|
16828: 4b3b ldr r3, [pc, #236] ; (16918 <gauge_init+0x4dc>)
|
|
1682a: fb83 2300 smull r2, r3, r3, r0
|
|
1682e: 17c2 asrs r2, r0, #31
|
|
16830: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16834: b212 sxth r2, r2
|
|
16836: e6a2 b.n 1657e <gauge_init+0x142>
|
|
lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15));
|
|
16838: 2000 movs r0, #0
|
|
1683a: 4b36 ldr r3, [pc, #216] ; (16914 <gauge_init+0x4d8>)
|
|
1683c: 4798 blx r3
|
|
1683e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16842: 3050 adds r0, #80 ; 0x50
|
|
16844: 4b34 ldr r3, [pc, #208] ; (16918 <gauge_init+0x4dc>)
|
|
16846: fb83 2300 smull r2, r3, r3, r0
|
|
1684a: 17c2 asrs r2, r0, #31
|
|
1684c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16850: b212 sxth r2, r2
|
|
16852: e6a6 b.n 165a2 <gauge_init+0x166>
|
|
lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8));
|
|
16854: 2000 movs r0, #0
|
|
16856: 4b2f ldr r3, [pc, #188] ; (16914 <gauge_init+0x4d8>)
|
|
16858: 4798 blx r3
|
|
1685a: 300a adds r0, #10
|
|
1685c: 00c0 lsls r0, r0, #3
|
|
1685e: 4b2e ldr r3, [pc, #184] ; (16918 <gauge_init+0x4dc>)
|
|
16860: fb83 2300 smull r2, r3, r3, r0
|
|
16864: 17c2 asrs r2, r0, #31
|
|
16866: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1686a: b212 sxth r2, r2
|
|
1686c: e6d4 b.n 16618 <gauge_init+0x1dc>
|
|
lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8));
|
|
1686e: 2000 movs r0, #0
|
|
16870: 4b28 ldr r3, [pc, #160] ; (16914 <gauge_init+0x4d8>)
|
|
16872: 4798 blx r3
|
|
16874: 300a adds r0, #10
|
|
16876: 00c0 lsls r0, r0, #3
|
|
16878: 4b27 ldr r3, [pc, #156] ; (16918 <gauge_init+0x4dc>)
|
|
1687a: fb83 2300 smull r2, r3, r3, r0
|
|
1687e: 17c2 asrs r2, r0, #31
|
|
16880: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16884: b212 sxth r2, r2
|
|
16886: e6d8 b.n 1663a <gauge_init+0x1fe>
|
|
lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25));
|
|
16888: 2000 movs r0, #0
|
|
1688a: 4b22 ldr r3, [pc, #136] ; (16914 <gauge_init+0x4d8>)
|
|
1688c: 4798 blx r3
|
|
1688e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16892: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16896: 3050 adds r0, #80 ; 0x50
|
|
16898: 4b1f ldr r3, [pc, #124] ; (16918 <gauge_init+0x4dc>)
|
|
1689a: fb83 2300 smull r2, r3, r3, r0
|
|
1689e: 17c2 asrs r2, r0, #31
|
|
168a0: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
168a4: b212 sxth r2, r2
|
|
168a6: e6dc b.n 16662 <gauge_init+0x226>
|
|
168a8: 2308 movs r3, #8
|
|
168aa: 2112 movs r1, #18
|
|
168ac: 240b movs r4, #11
|
|
168ae: e6eb b.n 16688 <gauge_init+0x24c>
|
|
lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8));
|
|
168b0: 2000 movs r0, #0
|
|
168b2: 4b18 ldr r3, [pc, #96] ; (16914 <gauge_init+0x4d8>)
|
|
168b4: 4798 blx r3
|
|
168b6: 300a adds r0, #10
|
|
168b8: 00c0 lsls r0, r0, #3
|
|
168ba: 4b17 ldr r3, [pc, #92] ; (16918 <gauge_init+0x4dc>)
|
|
168bc: fb83 2300 smull r2, r3, r3, r0
|
|
168c0: 17c2 asrs r2, r0, #31
|
|
168c2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
168c6: b212 sxth r2, r2
|
|
168c8: e6f6 b.n 166b8 <gauge_init+0x27c>
|
|
168ca: 2308 movs r3, #8
|
|
168cc: 2112 movs r1, #18
|
|
168ce: 240b movs r4, #11
|
|
168d0: e707 b.n 166e2 <gauge_init+0x2a6>
|
|
lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30));
|
|
168d2: 2000 movs r0, #0
|
|
168d4: 4b0f ldr r3, [pc, #60] ; (16914 <gauge_init+0x4d8>)
|
|
168d6: 4798 blx r3
|
|
168d8: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
168dc: 0040 lsls r0, r0, #1
|
|
168de: 3050 adds r0, #80 ; 0x50
|
|
168e0: 4b0d ldr r3, [pc, #52] ; (16918 <gauge_init+0x4dc>)
|
|
168e2: fb83 2300 smull r2, r3, r3, r0
|
|
168e6: 17c2 asrs r2, r0, #31
|
|
168e8: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
168ec: b212 sxth r2, r2
|
|
168ee: e719 b.n 16724 <gauge_init+0x2e8>
|
|
lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10));
|
|
168f0: 2000 movs r0, #0
|
|
168f2: 4b08 ldr r3, [pc, #32] ; (16914 <gauge_init+0x4d8>)
|
|
168f4: 4798 blx r3
|
|
168f6: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
168fa: 0040 lsls r0, r0, #1
|
|
168fc: 3050 adds r0, #80 ; 0x50
|
|
168fe: 4b06 ldr r3, [pc, #24] ; (16918 <gauge_init+0x4dc>)
|
|
16900: fb83 2300 smull r2, r3, r3, r0
|
|
16904: 17c2 asrs r2, r0, #31
|
|
16906: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1690a: b212 sxth r2, r2
|
|
1690c: e72b b.n 16766 <gauge_init+0x32a>
|
|
1690e: bf00 nop
|
|
16910: 000068c9 .word 0x000068c9
|
|
16914: 00010f25 .word 0x00010f25
|
|
16918: 66666667 .word 0x66666667
|
|
|
|
0001691c <arc_init>:
|
|
{
|
|
1691c: b538 push {r3, r4, r5, lr}
|
|
style_init_reset(&styles->arc_indic);
|
|
1691e: 4c3d ldr r4, [pc, #244] ; (16a14 <arc_init+0xf8>)
|
|
16920: 6820 ldr r0, [r4, #0]
|
|
16922: 301c adds r0, #28
|
|
16924: 4b3c ldr r3, [pc, #240] ; (16a18 <arc_init+0xfc>)
|
|
16926: 4798 blx r3
|
|
lv_style_set_line_color(&styles->arc_indic, LV_STATE_DEFAULT, theme.color_primary);
|
|
16928: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
1692a: 89a2 ldrh r2, [r4, #12]
|
|
1692c: 2199 movs r1, #153 ; 0x99
|
|
1692e: 301c adds r0, #28
|
|
16930: 4b3a ldr r3, [pc, #232] ; (16a1c <arc_init+0x100>)
|
|
16932: 4798 blx r3
|
|
lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25));
|
|
16934: 6824 ldr r4, [r4, #0]
|
|
16936: 341c adds r4, #28
|
|
16938: 2000 movs r0, #0
|
|
1693a: 4b39 ldr r3, [pc, #228] ; (16a20 <arc_init+0x104>)
|
|
1693c: 4798 blx r3
|
|
1693e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16942: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16946: 3050 adds r0, #80 ; 0x50
|
|
16948: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1694c: da41 bge.n 169d2 <arc_init+0xb6>
|
|
1694e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
16950: 2190 movs r1, #144 ; 0x90
|
|
16952: 4620 mov r0, r4
|
|
16954: 4d33 ldr r5, [pc, #204] ; (16a24 <arc_init+0x108>)
|
|
16956: 47a8 blx r5
|
|
lv_style_set_line_rounded(&styles->arc_indic, LV_STATE_DEFAULT, true);
|
|
16958: 4c2e ldr r4, [pc, #184] ; (16a14 <arc_init+0xf8>)
|
|
1695a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar)
|
|
1695c: 2201 movs r2, #1
|
|
1695e: 2194 movs r1, #148 ; 0x94
|
|
16960: 301c adds r0, #28
|
|
16962: 47a8 blx r5
|
|
style_init_reset(&styles->arc_bg);
|
|
16964: 6820 ldr r0, [r4, #0]
|
|
16966: 3020 adds r0, #32
|
|
16968: 4b2b ldr r3, [pc, #172] ; (16a18 <arc_init+0xfc>)
|
|
1696a: 4798 blx r3
|
|
lv_style_set_line_color(&styles->arc_bg, LV_STATE_DEFAULT, COLOR_BG_SEC);
|
|
1696c: 6820 ldr r0, [r4, #0]
|
|
1696e: 6a23 ldr r3, [r4, #32]
|
|
16970: f013 0302 ands.w r3, r3, #2
|
|
16974: bf14 ite ne
|
|
16976: 211a movne r1, #26
|
|
16978: 2108 moveq r1, #8
|
|
1697a: 2b00 cmp r3, #0
|
|
1697c: bf15 itete ne
|
|
1697e: 2435 movne r4, #53 ; 0x35
|
|
16980: 2412 moveq r4, #18
|
|
16982: 231b movne r3, #27
|
|
16984: 2309 moveq r3, #9
|
|
16986: f04f 0200 mov.w r2, #0
|
|
1698a: f363 0204 bfi r2, r3, #0, #5
|
|
1698e: f364 124a bfi r2, r4, #5, #6
|
|
16992: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
16996: 2199 movs r1, #153 ; 0x99
|
|
16998: 3020 adds r0, #32
|
|
1699a: 4b20 ldr r3, [pc, #128] ; (16a1c <arc_init+0x100>)
|
|
1699c: 4798 blx r3
|
|
lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25));
|
|
1699e: 4b1d ldr r3, [pc, #116] ; (16a14 <arc_init+0xf8>)
|
|
169a0: 681c ldr r4, [r3, #0]
|
|
169a2: 3420 adds r4, #32
|
|
169a4: 2000 movs r0, #0
|
|
169a6: 4b1e ldr r3, [pc, #120] ; (16a20 <arc_init+0x104>)
|
|
169a8: 4798 blx r3
|
|
169aa: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
169ae: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
169b2: 3050 adds r0, #80 ; 0x50
|
|
169b4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
169b8: da1b bge.n 169f2 <arc_init+0xd6>
|
|
169ba: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
169bc: 2190 movs r1, #144 ; 0x90
|
|
169be: 4620 mov r0, r4
|
|
169c0: 4c18 ldr r4, [pc, #96] ; (16a24 <arc_init+0x108>)
|
|
169c2: 47a0 blx r4
|
|
lv_style_set_line_rounded(&styles->arc_bg, LV_STATE_DEFAULT, true);
|
|
169c4: 4b13 ldr r3, [pc, #76] ; (16a14 <arc_init+0xf8>)
|
|
169c6: 6818 ldr r0, [r3, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar)
|
|
169c8: 2201 movs r2, #1
|
|
169ca: 2194 movs r1, #148 ; 0x94
|
|
169cc: 3020 adds r0, #32
|
|
169ce: 47a0 blx r4
|
|
169d0: bd38 pop {r3, r4, r5, pc}
|
|
lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25));
|
|
169d2: 2000 movs r0, #0
|
|
169d4: 4b12 ldr r3, [pc, #72] ; (16a20 <arc_init+0x104>)
|
|
169d6: 4798 blx r3
|
|
169d8: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
169dc: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
169e0: 3050 adds r0, #80 ; 0x50
|
|
169e2: 4b11 ldr r3, [pc, #68] ; (16a28 <arc_init+0x10c>)
|
|
169e4: fb83 2300 smull r2, r3, r3, r0
|
|
169e8: 17c2 asrs r2, r0, #31
|
|
169ea: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
169ee: b212 sxth r2, r2
|
|
169f0: e7ae b.n 16950 <arc_init+0x34>
|
|
lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25));
|
|
169f2: 2000 movs r0, #0
|
|
169f4: 4b0a ldr r3, [pc, #40] ; (16a20 <arc_init+0x104>)
|
|
169f6: 4798 blx r3
|
|
169f8: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
169fc: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16a00: 3050 adds r0, #80 ; 0x50
|
|
16a02: 4b09 ldr r3, [pc, #36] ; (16a28 <arc_init+0x10c>)
|
|
16a04: fb83 2300 smull r2, r3, r3, r0
|
|
16a08: 17c2 asrs r2, r0, #31
|
|
16a0a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16a0e: b212 sxth r2, r2
|
|
16a10: e7d4 b.n 169bc <arc_init+0xa0>
|
|
16a12: bf00 nop
|
|
16a14: 20006bd8 .word 0x20006bd8
|
|
16a18: 00014a49 .word 0x00014a49
|
|
16a1c: 00006a0d .word 0x00006a0d
|
|
16a20: 00010f25 .word 0x00010f25
|
|
16a24: 000068c9 .word 0x000068c9
|
|
16a28: 66666667 .word 0x66666667
|
|
|
|
00016a2c <led_init>:
|
|
{
|
|
16a2c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
style_init_reset(&styles->led);
|
|
16a2e: 4c38 ldr r4, [pc, #224] ; (16b10 <led_init+0xe4>)
|
|
16a30: 6820 ldr r0, [r4, #0]
|
|
16a32: 306c adds r0, #108 ; 0x6c
|
|
16a34: 4b37 ldr r3, [pc, #220] ; (16b14 <led_init+0xe8>)
|
|
16a36: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
16a38: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
16a3a: 22ff movs r2, #255 ; 0xff
|
|
16a3c: 212c movs r1, #44 ; 0x2c
|
|
16a3e: 306c adds r0, #108 ; 0x6c
|
|
16a40: 4d35 ldr r5, [pc, #212] ; (16b18 <led_init+0xec>)
|
|
16a42: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary);
|
|
16a44: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
16a46: 89a2 ldrh r2, [r4, #12]
|
|
16a48: 2129 movs r1, #41 ; 0x29
|
|
16a4a: 306c adds r0, #108 ; 0x6c
|
|
16a4c: 4f33 ldr r7, [pc, #204] ; (16b1c <led_init+0xf0>)
|
|
16a4e: 47b8 blx r7
|
|
lv_style_set_border_width(&styles->led, LV_STATE_DEFAULT, 2);
|
|
16a50: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
16a52: 2202 movs r2, #2
|
|
16a54: 2130 movs r1, #48 ; 0x30
|
|
16a56: 306c adds r0, #108 ; 0x6c
|
|
16a58: 4e31 ldr r6, [pc, #196] ; (16b20 <led_init+0xf4>)
|
|
16a5a: 47b0 blx r6
|
|
lv_style_set_border_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_50);
|
|
16a5c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar)
|
|
16a5e: 227f movs r2, #127 ; 0x7f
|
|
16a60: 213c movs r1, #60 ; 0x3c
|
|
16a62: 306c adds r0, #108 ; 0x6c
|
|
16a64: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->led, LV_STATE_DEFAULT, lv_color_lighten(theme.color_primary, LV_OPA_30));
|
|
16a66: 6825 ldr r5, [r4, #0]
|
|
16a68: 356c adds r5, #108 ; 0x6c
|
|
16a6a: 214c movs r1, #76 ; 0x4c
|
|
16a6c: 89a0 ldrh r0, [r4, #12]
|
|
16a6e: 4b2d ldr r3, [pc, #180] ; (16b24 <led_init+0xf8>)
|
|
16a70: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
16a72: 4602 mov r2, r0
|
|
16a74: 2139 movs r1, #57 ; 0x39
|
|
16a76: 4628 mov r0, r5
|
|
16a78: 47b8 blx r7
|
|
lv_style_set_radius(&styles->led, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
16a7a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
16a7c: f647 72ff movw r2, #32767 ; 0x7fff
|
|
16a80: 2101 movs r1, #1
|
|
16a82: 306c adds r0, #108 ; 0x6c
|
|
16a84: 47b0 blx r6
|
|
lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15));
|
|
16a86: 6824 ldr r4, [r4, #0]
|
|
16a88: 346c adds r4, #108 ; 0x6c
|
|
16a8a: 2000 movs r0, #0
|
|
16a8c: 4b26 ldr r3, [pc, #152] ; (16b28 <led_init+0xfc>)
|
|
16a8e: 4798 blx r3
|
|
16a90: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16a94: 3050 adds r0, #80 ; 0x50
|
|
16a96: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16a9a: da1c bge.n 16ad6 <led_init+0xaa>
|
|
16a9c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar)
|
|
16a9e: 2150 movs r1, #80 ; 0x50
|
|
16aa0: 4620 mov r0, r4
|
|
16aa2: 4b1f ldr r3, [pc, #124] ; (16b20 <led_init+0xf4>)
|
|
16aa4: 4798 blx r3
|
|
lv_style_set_shadow_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary);
|
|
16aa6: 4c1a ldr r4, [pc, #104] ; (16b10 <led_init+0xe4>)
|
|
16aa8: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar)
|
|
16aaa: 89a2 ldrh r2, [r4, #12]
|
|
16aac: 2159 movs r1, #89 ; 0x59
|
|
16aae: 306c adds r0, #108 ; 0x6c
|
|
16ab0: 4b1a ldr r3, [pc, #104] ; (16b1c <led_init+0xf0>)
|
|
16ab2: 4798 blx r3
|
|
lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5));
|
|
16ab4: 6824 ldr r4, [r4, #0]
|
|
16ab6: 346c adds r4, #108 ; 0x6c
|
|
16ab8: 2000 movs r0, #0
|
|
16aba: 4b1b ldr r3, [pc, #108] ; (16b28 <led_init+0xfc>)
|
|
16abc: 4798 blx r3
|
|
16abe: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16ac2: 3050 adds r0, #80 ; 0x50
|
|
16ac4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16ac8: da13 bge.n 16af2 <led_init+0xc6>
|
|
16aca: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar)
|
|
16acc: 2153 movs r1, #83 ; 0x53
|
|
16ace: 4620 mov r0, r4
|
|
16ad0: 4b13 ldr r3, [pc, #76] ; (16b20 <led_init+0xf4>)
|
|
16ad2: 4798 blx r3
|
|
16ad4: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15));
|
|
16ad6: 2000 movs r0, #0
|
|
16ad8: 4b13 ldr r3, [pc, #76] ; (16b28 <led_init+0xfc>)
|
|
16ada: 4798 blx r3
|
|
16adc: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16ae0: 3050 adds r0, #80 ; 0x50
|
|
16ae2: 4b12 ldr r3, [pc, #72] ; (16b2c <led_init+0x100>)
|
|
16ae4: fb83 2300 smull r2, r3, r3, r0
|
|
16ae8: 17c2 asrs r2, r0, #31
|
|
16aea: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16aee: b212 sxth r2, r2
|
|
16af0: e7d5 b.n 16a9e <led_init+0x72>
|
|
lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5));
|
|
16af2: 2000 movs r0, #0
|
|
16af4: 4b0c ldr r3, [pc, #48] ; (16b28 <led_init+0xfc>)
|
|
16af6: 4798 blx r3
|
|
16af8: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16afc: 3050 adds r0, #80 ; 0x50
|
|
16afe: 4b0b ldr r3, [pc, #44] ; (16b2c <led_init+0x100>)
|
|
16b00: fb83 2300 smull r2, r3, r3, r0
|
|
16b04: 17c2 asrs r2, r0, #31
|
|
16b06: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
16b0a: b212 sxth r2, r2
|
|
16b0c: e7de b.n 16acc <led_init+0xa0>
|
|
16b0e: bf00 nop
|
|
16b10: 20006bd8 .word 0x20006bd8
|
|
16b14: 00014a49 .word 0x00014a49
|
|
16b18: 00006b51 .word 0x00006b51
|
|
16b1c: 00006a0d .word 0x00006a0d
|
|
16b20: 000068c9 .word 0x000068c9
|
|
16b24: 00011b8f .word 0x00011b8f
|
|
16b28: 00010f25 .word 0x00010f25
|
|
16b2c: 66666667 .word 0x66666667
|
|
|
|
00016b30 <lv_theme_material_init>:
|
|
{
|
|
16b30: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
16b34: 4680 mov r8, r0
|
|
16b36: 460f mov r7, r1
|
|
16b38: 4615 mov r5, r2
|
|
16b3a: 461e mov r6, r3
|
|
if(!inited) {
|
|
16b3c: 4bb2 ldr r3, [pc, #712] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16b3e: 791b ldrb r3, [r3, #4]
|
|
16b40: 2b00 cmp r3, #0
|
|
16b42: f001 8369 beq.w 18218 <lv_theme_material_init+0x16e8>
|
|
theme.color_primary = color_primary;
|
|
16b46: 4cb0 ldr r4, [pc, #704] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16b48: f8a4 800c strh.w r8, [r4, #12]
|
|
theme.color_secondary = color_secondary;
|
|
16b4c: 81e7 strh r7, [r4, #14]
|
|
theme.font_small = font_small;
|
|
16b4e: 6126 str r6, [r4, #16]
|
|
theme.font_normal = font_normal;
|
|
16b50: 9b06 ldr r3, [sp, #24]
|
|
16b52: 6163 str r3, [r4, #20]
|
|
theme.font_subtitle = font_subtitle;
|
|
16b54: 9b07 ldr r3, [sp, #28]
|
|
16b56: 61a3 str r3, [r4, #24]
|
|
theme.font_title = font_title;
|
|
16b58: 9b08 ldr r3, [sp, #32]
|
|
16b5a: 61e3 str r3, [r4, #28]
|
|
theme.flags = flags;
|
|
16b5c: 6225 str r5, [r4, #32]
|
|
basic_init();
|
|
16b5e: 4bab ldr r3, [pc, #684] ; (16e0c <lv_theme_material_init+0x2dc>)
|
|
16b60: 4798 blx r3
|
|
bar_init();
|
|
16b62: 4bab ldr r3, [pc, #684] ; (16e10 <lv_theme_material_init+0x2e0>)
|
|
16b64: 4798 blx r3
|
|
led_init();
|
|
16b66: 4bab ldr r3, [pc, #684] ; (16e14 <lv_theme_material_init+0x2e4>)
|
|
16b68: 4798 blx r3
|
|
slider_init();
|
|
16b6a: 4bab ldr r3, [pc, #684] ; (16e18 <lv_theme_material_init+0x2e8>)
|
|
16b6c: 4798 blx r3
|
|
switch_init();
|
|
16b6e: 4bab ldr r3, [pc, #684] ; (16e1c <lv_theme_material_init+0x2ec>)
|
|
16b70: 4798 blx r3
|
|
linemeter_init();
|
|
16b72: 4bab ldr r3, [pc, #684] ; (16e20 <lv_theme_material_init+0x2f0>)
|
|
16b74: 4798 blx r3
|
|
gauge_init();
|
|
16b76: 4bab ldr r3, [pc, #684] ; (16e24 <lv_theme_material_init+0x2f4>)
|
|
16b78: 4798 blx r3
|
|
arc_init();
|
|
16b7a: 4bab ldr r3, [pc, #684] ; (16e28 <lv_theme_material_init+0x2f8>)
|
|
16b7c: 4798 blx r3
|
|
style_init_reset(&styles->chart_bg);
|
|
16b7e: 6820 ldr r0, [r4, #0]
|
|
16b80: 3040 adds r0, #64 ; 0x40
|
|
16b82: 4baa ldr r3, [pc, #680] ; (16e2c <lv_theme_material_init+0x2fc>)
|
|
16b84: 4798 blx r3
|
|
lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd));
|
|
16b86: 6820 ldr r0, [r4, #0]
|
|
16b88: 3040 adds r0, #64 ; 0x40
|
|
16b8a: 6a23 ldr r3, [r4, #32]
|
|
16b8c: f013 0f02 tst.w r3, #2
|
|
16b90: f041 834b bne.w 1822a <lv_theme_material_init+0x16fa>
|
|
16b94: 2314 movs r3, #20
|
|
16b96: 212b movs r1, #43 ; 0x2b
|
|
16b98: 2417 movs r4, #23
|
|
16b9a: f04f 0200 mov.w r2, #0
|
|
16b9e: f364 0204 bfi r2, r4, #0, #5
|
|
16ba2: f361 124a bfi r2, r1, #5, #6
|
|
16ba6: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
16baa: f248 0189 movw r1, #32905 ; 0x8089
|
|
16bae: 4ba0 ldr r3, [pc, #640] ; (16e30 <lv_theme_material_init+0x300>)
|
|
16bb0: 4798 blx r3
|
|
style_init_reset(&styles->chart_series_bg);
|
|
16bb2: 4c95 ldr r4, [pc, #596] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16bb4: 6820 ldr r0, [r4, #0]
|
|
16bb6: 3044 adds r0, #68 ; 0x44
|
|
16bb8: 4b9c ldr r3, [pc, #624] ; (16e2c <lv_theme_material_init+0x2fc>)
|
|
16bba: 4798 blx r3
|
|
lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1));
|
|
16bbc: 6824 ldr r4, [r4, #0]
|
|
16bbe: 3444 adds r4, #68 ; 0x44
|
|
16bc0: 2000 movs r0, #0
|
|
16bc2: 4b9c ldr r3, [pc, #624] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16bc4: 4798 blx r3
|
|
16bc6: 3050 adds r0, #80 ; 0x50
|
|
16bc8: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16bcc: f281 8332 bge.w 18234 <lv_theme_material_init+0x1704>
|
|
16bd0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
16bd2: 2190 movs r1, #144 ; 0x90
|
|
16bd4: 4620 mov r0, r4
|
|
16bd6: 4b98 ldr r3, [pc, #608] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16bd8: 4798 blx r3
|
|
lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
16bda: 4b8b ldr r3, [pc, #556] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16bdc: 681c ldr r4, [r3, #0]
|
|
16bde: 3444 adds r4, #68 ; 0x44
|
|
16be0: 2000 movs r0, #0
|
|
16be2: 4b94 ldr r3, [pc, #592] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16be4: 4798 blx r3
|
|
16be6: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16bea: 0040 lsls r0, r0, #1
|
|
16bec: 3050 adds r0, #80 ; 0x50
|
|
16bee: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16bf2: f281 832c bge.w 1824e <lv_theme_material_init+0x171e>
|
|
16bf6: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_WIDTH, line_dash_width, lv_style_int_t, _int, scalar)
|
|
16bf8: 2192 movs r1, #146 ; 0x92
|
|
16bfa: 4620 mov r0, r4
|
|
16bfc: 4b8e ldr r3, [pc, #568] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16bfe: 4798 blx r3
|
|
lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
16c00: 4b81 ldr r3, [pc, #516] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16c02: 681c ldr r4, [r3, #0]
|
|
16c04: 3444 adds r4, #68 ; 0x44
|
|
16c06: 2000 movs r0, #0
|
|
16c08: 4b8a ldr r3, [pc, #552] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16c0a: 4798 blx r3
|
|
16c0c: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
16c10: 0040 lsls r0, r0, #1
|
|
16c12: 3050 adds r0, #80 ; 0x50
|
|
16c14: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16c18: f281 8329 bge.w 1826e <lv_theme_material_init+0x173e>
|
|
16c1c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar)
|
|
16c1e: 2193 movs r1, #147 ; 0x93
|
|
16c20: 4620 mov r0, r4
|
|
16c22: 4b85 ldr r3, [pc, #532] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16c24: 4798 blx r3
|
|
lv_style_set_line_color(&styles->chart_series_bg, LV_STATE_DEFAULT, COLOR_BG_BORDER);
|
|
16c26: 4b78 ldr r3, [pc, #480] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16c28: 6818 ldr r0, [r3, #0]
|
|
16c2a: 6a1b ldr r3, [r3, #32]
|
|
16c2c: f013 0302 ands.w r3, r3, #2
|
|
16c30: bf14 ite ne
|
|
16c32: 211a movne r1, #26
|
|
16c34: 2110 moveq r1, #16
|
|
16c36: 2b00 cmp r3, #0
|
|
16c38: bf15 itete ne
|
|
16c3a: 2437 movne r4, #55 ; 0x37
|
|
16c3c: 2422 moveq r4, #34 ; 0x22
|
|
16c3e: 231c movne r3, #28
|
|
16c40: 2312 moveq r3, #18
|
|
16c42: f04f 0200 mov.w r2, #0
|
|
16c46: f363 0204 bfi r2, r3, #0, #5
|
|
16c4a: f364 124a bfi r2, r4, #5, #6
|
|
16c4e: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
16c52: 2199 movs r1, #153 ; 0x99
|
|
16c54: 3044 adds r0, #68 ; 0x44
|
|
16c56: 4b76 ldr r3, [pc, #472] ; (16e30 <lv_theme_material_init+0x300>)
|
|
16c58: 4798 blx r3
|
|
style_init_reset(&styles->chart_series);
|
|
16c5a: 4c6b ldr r4, [pc, #428] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16c5c: 6820 ldr r0, [r4, #0]
|
|
16c5e: 3048 adds r0, #72 ; 0x48
|
|
16c60: 4b72 ldr r3, [pc, #456] ; (16e2c <lv_theme_material_init+0x2fc>)
|
|
16c62: 4798 blx r3
|
|
lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3));
|
|
16c64: 6824 ldr r4, [r4, #0]
|
|
16c66: 3448 adds r4, #72 ; 0x48
|
|
16c68: 2000 movs r0, #0
|
|
16c6a: 4b72 ldr r3, [pc, #456] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16c6c: 4798 blx r3
|
|
16c6e: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
16c72: 3050 adds r0, #80 ; 0x50
|
|
16c74: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16c78: f281 8309 bge.w 1828e <lv_theme_material_init+0x175e>
|
|
16c7c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar)
|
|
16c7e: 2190 movs r1, #144 ; 0x90
|
|
16c80: 4620 mov r0, r4
|
|
16c82: 4b6d ldr r3, [pc, #436] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16c84: 4798 blx r3
|
|
lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4));
|
|
16c86: 4b60 ldr r3, [pc, #384] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16c88: 681c ldr r4, [r3, #0]
|
|
16c8a: 3448 adds r4, #72 ; 0x48
|
|
16c8c: 2000 movs r0, #0
|
|
16c8e: 4b69 ldr r3, [pc, #420] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16c90: 4798 blx r3
|
|
16c92: 3014 adds r0, #20
|
|
16c94: 0080 lsls r0, r0, #2
|
|
16c96: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16c9a: f281 8307 bge.w 182ac <lv_theme_material_init+0x177c>
|
|
16c9e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar)
|
|
16ca0: 2103 movs r1, #3
|
|
16ca2: 4620 mov r0, r4
|
|
16ca4: 4b64 ldr r3, [pc, #400] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16ca6: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/
|
|
16ca8: 4b57 ldr r3, [pc, #348] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16caa: 681c ldr r4, [r3, #0]
|
|
16cac: 3448 adds r4, #72 ; 0x48
|
|
16cae: 2000 movs r0, #0
|
|
16cb0: 4b60 ldr r3, [pc, #384] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16cb2: 4798 blx r3
|
|
16cb4: 3028 adds r0, #40 ; 0x28
|
|
16cb6: 0040 lsls r0, r0, #1
|
|
16cb8: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16cbc: f281 8304 bge.w 182c8 <lv_theme_material_init+0x1798>
|
|
16cc0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
16cc2: 2114 movs r1, #20
|
|
16cc4: 4620 mov r0, r4
|
|
16cc6: 4b5c ldr r3, [pc, #368] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16cc8: 4798 blx r3
|
|
lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1));
|
|
16cca: 4b4f ldr r3, [pc, #316] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16ccc: 681c ldr r4, [r3, #0]
|
|
16cce: 3448 adds r4, #72 ; 0x48
|
|
16cd0: 2000 movs r0, #0
|
|
16cd2: 4b58 ldr r3, [pc, #352] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16cd4: 4798 blx r3
|
|
16cd6: 3050 adds r0, #80 ; 0x50
|
|
16cd8: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16cdc: f281 8302 bge.w 182e4 <lv_theme_material_init+0x17b4>
|
|
16ce0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
16ce2: 2101 movs r1, #1
|
|
16ce4: 4620 mov r0, r4
|
|
16ce6: 4b54 ldr r3, [pc, #336] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16ce8: 4798 blx r3
|
|
style_init_reset(&styles->calendar_header);
|
|
16cea: 4c47 ldr r4, [pc, #284] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16cec: 6820 ldr r0, [r4, #0]
|
|
16cee: 3030 adds r0, #48 ; 0x30
|
|
16cf0: 4b4e ldr r3, [pc, #312] ; (16e2c <lv_theme_material_init+0x2fc>)
|
|
16cf2: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
16cf4: 6824 ldr r4, [r4, #0]
|
|
16cf6: 3430 adds r4, #48 ; 0x30
|
|
16cf8: 2000 movs r0, #0
|
|
16cfa: 4b50 ldr r3, [pc, #320] ; (16e3c <lv_theme_material_init+0x30c>)
|
|
16cfc: 4798 blx r3
|
|
16cfe: 2801 cmp r0, #1
|
|
16d00: f241 82fd bls.w 182fe <lv_theme_material_init+0x17ce>
|
|
16d04: 2000 movs r0, #0
|
|
16d06: 4b4b ldr r3, [pc, #300] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16d08: 4798 blx r3
|
|
16d0a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16d0e: 0040 lsls r0, r0, #1
|
|
16d10: 3050 adds r0, #80 ; 0x50
|
|
16d12: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16d16: f281 830d bge.w 18334 <lv_theme_material_init+0x1804>
|
|
16d1a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
16d1c: 2110 movs r1, #16
|
|
16d1e: 4620 mov r0, r4
|
|
16d20: 4b45 ldr r3, [pc, #276] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16d22: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
16d24: 4b38 ldr r3, [pc, #224] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16d26: 681c ldr r4, [r3, #0]
|
|
16d28: 3430 adds r4, #48 ; 0x30
|
|
16d2a: 2000 movs r0, #0
|
|
16d2c: 4b43 ldr r3, [pc, #268] ; (16e3c <lv_theme_material_init+0x30c>)
|
|
16d2e: 4798 blx r3
|
|
16d30: 2801 cmp r0, #1
|
|
16d32: f241 830f bls.w 18354 <lv_theme_material_init+0x1824>
|
|
16d36: 2000 movs r0, #0
|
|
16d38: 4b3e ldr r3, [pc, #248] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16d3a: 4798 blx r3
|
|
16d3c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16d40: 0040 lsls r0, r0, #1
|
|
16d42: 3050 adds r0, #80 ; 0x50
|
|
16d44: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16d48: f281 8336 bge.w 183b8 <lv_theme_material_init+0x1888>
|
|
16d4c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
16d4e: 2112 movs r1, #18
|
|
16d50: 4620 mov r0, r4
|
|
16d52: 4b39 ldr r3, [pc, #228] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16d54: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
16d56: 4b2c ldr r3, [pc, #176] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16d58: 681c ldr r4, [r3, #0]
|
|
16d5a: 3430 adds r4, #48 ; 0x30
|
|
16d5c: 2000 movs r0, #0
|
|
16d5e: 4b37 ldr r3, [pc, #220] ; (16e3c <lv_theme_material_init+0x30c>)
|
|
16d60: 4798 blx r3
|
|
16d62: 2801 cmp r0, #1
|
|
16d64: f241 8338 bls.w 183d8 <lv_theme_material_init+0x18a8>
|
|
16d68: 2000 movs r0, #0
|
|
16d6a: 4b32 ldr r3, [pc, #200] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16d6c: 4798 blx r3
|
|
16d6e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16d72: 0040 lsls r0, r0, #1
|
|
16d74: 3050 adds r0, #80 ; 0x50
|
|
16d76: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16d7a: f281 8348 bge.w 1840e <lv_theme_material_init+0x18de>
|
|
16d7e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
16d80: 2113 movs r1, #19
|
|
16d82: 4620 mov r0, r4
|
|
16d84: 4b2c ldr r3, [pc, #176] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16d86: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
16d88: 4b1f ldr r3, [pc, #124] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16d8a: 681c ldr r4, [r3, #0]
|
|
16d8c: 3430 adds r4, #48 ; 0x30
|
|
16d8e: 2000 movs r0, #0
|
|
16d90: 4b2a ldr r3, [pc, #168] ; (16e3c <lv_theme_material_init+0x30c>)
|
|
16d92: 4798 blx r3
|
|
16d94: 2801 cmp r0, #1
|
|
16d96: f241 834a bls.w 1842e <lv_theme_material_init+0x18fe>
|
|
16d9a: 2000 movs r0, #0
|
|
16d9c: 4b25 ldr r3, [pc, #148] ; (16e34 <lv_theme_material_init+0x304>)
|
|
16d9e: 4798 blx r3
|
|
16da0: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16da4: 0040 lsls r0, r0, #1
|
|
16da6: 3050 adds r0, #80 ; 0x50
|
|
16da8: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16dac: f281 835a bge.w 18464 <lv_theme_material_init+0x1934>
|
|
16db0: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
16db2: 2111 movs r1, #17
|
|
16db4: 4620 mov r0, r4
|
|
16db6: 4b20 ldr r3, [pc, #128] ; (16e38 <lv_theme_material_init+0x308>)
|
|
16db8: 4798 blx r3
|
|
lv_style_set_text_color(&styles->calendar_header, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x888888) : LV_COLOR_WHITE);
|
|
16dba: 4b13 ldr r3, [pc, #76] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16dbc: 6818 ldr r0, [r3, #0]
|
|
16dbe: 6a1b ldr r3, [r3, #32]
|
|
16dc0: f013 0302 ands.w r3, r3, #2
|
|
16dc4: bf14 ite ne
|
|
16dc6: 2122 movne r1, #34 ; 0x22
|
|
16dc8: 213f moveq r1, #63 ; 0x3f
|
|
16dca: 2b00 cmp r3, #0
|
|
16dcc: bf14 ite ne
|
|
16dce: 2311 movne r3, #17
|
|
16dd0: 231f moveq r3, #31
|
|
16dd2: f04f 0200 mov.w r2, #0
|
|
16dd6: f363 0204 bfi r2, r3, #0, #5
|
|
16dda: f361 124a bfi r2, r1, #5, #6
|
|
16dde: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
16de2: f249 0189 movw r1, #37001 ; 0x9089
|
|
16de6: 3030 adds r0, #48 ; 0x30
|
|
16de8: 4b11 ldr r3, [pc, #68] ; (16e30 <lv_theme_material_init+0x300>)
|
|
16dea: 4798 blx r3
|
|
style_init_reset(&styles->calendar_daynames);
|
|
16dec: 4c06 ldr r4, [pc, #24] ; (16e08 <lv_theme_material_init+0x2d8>)
|
|
16dee: 6820 ldr r0, [r4, #0]
|
|
16df0: 3034 adds r0, #52 ; 0x34
|
|
16df2: 4b0e ldr r3, [pc, #56] ; (16e2c <lv_theme_material_init+0x2fc>)
|
|
16df4: 4798 blx r3
|
|
lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee));
|
|
16df6: 6820 ldr r0, [r4, #0]
|
|
16df8: 3034 adds r0, #52 ; 0x34
|
|
16dfa: 6a23 ldr r3, [r4, #32]
|
|
16dfc: f013 0f02 tst.w r3, #2
|
|
16e00: f041 8340 bne.w 18484 <lv_theme_material_init+0x1954>
|
|
16e04: e01c b.n 16e40 <lv_theme_material_init+0x310>
|
|
16e06: bf00 nop
|
|
16e08: 20006bd8 .word 0x20006bd8
|
|
16e0c: 00014a69 .word 0x00014a69
|
|
16e10: 00015cb1 .word 0x00015cb1
|
|
16e14: 00016a2d .word 0x00016a2d
|
|
16e18: 00015e19 .word 0x00015e19
|
|
16e1c: 000160bd .word 0x000160bd
|
|
16e20: 00016201 .word 0x00016201
|
|
16e24: 0001643d .word 0x0001643d
|
|
16e28: 0001691d .word 0x0001691d
|
|
16e2c: 00014a49 .word 0x00014a49
|
|
16e30: 00006a0d .word 0x00006a0d
|
|
16e34: 00010f25 .word 0x00010f25
|
|
16e38: 000068c9 .word 0x000068c9
|
|
16e3c: 00010f41 .word 0x00010f41
|
|
16e40: 231d movs r3, #29
|
|
16e42: 213b movs r1, #59 ; 0x3b
|
|
16e44: 461c mov r4, r3
|
|
16e46: f04f 0200 mov.w r2, #0
|
|
16e4a: f364 0204 bfi r2, r4, #0, #5
|
|
16e4e: f361 124a bfi r2, r1, #5, #6
|
|
16e52: f363 22cf bfi r2, r3, #11, #5
|
|
16e56: f248 0189 movw r1, #32905 ; 0x8089
|
|
16e5a: 4bb8 ldr r3, [pc, #736] ; (1713c <lv_theme_material_init+0x60c>)
|
|
16e5c: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF);
|
|
16e5e: 4bb8 ldr r3, [pc, #736] ; (17140 <lv_theme_material_init+0x610>)
|
|
16e60: 681c ldr r4, [r3, #0]
|
|
16e62: 3434 adds r4, #52 ; 0x34
|
|
16e64: 2000 movs r0, #0
|
|
16e66: 4bb7 ldr r3, [pc, #732] ; (17144 <lv_theme_material_init+0x614>)
|
|
16e68: 4798 blx r3
|
|
16e6a: 2801 cmp r0, #1
|
|
16e6c: f241 830f bls.w 1848e <lv_theme_material_init+0x195e>
|
|
16e70: 2000 movs r0, #0
|
|
16e72: 4bb5 ldr r3, [pc, #724] ; (17148 <lv_theme_material_init+0x618>)
|
|
16e74: 4798 blx r3
|
|
16e76: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16e7a: 0040 lsls r0, r0, #1
|
|
16e7c: 3050 adds r0, #80 ; 0x50
|
|
16e7e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16e82: f281 831f bge.w 184c4 <lv_theme_material_init+0x1994>
|
|
16e86: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
16e88: 2112 movs r1, #18
|
|
16e8a: 4620 mov r0, r4
|
|
16e8c: 4baf ldr r3, [pc, #700] ; (1714c <lv_theme_material_init+0x61c>)
|
|
16e8e: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF);
|
|
16e90: 4bab ldr r3, [pc, #684] ; (17140 <lv_theme_material_init+0x610>)
|
|
16e92: 681c ldr r4, [r3, #0]
|
|
16e94: 3434 adds r4, #52 ; 0x34
|
|
16e96: 2000 movs r0, #0
|
|
16e98: 4baa ldr r3, [pc, #680] ; (17144 <lv_theme_material_init+0x614>)
|
|
16e9a: 4798 blx r3
|
|
16e9c: 2801 cmp r0, #1
|
|
16e9e: f241 8321 bls.w 184e4 <lv_theme_material_init+0x19b4>
|
|
16ea2: 2000 movs r0, #0
|
|
16ea4: 4ba8 ldr r3, [pc, #672] ; (17148 <lv_theme_material_init+0x618>)
|
|
16ea6: 4798 blx r3
|
|
16ea8: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16eac: 0040 lsls r0, r0, #1
|
|
16eae: 3050 adds r0, #80 ; 0x50
|
|
16eb0: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16eb4: f281 8331 bge.w 1851a <lv_theme_material_init+0x19ea>
|
|
16eb8: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
16eba: 2113 movs r1, #19
|
|
16ebc: 4620 mov r0, r4
|
|
16ebe: 4ba3 ldr r3, [pc, #652] ; (1714c <lv_theme_material_init+0x61c>)
|
|
16ec0: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF);
|
|
16ec2: 4b9f ldr r3, [pc, #636] ; (17140 <lv_theme_material_init+0x610>)
|
|
16ec4: 681c ldr r4, [r3, #0]
|
|
16ec6: 3434 adds r4, #52 ; 0x34
|
|
16ec8: 2000 movs r0, #0
|
|
16eca: 4b9e ldr r3, [pc, #632] ; (17144 <lv_theme_material_init+0x614>)
|
|
16ecc: 4798 blx r3
|
|
16ece: 2801 cmp r0, #1
|
|
16ed0: f241 8333 bls.w 1853a <lv_theme_material_init+0x1a0a>
|
|
16ed4: 2000 movs r0, #0
|
|
16ed6: 4b9c ldr r3, [pc, #624] ; (17148 <lv_theme_material_init+0x618>)
|
|
16ed8: 4798 blx r3
|
|
16eda: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
16ede: 0040 lsls r0, r0, #1
|
|
16ee0: 3050 adds r0, #80 ; 0x50
|
|
16ee2: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16ee6: f281 8343 bge.w 18570 <lv_theme_material_init+0x1a40>
|
|
16eea: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
16eec: 2111 movs r1, #17
|
|
16eee: 4620 mov r0, r4
|
|
16ef0: 4b96 ldr r3, [pc, #600] ; (1714c <lv_theme_material_init+0x61c>)
|
|
16ef2: 4798 blx r3
|
|
style_init_reset(&styles->calendar_date_nums);
|
|
16ef4: 4c92 ldr r4, [pc, #584] ; (17140 <lv_theme_material_init+0x610>)
|
|
16ef6: 6820 ldr r0, [r4, #0]
|
|
16ef8: 302c adds r0, #44 ; 0x2c
|
|
16efa: 4b95 ldr r3, [pc, #596] ; (17150 <lv_theme_material_init+0x620>)
|
|
16efc: 4798 blx r3
|
|
lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4));
|
|
16efe: 6824 ldr r4, [r4, #0]
|
|
16f00: 342c adds r4, #44 ; 0x2c
|
|
16f02: 2000 movs r0, #0
|
|
16f04: 4b90 ldr r3, [pc, #576] ; (17148 <lv_theme_material_init+0x618>)
|
|
16f06: 4798 blx r3
|
|
16f08: 3014 adds r0, #20
|
|
16f0a: 0080 lsls r0, r0, #2
|
|
16f0c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
16f10: f281 833e bge.w 18590 <lv_theme_material_init+0x1a60>
|
|
16f14: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
16f16: 2101 movs r1, #1
|
|
16f18: 4620 mov r0, r4
|
|
16f1a: 4b8c ldr r3, [pc, #560] ; (1714c <lv_theme_material_init+0x61c>)
|
|
16f1c: 4798 blx r3
|
|
lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE);
|
|
16f1e: 4b88 ldr r3, [pc, #544] ; (17140 <lv_theme_material_init+0x610>)
|
|
16f20: 6818 ldr r0, [r3, #0]
|
|
16f22: 302c adds r0, #44 ; 0x2c
|
|
16f24: 6a1b ldr r3, [r3, #32]
|
|
16f26: f013 0f02 tst.w r3, #2
|
|
16f2a: f041 833f bne.w 185ac <lv_theme_material_init+0x1a7c>
|
|
16f2e: 231f movs r3, #31
|
|
16f30: 213f movs r1, #63 ; 0x3f
|
|
16f32: 461c mov r4, r3
|
|
16f34: f04f 0200 mov.w r2, #0
|
|
16f38: f364 0204 bfi r2, r4, #0, #5
|
|
16f3c: f361 124a bfi r2, r1, #5, #6
|
|
16f40: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
16f44: f248 1189 movw r1, #33161 ; 0x8189
|
|
16f48: 4b7c ldr r3, [pc, #496] ; (1713c <lv_theme_material_init+0x60c>)
|
|
16f4a: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? LV_OPA_20 : LV_OPA_40);
|
|
16f4c: 4b7c ldr r3, [pc, #496] ; (17140 <lv_theme_material_init+0x610>)
|
|
16f4e: 6818 ldr r0, [r3, #0]
|
|
16f50: 6a1b ldr r3, [r3, #32]
|
|
16f52: f013 0f02 tst.w r3, #2
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
16f56: bf14 ite ne
|
|
16f58: 2233 movne r2, #51 ; 0x33
|
|
16f5a: 2266 moveq r2, #102 ; 0x66
|
|
16f5c: f44f 7196 mov.w r1, #300 ; 0x12c
|
|
16f60: 302c adds r0, #44 ; 0x2c
|
|
16f62: 4d7c ldr r5, [pc, #496] ; (17154 <lv_theme_material_init+0x624>)
|
|
16f64: 47a8 blx r5
|
|
lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_PRESSED, LV_OPA_20);
|
|
16f66: 4c76 ldr r4, [pc, #472] ; (17140 <lv_theme_material_init+0x610>)
|
|
16f68: 6820 ldr r0, [r4, #0]
|
|
16f6a: 2233 movs r2, #51 ; 0x33
|
|
16f6c: f241 012c movw r1, #4140 ; 0x102c
|
|
16f70: 302c adds r0, #44 ; 0x2c
|
|
16f72: 47a8 blx r5
|
|
lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_OPA_COVER);
|
|
16f74: 6820 ldr r0, [r4, #0]
|
|
16f76: 22ff movs r2, #255 ; 0xff
|
|
16f78: f44f 710b mov.w r1, #556 ; 0x22c
|
|
16f7c: 302c adds r0, #44 ; 0x2c
|
|
16f7e: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_COLOR_WHITE);
|
|
16f80: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
16f82: 4b75 ldr r3, [pc, #468] ; (17158 <lv_theme_material_init+0x628>)
|
|
16f84: 881a ldrh r2, [r3, #0]
|
|
16f86: f248 2189 movw r1, #33417 ; 0x8289
|
|
16f8a: 302c adds r0, #44 ; 0x2c
|
|
16f8c: 4d6b ldr r5, [pc, #428] ; (1713c <lv_theme_material_init+0x60c>)
|
|
16f8e: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, theme.color_primary);
|
|
16f90: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
16f92: 89a2 ldrh r2, [r4, #12]
|
|
16f94: f240 2129 movw r1, #553 ; 0x229
|
|
16f98: 302c adds r0, #44 ; 0x2c
|
|
16f9a: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x666666) : LV_COLOR_WHITE);
|
|
16f9c: 6820 ldr r0, [r4, #0]
|
|
16f9e: 6a23 ldr r3, [r4, #32]
|
|
16fa0: f013 0302 ands.w r3, r3, #2
|
|
16fa4: bf14 ite ne
|
|
16fa6: 2119 movne r1, #25
|
|
16fa8: 213f moveq r1, #63 ; 0x3f
|
|
16faa: 2b00 cmp r3, #0
|
|
16fac: bf14 ite ne
|
|
16fae: 230c movne r3, #12
|
|
16fb0: 231f moveq r3, #31
|
|
16fb2: f04f 0200 mov.w r2, #0
|
|
16fb6: f363 0204 bfi r2, r3, #0, #5
|
|
16fba: f361 124a bfi r2, r1, #5, #6
|
|
16fbe: f363 22cf bfi r2, r3, #11, #5
|
|
16fc2: 2129 movs r1, #41 ; 0x29
|
|
16fc4: 302c adds r0, #44 ; 0x2c
|
|
16fc6: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary);
|
|
16fc8: 6820 ldr r0, [r4, #0]
|
|
16fca: 89a2 ldrh r2, [r4, #12]
|
|
16fcc: f240 1129 movw r1, #297 ; 0x129
|
|
16fd0: 302c adds r0, #44 ; 0x2c
|
|
16fd2: 47a8 blx r5
|
|
lv_style_set_border_width(&styles->calendar_date_nums, LV_STATE_CHECKED, 2);
|
|
16fd4: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
16fd6: 2202 movs r2, #2
|
|
16fd8: f44f 7198 mov.w r1, #304 ; 0x130
|
|
16fdc: 302c adds r0, #44 ; 0x2c
|
|
16fde: 4e5b ldr r6, [pc, #364] ; (1714c <lv_theme_material_init+0x61c>)
|
|
16fe0: 47b0 blx r6
|
|
lv_style_set_border_side(&styles->calendar_date_nums, LV_STATE_CHECKED, LV_BORDER_SIDE_LEFT);
|
|
16fe2: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar)
|
|
16fe4: 2204 movs r2, #4
|
|
16fe6: f240 1131 movw r1, #305 ; 0x131
|
|
16fea: 302c adds r0, #44 ; 0x2c
|
|
16fec: 47b0 blx r6
|
|
lv_style_set_border_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary);
|
|
16fee: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
16ff0: 89a2 ldrh r2, [r4, #12]
|
|
16ff2: f240 1139 movw r1, #313 ; 0x139
|
|
16ff6: 302c adds r0, #44 ; 0x2c
|
|
16ff8: 47a8 blx r5
|
|
lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3));
|
|
16ffa: 6824 ldr r4, [r4, #0]
|
|
16ffc: 342c adds r4, #44 ; 0x2c
|
|
16ffe: 2000 movs r0, #0
|
|
17000: 4b51 ldr r3, [pc, #324] ; (17148 <lv_theme_material_init+0x618>)
|
|
17002: 4798 blx r3
|
|
17004: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
17008: 3050 adds r0, #80 ; 0x50
|
|
1700a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1700e: f281 82d2 bge.w 185b6 <lv_theme_material_init+0x1a86>
|
|
17012: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
17014: 2114 movs r1, #20
|
|
17016: 4620 mov r0, r4
|
|
17018: 4b4c ldr r3, [pc, #304] ; (1714c <lv_theme_material_init+0x61c>)
|
|
1701a: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF);
|
|
1701c: 4b48 ldr r3, [pc, #288] ; (17140 <lv_theme_material_init+0x610>)
|
|
1701e: 681c ldr r4, [r3, #0]
|
|
17020: 342c adds r4, #44 ; 0x2c
|
|
17022: 2000 movs r0, #0
|
|
17024: 4b47 ldr r3, [pc, #284] ; (17144 <lv_theme_material_init+0x614>)
|
|
17026: 4798 blx r3
|
|
17028: 2801 cmp r0, #1
|
|
1702a: f241 82d3 bls.w 185d4 <lv_theme_material_init+0x1aa4>
|
|
1702e: 2000 movs r0, #0
|
|
17030: 4b45 ldr r3, [pc, #276] ; (17148 <lv_theme_material_init+0x618>)
|
|
17032: 4798 blx r3
|
|
17034: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17038: 0040 lsls r0, r0, #1
|
|
1703a: 3050 adds r0, #80 ; 0x50
|
|
1703c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17040: f281 82e3 bge.w 1860a <lv_theme_material_init+0x1ada>
|
|
17044: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
17046: 2112 movs r1, #18
|
|
17048: 4620 mov r0, r4
|
|
1704a: 4b40 ldr r3, [pc, #256] ; (1714c <lv_theme_material_init+0x61c>)
|
|
1704c: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF);
|
|
1704e: 4b3c ldr r3, [pc, #240] ; (17140 <lv_theme_material_init+0x610>)
|
|
17050: 681c ldr r4, [r3, #0]
|
|
17052: 342c adds r4, #44 ; 0x2c
|
|
17054: 2000 movs r0, #0
|
|
17056: 4b3b ldr r3, [pc, #236] ; (17144 <lv_theme_material_init+0x614>)
|
|
17058: 4798 blx r3
|
|
1705a: 2801 cmp r0, #1
|
|
1705c: f241 82e5 bls.w 1862a <lv_theme_material_init+0x1afa>
|
|
17060: 2000 movs r0, #0
|
|
17062: 4b39 ldr r3, [pc, #228] ; (17148 <lv_theme_material_init+0x618>)
|
|
17064: 4798 blx r3
|
|
17066: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1706a: 0040 lsls r0, r0, #1
|
|
1706c: 3050 adds r0, #80 ; 0x50
|
|
1706e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17072: f281 82f5 bge.w 18660 <lv_theme_material_init+0x1b30>
|
|
17076: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
17078: 2113 movs r1, #19
|
|
1707a: 4620 mov r0, r4
|
|
1707c: 4b33 ldr r3, [pc, #204] ; (1714c <lv_theme_material_init+0x61c>)
|
|
1707e: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF);
|
|
17080: 4b2f ldr r3, [pc, #188] ; (17140 <lv_theme_material_init+0x610>)
|
|
17082: 681c ldr r4, [r3, #0]
|
|
17084: 342c adds r4, #44 ; 0x2c
|
|
17086: 2000 movs r0, #0
|
|
17088: 4b2e ldr r3, [pc, #184] ; (17144 <lv_theme_material_init+0x614>)
|
|
1708a: 4798 blx r3
|
|
1708c: 2801 cmp r0, #1
|
|
1708e: f241 82f7 bls.w 18680 <lv_theme_material_init+0x1b50>
|
|
17092: 2000 movs r0, #0
|
|
17094: 4b2c ldr r3, [pc, #176] ; (17148 <lv_theme_material_init+0x618>)
|
|
17096: 4798 blx r3
|
|
17098: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1709c: 0040 lsls r0, r0, #1
|
|
1709e: 3050 adds r0, #80 ; 0x50
|
|
170a0: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
170a4: f281 8307 bge.w 186b6 <lv_theme_material_init+0x1b86>
|
|
170a8: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
170aa: 2111 movs r1, #17
|
|
170ac: 4620 mov r0, r4
|
|
170ae: 4b27 ldr r3, [pc, #156] ; (1714c <lv_theme_material_init+0x61c>)
|
|
170b0: 4798 blx r3
|
|
style_init_reset(&styles->cpicker_bg);
|
|
170b2: 4c23 ldr r4, [pc, #140] ; (17140 <lv_theme_material_init+0x610>)
|
|
170b4: 6820 ldr r0, [r4, #0]
|
|
170b6: 3038 adds r0, #56 ; 0x38
|
|
170b8: 4b25 ldr r3, [pc, #148] ; (17150 <lv_theme_material_init+0x620>)
|
|
170ba: 4798 blx r3
|
|
lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30));
|
|
170bc: 6824 ldr r4, [r4, #0]
|
|
170be: 3438 adds r4, #56 ; 0x38
|
|
170c0: 2000 movs r0, #0
|
|
170c2: 4b21 ldr r3, [pc, #132] ; (17148 <lv_theme_material_init+0x618>)
|
|
170c4: 4798 blx r3
|
|
170c6: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
170ca: 0040 lsls r0, r0, #1
|
|
170cc: 3050 adds r0, #80 ; 0x50
|
|
170ce: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
170d2: f281 8305 bge.w 186e0 <lv_theme_material_init+0x1bb0>
|
|
170d6: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar)
|
|
170d8: 21c0 movs r1, #192 ; 0xc0
|
|
170da: 4620 mov r0, r4
|
|
170dc: 4b1b ldr r3, [pc, #108] ; (1714c <lv_theme_material_init+0x61c>)
|
|
170de: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
170e0: 4c17 ldr r4, [pc, #92] ; (17140 <lv_theme_material_init+0x610>)
|
|
170e2: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
170e4: 22ff movs r2, #255 ; 0xff
|
|
170e6: 212c movs r1, #44 ; 0x2c
|
|
170e8: 3038 adds r0, #56 ; 0x38
|
|
170ea: 4b1a ldr r3, [pc, #104] ; (17154 <lv_theme_material_init+0x624>)
|
|
170ec: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->cpicker_bg, LV_STATE_DEFAULT, COLOR_SCR);
|
|
170ee: 6820 ldr r0, [r4, #0]
|
|
170f0: 6a23 ldr r3, [r4, #32]
|
|
170f2: f013 0302 ands.w r3, r3, #2
|
|
170f6: bf14 ite ne
|
|
170f8: 211d movne r1, #29
|
|
170fa: 2108 moveq r1, #8
|
|
170fc: 2b00 cmp r3, #0
|
|
170fe: bf15 itete ne
|
|
17100: 243b movne r4, #59 ; 0x3b
|
|
17102: 2412 moveq r4, #18
|
|
17104: 231e movne r3, #30
|
|
17106: 230b moveq r3, #11
|
|
17108: f04f 0200 mov.w r2, #0
|
|
1710c: f363 0204 bfi r2, r3, #0, #5
|
|
17110: f364 124a bfi r2, r4, #5, #6
|
|
17114: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17118: 2129 movs r1, #41 ; 0x29
|
|
1711a: 3038 adds r0, #56 ; 0x38
|
|
1711c: 4b07 ldr r3, [pc, #28] ; (1713c <lv_theme_material_init+0x60c>)
|
|
1711e: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20));
|
|
17120: 4b07 ldr r3, [pc, #28] ; (17140 <lv_theme_material_init+0x610>)
|
|
17122: 681c ldr r4, [r3, #0]
|
|
17124: 3438 adds r4, #56 ; 0x38
|
|
17126: 2000 movs r0, #0
|
|
17128: 4b07 ldr r3, [pc, #28] ; (17148 <lv_theme_material_init+0x618>)
|
|
1712a: 4798 blx r3
|
|
1712c: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17130: 0080 lsls r0, r0, #2
|
|
17132: 3050 adds r0, #80 ; 0x50
|
|
17134: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17138: e010 b.n 1715c <lv_theme_material_init+0x62c>
|
|
1713a: bf00 nop
|
|
1713c: 00006a0d .word 0x00006a0d
|
|
17140: 20006bd8 .word 0x20006bd8
|
|
17144: 00010f41 .word 0x00010f41
|
|
17148: 00010f25 .word 0x00010f25
|
|
1714c: 000068c9 .word 0x000068c9
|
|
17150: 00014a49 .word 0x00014a49
|
|
17154: 00006b51 .word 0x00006b51
|
|
17158: 0002956c .word 0x0002956c
|
|
1715c: f281 82d0 bge.w 18700 <lv_theme_material_init+0x1bd0>
|
|
17160: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
17162: 2114 movs r1, #20
|
|
17164: 4620 mov r0, r4
|
|
17166: 4eb6 ldr r6, [pc, #728] ; (17440 <lv_theme_material_init+0x910>)
|
|
17168: 47b0 blx r6
|
|
lv_style_set_radius(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
1716a: 4cb6 ldr r4, [pc, #728] ; (17444 <lv_theme_material_init+0x914>)
|
|
1716c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
1716e: f647 72ff movw r2, #32767 ; 0x7fff
|
|
17172: 2101 movs r1, #1
|
|
17174: 3038 adds r0, #56 ; 0x38
|
|
17176: 47b0 blx r6
|
|
style_init_reset(&styles->cpicker_indic);
|
|
17178: 6820 ldr r0, [r4, #0]
|
|
1717a: 303c adds r0, #60 ; 0x3c
|
|
1717c: 4bb2 ldr r3, [pc, #712] ; (17448 <lv_theme_material_init+0x918>)
|
|
1717e: 4798 blx r3
|
|
lv_style_set_radius(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
17180: 6820 ldr r0, [r4, #0]
|
|
17182: f647 72ff movw r2, #32767 ; 0x7fff
|
|
17186: 2101 movs r1, #1
|
|
17188: 303c adds r0, #60 ; 0x3c
|
|
1718a: 47b0 blx r6
|
|
lv_style_set_bg_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_WHITE);
|
|
1718c: 6820 ldr r0, [r4, #0]
|
|
1718e: 4faf ldr r7, [pc, #700] ; (1744c <lv_theme_material_init+0x91c>)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17190: 883a ldrh r2, [r7, #0]
|
|
17192: 2129 movs r1, #41 ; 0x29
|
|
17194: 303c adds r0, #60 ; 0x3c
|
|
17196: 4dae ldr r5, [pc, #696] ; (17450 <lv_theme_material_init+0x920>)
|
|
17198: 47a8 blx r5
|
|
lv_style_set_bg_opa(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
1719a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
1719c: 22ff movs r2, #255 ; 0xff
|
|
1719e: 212c movs r1, #44 ; 0x2c
|
|
171a0: 303c adds r0, #60 ; 0x3c
|
|
171a2: 4bac ldr r3, [pc, #688] ; (17454 <lv_theme_material_init+0x924>)
|
|
171a4: 4798 blx r3
|
|
lv_style_set_border_width(&styles->cpicker_indic, LV_STATE_DEFAULT, 2);
|
|
171a6: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
171a8: 2202 movs r2, #2
|
|
171aa: 2130 movs r1, #48 ; 0x30
|
|
171ac: 303c adds r0, #60 ; 0x3c
|
|
171ae: 47b0 blx r6
|
|
lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_GRAY);
|
|
171b0: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
171b2: 88ba ldrh r2, [r7, #4]
|
|
171b4: 2139 movs r1, #57 ; 0x39
|
|
171b6: 303c adds r0, #60 ; 0x3c
|
|
171b8: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_FOCUSED, theme.color_primary);
|
|
171ba: 6820 ldr r0, [r4, #0]
|
|
171bc: 89a2 ldrh r2, [r4, #12]
|
|
171be: f240 2139 movw r1, #569 ; 0x239
|
|
171c2: 303c adds r0, #60 ; 0x3c
|
|
171c4: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_EDITED, theme.color_secondary);
|
|
171c6: 6820 ldr r0, [r4, #0]
|
|
171c8: 89e2 ldrh r2, [r4, #14]
|
|
171ca: f240 4139 movw r1, #1081 ; 0x439
|
|
171ce: 303c adds r0, #60 ; 0x3c
|
|
171d0: 47a8 blx r5
|
|
lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
171d2: 6824 ldr r4, [r4, #0]
|
|
171d4: 343c adds r4, #60 ; 0x3c
|
|
171d6: 2000 movs r0, #0
|
|
171d8: 4b9f ldr r3, [pc, #636] ; (17458 <lv_theme_material_init+0x928>)
|
|
171da: 4798 blx r3
|
|
171dc: eb00 0340 add.w r3, r0, r0, lsl #1
|
|
171e0: eb00 0083 add.w r0, r0, r3, lsl #2
|
|
171e4: 3050 adds r0, #80 ; 0x50
|
|
171e6: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
171ea: f281 8299 bge.w 18720 <lv_theme_material_init+0x1bf0>
|
|
171ee: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
171f0: 2112 movs r1, #18
|
|
171f2: 4620 mov r0, r4
|
|
171f4: 4b92 ldr r3, [pc, #584] ; (17440 <lv_theme_material_init+0x910>)
|
|
171f6: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
171f8: 4b92 ldr r3, [pc, #584] ; (17444 <lv_theme_material_init+0x914>)
|
|
171fa: 681c ldr r4, [r3, #0]
|
|
171fc: 343c adds r4, #60 ; 0x3c
|
|
171fe: 2000 movs r0, #0
|
|
17200: 4b95 ldr r3, [pc, #596] ; (17458 <lv_theme_material_init+0x928>)
|
|
17202: 4798 blx r3
|
|
17204: eb00 0340 add.w r3, r0, r0, lsl #1
|
|
17208: eb00 0083 add.w r0, r0, r3, lsl #2
|
|
1720c: 3050 adds r0, #80 ; 0x50
|
|
1720e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17212: f281 8296 bge.w 18742 <lv_theme_material_init+0x1c12>
|
|
17216: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
17218: 2113 movs r1, #19
|
|
1721a: 4620 mov r0, r4
|
|
1721c: 4b88 ldr r3, [pc, #544] ; (17440 <lv_theme_material_init+0x910>)
|
|
1721e: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
17220: 4b88 ldr r3, [pc, #544] ; (17444 <lv_theme_material_init+0x914>)
|
|
17222: 681c ldr r4, [r3, #0]
|
|
17224: 343c adds r4, #60 ; 0x3c
|
|
17226: 2000 movs r0, #0
|
|
17228: 4b8b ldr r3, [pc, #556] ; (17458 <lv_theme_material_init+0x928>)
|
|
1722a: 4798 blx r3
|
|
1722c: eb00 0340 add.w r3, r0, r0, lsl #1
|
|
17230: eb00 0083 add.w r0, r0, r3, lsl #2
|
|
17234: 3050 adds r0, #80 ; 0x50
|
|
17236: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1723a: f281 8293 bge.w 18764 <lv_theme_material_init+0x1c34>
|
|
1723e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
17240: 2110 movs r1, #16
|
|
17242: 4620 mov r0, r4
|
|
17244: 4b7e ldr r3, [pc, #504] ; (17440 <lv_theme_material_init+0x910>)
|
|
17246: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
17248: 4b7e ldr r3, [pc, #504] ; (17444 <lv_theme_material_init+0x914>)
|
|
1724a: 681c ldr r4, [r3, #0]
|
|
1724c: 343c adds r4, #60 ; 0x3c
|
|
1724e: 2000 movs r0, #0
|
|
17250: 4b81 ldr r3, [pc, #516] ; (17458 <lv_theme_material_init+0x928>)
|
|
17252: 4798 blx r3
|
|
17254: eb00 0340 add.w r3, r0, r0, lsl #1
|
|
17258: eb00 0083 add.w r0, r0, r3, lsl #2
|
|
1725c: 3050 adds r0, #80 ; 0x50
|
|
1725e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17262: f281 8290 bge.w 18786 <lv_theme_material_init+0x1c56>
|
|
17266: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
17268: 2111 movs r1, #17
|
|
1726a: 4620 mov r0, r4
|
|
1726c: 4b74 ldr r3, [pc, #464] ; (17440 <lv_theme_material_init+0x910>)
|
|
1726e: 4798 blx r3
|
|
style_init_reset(&styles->cb_bg);
|
|
17270: 4c74 ldr r4, [pc, #464] ; (17444 <lv_theme_material_init+0x914>)
|
|
17272: 6820 ldr r0, [r4, #0]
|
|
17274: 304c adds r0, #76 ; 0x4c
|
|
17276: 4b74 ldr r3, [pc, #464] ; (17448 <lv_theme_material_init+0x918>)
|
|
17278: 4798 blx r3
|
|
lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4));
|
|
1727a: 6824 ldr r4, [r4, #0]
|
|
1727c: 344c adds r4, #76 ; 0x4c
|
|
1727e: 2000 movs r0, #0
|
|
17280: 4b75 ldr r3, [pc, #468] ; (17458 <lv_theme_material_init+0x928>)
|
|
17282: 4798 blx r3
|
|
17284: 3014 adds r0, #20
|
|
17286: 0080 lsls r0, r0, #2
|
|
17288: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1728c: f281 828c bge.w 187a8 <lv_theme_material_init+0x1c78>
|
|
17290: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
17292: 2101 movs r1, #1
|
|
17294: 4620 mov r0, r4
|
|
17296: 4b6a ldr r3, [pc, #424] ; (17440 <lv_theme_material_init+0x910>)
|
|
17298: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
1729a: 4b6a ldr r3, [pc, #424] ; (17444 <lv_theme_material_init+0x914>)
|
|
1729c: 681c ldr r4, [r3, #0]
|
|
1729e: 344c adds r4, #76 ; 0x4c
|
|
172a0: 2000 movs r0, #0
|
|
172a2: 4b6d ldr r3, [pc, #436] ; (17458 <lv_theme_material_init+0x928>)
|
|
172a4: 4798 blx r3
|
|
172a6: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
172aa: 0040 lsls r0, r0, #1
|
|
172ac: 3050 adds r0, #80 ; 0x50
|
|
172ae: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
172b2: f281 8287 bge.w 187c4 <lv_theme_material_init+0x1c94>
|
|
172b6: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
172b8: 2114 movs r1, #20
|
|
172ba: 4620 mov r0, r4
|
|
172bc: 4b60 ldr r3, [pc, #384] ; (17440 <lv_theme_material_init+0x910>)
|
|
172be: 4798 blx r3
|
|
lv_style_set_outline_color(&styles->cb_bg, LV_STATE_DEFAULT, theme.color_primary);
|
|
172c0: 4c60 ldr r4, [pc, #384] ; (17444 <lv_theme_material_init+0x914>)
|
|
172c2: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar)
|
|
172c4: 89a2 ldrh r2, [r4, #12]
|
|
172c6: 2149 movs r1, #73 ; 0x49
|
|
172c8: 304c adds r0, #76 ; 0x4c
|
|
172ca: 4b61 ldr r3, [pc, #388] ; (17450 <lv_theme_material_init+0x920>)
|
|
172cc: 4798 blx r3
|
|
lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP);
|
|
172ce: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar)
|
|
172d0: 2200 movs r2, #0
|
|
172d2: 214c movs r1, #76 ; 0x4c
|
|
172d4: 4408 add r0, r1
|
|
172d6: 4d5f ldr r5, [pc, #380] ; (17454 <lv_theme_material_init+0x924>)
|
|
172d8: 47a8 blx r5
|
|
lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_FOCUSED, LV_OPA_50);
|
|
172da: 6820 ldr r0, [r4, #0]
|
|
172dc: 227f movs r2, #127 ; 0x7f
|
|
172de: f44f 7113 mov.w r1, #588 ; 0x24c
|
|
172e2: 304c adds r0, #76 ; 0x4c
|
|
172e4: 47a8 blx r5
|
|
lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3));
|
|
172e6: 6824 ldr r4, [r4, #0]
|
|
172e8: 344c adds r4, #76 ; 0x4c
|
|
172ea: 2000 movs r0, #0
|
|
172ec: 4b5a ldr r3, [pc, #360] ; (17458 <lv_theme_material_init+0x928>)
|
|
172ee: 4798 blx r3
|
|
172f0: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
172f4: 3050 adds r0, #80 ; 0x50
|
|
172f6: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
172fa: f281 8273 bge.w 187e4 <lv_theme_material_init+0x1cb4>
|
|
172fe: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar)
|
|
17300: 2140 movs r1, #64 ; 0x40
|
|
17302: 4620 mov r0, r4
|
|
17304: 4b4e ldr r3, [pc, #312] ; (17440 <lv_theme_material_init+0x910>)
|
|
17306: 4798 blx r3
|
|
lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
17308: 4b4e ldr r3, [pc, #312] ; (17444 <lv_theme_material_init+0x914>)
|
|
1730a: 681c ldr r4, [r3, #0]
|
|
1730c: 344c adds r4, #76 ; 0x4c
|
|
1730e: 2000 movs r0, #0
|
|
17310: 4b51 ldr r3, [pc, #324] ; (17458 <lv_theme_material_init+0x928>)
|
|
17312: 4798 blx r3
|
|
17314: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17318: 0040 lsls r0, r0, #1
|
|
1731a: 3050 adds r0, #80 ; 0x50
|
|
1731c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17320: f281 826f bge.w 18802 <lv_theme_material_init+0x1cd2>
|
|
17324: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar)
|
|
17326: 2141 movs r1, #65 ; 0x41
|
|
17328: 4620 mov r0, r4
|
|
1732a: 4d45 ldr r5, [pc, #276] ; (17440 <lv_theme_material_init+0x910>)
|
|
1732c: 47a8 blx r5
|
|
lv_style_set_transition_time(&styles->cb_bg, LV_STATE_DEFAULT, TRANSITION_TIME);
|
|
1732e: 4c45 ldr r4, [pc, #276] ; (17444 <lv_theme_material_init+0x914>)
|
|
17330: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar)
|
|
17332: 2296 movs r2, #150 ; 0x96
|
|
17334: 21b0 movs r1, #176 ; 0xb0
|
|
17336: 304c adds r0, #76 ; 0x4c
|
|
17338: 47a8 blx r5
|
|
lv_style_set_transition_prop_6(&styles->cb_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA);
|
|
1733a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar)
|
|
1733c: 224c movs r2, #76 ; 0x4c
|
|
1733e: 21b7 movs r1, #183 ; 0xb7
|
|
17340: 4410 add r0, r2
|
|
17342: 47a8 blx r5
|
|
style_init_reset(&styles->cb_bullet);
|
|
17344: 6820 ldr r0, [r4, #0]
|
|
17346: 3050 adds r0, #80 ; 0x50
|
|
17348: 4b3f ldr r3, [pc, #252] ; (17448 <lv_theme_material_init+0x918>)
|
|
1734a: 4798 blx r3
|
|
lv_style_set_outline_opa(&styles->cb_bullet, LV_STATE_FOCUSED, LV_OPA_TRANSP);
|
|
1734c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar)
|
|
1734e: 2200 movs r2, #0
|
|
17350: f44f 7113 mov.w r1, #588 ; 0x24c
|
|
17354: 3050 adds r0, #80 ; 0x50
|
|
17356: 4b3f ldr r3, [pc, #252] ; (17454 <lv_theme_material_init+0x924>)
|
|
17358: 4798 blx r3
|
|
lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4));
|
|
1735a: 6824 ldr r4, [r4, #0]
|
|
1735c: 3450 adds r4, #80 ; 0x50
|
|
1735e: 2000 movs r0, #0
|
|
17360: 4b3d ldr r3, [pc, #244] ; (17458 <lv_theme_material_init+0x928>)
|
|
17362: 4798 blx r3
|
|
17364: 3014 adds r0, #20
|
|
17366: 0080 lsls r0, r0, #2
|
|
17368: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1736c: f281 8259 bge.w 18822 <lv_theme_material_init+0x1cf2>
|
|
17370: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
17372: 2101 movs r1, #1
|
|
17374: 4620 mov r0, r4
|
|
17376: 4b32 ldr r3, [pc, #200] ; (17440 <lv_theme_material_init+0x910>)
|
|
17378: 4798 blx r3
|
|
lv_style_set_pattern_image(&styles->cb_bullet, LV_STATE_CHECKED, LV_SYMBOL_OK);
|
|
1737a: 4c32 ldr r4, [pc, #200] ; (17444 <lv_theme_material_init+0x914>)
|
|
1737c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar)
|
|
1737e: 4a37 ldr r2, [pc, #220] ; (1745c <lv_theme_material_init+0x92c>)
|
|
17380: f44f 71b7 mov.w r1, #366 ; 0x16e
|
|
17384: 3050 adds r0, #80 ; 0x50
|
|
17386: 4d36 ldr r5, [pc, #216] ; (17460 <lv_theme_material_init+0x930>)
|
|
17388: 47a8 blx r5
|
|
lv_style_set_pattern_recolor(&styles->cb_bullet, LV_STATE_CHECKED, LV_COLOR_WHITE);
|
|
1738a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar)
|
|
1738c: 4b2f ldr r3, [pc, #188] ; (1744c <lv_theme_material_init+0x91c>)
|
|
1738e: 881a ldrh r2, [r3, #0]
|
|
17390: f240 1169 movw r1, #361 ; 0x169
|
|
17394: 3050 adds r0, #80 ; 0x50
|
|
17396: 4b2e ldr r3, [pc, #184] ; (17450 <lv_theme_material_init+0x920>)
|
|
17398: 4798 blx r3
|
|
lv_style_set_text_font(&styles->cb_bullet, LV_STATE_CHECKED, theme.font_small);
|
|
1739a: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
1739c: 6922 ldr r2, [r4, #16]
|
|
1739e: f248 118e movw r1, #33166 ; 0x818e
|
|
173a2: 3050 adds r0, #80 ; 0x50
|
|
173a4: 47a8 blx r5
|
|
lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
173a6: 6824 ldr r4, [r4, #0]
|
|
173a8: 3450 adds r4, #80 ; 0x50
|
|
173aa: 2000 movs r0, #0
|
|
173ac: 4b2a ldr r3, [pc, #168] ; (17458 <lv_theme_material_init+0x928>)
|
|
173ae: 4798 blx r3
|
|
173b0: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
173b4: 3050 adds r0, #80 ; 0x50
|
|
173b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
173ba: f281 8240 bge.w 1883e <lv_theme_material_init+0x1d0e>
|
|
173be: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
173c0: 2112 movs r1, #18
|
|
173c2: 4620 mov r0, r4
|
|
173c4: 4b1e ldr r3, [pc, #120] ; (17440 <lv_theme_material_init+0x910>)
|
|
173c6: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
173c8: 4b1e ldr r3, [pc, #120] ; (17444 <lv_theme_material_init+0x914>)
|
|
173ca: 681c ldr r4, [r3, #0]
|
|
173cc: 3450 adds r4, #80 ; 0x50
|
|
173ce: 2000 movs r0, #0
|
|
173d0: 4b21 ldr r3, [pc, #132] ; (17458 <lv_theme_material_init+0x928>)
|
|
173d2: 4798 blx r3
|
|
173d4: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
173d8: 3050 adds r0, #80 ; 0x50
|
|
173da: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
173de: f281 823d bge.w 1885c <lv_theme_material_init+0x1d2c>
|
|
173e2: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
173e4: 2113 movs r1, #19
|
|
173e6: 4620 mov r0, r4
|
|
173e8: 4b15 ldr r3, [pc, #84] ; (17440 <lv_theme_material_init+0x910>)
|
|
173ea: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
173ec: 4b15 ldr r3, [pc, #84] ; (17444 <lv_theme_material_init+0x914>)
|
|
173ee: 681c ldr r4, [r3, #0]
|
|
173f0: 3450 adds r4, #80 ; 0x50
|
|
173f2: 2000 movs r0, #0
|
|
173f4: 4b18 ldr r3, [pc, #96] ; (17458 <lv_theme_material_init+0x928>)
|
|
173f6: 4798 blx r3
|
|
173f8: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
173fc: 3050 adds r0, #80 ; 0x50
|
|
173fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17402: f281 823a bge.w 1887a <lv_theme_material_init+0x1d4a>
|
|
17406: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
17408: 2110 movs r1, #16
|
|
1740a: 4620 mov r0, r4
|
|
1740c: 4b0c ldr r3, [pc, #48] ; (17440 <lv_theme_material_init+0x910>)
|
|
1740e: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
17410: 4b0c ldr r3, [pc, #48] ; (17444 <lv_theme_material_init+0x914>)
|
|
17412: 681c ldr r4, [r3, #0]
|
|
17414: 3450 adds r4, #80 ; 0x50
|
|
17416: 2000 movs r0, #0
|
|
17418: 4b0f ldr r3, [pc, #60] ; (17458 <lv_theme_material_init+0x928>)
|
|
1741a: 4798 blx r3
|
|
1741c: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
17420: 3050 adds r0, #80 ; 0x50
|
|
17422: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17426: f281 8237 bge.w 18898 <lv_theme_material_init+0x1d68>
|
|
1742a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
1742c: 2111 movs r1, #17
|
|
1742e: 4620 mov r0, r4
|
|
17430: 4d03 ldr r5, [pc, #12] ; (17440 <lv_theme_material_init+0x910>)
|
|
17432: 47a8 blx r5
|
|
style_init_reset(&styles->kb_bg);
|
|
17434: 4c03 ldr r4, [pc, #12] ; (17444 <lv_theme_material_init+0x914>)
|
|
17436: 6820 ldr r0, [r4, #0]
|
|
17438: 3068 adds r0, #104 ; 0x68
|
|
1743a: 4b03 ldr r3, [pc, #12] ; (17448 <lv_theme_material_init+0x918>)
|
|
1743c: 4798 blx r3
|
|
1743e: e011 b.n 17464 <lv_theme_material_init+0x934>
|
|
17440: 000068c9 .word 0x000068c9
|
|
17444: 20006bd8 .word 0x20006bd8
|
|
17448: 00014a49 .word 0x00014a49
|
|
1744c: 0002956c .word 0x0002956c
|
|
17450: 00006a0d .word 0x00006a0d
|
|
17454: 00006b51 .word 0x00006b51
|
|
17458: 00010f25 .word 0x00010f25
|
|
1745c: 00029574 .word 0x00029574
|
|
17460: 00006c81 .word 0x00006c81
|
|
lv_style_set_radius(&styles->kb_bg, LV_STATE_DEFAULT, 0);
|
|
17464: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
17466: 2200 movs r2, #0
|
|
17468: 2101 movs r1, #1
|
|
1746a: 3068 adds r0, #104 ; 0x68
|
|
1746c: 47a8 blx r5
|
|
lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4));
|
|
1746e: 6824 ldr r4, [r4, #0]
|
|
17470: 3468 adds r4, #104 ; 0x68
|
|
17472: 2000 movs r0, #0
|
|
17474: 4bb5 ldr r3, [pc, #724] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
17476: 4798 blx r3
|
|
17478: 3014 adds r0, #20
|
|
1747a: 0080 lsls r0, r0, #2
|
|
1747c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17480: f281 8219 bge.w 188b6 <lv_theme_material_init+0x1d86>
|
|
17484: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
17486: 2130 movs r1, #48 ; 0x30
|
|
17488: 4620 mov r0, r4
|
|
1748a: 4db1 ldr r5, [pc, #708] ; (17750 <lv_theme_material_init+0xc20>)
|
|
1748c: 47a8 blx r5
|
|
lv_style_set_border_side(&styles->kb_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP);
|
|
1748e: 4cb1 ldr r4, [pc, #708] ; (17754 <lv_theme_material_init+0xc24>)
|
|
17490: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar)
|
|
17492: 2202 movs r2, #2
|
|
17494: 2131 movs r1, #49 ; 0x31
|
|
17496: 3068 adds r0, #104 ; 0x68
|
|
17498: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK);
|
|
1749a: 6820 ldr r0, [r4, #0]
|
|
1749c: 3068 adds r0, #104 ; 0x68
|
|
1749e: 6a23 ldr r3, [r4, #32]
|
|
174a0: f013 0f02 tst.w r3, #2
|
|
174a4: f041 8215 bne.w 188d2 <lv_theme_material_init+0x1da2>
|
|
174a8: 2300 movs r3, #0
|
|
174aa: 4619 mov r1, r3
|
|
174ac: 461c mov r4, r3
|
|
174ae: f04f 0200 mov.w r2, #0
|
|
174b2: f364 0204 bfi r2, r4, #0, #5
|
|
174b6: f361 124a bfi r2, r1, #5, #6
|
|
174ba: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
174be: 2139 movs r1, #57 ; 0x39
|
|
174c0: 4da5 ldr r5, [pc, #660] ; (17758 <lv_theme_material_init+0xc28>)
|
|
174c2: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->kb_bg, LV_STATE_EDITED, theme.color_secondary);
|
|
174c4: 4ca3 ldr r4, [pc, #652] ; (17754 <lv_theme_material_init+0xc24>)
|
|
174c6: 6820 ldr r0, [r4, #0]
|
|
174c8: 89e2 ldrh r2, [r4, #14]
|
|
174ca: f240 4139 movw r1, #1081 ; 0x439
|
|
174ce: 3068 adds r0, #104 ; 0x68
|
|
174d0: 47a8 blx r5
|
|
lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
174d2: 6824 ldr r4, [r4, #0]
|
|
174d4: 3468 adds r4, #104 ; 0x68
|
|
174d6: 2000 movs r0, #0
|
|
174d8: 4b9c ldr r3, [pc, #624] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
174da: 4798 blx r3
|
|
174dc: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
174e0: 3050 adds r0, #80 ; 0x50
|
|
174e2: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
174e6: f281 81f9 bge.w 188dc <lv_theme_material_init+0x1dac>
|
|
174ea: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
174ec: 2112 movs r1, #18
|
|
174ee: 4620 mov r0, r4
|
|
174f0: 4b97 ldr r3, [pc, #604] ; (17750 <lv_theme_material_init+0xc20>)
|
|
174f2: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
174f4: 4b97 ldr r3, [pc, #604] ; (17754 <lv_theme_material_init+0xc24>)
|
|
174f6: 681c ldr r4, [r3, #0]
|
|
174f8: 3468 adds r4, #104 ; 0x68
|
|
174fa: 2000 movs r0, #0
|
|
174fc: 4b93 ldr r3, [pc, #588] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
174fe: 4798 blx r3
|
|
17500: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17504: 3050 adds r0, #80 ; 0x50
|
|
17506: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1750a: f281 81f6 bge.w 188fa <lv_theme_material_init+0x1dca>
|
|
1750e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
17510: 2113 movs r1, #19
|
|
17512: 4620 mov r0, r4
|
|
17514: 4b8e ldr r3, [pc, #568] ; (17750 <lv_theme_material_init+0xc20>)
|
|
17516: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
17518: 4b8e ldr r3, [pc, #568] ; (17754 <lv_theme_material_init+0xc24>)
|
|
1751a: 681c ldr r4, [r3, #0]
|
|
1751c: 3468 adds r4, #104 ; 0x68
|
|
1751e: 2000 movs r0, #0
|
|
17520: 4b8a ldr r3, [pc, #552] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
17522: 4798 blx r3
|
|
17524: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17528: 3050 adds r0, #80 ; 0x50
|
|
1752a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1752e: f281 81f3 bge.w 18918 <lv_theme_material_init+0x1de8>
|
|
17532: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
17534: 2110 movs r1, #16
|
|
17536: 4620 mov r0, r4
|
|
17538: 4b85 ldr r3, [pc, #532] ; (17750 <lv_theme_material_init+0xc20>)
|
|
1753a: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
1753c: 4b85 ldr r3, [pc, #532] ; (17754 <lv_theme_material_init+0xc24>)
|
|
1753e: 681c ldr r4, [r3, #0]
|
|
17540: 3468 adds r4, #104 ; 0x68
|
|
17542: 2000 movs r0, #0
|
|
17544: 4b81 ldr r3, [pc, #516] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
17546: 4798 blx r3
|
|
17548: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1754c: 3050 adds r0, #80 ; 0x50
|
|
1754e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17552: f281 81f0 bge.w 18936 <lv_theme_material_init+0x1e06>
|
|
17556: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
17558: 2111 movs r1, #17
|
|
1755a: 4620 mov r0, r4
|
|
1755c: 4b7c ldr r3, [pc, #496] ; (17750 <lv_theme_material_init+0xc20>)
|
|
1755e: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3));
|
|
17560: 4b7c ldr r3, [pc, #496] ; (17754 <lv_theme_material_init+0xc24>)
|
|
17562: 681c ldr r4, [r3, #0]
|
|
17564: 3468 adds r4, #104 ; 0x68
|
|
17566: 2000 movs r0, #0
|
|
17568: 4b78 ldr r3, [pc, #480] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
1756a: 4798 blx r3
|
|
1756c: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
17570: 3050 adds r0, #80 ; 0x50
|
|
17572: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17576: f281 81ed bge.w 18954 <lv_theme_material_init+0x1e24>
|
|
1757a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
1757c: 2114 movs r1, #20
|
|
1757e: 4620 mov r0, r4
|
|
17580: 4b73 ldr r3, [pc, #460] ; (17750 <lv_theme_material_init+0xc20>)
|
|
17582: 4798 blx r3
|
|
style_init_reset(&styles->mbox_bg);
|
|
17584: 4c73 ldr r4, [pc, #460] ; (17754 <lv_theme_material_init+0xc24>)
|
|
17586: 6820 ldr r0, [r4, #0]
|
|
17588: 307c adds r0, #124 ; 0x7c
|
|
1758a: 4b74 ldr r3, [pc, #464] ; (1775c <lv_theme_material_init+0xc2c>)
|
|
1758c: 4798 blx r3
|
|
lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50));
|
|
1758e: 6824 ldr r4, [r4, #0]
|
|
17590: 347c adds r4, #124 ; 0x7c
|
|
17592: 2000 movs r0, #0
|
|
17594: 4b6d ldr r3, [pc, #436] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
17596: 4798 blx r3
|
|
17598: 2332 movs r3, #50 ; 0x32
|
|
1759a: fb03 f000 mul.w r0, r3, r0
|
|
1759e: 3050 adds r0, #80 ; 0x50
|
|
175a0: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
175a4: f281 81e5 bge.w 18972 <lv_theme_material_init+0x1e42>
|
|
175a8: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar)
|
|
175aa: 2150 movs r1, #80 ; 0x50
|
|
175ac: 4620 mov r0, r4
|
|
175ae: 4b68 ldr r3, [pc, #416] ; (17750 <lv_theme_material_init+0xc20>)
|
|
175b0: 4798 blx r3
|
|
lv_style_set_shadow_color(&styles->mbox_bg, LV_STATE_DEFAULT, IS_LIGHT ? LV_COLOR_SILVER : lv_color_hex3(0x999));
|
|
175b2: 4b68 ldr r3, [pc, #416] ; (17754 <lv_theme_material_init+0xc24>)
|
|
175b4: 6818 ldr r0, [r3, #0]
|
|
175b6: 6a1b ldr r3, [r3, #32]
|
|
175b8: f013 0302 ands.w r3, r3, #2
|
|
175bc: bf0c ite eq
|
|
175be: 2126 moveq r1, #38 ; 0x26
|
|
175c0: 2130 movne r1, #48 ; 0x30
|
|
175c2: 2b00 cmp r3, #0
|
|
175c4: bf0c ite eq
|
|
175c6: 2313 moveq r3, #19
|
|
175c8: 2318 movne r3, #24
|
|
175ca: f04f 0200 mov.w r2, #0
|
|
175ce: f363 0204 bfi r2, r3, #0, #5
|
|
175d2: f361 124a bfi r2, r1, #5, #6
|
|
175d6: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar)
|
|
175da: 2159 movs r1, #89 ; 0x59
|
|
175dc: 307c adds r0, #124 ; 0x7c
|
|
175de: 4b5e ldr r3, [pc, #376] ; (17758 <lv_theme_material_init+0xc28>)
|
|
175e0: 4798 blx r3
|
|
style_init_reset(&styles->sb);
|
|
175e2: 4c5c ldr r4, [pc, #368] ; (17754 <lv_theme_material_init+0xc24>)
|
|
175e4: 6820 ldr r0, [r4, #0]
|
|
175e6: 3080 adds r0, #128 ; 0x80
|
|
175e8: 4b5c ldr r3, [pc, #368] ; (1775c <lv_theme_material_init+0xc2c>)
|
|
175ea: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->sb, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
175ec: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
175ee: 22ff movs r2, #255 ; 0xff
|
|
175f0: 212c movs r1, #44 ; 0x2c
|
|
175f2: 3080 adds r0, #128 ; 0x80
|
|
175f4: 4b5a ldr r3, [pc, #360] ; (17760 <lv_theme_material_init+0xc30>)
|
|
175f6: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->sb, LV_STATE_DEFAULT, (IS_LIGHT ? lv_color_hex(0xcccfd1) : lv_color_hex(0x777f85)));
|
|
175f8: 6820 ldr r0, [r4, #0]
|
|
175fa: 6a23 ldr r3, [r4, #32]
|
|
175fc: f013 0302 ands.w r3, r3, #2
|
|
17600: bf14 ite ne
|
|
17602: 2119 movne r1, #25
|
|
17604: 210e moveq r1, #14
|
|
17606: 2b00 cmp r3, #0
|
|
17608: bf15 itete ne
|
|
1760a: 2433 movne r4, #51 ; 0x33
|
|
1760c: 241f moveq r4, #31
|
|
1760e: 231a movne r3, #26
|
|
17610: 2310 moveq r3, #16
|
|
17612: f04f 0200 mov.w r2, #0
|
|
17616: f363 0204 bfi r2, r3, #0, #5
|
|
1761a: f364 124a bfi r2, r4, #5, #6
|
|
1761e: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17622: 2129 movs r1, #41 ; 0x29
|
|
17624: 3080 adds r0, #128 ; 0x80
|
|
17626: 4b4c ldr r3, [pc, #304] ; (17758 <lv_theme_material_init+0xc28>)
|
|
17628: 4798 blx r3
|
|
lv_style_set_radius(&styles->sb, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
1762a: 4c4a ldr r4, [pc, #296] ; (17754 <lv_theme_material_init+0xc24>)
|
|
1762c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
1762e: f647 72ff movw r2, #32767 ; 0x7fff
|
|
17632: 2101 movs r1, #1
|
|
17634: 3080 adds r0, #128 ; 0x80
|
|
17636: 4b46 ldr r3, [pc, #280] ; (17750 <lv_theme_material_init+0xc20>)
|
|
17638: 4798 blx r3
|
|
lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7));
|
|
1763a: 6824 ldr r4, [r4, #0]
|
|
1763c: 3480 adds r4, #128 ; 0x80
|
|
1763e: 2000 movs r0, #0
|
|
17640: 4b42 ldr r3, [pc, #264] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
17642: 4798 blx r3
|
|
17644: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
17648: 3050 adds r0, #80 ; 0x50
|
|
1764a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1764e: f281 81a0 bge.w 18992 <lv_theme_material_init+0x1e62>
|
|
17652: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar)
|
|
17654: 2103 movs r1, #3
|
|
17656: 4620 mov r0, r4
|
|
17658: 4b3d ldr r3, [pc, #244] ; (17750 <lv_theme_material_init+0xc20>)
|
|
1765a: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7));
|
|
1765c: 4b3d ldr r3, [pc, #244] ; (17754 <lv_theme_material_init+0xc24>)
|
|
1765e: 681c ldr r4, [r3, #0]
|
|
17660: 3480 adds r4, #128 ; 0x80
|
|
17662: 2000 movs r0, #0
|
|
17664: 4b39 ldr r3, [pc, #228] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
17666: 4798 blx r3
|
|
17668: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
1766c: 3050 adds r0, #80 ; 0x50
|
|
1766e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17672: f281 819d bge.w 189b0 <lv_theme_material_init+0x1e80>
|
|
17676: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
17678: 2113 movs r1, #19
|
|
1767a: 4620 mov r0, r4
|
|
1767c: 4b34 ldr r3, [pc, #208] ; (17750 <lv_theme_material_init+0xc20>)
|
|
1767e: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7));
|
|
17680: 4b34 ldr r3, [pc, #208] ; (17754 <lv_theme_material_init+0xc24>)
|
|
17682: 681c ldr r4, [r3, #0]
|
|
17684: 3480 adds r4, #128 ; 0x80
|
|
17686: 2000 movs r0, #0
|
|
17688: 4b30 ldr r3, [pc, #192] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
1768a: 4798 blx r3
|
|
1768c: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
17690: 3050 adds r0, #80 ; 0x50
|
|
17692: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17696: f281 819a bge.w 189ce <lv_theme_material_init+0x1e9e>
|
|
1769a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
1769c: 2111 movs r1, #17
|
|
1769e: 4620 mov r0, r4
|
|
176a0: 4b2b ldr r3, [pc, #172] ; (17750 <lv_theme_material_init+0xc20>)
|
|
176a2: 4798 blx r3
|
|
style_init_reset(&styles->edge_flash);
|
|
176a4: 4c2b ldr r4, [pc, #172] ; (17754 <lv_theme_material_init+0xc24>)
|
|
176a6: 6820 ldr r0, [r4, #0]
|
|
176a8: 3084 adds r0, #132 ; 0x84
|
|
176aa: 4d2c ldr r5, [pc, #176] ; (1775c <lv_theme_material_init+0xc2c>)
|
|
176ac: 47a8 blx r5
|
|
lv_style_set_bg_opa(&styles->edge_flash, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
176ae: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
176b0: 22ff movs r2, #255 ; 0xff
|
|
176b2: 212c movs r1, #44 ; 0x2c
|
|
176b4: 3084 adds r0, #132 ; 0x84
|
|
176b6: 4b2a ldr r3, [pc, #168] ; (17760 <lv_theme_material_init+0xc30>)
|
|
176b8: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->edge_flash, LV_STATE_DEFAULT, lv_color_hex3(0x888));
|
|
176ba: 6820 ldr r0, [r4, #0]
|
|
176bc: 2311 movs r3, #17
|
|
176be: f04f 0200 mov.w r2, #0
|
|
176c2: f363 0204 bfi r2, r3, #0, #5
|
|
176c6: 2122 movs r1, #34 ; 0x22
|
|
176c8: f361 124a bfi r2, r1, #5, #6
|
|
176cc: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
176d0: 2129 movs r1, #41 ; 0x29
|
|
176d2: 3084 adds r0, #132 ; 0x84
|
|
176d4: 4b20 ldr r3, [pc, #128] ; (17758 <lv_theme_material_init+0xc28>)
|
|
176d6: 4798 blx r3
|
|
style_init_reset(&styles->ta_cursor);
|
|
176d8: 6820 ldr r0, [r4, #0]
|
|
176da: 30b4 adds r0, #180 ; 0xb4
|
|
176dc: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->ta_cursor, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT);
|
|
176de: 6820 ldr r0, [r4, #0]
|
|
176e0: 6a23 ldr r3, [r4, #32]
|
|
176e2: f013 0302 ands.w r3, r3, #2
|
|
176e6: bf14 ite ne
|
|
176e8: 2106 movne r1, #6
|
|
176ea: 2114 moveq r1, #20
|
|
176ec: 2b00 cmp r3, #0
|
|
176ee: bf15 itete ne
|
|
176f0: 2410 movne r4, #16
|
|
176f2: 242a moveq r4, #42 ; 0x2a
|
|
176f4: 2309 movne r3, #9
|
|
176f6: 2315 moveq r3, #21
|
|
176f8: f04f 0200 mov.w r2, #0
|
|
176fc: f363 0204 bfi r2, r3, #0, #5
|
|
17700: f364 124a bfi r2, r4, #5, #6
|
|
17704: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
17708: 2139 movs r1, #57 ; 0x39
|
|
1770a: 30b4 adds r0, #180 ; 0xb4
|
|
1770c: 4b12 ldr r3, [pc, #72] ; (17758 <lv_theme_material_init+0xc28>)
|
|
1770e: 4798 blx r3
|
|
lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2));
|
|
17710: 4b10 ldr r3, [pc, #64] ; (17754 <lv_theme_material_init+0xc24>)
|
|
17712: 681c ldr r4, [r3, #0]
|
|
17714: 34b4 adds r4, #180 ; 0xb4
|
|
17716: 2000 movs r0, #0
|
|
17718: 4b0c ldr r3, [pc, #48] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
1771a: 4798 blx r3
|
|
1771c: 3028 adds r0, #40 ; 0x28
|
|
1771e: 0040 lsls r0, r0, #1
|
|
17720: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17724: f281 8162 bge.w 189ec <lv_theme_material_init+0x1ebc>
|
|
17728: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
1772a: 2130 movs r1, #48 ; 0x30
|
|
1772c: 4620 mov r0, r4
|
|
1772e: 4b08 ldr r3, [pc, #32] ; (17750 <lv_theme_material_init+0xc20>)
|
|
17730: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1));
|
|
17732: 4b08 ldr r3, [pc, #32] ; (17754 <lv_theme_material_init+0xc24>)
|
|
17734: 681c ldr r4, [r3, #0]
|
|
17736: 34b4 adds r4, #180 ; 0xb4
|
|
17738: 2000 movs r0, #0
|
|
1773a: 4b04 ldr r3, [pc, #16] ; (1774c <lv_theme_material_init+0xc1c>)
|
|
1773c: 4798 blx r3
|
|
1773e: 3050 adds r0, #80 ; 0x50
|
|
17740: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17744: f281 8164 bge.w 18a10 <lv_theme_material_init+0x1ee0>
|
|
17748: 2201 movs r2, #1
|
|
1774a: e00b b.n 17764 <lv_theme_material_init+0xc34>
|
|
1774c: 00010f25 .word 0x00010f25
|
|
17750: 000068c9 .word 0x000068c9
|
|
17754: 20006bd8 .word 0x20006bd8
|
|
17758: 00006a0d .word 0x00006a0d
|
|
1775c: 00014a49 .word 0x00014a49
|
|
17760: 00006b51 .word 0x00006b51
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
17764: 2112 movs r1, #18
|
|
17766: 4620 mov r0, r4
|
|
17768: 4dba ldr r5, [pc, #744] ; (17a54 <lv_theme_material_init+0xf24>)
|
|
1776a: 47a8 blx r5
|
|
lv_style_set_border_side(&styles->ta_cursor, LV_STATE_DEFAULT, LV_BORDER_SIDE_LEFT);
|
|
1776c: 4cba ldr r4, [pc, #744] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
1776e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar)
|
|
17770: 2204 movs r2, #4
|
|
17772: 2131 movs r1, #49 ; 0x31
|
|
17774: 30b4 adds r0, #180 ; 0xb4
|
|
17776: 47a8 blx r5
|
|
style_init_reset(&styles->ta_placeholder);
|
|
17778: 6820 ldr r0, [r4, #0]
|
|
1777a: 30b8 adds r0, #184 ; 0xb8
|
|
1777c: 4bb7 ldr r3, [pc, #732] ; (17a5c <lv_theme_material_init+0xf2c>)
|
|
1777e: 4798 blx r3
|
|
lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd));
|
|
17780: 6820 ldr r0, [r4, #0]
|
|
17782: 30b8 adds r0, #184 ; 0xb8
|
|
17784: 6a23 ldr r3, [r4, #32]
|
|
17786: f013 0f02 tst.w r3, #2
|
|
1778a: f041 814e bne.w 18a2a <lv_theme_material_init+0x1efa>
|
|
1778e: 2314 movs r3, #20
|
|
17790: 212b movs r1, #43 ; 0x2b
|
|
17792: 2417 movs r4, #23
|
|
17794: f04f 0200 mov.w r2, #0
|
|
17798: f364 0204 bfi r2, r4, #0, #5
|
|
1779c: f361 124a bfi r2, r1, #5, #6
|
|
177a0: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
177a4: f248 0189 movw r1, #32905 ; 0x8089
|
|
177a8: 4dad ldr r5, [pc, #692] ; (17a60 <lv_theme_material_init+0xf30>)
|
|
177aa: 47a8 blx r5
|
|
style_init_reset(&styles->spinbox_cursor);
|
|
177ac: 4caa ldr r4, [pc, #680] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
177ae: 6820 ldr r0, [r4, #0]
|
|
177b0: 3098 adds r0, #152 ; 0x98
|
|
177b2: 4baa ldr r3, [pc, #680] ; (17a5c <lv_theme_material_init+0xf2c>)
|
|
177b4: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
177b6: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
177b8: 22ff movs r2, #255 ; 0xff
|
|
177ba: 212c movs r1, #44 ; 0x2c
|
|
177bc: 3098 adds r0, #152 ; 0x98
|
|
177be: 4ba9 ldr r3, [pc, #676] ; (17a64 <lv_theme_material_init+0xf34>)
|
|
177c0: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, theme.color_primary);
|
|
177c2: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
177c4: 89a2 ldrh r2, [r4, #12]
|
|
177c6: 2129 movs r1, #41 ; 0x29
|
|
177c8: 3098 adds r0, #152 ; 0x98
|
|
177ca: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_COLOR_WHITE);
|
|
177cc: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
177ce: 4ba6 ldr r3, [pc, #664] ; (17a68 <lv_theme_material_init+0xf38>)
|
|
177d0: 881a ldrh r2, [r3, #0]
|
|
177d2: f248 0189 movw r1, #32905 ; 0x8089
|
|
177d6: 3098 adds r0, #152 ; 0x98
|
|
177d8: 47a8 blx r5
|
|
lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100));
|
|
177da: 6824 ldr r4, [r4, #0]
|
|
177dc: 3498 adds r4, #152 ; 0x98
|
|
177de: 2000 movs r0, #0
|
|
177e0: 4ba2 ldr r3, [pc, #648] ; (17a6c <lv_theme_material_init+0xf3c>)
|
|
177e2: 4798 blx r3
|
|
177e4: 2364 movs r3, #100 ; 0x64
|
|
177e6: fb03 f000 mul.w r0, r3, r0
|
|
177ea: 3050 adds r0, #80 ; 0x50
|
|
177ec: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
177f0: f281 8120 bge.w 18a34 <lv_theme_material_init+0x1f04>
|
|
177f4: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
177f6: 2110 movs r1, #16
|
|
177f8: 4620 mov r0, r4
|
|
177fa: 4b96 ldr r3, [pc, #600] ; (17a54 <lv_theme_material_init+0xf24>)
|
|
177fc: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100));
|
|
177fe: 4b96 ldr r3, [pc, #600] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
17800: 681c ldr r4, [r3, #0]
|
|
17802: 3498 adds r4, #152 ; 0x98
|
|
17804: 2000 movs r0, #0
|
|
17806: 4b99 ldr r3, [pc, #612] ; (17a6c <lv_theme_material_init+0xf3c>)
|
|
17808: 4798 blx r3
|
|
1780a: 2364 movs r3, #100 ; 0x64
|
|
1780c: fb03 f000 mul.w r0, r3, r0
|
|
17810: 3050 adds r0, #80 ; 0x50
|
|
17812: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17816: f281 811d bge.w 18a54 <lv_theme_material_init+0x1f24>
|
|
1781a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
1781c: 2111 movs r1, #17
|
|
1781e: 4620 mov r0, r4
|
|
17820: 4d8c ldr r5, [pc, #560] ; (17a54 <lv_theme_material_init+0xf24>)
|
|
17822: 47a8 blx r5
|
|
style_init_reset(&styles->list_bg);
|
|
17824: 4c8c ldr r4, [pc, #560] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
17826: 6820 ldr r0, [r4, #0]
|
|
17828: 3074 adds r0, #116 ; 0x74
|
|
1782a: 4e8c ldr r6, [pc, #560] ; (17a5c <lv_theme_material_init+0xf2c>)
|
|
1782c: 47b0 blx r6
|
|
lv_style_set_clip_corner(&styles->list_bg, LV_STATE_DEFAULT, true);
|
|
1782e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
17830: 2201 movs r2, #1
|
|
17832: 2102 movs r1, #2
|
|
17834: 3074 adds r0, #116 ; 0x74
|
|
17836: 47a8 blx r5
|
|
lv_style_set_pad_left(&styles->list_bg, LV_STATE_DEFAULT, 0);
|
|
17838: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
1783a: 2200 movs r2, #0
|
|
1783c: 2112 movs r1, #18
|
|
1783e: 3074 adds r0, #116 ; 0x74
|
|
17840: 47a8 blx r5
|
|
lv_style_set_pad_right(&styles->list_bg, LV_STATE_DEFAULT, 0);
|
|
17842: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
17844: 2200 movs r2, #0
|
|
17846: 2113 movs r1, #19
|
|
17848: 3074 adds r0, #116 ; 0x74
|
|
1784a: 47a8 blx r5
|
|
lv_style_set_pad_top(&styles->list_bg, LV_STATE_DEFAULT, 0);
|
|
1784c: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
1784e: 2200 movs r2, #0
|
|
17850: 2110 movs r1, #16
|
|
17852: 3074 adds r0, #116 ; 0x74
|
|
17854: 47a8 blx r5
|
|
lv_style_set_pad_bottom(&styles->list_bg, LV_STATE_DEFAULT, 0);
|
|
17856: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
17858: 2200 movs r2, #0
|
|
1785a: 2111 movs r1, #17
|
|
1785c: 3074 adds r0, #116 ; 0x74
|
|
1785e: 47a8 blx r5
|
|
lv_style_set_pad_inner(&styles->list_bg, LV_STATE_DEFAULT, 0);
|
|
17860: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
17862: 2200 movs r2, #0
|
|
17864: 2114 movs r1, #20
|
|
17866: 3074 adds r0, #116 ; 0x74
|
|
17868: 47a8 blx r5
|
|
style_init_reset(&styles->list_btn);
|
|
1786a: 6820 ldr r0, [r4, #0]
|
|
1786c: 3078 adds r0, #120 ; 0x78
|
|
1786e: 47b0 blx r6
|
|
lv_style_set_bg_opa(&styles->list_btn, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
17870: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
17872: 22ff movs r2, #255 ; 0xff
|
|
17874: 212c movs r1, #44 ; 0x2c
|
|
17876: 3078 adds r0, #120 ; 0x78
|
|
17878: 4b7a ldr r3, [pc, #488] ; (17a64 <lv_theme_material_init+0xf34>)
|
|
1787a: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG);
|
|
1787c: 6820 ldr r0, [r4, #0]
|
|
1787e: 3078 adds r0, #120 ; 0x78
|
|
17880: 6a23 ldr r3, [r4, #32]
|
|
17882: f013 0f02 tst.w r3, #2
|
|
17886: f041 80f5 bne.w 18a74 <lv_theme_material_init+0x1f44>
|
|
1788a: 230b movs r3, #11
|
|
1788c: 2118 movs r1, #24
|
|
1788e: 240e movs r4, #14
|
|
17890: f04f 0200 mov.w r2, #0
|
|
17894: f364 0204 bfi r2, r4, #0, #5
|
|
17898: f361 124a bfi r2, r1, #5, #6
|
|
1789c: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
178a0: 2129 movs r1, #41 ; 0x29
|
|
178a2: 4b6f ldr r3, [pc, #444] ; (17a60 <lv_theme_material_init+0xf30>)
|
|
178a4: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR);
|
|
178a6: 4b6c ldr r3, [pc, #432] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
178a8: 6818 ldr r0, [r3, #0]
|
|
178aa: 3078 adds r0, #120 ; 0x78
|
|
178ac: 6a1b ldr r3, [r3, #32]
|
|
178ae: f013 0f02 tst.w r3, #2
|
|
178b2: f041 80e4 bne.w 18a7e <lv_theme_material_init+0x1f4e>
|
|
178b6: 2309 movs r3, #9
|
|
178b8: 2113 movs r1, #19
|
|
178ba: 240a movs r4, #10
|
|
178bc: f04f 0200 mov.w r2, #0
|
|
178c0: f364 0204 bfi r2, r4, #0, #5
|
|
178c4: f361 124a bfi r2, r1, #5, #6
|
|
178c8: f363 22cf bfi r2, r3, #11, #5
|
|
178cc: f241 0129 movw r1, #4137 ; 0x1029
|
|
178d0: 4b63 ldr r3, [pc, #396] ; (17a60 <lv_theme_material_init+0xf30>)
|
|
178d2: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS);
|
|
178d4: 4b60 ldr r3, [pc, #384] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
178d6: 6818 ldr r0, [r3, #0]
|
|
178d8: 3078 adds r0, #120 ; 0x78
|
|
178da: 6a1b ldr r3, [r3, #32]
|
|
178dc: f013 0f02 tst.w r3, #2
|
|
178e0: f041 80d2 bne.w 18a88 <lv_theme_material_init+0x1f58>
|
|
178e4: 230b movs r3, #11
|
|
178e6: 2118 movs r1, #24
|
|
178e8: 240e movs r4, #14
|
|
178ea: f04f 0200 mov.w r2, #0
|
|
178ee: f364 0204 bfi r2, r4, #0, #5
|
|
178f2: f361 124a bfi r2, r1, #5, #6
|
|
178f6: f363 22cf bfi r2, r3, #11, #5
|
|
178fa: f242 0129 movw r1, #8233 ; 0x2029
|
|
178fe: 4d58 ldr r5, [pc, #352] ; (17a60 <lv_theme_material_init+0xf30>)
|
|
17900: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_CHK);
|
|
17902: 4c55 ldr r4, [pc, #340] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
17904: 6820 ldr r0, [r4, #0]
|
|
17906: 89a2 ldrh r2, [r4, #12]
|
|
17908: f240 1129 movw r1, #297 ; 0x129
|
|
1790c: 3078 adds r0, #120 ; 0x78
|
|
1790e: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BG_PR_CHK);
|
|
17910: 6826 ldr r6, [r4, #0]
|
|
17912: 3678 adds r6, #120 ; 0x78
|
|
17914: 2133 movs r1, #51 ; 0x33
|
|
17916: 89a0 ldrh r0, [r4, #12]
|
|
17918: 4b55 ldr r3, [pc, #340] ; (17a70 <lv_theme_material_init+0xf40>)
|
|
1791a: 4798 blx r3
|
|
1791c: 4602 mov r2, r0
|
|
1791e: f241 1129 movw r1, #4393 ; 0x1129
|
|
17922: 4630 mov r0, r6
|
|
17924: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
17926: 6820 ldr r0, [r4, #0]
|
|
17928: 3078 adds r0, #120 ; 0x78
|
|
1792a: 6a23 ldr r3, [r4, #32]
|
|
1792c: f013 0f02 tst.w r3, #2
|
|
17930: f041 80af bne.w 18a92 <lv_theme_material_init+0x1f62>
|
|
17934: 231f movs r3, #31
|
|
17936: 213f movs r1, #63 ; 0x3f
|
|
17938: 461c mov r4, r3
|
|
1793a: f04f 0200 mov.w r2, #0
|
|
1793e: f364 0204 bfi r2, r4, #0, #5
|
|
17942: f361 124a bfi r2, r1, #5, #6
|
|
17946: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
1794a: f248 0189 movw r1, #32905 ; 0x8089
|
|
1794e: 4d44 ldr r5, [pc, #272] ; (17a60 <lv_theme_material_init+0xf30>)
|
|
17950: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK);
|
|
17952: 4c41 ldr r4, [pc, #260] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
17954: 6820 ldr r0, [r4, #0]
|
|
17956: f04f 32ff mov.w r2, #4294967295
|
|
1795a: f248 1189 movw r1, #33161 ; 0x8189
|
|
1795e: 3078 adds r0, #120 ; 0x78
|
|
17960: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS);
|
|
17962: 6820 ldr r0, [r4, #0]
|
|
17964: 6a23 ldr r3, [r4, #32]
|
|
17966: f013 0302 ands.w r3, r3, #2
|
|
1796a: bf14 ite ne
|
|
1796c: 212a movne r1, #42 ; 0x2a
|
|
1796e: 2126 moveq r1, #38 ; 0x26
|
|
17970: 2b00 cmp r3, #0
|
|
17972: bf14 ite ne
|
|
17974: 2315 movne r3, #21
|
|
17976: 2313 moveq r3, #19
|
|
17978: f04f 0200 mov.w r2, #0
|
|
1797c: f363 0204 bfi r2, r3, #0, #5
|
|
17980: f361 124a bfi r2, r1, #5, #6
|
|
17984: f363 22cf bfi r2, r3, #11, #5
|
|
17988: f24a 0189 movw r1, #41097 ; 0xa089
|
|
1798c: 3078 adds r0, #120 ; 0x78
|
|
1798e: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
17990: 6820 ldr r0, [r4, #0]
|
|
17992: 3078 adds r0, #120 ; 0x78
|
|
17994: 6a23 ldr r3, [r4, #32]
|
|
17996: f013 0f02 tst.w r3, #2
|
|
1799a: f041 807f bne.w 18a9c <lv_theme_material_init+0x1f6c>
|
|
1799e: 231f movs r3, #31
|
|
179a0: 213f movs r1, #63 ; 0x3f
|
|
179a2: 461c mov r4, r3
|
|
179a4: f04f 0200 mov.w r2, #0
|
|
179a8: f364 0204 bfi r2, r4, #0, #5
|
|
179ac: f361 124a bfi r2, r1, #5, #6
|
|
179b0: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
179b4: f248 01a9 movw r1, #32937 ; 0x80a9
|
|
179b8: 4d29 ldr r5, [pc, #164] ; (17a60 <lv_theme_material_init+0xf30>)
|
|
179ba: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK);
|
|
179bc: 4c26 ldr r4, [pc, #152] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
179be: 6820 ldr r0, [r4, #0]
|
|
179c0: f04f 32ff mov.w r2, #4294967295
|
|
179c4: f248 11a9 movw r1, #33193 ; 0x81a9
|
|
179c8: 3078 adds r0, #120 ; 0x78
|
|
179ca: 47a8 blx r5
|
|
lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS);
|
|
179cc: 6820 ldr r0, [r4, #0]
|
|
179ce: 6a23 ldr r3, [r4, #32]
|
|
179d0: f013 0302 ands.w r3, r3, #2
|
|
179d4: bf14 ite ne
|
|
179d6: 212a movne r1, #42 ; 0x2a
|
|
179d8: 2126 moveq r1, #38 ; 0x26
|
|
179da: 2b00 cmp r3, #0
|
|
179dc: bf14 ite ne
|
|
179de: 2315 movne r3, #21
|
|
179e0: 2313 moveq r3, #19
|
|
179e2: f04f 0200 mov.w r2, #0
|
|
179e6: f363 0204 bfi r2, r3, #0, #5
|
|
179ea: f361 124a bfi r2, r1, #5, #6
|
|
179ee: f363 22cf bfi r2, r3, #11, #5
|
|
179f2: f24a 01a9 movw r1, #41129 ; 0xa0a9
|
|
179f6: 3078 adds r0, #120 ; 0x78
|
|
179f8: 47a8 blx r5
|
|
lv_style_set_border_side(&styles->list_btn, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM);
|
|
179fa: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar)
|
|
179fc: 2201 movs r2, #1
|
|
179fe: 2131 movs r1, #49 ; 0x31
|
|
17a00: 3078 adds r0, #120 ; 0x78
|
|
17a02: 4b14 ldr r3, [pc, #80] ; (17a54 <lv_theme_material_init+0xf24>)
|
|
17a04: 4798 blx r3
|
|
lv_style_set_border_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_BORDER);
|
|
17a06: 6820 ldr r0, [r4, #0]
|
|
17a08: 6a23 ldr r3, [r4, #32]
|
|
17a0a: f013 0302 ands.w r3, r3, #2
|
|
17a0e: bf14 ite ne
|
|
17a10: 211a movne r1, #26
|
|
17a12: 2110 moveq r1, #16
|
|
17a14: 2b00 cmp r3, #0
|
|
17a16: bf15 itete ne
|
|
17a18: 2437 movne r4, #55 ; 0x37
|
|
17a1a: 2422 moveq r4, #34 ; 0x22
|
|
17a1c: 231c movne r3, #28
|
|
17a1e: 2312 moveq r3, #18
|
|
17a20: f04f 0200 mov.w r2, #0
|
|
17a24: f363 0204 bfi r2, r3, #0, #5
|
|
17a28: f364 124a bfi r2, r4, #5, #6
|
|
17a2c: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
17a30: 2139 movs r1, #57 ; 0x39
|
|
17a32: 3078 adds r0, #120 ; 0x78
|
|
17a34: 47a8 blx r5
|
|
lv_style_set_border_color(&styles->list_btn, LV_STATE_FOCUSED, theme.color_primary);
|
|
17a36: 4c08 ldr r4, [pc, #32] ; (17a58 <lv_theme_material_init+0xf28>)
|
|
17a38: 6820 ldr r0, [r4, #0]
|
|
17a3a: 89a2 ldrh r2, [r4, #12]
|
|
17a3c: f240 2139 movw r1, #569 ; 0x239
|
|
17a40: 3078 adds r0, #120 ; 0x78
|
|
17a42: 47a8 blx r5
|
|
lv_style_set_border_width(&styles->list_btn, LV_STATE_DEFAULT, 1);
|
|
17a44: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
17a46: 2201 movs r2, #1
|
|
17a48: 2130 movs r1, #48 ; 0x30
|
|
17a4a: 3078 adds r0, #120 ; 0x78
|
|
17a4c: 4b01 ldr r3, [pc, #4] ; (17a54 <lv_theme_material_init+0xf24>)
|
|
17a4e: 4798 blx r3
|
|
17a50: e010 b.n 17a74 <lv_theme_material_init+0xf44>
|
|
17a52: bf00 nop
|
|
17a54: 000068c9 .word 0x000068c9
|
|
17a58: 20006bd8 .word 0x20006bd8
|
|
17a5c: 00014a49 .word 0x00014a49
|
|
17a60: 00006a0d .word 0x00006a0d
|
|
17a64: 00006b51 .word 0x00006b51
|
|
17a68: 0002956c .word 0x0002956c
|
|
17a6c: 00010f25 .word 0x00010f25
|
|
17a70: 00011beb .word 0x00011beb
|
|
lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
17a74: 6824 ldr r4, [r4, #0]
|
|
17a76: 3478 adds r4, #120 ; 0x78
|
|
17a78: 2000 movs r0, #0
|
|
17a7a: 4bba ldr r3, [pc, #744] ; (17d64 <lv_theme_material_init+0x1234>)
|
|
17a7c: 4798 blx r3
|
|
17a7e: 2801 cmp r0, #1
|
|
17a80: f241 8011 bls.w 18aa6 <lv_theme_material_init+0x1f76>
|
|
17a84: 2000 movs r0, #0
|
|
17a86: 4bb8 ldr r3, [pc, #736] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17a88: 4798 blx r3
|
|
17a8a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17a8e: 0040 lsls r0, r0, #1
|
|
17a90: 3050 adds r0, #80 ; 0x50
|
|
17a92: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17a96: f281 8021 bge.w 18adc <lv_theme_material_init+0x1fac>
|
|
17a9a: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
17a9c: 2112 movs r1, #18
|
|
17a9e: 4620 mov r0, r4
|
|
17aa0: 4bb2 ldr r3, [pc, #712] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17aa2: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
17aa4: 4bb2 ldr r3, [pc, #712] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17aa6: 681c ldr r4, [r3, #0]
|
|
17aa8: 3478 adds r4, #120 ; 0x78
|
|
17aaa: 2000 movs r0, #0
|
|
17aac: 4bad ldr r3, [pc, #692] ; (17d64 <lv_theme_material_init+0x1234>)
|
|
17aae: 4798 blx r3
|
|
17ab0: 2801 cmp r0, #1
|
|
17ab2: f241 8023 bls.w 18afc <lv_theme_material_init+0x1fcc>
|
|
17ab6: 2000 movs r0, #0
|
|
17ab8: 4bab ldr r3, [pc, #684] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17aba: 4798 blx r3
|
|
17abc: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17ac0: 0040 lsls r0, r0, #1
|
|
17ac2: 3050 adds r0, #80 ; 0x50
|
|
17ac4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17ac8: f281 8033 bge.w 18b32 <lv_theme_material_init+0x2002>
|
|
17acc: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
17ace: 2113 movs r1, #19
|
|
17ad0: 4620 mov r0, r4
|
|
17ad2: 4ba6 ldr r3, [pc, #664] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17ad4: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
17ad6: 4ba6 ldr r3, [pc, #664] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17ad8: 681c ldr r4, [r3, #0]
|
|
17ada: 3478 adds r4, #120 ; 0x78
|
|
17adc: 2000 movs r0, #0
|
|
17ade: 4ba1 ldr r3, [pc, #644] ; (17d64 <lv_theme_material_init+0x1234>)
|
|
17ae0: 4798 blx r3
|
|
17ae2: 2801 cmp r0, #1
|
|
17ae4: f241 8035 bls.w 18b52 <lv_theme_material_init+0x2022>
|
|
17ae8: 2000 movs r0, #0
|
|
17aea: 4b9f ldr r3, [pc, #636] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17aec: 4798 blx r3
|
|
17aee: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17af2: 0040 lsls r0, r0, #1
|
|
17af4: 3050 adds r0, #80 ; 0x50
|
|
17af6: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17afa: f281 8045 bge.w 18b88 <lv_theme_material_init+0x2058>
|
|
17afe: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
17b00: 2110 movs r1, #16
|
|
17b02: 4620 mov r0, r4
|
|
17b04: 4b99 ldr r3, [pc, #612] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17b06: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
17b08: 4b99 ldr r3, [pc, #612] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17b0a: 681c ldr r4, [r3, #0]
|
|
17b0c: 3478 adds r4, #120 ; 0x78
|
|
17b0e: 2000 movs r0, #0
|
|
17b10: 4b94 ldr r3, [pc, #592] ; (17d64 <lv_theme_material_init+0x1234>)
|
|
17b12: 4798 blx r3
|
|
17b14: 2801 cmp r0, #1
|
|
17b16: f241 8047 bls.w 18ba8 <lv_theme_material_init+0x2078>
|
|
17b1a: 2000 movs r0, #0
|
|
17b1c: 4b92 ldr r3, [pc, #584] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17b1e: 4798 blx r3
|
|
17b20: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17b24: 0040 lsls r0, r0, #1
|
|
17b26: 3050 adds r0, #80 ; 0x50
|
|
17b28: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17b2c: f281 8057 bge.w 18bde <lv_theme_material_init+0x20ae>
|
|
17b30: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
17b32: 2111 movs r1, #17
|
|
17b34: 4620 mov r0, r4
|
|
17b36: 4b8d ldr r3, [pc, #564] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17b38: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
17b3a: 4b8d ldr r3, [pc, #564] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17b3c: 681c ldr r4, [r3, #0]
|
|
17b3e: 3478 adds r4, #120 ; 0x78
|
|
17b40: 2000 movs r0, #0
|
|
17b42: 4b88 ldr r3, [pc, #544] ; (17d64 <lv_theme_material_init+0x1234>)
|
|
17b44: 4798 blx r3
|
|
17b46: 2801 cmp r0, #1
|
|
17b48: f241 8059 bls.w 18bfe <lv_theme_material_init+0x20ce>
|
|
17b4c: 2000 movs r0, #0
|
|
17b4e: 4b86 ldr r3, [pc, #536] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17b50: 4798 blx r3
|
|
17b52: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17b56: 0040 lsls r0, r0, #1
|
|
17b58: 3050 adds r0, #80 ; 0x50
|
|
17b5a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17b5e: f281 8069 bge.w 18c34 <lv_theme_material_init+0x2104>
|
|
17b62: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
17b64: 2114 movs r1, #20
|
|
17b66: 4620 mov r0, r4
|
|
17b68: 4b80 ldr r3, [pc, #512] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17b6a: 4798 blx r3
|
|
lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF);
|
|
17b6c: 4b80 ldr r3, [pc, #512] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17b6e: 681c ldr r4, [r3, #0]
|
|
17b70: 3478 adds r4, #120 ; 0x78
|
|
17b72: 2000 movs r0, #0
|
|
17b74: 4b7b ldr r3, [pc, #492] ; (17d64 <lv_theme_material_init+0x1234>)
|
|
17b76: 4798 blx r3
|
|
17b78: 2801 cmp r0, #1
|
|
17b7a: f241 806b bls.w 18c54 <lv_theme_material_init+0x2124>
|
|
17b7e: 2000 movs r0, #0
|
|
17b80: 4b79 ldr r3, [pc, #484] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17b82: 4798 blx r3
|
|
17b84: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17b88: 0040 lsls r0, r0, #1
|
|
17b8a: 3050 adds r0, #80 ; 0x50
|
|
17b8c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17b90: f281 807c bge.w 18c8c <lv_theme_material_init+0x215c>
|
|
17b94: f04f 32ff mov.w r2, #4294967295
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar)
|
|
17b98: 2104 movs r1, #4
|
|
17b9a: 4620 mov r0, r4
|
|
17b9c: 4d73 ldr r5, [pc, #460] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17b9e: 47a8 blx r5
|
|
lv_style_set_transform_width(&styles->list_btn, LV_STATE_PRESSED, 0);
|
|
17ba0: 4c73 ldr r4, [pc, #460] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17ba2: 6820 ldr r0, [r4, #0]
|
|
17ba4: 2200 movs r2, #0
|
|
17ba6: f241 0104 movw r1, #4100 ; 0x1004
|
|
17baa: 3078 adds r0, #120 ; 0x78
|
|
17bac: 47a8 blx r5
|
|
lv_style_set_transform_width(&styles->list_btn, LV_STATE_CHECKED, 0);
|
|
17bae: 6820 ldr r0, [r4, #0]
|
|
17bb0: 2200 movs r2, #0
|
|
17bb2: f44f 7182 mov.w r1, #260 ; 0x104
|
|
17bb6: 3078 adds r0, #120 ; 0x78
|
|
17bb8: 47a8 blx r5
|
|
lv_style_set_transform_width(&styles->list_btn, LV_STATE_DISABLED, 0);
|
|
17bba: 6820 ldr r0, [r4, #0]
|
|
17bbc: 2200 movs r2, #0
|
|
17bbe: f242 0104 movw r1, #8196 ; 0x2004
|
|
17bc2: 3078 adds r0, #120 ; 0x78
|
|
17bc4: 47a8 blx r5
|
|
lv_style_set_transition_time(&styles->list_btn, LV_STATE_DEFAULT, TRANSITION_TIME);
|
|
17bc6: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar)
|
|
17bc8: 2296 movs r2, #150 ; 0x96
|
|
17bca: 21b0 movs r1, #176 ; 0xb0
|
|
17bcc: 3078 adds r0, #120 ; 0x78
|
|
17bce: 47a8 blx r5
|
|
lv_style_set_transition_prop_6(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR);
|
|
17bd0: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar)
|
|
17bd2: 2229 movs r2, #41 ; 0x29
|
|
17bd4: 21b7 movs r1, #183 ; 0xb7
|
|
17bd6: 3078 adds r0, #120 ; 0x78
|
|
17bd8: 47a8 blx r5
|
|
lv_style_set_transition_prop_5(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_TRANSFORM_WIDTH);
|
|
17bda: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar)
|
|
17bdc: 2204 movs r2, #4
|
|
17bde: 21b6 movs r1, #182 ; 0xb6
|
|
17be0: 3078 adds r0, #120 ; 0x78
|
|
17be2: 47a8 blx r5
|
|
style_init_reset(&styles->ddlist_page);
|
|
17be4: 6820 ldr r0, [r4, #0]
|
|
17be6: 3054 adds r0, #84 ; 0x54
|
|
17be8: 4b62 ldr r3, [pc, #392] ; (17d74 <lv_theme_material_init+0x1244>)
|
|
17bea: 4798 blx r3
|
|
lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20));
|
|
17bec: 6824 ldr r4, [r4, #0]
|
|
17bee: 3454 adds r4, #84 ; 0x54
|
|
17bf0: 2000 movs r0, #0
|
|
17bf2: 4b5d ldr r3, [pc, #372] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17bf4: 4798 blx r3
|
|
17bf6: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17bfa: 0080 lsls r0, r0, #2
|
|
17bfc: 3050 adds r0, #80 ; 0x50
|
|
17bfe: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17c02: f281 8053 bge.w 18cac <lv_theme_material_init+0x217c>
|
|
17c06: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar)
|
|
17c08: f248 0181 movw r1, #32897 ; 0x8081
|
|
17c0c: 4620 mov r0, r4
|
|
17c0e: 4d57 ldr r5, [pc, #348] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17c10: 47a8 blx r5
|
|
lv_style_set_clip_corner(&styles->ddlist_page, LV_STATE_DEFAULT, true);
|
|
17c12: 4c57 ldr r4, [pc, #348] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17c14: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
17c16: 2201 movs r2, #1
|
|
17c18: 2102 movs r1, #2
|
|
17c1a: 3054 adds r0, #84 ; 0x54
|
|
17c1c: 47a8 blx r5
|
|
style_init_reset(&styles->ddlist_sel);
|
|
17c1e: 6820 ldr r0, [r4, #0]
|
|
17c20: 3058 adds r0, #88 ; 0x58
|
|
17c22: 4b54 ldr r3, [pc, #336] ; (17d74 <lv_theme_material_init+0x1244>)
|
|
17c24: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->ddlist_sel, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
17c26: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
17c28: 22ff movs r2, #255 ; 0xff
|
|
17c2a: 212c movs r1, #44 ; 0x2c
|
|
17c2c: 3058 adds r0, #88 ; 0x58
|
|
17c2e: 4b52 ldr r3, [pc, #328] ; (17d78 <lv_theme_material_init+0x1248>)
|
|
17c30: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_DEFAULT, theme.color_primary);
|
|
17c32: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17c34: 89a2 ldrh r2, [r4, #12]
|
|
17c36: 2129 movs r1, #41 ; 0x29
|
|
17c38: 3058 adds r0, #88 ; 0x58
|
|
17c3a: 4d50 ldr r5, [pc, #320] ; (17d7c <lv_theme_material_init+0x124c>)
|
|
17c3c: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex3(0xfff) : lv_color_hex3(0xfff));
|
|
17c3e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
17c40: f04f 32ff mov.w r2, #4294967295
|
|
17c44: f248 0189 movw r1, #32905 ; 0x8089
|
|
17c48: 3058 adds r0, #88 ; 0x58
|
|
17c4a: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR);
|
|
17c4c: 6820 ldr r0, [r4, #0]
|
|
17c4e: 3058 adds r0, #88 ; 0x58
|
|
17c50: 6a23 ldr r3, [r4, #32]
|
|
17c52: f013 0f02 tst.w r3, #2
|
|
17c56: f041 8039 bne.w 18ccc <lv_theme_material_init+0x219c>
|
|
17c5a: 2309 movs r3, #9
|
|
17c5c: 2113 movs r1, #19
|
|
17c5e: 240a movs r4, #10
|
|
17c60: f04f 0200 mov.w r2, #0
|
|
17c64: f364 0204 bfi r2, r4, #0, #5
|
|
17c68: f361 124a bfi r2, r1, #5, #6
|
|
17c6c: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17c70: f241 0129 movw r1, #4137 ; 0x1029
|
|
17c74: 4b41 ldr r3, [pc, #260] ; (17d7c <lv_theme_material_init+0x124c>)
|
|
17c76: 4798 blx r3
|
|
lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR);
|
|
17c78: 4b3d ldr r3, [pc, #244] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17c7a: 6818 ldr r0, [r3, #0]
|
|
17c7c: 3058 adds r0, #88 ; 0x58
|
|
17c7e: 6a1b ldr r3, [r3, #32]
|
|
17c80: f013 0f02 tst.w r3, #2
|
|
17c84: f041 8027 bne.w 18cd6 <lv_theme_material_init+0x21a6>
|
|
17c88: 231f movs r3, #31
|
|
17c8a: 213f movs r1, #63 ; 0x3f
|
|
17c8c: 461c mov r4, r3
|
|
17c8e: f04f 0200 mov.w r2, #0
|
|
17c92: f364 0204 bfi r2, r4, #0, #5
|
|
17c96: f361 124a bfi r2, r1, #5, #6
|
|
17c9a: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
17c9e: f249 0189 movw r1, #37001 ; 0x9089
|
|
17ca2: 4b36 ldr r3, [pc, #216] ; (17d7c <lv_theme_material_init+0x124c>)
|
|
17ca4: 4798 blx r3
|
|
style_init_reset(&styles->roller_bg);
|
|
17ca6: 4c32 ldr r4, [pc, #200] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17ca8: 6820 ldr r0, [r4, #0]
|
|
17caa: 3088 adds r0, #136 ; 0x88
|
|
17cac: 4b31 ldr r3, [pc, #196] ; (17d74 <lv_theme_material_init+0x1244>)
|
|
17cae: 4798 blx r3
|
|
lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25));
|
|
17cb0: 6824 ldr r4, [r4, #0]
|
|
17cb2: 3488 adds r4, #136 ; 0x88
|
|
17cb4: 2000 movs r0, #0
|
|
17cb6: 4b2c ldr r3, [pc, #176] ; (17d68 <lv_theme_material_init+0x1238>)
|
|
17cb8: 4798 blx r3
|
|
17cba: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17cbe: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17cc2: 3050 adds r0, #80 ; 0x50
|
|
17cc4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17cc8: f281 800a bge.w 18ce0 <lv_theme_material_init+0x21b0>
|
|
17ccc: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar)
|
|
17cce: f248 0181 movw r1, #32897 ; 0x8081
|
|
17cd2: 4620 mov r0, r4
|
|
17cd4: 4b25 ldr r3, [pc, #148] ; (17d6c <lv_theme_material_init+0x123c>)
|
|
17cd6: 4798 blx r3
|
|
style_init_reset(&styles->roller_sel);
|
|
17cd8: 4c25 ldr r4, [pc, #148] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17cda: 6820 ldr r0, [r4, #0]
|
|
17cdc: 308c adds r0, #140 ; 0x8c
|
|
17cde: 4e25 ldr r6, [pc, #148] ; (17d74 <lv_theme_material_init+0x1244>)
|
|
17ce0: 47b0 blx r6
|
|
lv_style_set_bg_opa(&styles->roller_sel, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
17ce2: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
17ce4: 22ff movs r2, #255 ; 0xff
|
|
17ce6: 212c movs r1, #44 ; 0x2c
|
|
17ce8: 308c adds r0, #140 ; 0x8c
|
|
17cea: 4d23 ldr r5, [pc, #140] ; (17d78 <lv_theme_material_init+0x1248>)
|
|
17cec: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->roller_sel, LV_STATE_DEFAULT, theme.color_primary);
|
|
17cee: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17cf0: 89a2 ldrh r2, [r4, #12]
|
|
17cf2: 2129 movs r1, #41 ; 0x29
|
|
17cf4: 308c adds r0, #140 ; 0x8c
|
|
17cf6: 4f21 ldr r7, [pc, #132] ; (17d7c <lv_theme_material_init+0x124c>)
|
|
17cf8: 47b8 blx r7
|
|
lv_style_set_text_color(&styles->roller_sel, LV_STATE_DEFAULT, LV_COLOR_WHITE);
|
|
17cfa: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
17cfc: 4b20 ldr r3, [pc, #128] ; (17d80 <lv_theme_material_init+0x1250>)
|
|
17cfe: 881a ldrh r2, [r3, #0]
|
|
17d00: f248 0189 movw r1, #32905 ; 0x8089
|
|
17d04: 308c adds r0, #140 ; 0x8c
|
|
17d06: 47b8 blx r7
|
|
style_init_reset(&styles->tabview_btns_bg);
|
|
17d08: 6820 ldr r0, [r4, #0]
|
|
17d0a: 30a8 adds r0, #168 ; 0xa8
|
|
17d0c: 47b0 blx r6
|
|
lv_style_set_bg_opa(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
17d0e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
17d10: 22ff movs r2, #255 ; 0xff
|
|
17d12: 212c movs r1, #44 ; 0x2c
|
|
17d14: 30a8 adds r0, #168 ; 0xa8
|
|
17d16: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG);
|
|
17d18: 6820 ldr r0, [r4, #0]
|
|
17d1a: 30a8 adds r0, #168 ; 0xa8
|
|
17d1c: 6a23 ldr r3, [r4, #32]
|
|
17d1e: f013 0f02 tst.w r3, #2
|
|
17d22: f040 87ee bne.w 18d02 <lv_theme_material_init+0x21d2>
|
|
17d26: 230b movs r3, #11
|
|
17d28: 2118 movs r1, #24
|
|
17d2a: 240e movs r4, #14
|
|
17d2c: f04f 0200 mov.w r2, #0
|
|
17d30: f364 0204 bfi r2, r4, #0, #5
|
|
17d34: f361 124a bfi r2, r1, #5, #6
|
|
17d38: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17d3c: 2129 movs r1, #41 ; 0x29
|
|
17d3e: 4b0f ldr r3, [pc, #60] ; (17d7c <lv_theme_material_init+0x124c>)
|
|
17d40: 4798 blx r3
|
|
lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT,
|
|
17d42: 4b0b ldr r3, [pc, #44] ; (17d70 <lv_theme_material_init+0x1240>)
|
|
17d44: 6818 ldr r0, [r3, #0]
|
|
IS_LIGHT ? lv_color_hex(0xe4eaf0) : lv_color_hex(0x3b3e42));
|
|
17d46: 6a1b ldr r3, [r3, #32]
|
|
lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT,
|
|
17d48: f013 0302 ands.w r3, r3, #2
|
|
17d4c: bf14 ite ne
|
|
17d4e: 211c movne r1, #28
|
|
17d50: 2107 moveq r1, #7
|
|
17d52: 2b00 cmp r3, #0
|
|
17d54: bf15 itete ne
|
|
17d56: 243a movne r4, #58 ; 0x3a
|
|
17d58: 240f moveq r4, #15
|
|
17d5a: 231e movne r3, #30
|
|
17d5c: 2308 moveq r3, #8
|
|
17d5e: f04f 0200 mov.w r2, #0
|
|
17d62: e00f b.n 17d84 <lv_theme_material_init+0x1254>
|
|
17d64: 00010f41 .word 0x00010f41
|
|
17d68: 00010f25 .word 0x00010f25
|
|
17d6c: 000068c9 .word 0x000068c9
|
|
17d70: 20006bd8 .word 0x20006bd8
|
|
17d74: 00014a49 .word 0x00014a49
|
|
17d78: 00006b51 .word 0x00006b51
|
|
17d7c: 00006a0d .word 0x00006a0d
|
|
17d80: 0002956c .word 0x0002956c
|
|
17d84: f363 0204 bfi r2, r3, #0, #5
|
|
17d88: f364 124a bfi r2, r4, #5, #6
|
|
17d8c: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
17d90: 2139 movs r1, #57 ; 0x39
|
|
17d92: 30a8 adds r0, #168 ; 0xa8
|
|
17d94: 4bb6 ldr r3, [pc, #728] ; (18070 <lv_theme_material_init+0x1540>)
|
|
17d96: 4798 blx r3
|
|
lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
17d98: 4bb6 ldr r3, [pc, #728] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17d9a: 681c ldr r4, [r3, #0]
|
|
17d9c: 34a8 adds r4, #168 ; 0xa8
|
|
17d9e: 2000 movs r0, #0
|
|
17da0: 4bb5 ldr r3, [pc, #724] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17da2: 4798 blx r3
|
|
17da4: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17da8: 3050 adds r0, #80 ; 0x50
|
|
17daa: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17dae: f280 87ad bge.w 18d0c <lv_theme_material_init+0x21dc>
|
|
17db2: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
17db4: 2130 movs r1, #48 ; 0x30
|
|
17db6: 4620 mov r0, r4
|
|
17db8: 4db0 ldr r5, [pc, #704] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17dba: 47a8 blx r5
|
|
lv_style_set_border_side(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM);
|
|
17dbc: 4cad ldr r4, [pc, #692] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17dbe: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar)
|
|
17dc0: 2201 movs r2, #1
|
|
17dc2: 2131 movs r1, #49 ; 0x31
|
|
17dc4: 30a8 adds r0, #168 ; 0xa8
|
|
17dc6: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_SCR_TEXT);
|
|
17dc8: 6820 ldr r0, [r4, #0]
|
|
17dca: 6a23 ldr r3, [r4, #32]
|
|
17dcc: f013 0302 ands.w r3, r3, #2
|
|
17dd0: bf14 ite ne
|
|
17dd2: 2107 movne r1, #7
|
|
17dd4: 211c moveq r1, #28
|
|
17dd6: 2b00 cmp r3, #0
|
|
17dd8: bf15 itete ne
|
|
17dda: 240f movne r4, #15
|
|
17ddc: 243a moveq r4, #58 ; 0x3a
|
|
17dde: 2308 movne r3, #8
|
|
17de0: 231d moveq r3, #29
|
|
17de2: f04f 0200 mov.w r2, #0
|
|
17de6: f363 0204 bfi r2, r3, #0, #5
|
|
17dea: f364 124a bfi r2, r4, #5, #6
|
|
17dee: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
17df2: f248 0189 movw r1, #32905 ; 0x8089
|
|
17df6: 30a8 adds r0, #168 ; 0xa8
|
|
17df8: 4d9d ldr r5, [pc, #628] ; (18070 <lv_theme_material_init+0x1540>)
|
|
17dfa: 47a8 blx r5
|
|
lv_style_set_text_font(&styles->tabview_btns_bg, LV_STATE_DEFAULT, theme.font_normal);
|
|
17dfc: 4c9d ldr r4, [pc, #628] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17dfe: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
17e00: 6962 ldr r2, [r4, #20]
|
|
17e02: f248 018e movw r1, #32910 ; 0x808e
|
|
17e06: 30a8 adds r0, #168 ; 0xa8
|
|
17e08: 4b9d ldr r3, [pc, #628] ; (18080 <lv_theme_material_init+0x1550>)
|
|
17e0a: 4798 blx r3
|
|
lv_style_set_image_recolor(&styles->tabview_btns_bg, LV_STATE_DEFAULT, lv_color_hex(0x979a9f));
|
|
17e0c: 6820 ldr r0, [r4, #0]
|
|
17e0e: f04f 0200 mov.w r2, #0
|
|
17e12: 2313 movs r3, #19
|
|
17e14: f363 0204 bfi r2, r3, #0, #5
|
|
17e18: 2326 movs r3, #38 ; 0x26
|
|
17e1a: f363 124a bfi r2, r3, #5, #6
|
|
17e1e: 2312 movs r3, #18
|
|
17e20: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
17e24: f248 01a9 movw r1, #32937 ; 0x80a9
|
|
17e28: 30a8 adds r0, #168 ; 0xa8
|
|
17e2a: 47a8 blx r5
|
|
lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7));
|
|
17e2c: 6824 ldr r4, [r4, #0]
|
|
17e2e: 34a8 adds r4, #168 ; 0xa8
|
|
17e30: 2000 movs r0, #0
|
|
17e32: 4b91 ldr r3, [pc, #580] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17e34: 4798 blx r3
|
|
17e36: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
17e3a: 3050 adds r0, #80 ; 0x50
|
|
17e3c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17e40: f280 8773 bge.w 18d2a <lv_theme_material_init+0x21fa>
|
|
17e44: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
17e46: 2110 movs r1, #16
|
|
17e48: 4620 mov r0, r4
|
|
17e4a: 4b8c ldr r3, [pc, #560] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17e4c: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7));
|
|
17e4e: 4b89 ldr r3, [pc, #548] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17e50: 681c ldr r4, [r3, #0]
|
|
17e52: 34a8 adds r4, #168 ; 0xa8
|
|
17e54: 2000 movs r0, #0
|
|
17e56: 4b88 ldr r3, [pc, #544] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17e58: 4798 blx r3
|
|
17e5a: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
17e5e: 3050 adds r0, #80 ; 0x50
|
|
17e60: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17e64: f280 8774 bge.w 18d50 <lv_theme_material_init+0x2220>
|
|
17e68: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
17e6a: 2112 movs r1, #18
|
|
17e6c: 4620 mov r0, r4
|
|
17e6e: 4b83 ldr r3, [pc, #524] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17e70: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7));
|
|
17e72: 4b80 ldr r3, [pc, #512] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17e74: 681c ldr r4, [r3, #0]
|
|
17e76: 34a8 adds r4, #168 ; 0xa8
|
|
17e78: 2000 movs r0, #0
|
|
17e7a: 4b7f ldr r3, [pc, #508] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17e7c: 4798 blx r3
|
|
17e7e: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
17e82: 3050 adds r0, #80 ; 0x50
|
|
17e84: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17e88: f280 8771 bge.w 18d6e <lv_theme_material_init+0x223e>
|
|
17e8c: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
17e8e: 2113 movs r1, #19
|
|
17e90: 4620 mov r0, r4
|
|
17e92: 4b7a ldr r3, [pc, #488] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17e94: 4798 blx r3
|
|
style_init_reset(&styles->tabview_btns);
|
|
17e96: 4c77 ldr r4, [pc, #476] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17e98: 6820 ldr r0, [r4, #0]
|
|
17e9a: 30a4 adds r0, #164 ; 0xa4
|
|
17e9c: 4b79 ldr r3, [pc, #484] ; (18084 <lv_theme_material_init+0x1554>)
|
|
17e9e: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->tabview_btns, LV_STATE_PRESSED, LV_OPA_50);
|
|
17ea0: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
17ea2: 227f movs r2, #127 ; 0x7f
|
|
17ea4: f241 012c movw r1, #4140 ; 0x102c
|
|
17ea8: 30a4 adds r0, #164 ; 0xa4
|
|
17eaa: 4b77 ldr r3, [pc, #476] ; (18088 <lv_theme_material_init+0x1558>)
|
|
17eac: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->tabview_btns, LV_STATE_PRESSED, lv_color_hex3(0x888));
|
|
17eae: 6820 ldr r0, [r4, #0]
|
|
17eb0: 2311 movs r3, #17
|
|
17eb2: f04f 0200 mov.w r2, #0
|
|
17eb6: f363 0204 bfi r2, r3, #0, #5
|
|
17eba: 2122 movs r1, #34 ; 0x22
|
|
17ebc: f361 124a bfi r2, r1, #5, #6
|
|
17ec0: f363 22cf bfi r2, r3, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17ec4: f241 0129 movw r1, #4137 ; 0x1029
|
|
17ec8: 30a4 adds r0, #164 ; 0xa4
|
|
17eca: 4b69 ldr r3, [pc, #420] ; (18070 <lv_theme_material_init+0x1540>)
|
|
17ecc: 4798 blx r3
|
|
lv_style_set_text_color(&styles->tabview_btns, LV_STATE_CHECKED, COLOR_SCR_TEXT);
|
|
17ece: 6820 ldr r0, [r4, #0]
|
|
17ed0: 6a23 ldr r3, [r4, #32]
|
|
17ed2: f013 0302 ands.w r3, r3, #2
|
|
17ed6: bf14 ite ne
|
|
17ed8: 2107 movne r1, #7
|
|
17eda: 211c moveq r1, #28
|
|
17edc: 2b00 cmp r3, #0
|
|
17ede: bf15 itete ne
|
|
17ee0: 240f movne r4, #15
|
|
17ee2: 243a moveq r4, #58 ; 0x3a
|
|
17ee4: 2308 movne r3, #8
|
|
17ee6: 231d moveq r3, #29
|
|
17ee8: f04f 0200 mov.w r2, #0
|
|
17eec: f363 0204 bfi r2, r3, #0, #5
|
|
17ef0: f364 124a bfi r2, r4, #5, #6
|
|
17ef4: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
17ef8: f248 1189 movw r1, #33161 ; 0x8189
|
|
17efc: 30a4 adds r0, #164 ; 0xa4
|
|
17efe: 4b5c ldr r3, [pc, #368] ; (18070 <lv_theme_material_init+0x1540>)
|
|
17f00: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20));
|
|
17f02: 4b5c ldr r3, [pc, #368] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17f04: 681c ldr r4, [r3, #0]
|
|
17f06: 34a4 adds r4, #164 ; 0xa4
|
|
17f08: 2000 movs r0, #0
|
|
17f0a: 4b5b ldr r3, [pc, #364] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17f0c: 4798 blx r3
|
|
17f0e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17f12: 0080 lsls r0, r0, #2
|
|
17f14: 3050 adds r0, #80 ; 0x50
|
|
17f16: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17f1a: f280 8737 bge.w 18d8c <lv_theme_material_init+0x225c>
|
|
17f1e: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
17f20: 2110 movs r1, #16
|
|
17f22: 4620 mov r0, r4
|
|
17f24: 4b55 ldr r3, [pc, #340] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17f26: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20));
|
|
17f28: 4b52 ldr r3, [pc, #328] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17f2a: 681c ldr r4, [r3, #0]
|
|
17f2c: 34a4 adds r4, #164 ; 0xa4
|
|
17f2e: 2000 movs r0, #0
|
|
17f30: 4b51 ldr r3, [pc, #324] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17f32: 4798 blx r3
|
|
17f34: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17f38: 0080 lsls r0, r0, #2
|
|
17f3a: 3050 adds r0, #80 ; 0x50
|
|
17f3c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17f40: f280 8734 bge.w 18dac <lv_theme_material_init+0x227c>
|
|
17f44: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
17f46: 2111 movs r1, #17
|
|
17f48: 4620 mov r0, r4
|
|
17f4a: 4b4c ldr r3, [pc, #304] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17f4c: 4798 blx r3
|
|
lv_style_set_text_color(&styles->tabview_btns, LV_STATE_FOCUSED, theme.color_primary);
|
|
17f4e: 4c49 ldr r4, [pc, #292] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17f50: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar)
|
|
17f52: 89a2 ldrh r2, [r4, #12]
|
|
17f54: f248 2189 movw r1, #33417 ; 0x8289
|
|
17f58: 30a4 adds r0, #164 ; 0xa4
|
|
17f5a: 4d45 ldr r5, [pc, #276] ; (18070 <lv_theme_material_init+0x1540>)
|
|
17f5c: 47a8 blx r5
|
|
lv_style_set_text_color(&styles->tabview_btns, LV_STATE_EDITED, theme.color_secondary);
|
|
17f5e: 6820 ldr r0, [r4, #0]
|
|
17f60: 89e2 ldrh r2, [r4, #14]
|
|
17f62: f248 4189 movw r1, #33929 ; 0x8489
|
|
17f66: 30a4 adds r0, #164 ; 0xa4
|
|
17f68: 47a8 blx r5
|
|
style_init_reset(&styles->tabview_indic);
|
|
17f6a: 6820 ldr r0, [r4, #0]
|
|
17f6c: 30ac adds r0, #172 ; 0xac
|
|
17f6e: 4b45 ldr r3, [pc, #276] ; (18084 <lv_theme_material_init+0x1554>)
|
|
17f70: 4798 blx r3
|
|
lv_style_set_bg_opa(&styles->tabview_indic, LV_STATE_DEFAULT, LV_OPA_COVER);
|
|
17f72: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar)
|
|
17f74: 22ff movs r2, #255 ; 0xff
|
|
17f76: 212c movs r1, #44 ; 0x2c
|
|
17f78: 30ac adds r0, #172 ; 0xac
|
|
17f7a: 4b43 ldr r3, [pc, #268] ; (18088 <lv_theme_material_init+0x1558>)
|
|
17f7c: 4798 blx r3
|
|
lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_DEFAULT, theme.color_primary);
|
|
17f7e: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar)
|
|
17f80: 89a2 ldrh r2, [r4, #12]
|
|
17f82: 2129 movs r1, #41 ; 0x29
|
|
17f84: 30ac adds r0, #172 ; 0xac
|
|
17f86: 47a8 blx r5
|
|
lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_EDITED, theme.color_secondary);
|
|
17f88: 6820 ldr r0, [r4, #0]
|
|
17f8a: 89e2 ldrh r2, [r4, #14]
|
|
17f8c: f240 4129 movw r1, #1065 ; 0x429
|
|
17f90: 30ac adds r0, #172 ; 0xac
|
|
17f92: 47a8 blx r5
|
|
lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5));
|
|
17f94: 6824 ldr r4, [r4, #0]
|
|
17f96: 34ac adds r4, #172 ; 0xac
|
|
17f98: 2000 movs r0, #0
|
|
17f9a: 4b37 ldr r3, [pc, #220] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17f9c: 4798 blx r3
|
|
17f9e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
17fa2: 3050 adds r0, #80 ; 0x50
|
|
17fa4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17fa8: f280 8710 bge.w 18dcc <lv_theme_material_init+0x229c>
|
|
17fac: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar)
|
|
17fae: 2103 movs r1, #3
|
|
17fb0: 4620 mov r0, r4
|
|
17fb2: 4d32 ldr r5, [pc, #200] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17fb4: 47a8 blx r5
|
|
lv_style_set_radius(&styles->tabview_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
|
|
17fb6: 4c2f ldr r4, [pc, #188] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17fb8: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
17fba: f647 72ff movw r2, #32767 ; 0x7fff
|
|
17fbe: 2101 movs r1, #1
|
|
17fc0: 30ac adds r0, #172 ; 0xac
|
|
17fc2: 47a8 blx r5
|
|
style_init_reset(&styles->tabview_page_scrl);
|
|
17fc4: 6820 ldr r0, [r4, #0]
|
|
17fc6: 30b0 adds r0, #176 ; 0xb0
|
|
17fc8: 4b2e ldr r3, [pc, #184] ; (18084 <lv_theme_material_init+0x1554>)
|
|
17fca: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
17fcc: 6824 ldr r4, [r4, #0]
|
|
17fce: 34b0 adds r4, #176 ; 0xb0
|
|
17fd0: 2000 movs r0, #0
|
|
17fd2: 4b2e ldr r3, [pc, #184] ; (1808c <lv_theme_material_init+0x155c>)
|
|
17fd4: 4798 blx r3
|
|
17fd6: 2801 cmp r0, #1
|
|
17fd8: f240 8707 bls.w 18dea <lv_theme_material_init+0x22ba>
|
|
17fdc: 2000 movs r0, #0
|
|
17fde: 4b26 ldr r3, [pc, #152] ; (18078 <lv_theme_material_init+0x1548>)
|
|
17fe0: 4798 blx r3
|
|
17fe2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
17fe6: 0040 lsls r0, r0, #1
|
|
17fe8: 3050 adds r0, #80 ; 0x50
|
|
17fea: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
17fee: f280 8717 bge.w 18e20 <lv_theme_material_init+0x22f0>
|
|
17ff2: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
17ff4: 2110 movs r1, #16
|
|
17ff6: 4620 mov r0, r4
|
|
17ff8: 4b20 ldr r3, [pc, #128] ; (1807c <lv_theme_material_init+0x154c>)
|
|
17ffa: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
17ffc: 4b1d ldr r3, [pc, #116] ; (18074 <lv_theme_material_init+0x1544>)
|
|
17ffe: 681c ldr r4, [r3, #0]
|
|
18000: 34b0 adds r4, #176 ; 0xb0
|
|
18002: 2000 movs r0, #0
|
|
18004: 4b21 ldr r3, [pc, #132] ; (1808c <lv_theme_material_init+0x155c>)
|
|
18006: 4798 blx r3
|
|
18008: 2801 cmp r0, #1
|
|
1800a: f240 8719 bls.w 18e40 <lv_theme_material_init+0x2310>
|
|
1800e: 2000 movs r0, #0
|
|
18010: 4b19 ldr r3, [pc, #100] ; (18078 <lv_theme_material_init+0x1548>)
|
|
18012: 4798 blx r3
|
|
18014: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18018: 0040 lsls r0, r0, #1
|
|
1801a: 3050 adds r0, #80 ; 0x50
|
|
1801c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18020: f280 8729 bge.w 18e76 <lv_theme_material_init+0x2346>
|
|
18024: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
18026: 2111 movs r1, #17
|
|
18028: 4620 mov r0, r4
|
|
1802a: 4b14 ldr r3, [pc, #80] ; (1807c <lv_theme_material_init+0x154c>)
|
|
1802c: 4798 blx r3
|
|
lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
1802e: 4b11 ldr r3, [pc, #68] ; (18074 <lv_theme_material_init+0x1544>)
|
|
18030: 681c ldr r4, [r3, #0]
|
|
18032: 34b0 adds r4, #176 ; 0xb0
|
|
18034: 2000 movs r0, #0
|
|
18036: 4b15 ldr r3, [pc, #84] ; (1808c <lv_theme_material_init+0x155c>)
|
|
18038: 4798 blx r3
|
|
1803a: 2801 cmp r0, #1
|
|
1803c: f240 872b bls.w 18e96 <lv_theme_material_init+0x2366>
|
|
18040: 2000 movs r0, #0
|
|
18042: 4b0d ldr r3, [pc, #52] ; (18078 <lv_theme_material_init+0x1548>)
|
|
18044: 4798 blx r3
|
|
18046: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1804a: 0040 lsls r0, r0, #1
|
|
1804c: 3050 adds r0, #80 ; 0x50
|
|
1804e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18052: f280 873b bge.w 18ecc <lv_theme_material_init+0x239c>
|
|
18056: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
18058: 2112 movs r1, #18
|
|
1805a: 4620 mov r0, r4
|
|
1805c: 4b07 ldr r3, [pc, #28] ; (1807c <lv_theme_material_init+0x154c>)
|
|
1805e: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
18060: 4b04 ldr r3, [pc, #16] ; (18074 <lv_theme_material_init+0x1544>)
|
|
18062: 681c ldr r4, [r3, #0]
|
|
18064: 34b0 adds r4, #176 ; 0xb0
|
|
18066: 2000 movs r0, #0
|
|
18068: 4b08 ldr r3, [pc, #32] ; (1808c <lv_theme_material_init+0x155c>)
|
|
1806a: 4798 blx r3
|
|
1806c: 2801 cmp r0, #1
|
|
1806e: e00f b.n 18090 <lv_theme_material_init+0x1560>
|
|
18070: 00006a0d .word 0x00006a0d
|
|
18074: 20006bd8 .word 0x20006bd8
|
|
18078: 00010f25 .word 0x00010f25
|
|
1807c: 000068c9 .word 0x000068c9
|
|
18080: 00006c81 .word 0x00006c81
|
|
18084: 00014a49 .word 0x00014a49
|
|
18088: 00006b51 .word 0x00006b51
|
|
1808c: 00010f41 .word 0x00010f41
|
|
18090: f240 872c bls.w 18eec <lv_theme_material_init+0x23bc>
|
|
18094: 2000 movs r0, #0
|
|
18096: 4bbd ldr r3, [pc, #756] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18098: 4798 blx r3
|
|
1809a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1809e: 0040 lsls r0, r0, #1
|
|
180a0: 3050 adds r0, #80 ; 0x50
|
|
180a2: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
180a6: f280 873c bge.w 18f22 <lv_theme_material_init+0x23f2>
|
|
180aa: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
180ac: 2113 movs r1, #19
|
|
180ae: 4620 mov r0, r4
|
|
180b0: 4bb7 ldr r3, [pc, #732] ; (18390 <lv_theme_material_init+0x1860>)
|
|
180b2: 4798 blx r3
|
|
lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
180b4: 4bb7 ldr r3, [pc, #732] ; (18394 <lv_theme_material_init+0x1864>)
|
|
180b6: 681c ldr r4, [r3, #0]
|
|
180b8: 34b0 adds r4, #176 ; 0xb0
|
|
180ba: 2000 movs r0, #0
|
|
180bc: 4bb6 ldr r3, [pc, #728] ; (18398 <lv_theme_material_init+0x1868>)
|
|
180be: 4798 blx r3
|
|
180c0: 2801 cmp r0, #1
|
|
180c2: f240 873e bls.w 18f42 <lv_theme_material_init+0x2412>
|
|
180c6: 2000 movs r0, #0
|
|
180c8: 4bb0 ldr r3, [pc, #704] ; (1838c <lv_theme_material_init+0x185c>)
|
|
180ca: 4798 blx r3
|
|
180cc: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
180d0: 0040 lsls r0, r0, #1
|
|
180d2: 3050 adds r0, #80 ; 0x50
|
|
180d4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
180d8: f280 874e bge.w 18f78 <lv_theme_material_init+0x2448>
|
|
180dc: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar)
|
|
180de: 2114 movs r1, #20
|
|
180e0: 4620 mov r0, r4
|
|
180e2: 4bab ldr r3, [pc, #684] ; (18390 <lv_theme_material_init+0x1860>)
|
|
180e4: 4798 blx r3
|
|
style_init_reset(&styles->table_cell);
|
|
180e6: 4cab ldr r4, [pc, #684] ; (18394 <lv_theme_material_init+0x1864>)
|
|
180e8: 6820 ldr r0, [r4, #0]
|
|
180ea: 30a0 adds r0, #160 ; 0xa0
|
|
180ec: 4bab ldr r3, [pc, #684] ; (1839c <lv_theme_material_init+0x186c>)
|
|
180ee: 4798 blx r3
|
|
lv_style_set_border_color(&styles->table_cell, LV_STATE_DEFAULT, COLOR_BG_BORDER);
|
|
180f0: 6820 ldr r0, [r4, #0]
|
|
180f2: 6a23 ldr r3, [r4, #32]
|
|
180f4: f013 0302 ands.w r3, r3, #2
|
|
180f8: bf14 ite ne
|
|
180fa: 211a movne r1, #26
|
|
180fc: 2110 moveq r1, #16
|
|
180fe: 2b00 cmp r3, #0
|
|
18100: bf15 itete ne
|
|
18102: 2437 movne r4, #55 ; 0x37
|
|
18104: 2422 moveq r4, #34 ; 0x22
|
|
18106: 231c movne r3, #28
|
|
18108: 2312 moveq r3, #18
|
|
1810a: f04f 0200 mov.w r2, #0
|
|
1810e: f363 0204 bfi r2, r3, #0, #5
|
|
18112: f364 124a bfi r2, r4, #5, #6
|
|
18116: f361 22cf bfi r2, r1, #11, #5
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar)
|
|
1811a: 2139 movs r1, #57 ; 0x39
|
|
1811c: 30a0 adds r0, #160 ; 0xa0
|
|
1811e: 4ba0 ldr r3, [pc, #640] ; (183a0 <lv_theme_material_init+0x1870>)
|
|
18120: 4798 blx r3
|
|
lv_style_set_border_width(&styles->table_cell, LV_STATE_DEFAULT, 1);
|
|
18122: 4c9c ldr r4, [pc, #624] ; (18394 <lv_theme_material_init+0x1864>)
|
|
18124: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar)
|
|
18126: 2201 movs r2, #1
|
|
18128: 2130 movs r1, #48 ; 0x30
|
|
1812a: 30a0 adds r0, #160 ; 0xa0
|
|
1812c: 4d98 ldr r5, [pc, #608] ; (18390 <lv_theme_material_init+0x1860>)
|
|
1812e: 47a8 blx r5
|
|
lv_style_set_border_side(&styles->table_cell, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM);
|
|
18130: 6820 ldr r0, [r4, #0]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar)
|
|
18132: 2203 movs r2, #3
|
|
18134: 2131 movs r1, #49 ; 0x31
|
|
18136: 30a0 adds r0, #160 ; 0xa0
|
|
18138: 47a8 blx r5
|
|
lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
1813a: 6824 ldr r4, [r4, #0]
|
|
1813c: 34a0 adds r4, #160 ; 0xa0
|
|
1813e: 2000 movs r0, #0
|
|
18140: 4b95 ldr r3, [pc, #596] ; (18398 <lv_theme_material_init+0x1868>)
|
|
18142: 4798 blx r3
|
|
18144: 2801 cmp r0, #1
|
|
18146: f240 8727 bls.w 18f98 <lv_theme_material_init+0x2468>
|
|
1814a: 2000 movs r0, #0
|
|
1814c: 4b8f ldr r3, [pc, #572] ; (1838c <lv_theme_material_init+0x185c>)
|
|
1814e: 4798 blx r3
|
|
18150: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18154: 0040 lsls r0, r0, #1
|
|
18156: 3050 adds r0, #80 ; 0x50
|
|
18158: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1815c: f280 8737 bge.w 18fce <lv_theme_material_init+0x249e>
|
|
18160: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
18162: 2112 movs r1, #18
|
|
18164: 4620 mov r0, r4
|
|
18166: 4b8a ldr r3, [pc, #552] ; (18390 <lv_theme_material_init+0x1860>)
|
|
18168: 4798 blx r3
|
|
lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
1816a: 4b8a ldr r3, [pc, #552] ; (18394 <lv_theme_material_init+0x1864>)
|
|
1816c: 681c ldr r4, [r3, #0]
|
|
1816e: 34a0 adds r4, #160 ; 0xa0
|
|
18170: 2000 movs r0, #0
|
|
18172: 4b89 ldr r3, [pc, #548] ; (18398 <lv_theme_material_init+0x1868>)
|
|
18174: 4798 blx r3
|
|
18176: 2801 cmp r0, #1
|
|
18178: f240 8739 bls.w 18fee <lv_theme_material_init+0x24be>
|
|
1817c: 2000 movs r0, #0
|
|
1817e: 4b83 ldr r3, [pc, #524] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18180: 4798 blx r3
|
|
18182: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18186: 0040 lsls r0, r0, #1
|
|
18188: 3050 adds r0, #80 ; 0x50
|
|
1818a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1818e: f280 8749 bge.w 19024 <lv_theme_material_init+0x24f4>
|
|
18192: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
18194: 2113 movs r1, #19
|
|
18196: 4620 mov r0, r4
|
|
18198: 4b7d ldr r3, [pc, #500] ; (18390 <lv_theme_material_init+0x1860>)
|
|
1819a: 4798 blx r3
|
|
lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
1819c: 4b7d ldr r3, [pc, #500] ; (18394 <lv_theme_material_init+0x1864>)
|
|
1819e: 681c ldr r4, [r3, #0]
|
|
181a0: 34a0 adds r4, #160 ; 0xa0
|
|
181a2: 2000 movs r0, #0
|
|
181a4: 4b7c ldr r3, [pc, #496] ; (18398 <lv_theme_material_init+0x1868>)
|
|
181a6: 4798 blx r3
|
|
181a8: 2801 cmp r0, #1
|
|
181aa: f240 874b bls.w 19044 <lv_theme_material_init+0x2514>
|
|
181ae: 2000 movs r0, #0
|
|
181b0: 4b76 ldr r3, [pc, #472] ; (1838c <lv_theme_material_init+0x185c>)
|
|
181b2: 4798 blx r3
|
|
181b4: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
181b8: 0040 lsls r0, r0, #1
|
|
181ba: 3050 adds r0, #80 ; 0x50
|
|
181bc: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
181c0: f280 8760 bge.w 19084 <lv_theme_material_init+0x2554>
|
|
181c4: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
181c6: 2110 movs r1, #16
|
|
181c8: 4620 mov r0, r4
|
|
181ca: 4b71 ldr r3, [pc, #452] ; (18390 <lv_theme_material_init+0x1860>)
|
|
181cc: 4798 blx r3
|
|
lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
181ce: 4b71 ldr r3, [pc, #452] ; (18394 <lv_theme_material_init+0x1864>)
|
|
181d0: 681c ldr r4, [r3, #0]
|
|
181d2: 34a0 adds r4, #160 ; 0xa0
|
|
181d4: 2000 movs r0, #0
|
|
181d6: 4b70 ldr r3, [pc, #448] ; (18398 <lv_theme_material_init+0x1868>)
|
|
181d8: 4798 blx r3
|
|
181da: 2801 cmp r0, #1
|
|
181dc: f240 8762 bls.w 190a4 <lv_theme_material_init+0x2574>
|
|
181e0: 2000 movs r0, #0
|
|
181e2: 4b6a ldr r3, [pc, #424] ; (1838c <lv_theme_material_init+0x185c>)
|
|
181e4: 4798 blx r3
|
|
181e6: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
181ea: 0040 lsls r0, r0, #1
|
|
181ec: 3050 adds r0, #80 ; 0x50
|
|
181ee: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
181f2: f280 8772 bge.w 190da <lv_theme_material_init+0x25aa>
|
|
181f6: 2201 movs r2, #1
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
181f8: 2111 movs r1, #17
|
|
181fa: 4620 mov r0, r4
|
|
181fc: 4b64 ldr r3, [pc, #400] ; (18390 <lv_theme_material_init+0x1860>)
|
|
181fe: 4798 blx r3
|
|
theme.apply_xcb = theme_apply;
|
|
18200: 4c64 ldr r4, [pc, #400] ; (18394 <lv_theme_material_init+0x1864>)
|
|
18202: 4b68 ldr r3, [pc, #416] ; (183a4 <lv_theme_material_init+0x1874>)
|
|
18204: 60a3 str r3, [r4, #8]
|
|
inited = true;
|
|
18206: 2301 movs r3, #1
|
|
18208: 7123 strb r3, [r4, #4]
|
|
lv_obj_report_style_mod(NULL);
|
|
1820a: 2000 movs r0, #0
|
|
1820c: 4b66 ldr r3, [pc, #408] ; (183a8 <lv_theme_material_init+0x1878>)
|
|
1820e: 4798 blx r3
|
|
}
|
|
18210: f104 0008 add.w r0, r4, #8
|
|
18214: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
LV_GC_ROOT(_lv_theme_material_styles) = lv_mem_alloc(sizeof(theme_styles_t));
|
|
18218: 20bc movs r0, #188 ; 0xbc
|
|
1821a: 4b64 ldr r3, [pc, #400] ; (183ac <lv_theme_material_init+0x187c>)
|
|
1821c: 4798 blx r3
|
|
1821e: 4b64 ldr r3, [pc, #400] ; (183b0 <lv_theme_material_init+0x1880>)
|
|
18220: 6018 str r0, [r3, #0]
|
|
styles = (theme_styles_t *)LV_GC_ROOT(_lv_theme_material_styles);
|
|
18222: 4b5c ldr r3, [pc, #368] ; (18394 <lv_theme_material_init+0x1864>)
|
|
18224: 6018 str r0, [r3, #0]
|
|
18226: f7fe bc8e b.w 16b46 <lv_theme_material_init+0x16>
|
|
lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd));
|
|
1822a: 2315 movs r3, #21
|
|
1822c: 212a movs r1, #42 ; 0x2a
|
|
1822e: 461c mov r4, r3
|
|
18230: f7fe bcb3 b.w 16b9a <lv_theme_material_init+0x6a>
|
|
lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1));
|
|
18234: 2000 movs r0, #0
|
|
18236: 4b55 ldr r3, [pc, #340] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18238: 4798 blx r3
|
|
1823a: 3050 adds r0, #80 ; 0x50
|
|
1823c: 4b5d ldr r3, [pc, #372] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
1823e: fb83 2300 smull r2, r3, r3, r0
|
|
18242: 17c2 asrs r2, r0, #31
|
|
18244: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18248: b212 sxth r2, r2
|
|
1824a: f7fe bcc2 b.w 16bd2 <lv_theme_material_init+0xa2>
|
|
lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
1824e: 2000 movs r0, #0
|
|
18250: 4b4e ldr r3, [pc, #312] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18252: 4798 blx r3
|
|
18254: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18258: 0040 lsls r0, r0, #1
|
|
1825a: 3050 adds r0, #80 ; 0x50
|
|
1825c: 4b55 ldr r3, [pc, #340] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
1825e: fb83 2300 smull r2, r3, r3, r0
|
|
18262: 17c2 asrs r2, r0, #31
|
|
18264: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18268: b212 sxth r2, r2
|
|
1826a: f7fe bcc5 b.w 16bf8 <lv_theme_material_init+0xc8>
|
|
lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
1826e: 2000 movs r0, #0
|
|
18270: 4b46 ldr r3, [pc, #280] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18272: 4798 blx r3
|
|
18274: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18278: 0040 lsls r0, r0, #1
|
|
1827a: 3050 adds r0, #80 ; 0x50
|
|
1827c: 4b4d ldr r3, [pc, #308] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
1827e: fb83 2300 smull r2, r3, r3, r0
|
|
18282: 17c2 asrs r2, r0, #31
|
|
18284: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18288: b212 sxth r2, r2
|
|
1828a: f7fe bcc8 b.w 16c1e <lv_theme_material_init+0xee>
|
|
lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3));
|
|
1828e: 2000 movs r0, #0
|
|
18290: 4b3e ldr r3, [pc, #248] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18292: 4798 blx r3
|
|
18294: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
18298: 3050 adds r0, #80 ; 0x50
|
|
1829a: 4b46 ldr r3, [pc, #280] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
1829c: fb83 2300 smull r2, r3, r3, r0
|
|
182a0: 17c2 asrs r2, r0, #31
|
|
182a2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
182a6: b212 sxth r2, r2
|
|
182a8: f7fe bce9 b.w 16c7e <lv_theme_material_init+0x14e>
|
|
lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4));
|
|
182ac: 2000 movs r0, #0
|
|
182ae: 4b37 ldr r3, [pc, #220] ; (1838c <lv_theme_material_init+0x185c>)
|
|
182b0: 4798 blx r3
|
|
182b2: 3014 adds r0, #20
|
|
182b4: 0080 lsls r0, r0, #2
|
|
182b6: 4b3f ldr r3, [pc, #252] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
182b8: fb83 2300 smull r2, r3, r3, r0
|
|
182bc: 17c2 asrs r2, r0, #31
|
|
182be: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
182c2: b212 sxth r2, r2
|
|
182c4: f7fe bcec b.w 16ca0 <lv_theme_material_init+0x170>
|
|
lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/
|
|
182c8: 2000 movs r0, #0
|
|
182ca: 4b30 ldr r3, [pc, #192] ; (1838c <lv_theme_material_init+0x185c>)
|
|
182cc: 4798 blx r3
|
|
182ce: 3028 adds r0, #40 ; 0x28
|
|
182d0: 0040 lsls r0, r0, #1
|
|
182d2: 4b38 ldr r3, [pc, #224] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
182d4: fb83 2300 smull r2, r3, r3, r0
|
|
182d8: 17c2 asrs r2, r0, #31
|
|
182da: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
182de: b212 sxth r2, r2
|
|
182e0: f7fe bcef b.w 16cc2 <lv_theme_material_init+0x192>
|
|
lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1));
|
|
182e4: 2000 movs r0, #0
|
|
182e6: 4b29 ldr r3, [pc, #164] ; (1838c <lv_theme_material_init+0x185c>)
|
|
182e8: 4798 blx r3
|
|
182ea: 3050 adds r0, #80 ; 0x50
|
|
182ec: 4b31 ldr r3, [pc, #196] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
182ee: fb83 2300 smull r2, r3, r3, r0
|
|
182f2: 17c2 asrs r2, r0, #31
|
|
182f4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
182f8: b212 sxth r2, r2
|
|
182fa: f7fe bcf2 b.w 16ce2 <lv_theme_material_init+0x1b2>
|
|
lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
182fe: 2000 movs r0, #0
|
|
18300: 4b22 ldr r3, [pc, #136] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18302: 4798 blx r3
|
|
18304: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18308: 3050 adds r0, #80 ; 0x50
|
|
1830a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1830e: da02 bge.n 18316 <lv_theme_material_init+0x17e6>
|
|
18310: 2201 movs r2, #1
|
|
18312: f7fe bd03 b.w 16d1c <lv_theme_material_init+0x1ec>
|
|
18316: 2000 movs r0, #0
|
|
18318: 4b1c ldr r3, [pc, #112] ; (1838c <lv_theme_material_init+0x185c>)
|
|
1831a: 4798 blx r3
|
|
1831c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18320: 3050 adds r0, #80 ; 0x50
|
|
18322: 4b24 ldr r3, [pc, #144] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
18324: fb83 2300 smull r2, r3, r3, r0
|
|
18328: 17c2 asrs r2, r0, #31
|
|
1832a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1832e: b212 sxth r2, r2
|
|
18330: f7fe bcf4 b.w 16d1c <lv_theme_material_init+0x1ec>
|
|
18334: 2000 movs r0, #0
|
|
18336: 4b15 ldr r3, [pc, #84] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18338: 4798 blx r3
|
|
1833a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1833e: 0040 lsls r0, r0, #1
|
|
18340: 3050 adds r0, #80 ; 0x50
|
|
18342: 4b1c ldr r3, [pc, #112] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
18344: fb83 2300 smull r2, r3, r3, r0
|
|
18348: 17c2 asrs r2, r0, #31
|
|
1834a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1834e: b212 sxth r2, r2
|
|
18350: f7fe bce4 b.w 16d1c <lv_theme_material_init+0x1ec>
|
|
lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
18354: 2000 movs r0, #0
|
|
18356: 4b0d ldr r3, [pc, #52] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18358: 4798 blx r3
|
|
1835a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1835e: 3050 adds r0, #80 ; 0x50
|
|
18360: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18364: da02 bge.n 1836c <lv_theme_material_init+0x183c>
|
|
18366: 2201 movs r2, #1
|
|
18368: f7fe bcf1 b.w 16d4e <lv_theme_material_init+0x21e>
|
|
1836c: 2000 movs r0, #0
|
|
1836e: 4b07 ldr r3, [pc, #28] ; (1838c <lv_theme_material_init+0x185c>)
|
|
18370: 4798 blx r3
|
|
18372: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18376: 3050 adds r0, #80 ; 0x50
|
|
18378: 4b0e ldr r3, [pc, #56] ; (183b4 <lv_theme_material_init+0x1884>)
|
|
1837a: fb83 2300 smull r2, r3, r3, r0
|
|
1837e: 17c2 asrs r2, r0, #31
|
|
18380: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18384: b212 sxth r2, r2
|
|
18386: f7fe bce2 b.w 16d4e <lv_theme_material_init+0x21e>
|
|
1838a: bf00 nop
|
|
1838c: 00010f25 .word 0x00010f25
|
|
18390: 000068c9 .word 0x000068c9
|
|
18394: 20006bd8 .word 0x20006bd8
|
|
18398: 00010f41 .word 0x00010f41
|
|
1839c: 00014a49 .word 0x00014a49
|
|
183a0: 00006a0d .word 0x00006a0d
|
|
183a4: 000141e1 .word 0x000141e1
|
|
183a8: 00003c3d .word 0x00003c3d
|
|
183ac: 000123c5 .word 0x000123c5
|
|
183b0: 20006d48 .word 0x20006d48
|
|
183b4: 66666667 .word 0x66666667
|
|
183b8: 2000 movs r0, #0
|
|
183ba: 4bc7 ldr r3, [pc, #796] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
183bc: 4798 blx r3
|
|
183be: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
183c2: 0040 lsls r0, r0, #1
|
|
183c4: 3050 adds r0, #80 ; 0x50
|
|
183c6: 4bc5 ldr r3, [pc, #788] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
183c8: fb83 2300 smull r2, r3, r3, r0
|
|
183cc: 17c2 asrs r2, r0, #31
|
|
183ce: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
183d2: b212 sxth r2, r2
|
|
183d4: f7fe bcbb b.w 16d4e <lv_theme_material_init+0x21e>
|
|
lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
183d8: 2000 movs r0, #0
|
|
183da: 4bbf ldr r3, [pc, #764] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
183dc: 4798 blx r3
|
|
183de: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
183e2: 3050 adds r0, #80 ; 0x50
|
|
183e4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
183e8: da02 bge.n 183f0 <lv_theme_material_init+0x18c0>
|
|
183ea: 2201 movs r2, #1
|
|
183ec: f7fe bcc8 b.w 16d80 <lv_theme_material_init+0x250>
|
|
183f0: 2000 movs r0, #0
|
|
183f2: 4bb9 ldr r3, [pc, #740] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
183f4: 4798 blx r3
|
|
183f6: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
183fa: 3050 adds r0, #80 ; 0x50
|
|
183fc: 4bb7 ldr r3, [pc, #732] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
183fe: fb83 2300 smull r2, r3, r3, r0
|
|
18402: 17c2 asrs r2, r0, #31
|
|
18404: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18408: b212 sxth r2, r2
|
|
1840a: f7fe bcb9 b.w 16d80 <lv_theme_material_init+0x250>
|
|
1840e: 2000 movs r0, #0
|
|
18410: 4bb1 ldr r3, [pc, #708] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18412: 4798 blx r3
|
|
18414: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18418: 0040 lsls r0, r0, #1
|
|
1841a: 3050 adds r0, #80 ; 0x50
|
|
1841c: 4baf ldr r3, [pc, #700] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
1841e: fb83 2300 smull r2, r3, r3, r0
|
|
18422: 17c2 asrs r2, r0, #31
|
|
18424: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18428: b212 sxth r2, r2
|
|
1842a: f7fe bca9 b.w 16d80 <lv_theme_material_init+0x250>
|
|
lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF);
|
|
1842e: 2000 movs r0, #0
|
|
18430: 4ba9 ldr r3, [pc, #676] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18432: 4798 blx r3
|
|
18434: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18438: 3050 adds r0, #80 ; 0x50
|
|
1843a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1843e: da02 bge.n 18446 <lv_theme_material_init+0x1916>
|
|
18440: 2201 movs r2, #1
|
|
18442: f7fe bcb6 b.w 16db2 <lv_theme_material_init+0x282>
|
|
18446: 2000 movs r0, #0
|
|
18448: 4ba3 ldr r3, [pc, #652] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
1844a: 4798 blx r3
|
|
1844c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18450: 3050 adds r0, #80 ; 0x50
|
|
18452: 4ba2 ldr r3, [pc, #648] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
18454: fb83 2300 smull r2, r3, r3, r0
|
|
18458: 17c2 asrs r2, r0, #31
|
|
1845a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1845e: b212 sxth r2, r2
|
|
18460: f7fe bca7 b.w 16db2 <lv_theme_material_init+0x282>
|
|
18464: 2000 movs r0, #0
|
|
18466: 4b9c ldr r3, [pc, #624] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18468: 4798 blx r3
|
|
1846a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1846e: 0040 lsls r0, r0, #1
|
|
18470: 3050 adds r0, #80 ; 0x50
|
|
18472: 4b9a ldr r3, [pc, #616] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
18474: fb83 2300 smull r2, r3, r3, r0
|
|
18478: 17c2 asrs r2, r0, #31
|
|
1847a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1847e: b212 sxth r2, r2
|
|
18480: f7fe bc97 b.w 16db2 <lv_theme_material_init+0x282>
|
|
lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee));
|
|
18484: 2306 movs r3, #6
|
|
18486: 2110 movs r1, #16
|
|
18488: 2409 movs r4, #9
|
|
1848a: f7fe bcdc b.w 16e46 <lv_theme_material_init+0x316>
|
|
lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF);
|
|
1848e: 2000 movs r0, #0
|
|
18490: 4b91 ldr r3, [pc, #580] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18492: 4798 blx r3
|
|
18494: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18498: 3050 adds r0, #80 ; 0x50
|
|
1849a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1849e: da02 bge.n 184a6 <lv_theme_material_init+0x1976>
|
|
184a0: 2201 movs r2, #1
|
|
184a2: f7fe bcf1 b.w 16e88 <lv_theme_material_init+0x358>
|
|
184a6: 2000 movs r0, #0
|
|
184a8: 4b8b ldr r3, [pc, #556] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
184aa: 4798 blx r3
|
|
184ac: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
184b0: 3050 adds r0, #80 ; 0x50
|
|
184b2: 4b8a ldr r3, [pc, #552] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
184b4: fb83 2300 smull r2, r3, r3, r0
|
|
184b8: 17c2 asrs r2, r0, #31
|
|
184ba: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
184be: b212 sxth r2, r2
|
|
184c0: f7fe bce2 b.w 16e88 <lv_theme_material_init+0x358>
|
|
184c4: 2000 movs r0, #0
|
|
184c6: 4b84 ldr r3, [pc, #528] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
184c8: 4798 blx r3
|
|
184ca: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
184ce: 0040 lsls r0, r0, #1
|
|
184d0: 3050 adds r0, #80 ; 0x50
|
|
184d2: 4b82 ldr r3, [pc, #520] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
184d4: fb83 2300 smull r2, r3, r3, r0
|
|
184d8: 17c2 asrs r2, r0, #31
|
|
184da: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
184de: b212 sxth r2, r2
|
|
184e0: f7fe bcd2 b.w 16e88 <lv_theme_material_init+0x358>
|
|
lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF);
|
|
184e4: 2000 movs r0, #0
|
|
184e6: 4b7c ldr r3, [pc, #496] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
184e8: 4798 blx r3
|
|
184ea: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
184ee: 3050 adds r0, #80 ; 0x50
|
|
184f0: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
184f4: da02 bge.n 184fc <lv_theme_material_init+0x19cc>
|
|
184f6: 2201 movs r2, #1
|
|
184f8: f7fe bcdf b.w 16eba <lv_theme_material_init+0x38a>
|
|
184fc: 2000 movs r0, #0
|
|
184fe: 4b76 ldr r3, [pc, #472] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18500: 4798 blx r3
|
|
18502: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18506: 3050 adds r0, #80 ; 0x50
|
|
18508: 4b74 ldr r3, [pc, #464] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
1850a: fb83 2300 smull r2, r3, r3, r0
|
|
1850e: 17c2 asrs r2, r0, #31
|
|
18510: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18514: b212 sxth r2, r2
|
|
18516: f7fe bcd0 b.w 16eba <lv_theme_material_init+0x38a>
|
|
1851a: 2000 movs r0, #0
|
|
1851c: 4b6e ldr r3, [pc, #440] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
1851e: 4798 blx r3
|
|
18520: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18524: 0040 lsls r0, r0, #1
|
|
18526: 3050 adds r0, #80 ; 0x50
|
|
18528: 4b6c ldr r3, [pc, #432] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
1852a: fb83 2300 smull r2, r3, r3, r0
|
|
1852e: 17c2 asrs r2, r0, #31
|
|
18530: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18534: b212 sxth r2, r2
|
|
18536: f7fe bcc0 b.w 16eba <lv_theme_material_init+0x38a>
|
|
lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF);
|
|
1853a: 2000 movs r0, #0
|
|
1853c: 4b66 ldr r3, [pc, #408] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
1853e: 4798 blx r3
|
|
18540: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18544: 3050 adds r0, #80 ; 0x50
|
|
18546: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1854a: da02 bge.n 18552 <lv_theme_material_init+0x1a22>
|
|
1854c: 2201 movs r2, #1
|
|
1854e: f7fe bccd b.w 16eec <lv_theme_material_init+0x3bc>
|
|
18552: 2000 movs r0, #0
|
|
18554: 4b60 ldr r3, [pc, #384] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18556: 4798 blx r3
|
|
18558: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1855c: 3050 adds r0, #80 ; 0x50
|
|
1855e: 4b5f ldr r3, [pc, #380] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
18560: fb83 2300 smull r2, r3, r3, r0
|
|
18564: 17c2 asrs r2, r0, #31
|
|
18566: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1856a: b212 sxth r2, r2
|
|
1856c: f7fe bcbe b.w 16eec <lv_theme_material_init+0x3bc>
|
|
18570: 2000 movs r0, #0
|
|
18572: 4b59 ldr r3, [pc, #356] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18574: 4798 blx r3
|
|
18576: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1857a: 0040 lsls r0, r0, #1
|
|
1857c: 3050 adds r0, #80 ; 0x50
|
|
1857e: 4b57 ldr r3, [pc, #348] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
18580: fb83 2300 smull r2, r3, r3, r0
|
|
18584: 17c2 asrs r2, r0, #31
|
|
18586: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1858a: b212 sxth r2, r2
|
|
1858c: f7fe bcae b.w 16eec <lv_theme_material_init+0x3bc>
|
|
lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4));
|
|
18590: 2000 movs r0, #0
|
|
18592: 4b51 ldr r3, [pc, #324] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18594: 4798 blx r3
|
|
18596: 3014 adds r0, #20
|
|
18598: 0080 lsls r0, r0, #2
|
|
1859a: 4b50 ldr r3, [pc, #320] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
1859c: fb83 2300 smull r2, r3, r3, r0
|
|
185a0: 17c2 asrs r2, r0, #31
|
|
185a2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
185a6: b212 sxth r2, r2
|
|
185a8: f7fe bcb5 b.w 16f16 <lv_theme_material_init+0x3e6>
|
|
lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE);
|
|
185ac: 2306 movs r3, #6
|
|
185ae: 2110 movs r1, #16
|
|
185b0: 2409 movs r4, #9
|
|
185b2: f7fe bcbf b.w 16f34 <lv_theme_material_init+0x404>
|
|
lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3));
|
|
185b6: 2000 movs r0, #0
|
|
185b8: 4b47 ldr r3, [pc, #284] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
185ba: 4798 blx r3
|
|
185bc: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
185c0: 3050 adds r0, #80 ; 0x50
|
|
185c2: 4b46 ldr r3, [pc, #280] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
185c4: fb83 2300 smull r2, r3, r3, r0
|
|
185c8: 17c2 asrs r2, r0, #31
|
|
185ca: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
185ce: b212 sxth r2, r2
|
|
185d0: f7fe bd20 b.w 17014 <lv_theme_material_init+0x4e4>
|
|
lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF);
|
|
185d4: 2000 movs r0, #0
|
|
185d6: 4b40 ldr r3, [pc, #256] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
185d8: 4798 blx r3
|
|
185da: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
185de: 3050 adds r0, #80 ; 0x50
|
|
185e0: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
185e4: da02 bge.n 185ec <lv_theme_material_init+0x1abc>
|
|
185e6: 2201 movs r2, #1
|
|
185e8: f7fe bd2d b.w 17046 <lv_theme_material_init+0x516>
|
|
185ec: 2000 movs r0, #0
|
|
185ee: 4b3a ldr r3, [pc, #232] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
185f0: 4798 blx r3
|
|
185f2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
185f6: 3050 adds r0, #80 ; 0x50
|
|
185f8: 4b38 ldr r3, [pc, #224] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
185fa: fb83 2300 smull r2, r3, r3, r0
|
|
185fe: 17c2 asrs r2, r0, #31
|
|
18600: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18604: b212 sxth r2, r2
|
|
18606: f7fe bd1e b.w 17046 <lv_theme_material_init+0x516>
|
|
1860a: 2000 movs r0, #0
|
|
1860c: 4b32 ldr r3, [pc, #200] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
1860e: 4798 blx r3
|
|
18610: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18614: 0040 lsls r0, r0, #1
|
|
18616: 3050 adds r0, #80 ; 0x50
|
|
18618: 4b30 ldr r3, [pc, #192] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
1861a: fb83 2300 smull r2, r3, r3, r0
|
|
1861e: 17c2 asrs r2, r0, #31
|
|
18620: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18624: b212 sxth r2, r2
|
|
18626: f7fe bd0e b.w 17046 <lv_theme_material_init+0x516>
|
|
lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF);
|
|
1862a: 2000 movs r0, #0
|
|
1862c: 4b2a ldr r3, [pc, #168] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
1862e: 4798 blx r3
|
|
18630: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18634: 3050 adds r0, #80 ; 0x50
|
|
18636: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
1863a: da02 bge.n 18642 <lv_theme_material_init+0x1b12>
|
|
1863c: 2201 movs r2, #1
|
|
1863e: f7fe bd1b b.w 17078 <lv_theme_material_init+0x548>
|
|
18642: 2000 movs r0, #0
|
|
18644: 4b24 ldr r3, [pc, #144] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18646: 4798 blx r3
|
|
18648: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1864c: 3050 adds r0, #80 ; 0x50
|
|
1864e: 4b23 ldr r3, [pc, #140] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
18650: fb83 2300 smull r2, r3, r3, r0
|
|
18654: 17c2 asrs r2, r0, #31
|
|
18656: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1865a: b212 sxth r2, r2
|
|
1865c: f7fe bd0c b.w 17078 <lv_theme_material_init+0x548>
|
|
18660: 2000 movs r0, #0
|
|
18662: 4b1d ldr r3, [pc, #116] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18664: 4798 blx r3
|
|
18666: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1866a: 0040 lsls r0, r0, #1
|
|
1866c: 3050 adds r0, #80 ; 0x50
|
|
1866e: 4b1b ldr r3, [pc, #108] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
18670: fb83 2300 smull r2, r3, r3, r0
|
|
18674: 17c2 asrs r2, r0, #31
|
|
18676: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1867a: b212 sxth r2, r2
|
|
1867c: f7fe bcfc b.w 17078 <lv_theme_material_init+0x548>
|
|
lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF);
|
|
18680: 2000 movs r0, #0
|
|
18682: 4b15 ldr r3, [pc, #84] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
18684: 4798 blx r3
|
|
18686: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1868a: 3050 adds r0, #80 ; 0x50
|
|
1868c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18690: da02 bge.n 18698 <lv_theme_material_init+0x1b68>
|
|
18692: 2201 movs r2, #1
|
|
18694: f7fe bd09 b.w 170aa <lv_theme_material_init+0x57a>
|
|
18698: 2000 movs r0, #0
|
|
1869a: 4b0f ldr r3, [pc, #60] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
1869c: 4798 blx r3
|
|
1869e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
186a2: 3050 adds r0, #80 ; 0x50
|
|
186a4: 4b0d ldr r3, [pc, #52] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
186a6: fb83 2300 smull r2, r3, r3, r0
|
|
186aa: 17c2 asrs r2, r0, #31
|
|
186ac: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
186b0: b212 sxth r2, r2
|
|
186b2: f7fe bcfa b.w 170aa <lv_theme_material_init+0x57a>
|
|
186b6: 2000 movs r0, #0
|
|
186b8: 4b07 ldr r3, [pc, #28] ; (186d8 <lv_theme_material_init+0x1ba8>)
|
|
186ba: 4798 blx r3
|
|
186bc: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
186c0: 0040 lsls r0, r0, #1
|
|
186c2: 3050 adds r0, #80 ; 0x50
|
|
186c4: 4b05 ldr r3, [pc, #20] ; (186dc <lv_theme_material_init+0x1bac>)
|
|
186c6: fb83 2300 smull r2, r3, r3, r0
|
|
186ca: 17c2 asrs r2, r0, #31
|
|
186cc: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
186d0: b212 sxth r2, r2
|
|
186d2: f7fe bcea b.w 170aa <lv_theme_material_init+0x57a>
|
|
186d6: bf00 nop
|
|
186d8: 00010f25 .word 0x00010f25
|
|
186dc: 66666667 .word 0x66666667
|
|
lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30));
|
|
186e0: 2000 movs r0, #0
|
|
186e2: 4bc9 ldr r3, [pc, #804] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
186e4: 4798 blx r3
|
|
186e6: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
186ea: 0040 lsls r0, r0, #1
|
|
186ec: 3050 adds r0, #80 ; 0x50
|
|
186ee: 4bc7 ldr r3, [pc, #796] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
186f0: fb83 2300 smull r2, r3, r3, r0
|
|
186f4: 17c2 asrs r2, r0, #31
|
|
186f6: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
186fa: b212 sxth r2, r2
|
|
186fc: f7fe bcec b.w 170d8 <lv_theme_material_init+0x5a8>
|
|
lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20));
|
|
18700: 2000 movs r0, #0
|
|
18702: 4bc1 ldr r3, [pc, #772] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18704: 4798 blx r3
|
|
18706: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1870a: 0080 lsls r0, r0, #2
|
|
1870c: 3050 adds r0, #80 ; 0x50
|
|
1870e: 4bbf ldr r3, [pc, #764] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18710: fb83 2300 smull r2, r3, r3, r0
|
|
18714: 17c2 asrs r2, r0, #31
|
|
18716: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1871a: b212 sxth r2, r2
|
|
1871c: f7fe bd21 b.w 17162 <lv_theme_material_init+0x632>
|
|
lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
18720: 2000 movs r0, #0
|
|
18722: 4bb9 ldr r3, [pc, #740] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18724: 4798 blx r3
|
|
18726: eb00 0240 add.w r2, r0, r0, lsl #1
|
|
1872a: eb00 0082 add.w r0, r0, r2, lsl #2
|
|
1872e: 3050 adds r0, #80 ; 0x50
|
|
18730: 4bb6 ldr r3, [pc, #728] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18732: fb83 2300 smull r2, r3, r3, r0
|
|
18736: 17c2 asrs r2, r0, #31
|
|
18738: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1873c: b212 sxth r2, r2
|
|
1873e: f7fe bd57 b.w 171f0 <lv_theme_material_init+0x6c0>
|
|
lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
18742: 2000 movs r0, #0
|
|
18744: 4bb0 ldr r3, [pc, #704] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18746: 4798 blx r3
|
|
18748: eb00 0240 add.w r2, r0, r0, lsl #1
|
|
1874c: eb00 0082 add.w r0, r0, r2, lsl #2
|
|
18750: 3050 adds r0, #80 ; 0x50
|
|
18752: 4bae ldr r3, [pc, #696] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18754: fb83 2300 smull r2, r3, r3, r0
|
|
18758: 17c2 asrs r2, r0, #31
|
|
1875a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1875e: b212 sxth r2, r2
|
|
18760: f7fe bd5a b.w 17218 <lv_theme_material_init+0x6e8>
|
|
lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
18764: 2000 movs r0, #0
|
|
18766: 4ba8 ldr r3, [pc, #672] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18768: 4798 blx r3
|
|
1876a: eb00 0240 add.w r2, r0, r0, lsl #1
|
|
1876e: eb00 0082 add.w r0, r0, r2, lsl #2
|
|
18772: 3050 adds r0, #80 ; 0x50
|
|
18774: 4ba5 ldr r3, [pc, #660] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18776: fb83 2300 smull r2, r3, r3, r0
|
|
1877a: 17c2 asrs r2, r0, #31
|
|
1877c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18780: b212 sxth r2, r2
|
|
18782: f7fe bd5d b.w 17240 <lv_theme_material_init+0x710>
|
|
lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13));
|
|
18786: 2000 movs r0, #0
|
|
18788: 4b9f ldr r3, [pc, #636] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
1878a: 4798 blx r3
|
|
1878c: eb00 0240 add.w r2, r0, r0, lsl #1
|
|
18790: eb00 0082 add.w r0, r0, r2, lsl #2
|
|
18794: 3050 adds r0, #80 ; 0x50
|
|
18796: 4b9d ldr r3, [pc, #628] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18798: fb83 2300 smull r2, r3, r3, r0
|
|
1879c: 17c2 asrs r2, r0, #31
|
|
1879e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
187a2: b212 sxth r2, r2
|
|
187a4: f7fe bd60 b.w 17268 <lv_theme_material_init+0x738>
|
|
lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4));
|
|
187a8: 2000 movs r0, #0
|
|
187aa: 4b97 ldr r3, [pc, #604] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
187ac: 4798 blx r3
|
|
187ae: 3014 adds r0, #20
|
|
187b0: 0080 lsls r0, r0, #2
|
|
187b2: 4b96 ldr r3, [pc, #600] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
187b4: fb83 2300 smull r2, r3, r3, r0
|
|
187b8: 17c2 asrs r2, r0, #31
|
|
187ba: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
187be: b212 sxth r2, r2
|
|
187c0: f7fe bd67 b.w 17292 <lv_theme_material_init+0x762>
|
|
lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
187c4: 2000 movs r0, #0
|
|
187c6: 4b90 ldr r3, [pc, #576] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
187c8: 4798 blx r3
|
|
187ca: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
187ce: 0040 lsls r0, r0, #1
|
|
187d0: 3050 adds r0, #80 ; 0x50
|
|
187d2: 4b8e ldr r3, [pc, #568] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
187d4: fb83 2300 smull r2, r3, r3, r0
|
|
187d8: 17c2 asrs r2, r0, #31
|
|
187da: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
187de: b212 sxth r2, r2
|
|
187e0: f7fe bd6a b.w 172b8 <lv_theme_material_init+0x788>
|
|
lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3));
|
|
187e4: 2000 movs r0, #0
|
|
187e6: 4b88 ldr r3, [pc, #544] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
187e8: 4798 blx r3
|
|
187ea: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
187ee: 3050 adds r0, #80 ; 0x50
|
|
187f0: 4b86 ldr r3, [pc, #536] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
187f2: fb83 2300 smull r2, r3, r3, r0
|
|
187f6: 17c2 asrs r2, r0, #31
|
|
187f8: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
187fc: b212 sxth r2, r2
|
|
187fe: f7fe bd7f b.w 17300 <lv_theme_material_init+0x7d0>
|
|
lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10));
|
|
18802: 2000 movs r0, #0
|
|
18804: 4b80 ldr r3, [pc, #512] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18806: 4798 blx r3
|
|
18808: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
1880c: 0040 lsls r0, r0, #1
|
|
1880e: 3050 adds r0, #80 ; 0x50
|
|
18810: 4b7e ldr r3, [pc, #504] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18812: fb83 2300 smull r2, r3, r3, r0
|
|
18816: 17c2 asrs r2, r0, #31
|
|
18818: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1881c: b212 sxth r2, r2
|
|
1881e: f7fe bd82 b.w 17326 <lv_theme_material_init+0x7f6>
|
|
lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4));
|
|
18822: 2000 movs r0, #0
|
|
18824: 4b78 ldr r3, [pc, #480] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18826: 4798 blx r3
|
|
18828: 3014 adds r0, #20
|
|
1882a: 0080 lsls r0, r0, #2
|
|
1882c: 4b77 ldr r3, [pc, #476] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
1882e: fb83 2300 smull r2, r3, r3, r0
|
|
18832: 17c2 asrs r2, r0, #31
|
|
18834: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18838: b212 sxth r2, r2
|
|
1883a: f7fe bd9a b.w 17372 <lv_theme_material_init+0x842>
|
|
lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
1883e: 2000 movs r0, #0
|
|
18840: 4b71 ldr r3, [pc, #452] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18842: 4798 blx r3
|
|
18844: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
18848: 3050 adds r0, #80 ; 0x50
|
|
1884a: 4b70 ldr r3, [pc, #448] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
1884c: fb83 2300 smull r2, r3, r3, r0
|
|
18850: 17c2 asrs r2, r0, #31
|
|
18852: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18856: b212 sxth r2, r2
|
|
18858: f7fe bdb2 b.w 173c0 <lv_theme_material_init+0x890>
|
|
lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
1885c: 2000 movs r0, #0
|
|
1885e: 4b6a ldr r3, [pc, #424] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18860: 4798 blx r3
|
|
18862: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
18866: 3050 adds r0, #80 ; 0x50
|
|
18868: 4b68 ldr r3, [pc, #416] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
1886a: fb83 2300 smull r2, r3, r3, r0
|
|
1886e: 17c2 asrs r2, r0, #31
|
|
18870: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18874: b212 sxth r2, r2
|
|
18876: f7fe bdb5 b.w 173e4 <lv_theme_material_init+0x8b4>
|
|
lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
1887a: 2000 movs r0, #0
|
|
1887c: 4b62 ldr r3, [pc, #392] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
1887e: 4798 blx r3
|
|
18880: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
18884: 3050 adds r0, #80 ; 0x50
|
|
18886: 4b61 ldr r3, [pc, #388] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18888: fb83 2300 smull r2, r3, r3, r0
|
|
1888c: 17c2 asrs r2, r0, #31
|
|
1888e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18892: b212 sxth r2, r2
|
|
18894: f7fe bdb8 b.w 17408 <lv_theme_material_init+0x8d8>
|
|
lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3));
|
|
18898: 2000 movs r0, #0
|
|
1889a: 4b5b ldr r3, [pc, #364] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
1889c: 4798 blx r3
|
|
1889e: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
188a2: 3050 adds r0, #80 ; 0x50
|
|
188a4: 4b59 ldr r3, [pc, #356] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
188a6: fb83 2300 smull r2, r3, r3, r0
|
|
188aa: 17c2 asrs r2, r0, #31
|
|
188ac: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
188b0: b212 sxth r2, r2
|
|
188b2: f7fe bdbb b.w 1742c <lv_theme_material_init+0x8fc>
|
|
lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4));
|
|
188b6: 2000 movs r0, #0
|
|
188b8: 4b53 ldr r3, [pc, #332] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
188ba: 4798 blx r3
|
|
188bc: 3014 adds r0, #20
|
|
188be: 0080 lsls r0, r0, #2
|
|
188c0: 4b52 ldr r3, [pc, #328] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
188c2: fb83 2300 smull r2, r3, r3, r0
|
|
188c6: 17c2 asrs r2, r0, #31
|
|
188c8: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
188cc: b212 sxth r2, r2
|
|
188ce: f7fe bdda b.w 17486 <lv_theme_material_init+0x956>
|
|
lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK);
|
|
188d2: 2307 movs r3, #7
|
|
188d4: 210f movs r1, #15
|
|
188d6: 2408 movs r4, #8
|
|
188d8: f7fe bde9 b.w 174ae <lv_theme_material_init+0x97e>
|
|
lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
188dc: 2000 movs r0, #0
|
|
188de: 4b4a ldr r3, [pc, #296] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
188e0: 4798 blx r3
|
|
188e2: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
188e6: 3050 adds r0, #80 ; 0x50
|
|
188e8: 4b48 ldr r3, [pc, #288] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
188ea: fb83 2300 smull r2, r3, r3, r0
|
|
188ee: 17c2 asrs r2, r0, #31
|
|
188f0: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
188f4: b212 sxth r2, r2
|
|
188f6: f7fe bdf9 b.w 174ec <lv_theme_material_init+0x9bc>
|
|
lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
188fa: 2000 movs r0, #0
|
|
188fc: 4b42 ldr r3, [pc, #264] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
188fe: 4798 blx r3
|
|
18900: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18904: 3050 adds r0, #80 ; 0x50
|
|
18906: 4b41 ldr r3, [pc, #260] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18908: fb83 2300 smull r2, r3, r3, r0
|
|
1890c: 17c2 asrs r2, r0, #31
|
|
1890e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18912: b212 sxth r2, r2
|
|
18914: f7fe bdfc b.w 17510 <lv_theme_material_init+0x9e0>
|
|
lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
18918: 2000 movs r0, #0
|
|
1891a: 4b3b ldr r3, [pc, #236] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
1891c: 4798 blx r3
|
|
1891e: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18922: 3050 adds r0, #80 ; 0x50
|
|
18924: 4b39 ldr r3, [pc, #228] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18926: fb83 2300 smull r2, r3, r3, r0
|
|
1892a: 17c2 asrs r2, r0, #31
|
|
1892c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18930: b212 sxth r2, r2
|
|
18932: f7fe bdff b.w 17534 <lv_theme_material_init+0xa04>
|
|
lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
18936: 2000 movs r0, #0
|
|
18938: 4b33 ldr r3, [pc, #204] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
1893a: 4798 blx r3
|
|
1893c: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18940: 3050 adds r0, #80 ; 0x50
|
|
18942: 4b32 ldr r3, [pc, #200] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18944: fb83 2300 smull r2, r3, r3, r0
|
|
18948: 17c2 asrs r2, r0, #31
|
|
1894a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1894e: b212 sxth r2, r2
|
|
18950: f7fe be02 b.w 17558 <lv_theme_material_init+0xa28>
|
|
lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3));
|
|
18954: 2000 movs r0, #0
|
|
18956: 4b2c ldr r3, [pc, #176] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18958: 4798 blx r3
|
|
1895a: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
1895e: 3050 adds r0, #80 ; 0x50
|
|
18960: 4b2a ldr r3, [pc, #168] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18962: fb83 2300 smull r2, r3, r3, r0
|
|
18966: 17c2 asrs r2, r0, #31
|
|
18968: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1896c: b212 sxth r2, r2
|
|
1896e: f7fe be05 b.w 1757c <lv_theme_material_init+0xa4c>
|
|
lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50));
|
|
18972: 2000 movs r0, #0
|
|
18974: 4b24 ldr r3, [pc, #144] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18976: 4798 blx r3
|
|
18978: 2232 movs r2, #50 ; 0x32
|
|
1897a: fb02 f000 mul.w r0, r2, r0
|
|
1897e: 3050 adds r0, #80 ; 0x50
|
|
18980: 4b22 ldr r3, [pc, #136] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
18982: fb83 2300 smull r2, r3, r3, r0
|
|
18986: 17c2 asrs r2, r0, #31
|
|
18988: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1898c: b212 sxth r2, r2
|
|
1898e: f7fe be0c b.w 175aa <lv_theme_material_init+0xa7a>
|
|
lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7));
|
|
18992: 2000 movs r0, #0
|
|
18994: 4b1c ldr r3, [pc, #112] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
18996: 4798 blx r3
|
|
18998: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
1899c: 3050 adds r0, #80 ; 0x50
|
|
1899e: 4b1b ldr r3, [pc, #108] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
189a0: fb83 2300 smull r2, r3, r3, r0
|
|
189a4: 17c2 asrs r2, r0, #31
|
|
189a6: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
189aa: b212 sxth r2, r2
|
|
189ac: f7fe be52 b.w 17654 <lv_theme_material_init+0xb24>
|
|
lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7));
|
|
189b0: 2000 movs r0, #0
|
|
189b2: 4b15 ldr r3, [pc, #84] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
189b4: 4798 blx r3
|
|
189b6: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
189ba: 3050 adds r0, #80 ; 0x50
|
|
189bc: 4b13 ldr r3, [pc, #76] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
189be: fb83 2300 smull r2, r3, r3, r0
|
|
189c2: 17c2 asrs r2, r0, #31
|
|
189c4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
189c8: b212 sxth r2, r2
|
|
189ca: f7fe be55 b.w 17678 <lv_theme_material_init+0xb48>
|
|
lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7));
|
|
189ce: 2000 movs r0, #0
|
|
189d0: 4b0d ldr r3, [pc, #52] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
189d2: 4798 blx r3
|
|
189d4: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
189d8: 3050 adds r0, #80 ; 0x50
|
|
189da: 4b0c ldr r3, [pc, #48] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
189dc: fb83 2300 smull r2, r3, r3, r0
|
|
189e0: 17c2 asrs r2, r0, #31
|
|
189e2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
189e6: b212 sxth r2, r2
|
|
189e8: f7fe be58 b.w 1769c <lv_theme_material_init+0xb6c>
|
|
lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2));
|
|
189ec: 2000 movs r0, #0
|
|
189ee: 4b06 ldr r3, [pc, #24] ; (18a08 <lv_theme_material_init+0x1ed8>)
|
|
189f0: 4798 blx r3
|
|
189f2: 3028 adds r0, #40 ; 0x28
|
|
189f4: 0040 lsls r0, r0, #1
|
|
189f6: 4b05 ldr r3, [pc, #20] ; (18a0c <lv_theme_material_init+0x1edc>)
|
|
189f8: fb83 2300 smull r2, r3, r3, r0
|
|
189fc: 17c2 asrs r2, r0, #31
|
|
189fe: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18a02: b212 sxth r2, r2
|
|
18a04: f7fe be91 b.w 1772a <lv_theme_material_init+0xbfa>
|
|
18a08: 00010f25 .word 0x00010f25
|
|
18a0c: 66666667 .word 0x66666667
|
|
lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1));
|
|
18a10: 2000 movs r0, #0
|
|
18a12: 4bcd ldr r3, [pc, #820] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18a14: 4798 blx r3
|
|
18a16: 3050 adds r0, #80 ; 0x50
|
|
18a18: 4bcc ldr r3, [pc, #816] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18a1a: fb83 2300 smull r2, r3, r3, r0
|
|
18a1e: 17c2 asrs r2, r0, #31
|
|
18a20: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18a24: b212 sxth r2, r2
|
|
18a26: f7fe be9d b.w 17764 <lv_theme_material_init+0xc34>
|
|
lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd));
|
|
18a2a: 2315 movs r3, #21
|
|
18a2c: 212a movs r1, #42 ; 0x2a
|
|
18a2e: 461c mov r4, r3
|
|
18a30: f7fe beb0 b.w 17794 <lv_theme_material_init+0xc64>
|
|
lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100));
|
|
18a34: 2000 movs r0, #0
|
|
18a36: 4bc4 ldr r3, [pc, #784] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18a38: 4798 blx r3
|
|
18a3a: 2264 movs r2, #100 ; 0x64
|
|
18a3c: fb02 f000 mul.w r0, r2, r0
|
|
18a40: 3050 adds r0, #80 ; 0x50
|
|
18a42: 4bc2 ldr r3, [pc, #776] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18a44: fb83 2300 smull r2, r3, r3, r0
|
|
18a48: 17c2 asrs r2, r0, #31
|
|
18a4a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18a4e: b212 sxth r2, r2
|
|
18a50: f7fe bed1 b.w 177f6 <lv_theme_material_init+0xcc6>
|
|
lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100));
|
|
18a54: 2000 movs r0, #0
|
|
18a56: 4bbc ldr r3, [pc, #752] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18a58: 4798 blx r3
|
|
18a5a: 2264 movs r2, #100 ; 0x64
|
|
18a5c: fb02 f000 mul.w r0, r2, r0
|
|
18a60: 3050 adds r0, #80 ; 0x50
|
|
18a62: 4bba ldr r3, [pc, #744] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18a64: fb83 2300 smull r2, r3, r3, r0
|
|
18a68: 17c2 asrs r2, r0, #31
|
|
18a6a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18a6e: b212 sxth r2, r2
|
|
18a70: f7fe bed4 b.w 1781c <lv_theme_material_init+0xcec>
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG);
|
|
18a74: 231f movs r3, #31
|
|
18a76: 213f movs r1, #63 ; 0x3f
|
|
18a78: 461c mov r4, r3
|
|
18a7a: f7fe bf09 b.w 17890 <lv_theme_material_init+0xd60>
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR);
|
|
18a7e: 231d movs r3, #29
|
|
18a80: 213b movs r1, #59 ; 0x3b
|
|
18a82: 461c mov r4, r3
|
|
18a84: f7fe bf1a b.w 178bc <lv_theme_material_init+0xd8c>
|
|
lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS);
|
|
18a88: 231f movs r3, #31
|
|
18a8a: 213f movs r1, #63 ; 0x3f
|
|
18a8c: 461c mov r4, r3
|
|
18a8e: f7fe bf2c b.w 178ea <lv_theme_material_init+0xdba>
|
|
lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
18a92: 2307 movs r3, #7
|
|
18a94: 210f movs r1, #15
|
|
18a96: 2408 movs r4, #8
|
|
18a98: f7fe bf4f b.w 1793a <lv_theme_material_init+0xe0a>
|
|
lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT);
|
|
18a9c: 2307 movs r3, #7
|
|
18a9e: 210f movs r1, #15
|
|
18aa0: 2408 movs r4, #8
|
|
18aa2: f7fe bf7f b.w 179a4 <lv_theme_material_init+0xe74>
|
|
lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
18aa6: 2000 movs r0, #0
|
|
18aa8: 4ba7 ldr r3, [pc, #668] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18aaa: 4798 blx r3
|
|
18aac: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18ab0: 3050 adds r0, #80 ; 0x50
|
|
18ab2: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18ab6: da02 bge.n 18abe <lv_theme_material_init+0x1f8e>
|
|
18ab8: 2201 movs r2, #1
|
|
18aba: f7fe bfef b.w 17a9c <lv_theme_material_init+0xf6c>
|
|
18abe: 2000 movs r0, #0
|
|
18ac0: 4ba1 ldr r3, [pc, #644] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18ac2: 4798 blx r3
|
|
18ac4: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18ac8: 3050 adds r0, #80 ; 0x50
|
|
18aca: 4ba0 ldr r3, [pc, #640] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18acc: fb83 2300 smull r2, r3, r3, r0
|
|
18ad0: 17c2 asrs r2, r0, #31
|
|
18ad2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18ad6: b212 sxth r2, r2
|
|
18ad8: f7fe bfe0 b.w 17a9c <lv_theme_material_init+0xf6c>
|
|
18adc: 2000 movs r0, #0
|
|
18ade: 4b9a ldr r3, [pc, #616] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18ae0: 4798 blx r3
|
|
18ae2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18ae6: 0040 lsls r0, r0, #1
|
|
18ae8: 3050 adds r0, #80 ; 0x50
|
|
18aea: 4b98 ldr r3, [pc, #608] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18aec: fb83 2300 smull r2, r3, r3, r0
|
|
18af0: 17c2 asrs r2, r0, #31
|
|
18af2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18af6: b212 sxth r2, r2
|
|
18af8: f7fe bfd0 b.w 17a9c <lv_theme_material_init+0xf6c>
|
|
lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
18afc: 2000 movs r0, #0
|
|
18afe: 4b92 ldr r3, [pc, #584] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18b00: 4798 blx r3
|
|
18b02: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18b06: 3050 adds r0, #80 ; 0x50
|
|
18b08: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18b0c: da02 bge.n 18b14 <lv_theme_material_init+0x1fe4>
|
|
18b0e: 2201 movs r2, #1
|
|
18b10: f7fe bfdd b.w 17ace <lv_theme_material_init+0xf9e>
|
|
18b14: 2000 movs r0, #0
|
|
18b16: 4b8c ldr r3, [pc, #560] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18b18: 4798 blx r3
|
|
18b1a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18b1e: 3050 adds r0, #80 ; 0x50
|
|
18b20: 4b8a ldr r3, [pc, #552] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18b22: fb83 2300 smull r2, r3, r3, r0
|
|
18b26: 17c2 asrs r2, r0, #31
|
|
18b28: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18b2c: b212 sxth r2, r2
|
|
18b2e: f7fe bfce b.w 17ace <lv_theme_material_init+0xf9e>
|
|
18b32: 2000 movs r0, #0
|
|
18b34: 4b84 ldr r3, [pc, #528] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18b36: 4798 blx r3
|
|
18b38: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18b3c: 0040 lsls r0, r0, #1
|
|
18b3e: 3050 adds r0, #80 ; 0x50
|
|
18b40: 4b82 ldr r3, [pc, #520] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18b42: fb83 2300 smull r2, r3, r3, r0
|
|
18b46: 17c2 asrs r2, r0, #31
|
|
18b48: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18b4c: b212 sxth r2, r2
|
|
18b4e: f7fe bfbe b.w 17ace <lv_theme_material_init+0xf9e>
|
|
lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
18b52: 2000 movs r0, #0
|
|
18b54: 4b7c ldr r3, [pc, #496] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18b56: 4798 blx r3
|
|
18b58: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18b5c: 3050 adds r0, #80 ; 0x50
|
|
18b5e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18b62: da02 bge.n 18b6a <lv_theme_material_init+0x203a>
|
|
18b64: 2201 movs r2, #1
|
|
18b66: f7fe bfcb b.w 17b00 <lv_theme_material_init+0xfd0>
|
|
18b6a: 2000 movs r0, #0
|
|
18b6c: 4b76 ldr r3, [pc, #472] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18b6e: 4798 blx r3
|
|
18b70: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18b74: 3050 adds r0, #80 ; 0x50
|
|
18b76: 4b75 ldr r3, [pc, #468] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18b78: fb83 2300 smull r2, r3, r3, r0
|
|
18b7c: 17c2 asrs r2, r0, #31
|
|
18b7e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18b82: b212 sxth r2, r2
|
|
18b84: f7fe bfbc b.w 17b00 <lv_theme_material_init+0xfd0>
|
|
18b88: 2000 movs r0, #0
|
|
18b8a: 4b6f ldr r3, [pc, #444] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18b8c: 4798 blx r3
|
|
18b8e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18b92: 0040 lsls r0, r0, #1
|
|
18b94: 3050 adds r0, #80 ; 0x50
|
|
18b96: 4b6d ldr r3, [pc, #436] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18b98: fb83 2300 smull r2, r3, r3, r0
|
|
18b9c: 17c2 asrs r2, r0, #31
|
|
18b9e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18ba2: b212 sxth r2, r2
|
|
18ba4: f7fe bfac b.w 17b00 <lv_theme_material_init+0xfd0>
|
|
lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
18ba8: 2000 movs r0, #0
|
|
18baa: 4b67 ldr r3, [pc, #412] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18bac: 4798 blx r3
|
|
18bae: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18bb2: 3050 adds r0, #80 ; 0x50
|
|
18bb4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18bb8: da02 bge.n 18bc0 <lv_theme_material_init+0x2090>
|
|
18bba: 2201 movs r2, #1
|
|
18bbc: f7fe bfb9 b.w 17b32 <lv_theme_material_init+0x1002>
|
|
18bc0: 2000 movs r0, #0
|
|
18bc2: 4b61 ldr r3, [pc, #388] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18bc4: 4798 blx r3
|
|
18bc6: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18bca: 3050 adds r0, #80 ; 0x50
|
|
18bcc: 4b5f ldr r3, [pc, #380] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18bce: fb83 2300 smull r2, r3, r3, r0
|
|
18bd2: 17c2 asrs r2, r0, #31
|
|
18bd4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18bd8: b212 sxth r2, r2
|
|
18bda: f7fe bfaa b.w 17b32 <lv_theme_material_init+0x1002>
|
|
18bde: 2000 movs r0, #0
|
|
18be0: 4b59 ldr r3, [pc, #356] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18be2: 4798 blx r3
|
|
18be4: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18be8: 0040 lsls r0, r0, #1
|
|
18bea: 3050 adds r0, #80 ; 0x50
|
|
18bec: 4b57 ldr r3, [pc, #348] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18bee: fb83 2300 smull r2, r3, r3, r0
|
|
18bf2: 17c2 asrs r2, r0, #31
|
|
18bf4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18bf8: b212 sxth r2, r2
|
|
18bfa: f7fe bf9a b.w 17b32 <lv_theme_material_init+0x1002>
|
|
lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF);
|
|
18bfe: 2000 movs r0, #0
|
|
18c00: 4b51 ldr r3, [pc, #324] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18c02: 4798 blx r3
|
|
18c04: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18c08: 3050 adds r0, #80 ; 0x50
|
|
18c0a: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18c0e: da02 bge.n 18c16 <lv_theme_material_init+0x20e6>
|
|
18c10: 2201 movs r2, #1
|
|
18c12: f7fe bfa7 b.w 17b64 <lv_theme_material_init+0x1034>
|
|
18c16: 2000 movs r0, #0
|
|
18c18: 4b4b ldr r3, [pc, #300] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18c1a: 4798 blx r3
|
|
18c1c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18c20: 3050 adds r0, #80 ; 0x50
|
|
18c22: 4b4a ldr r3, [pc, #296] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18c24: fb83 2300 smull r2, r3, r3, r0
|
|
18c28: 17c2 asrs r2, r0, #31
|
|
18c2a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18c2e: b212 sxth r2, r2
|
|
18c30: f7fe bf98 b.w 17b64 <lv_theme_material_init+0x1034>
|
|
18c34: 2000 movs r0, #0
|
|
18c36: 4b44 ldr r3, [pc, #272] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18c38: 4798 blx r3
|
|
18c3a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18c3e: 0040 lsls r0, r0, #1
|
|
18c40: 3050 adds r0, #80 ; 0x50
|
|
18c42: 4b42 ldr r3, [pc, #264] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18c44: fb83 2300 smull r2, r3, r3, r0
|
|
18c48: 17c2 asrs r2, r0, #31
|
|
18c4a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18c4e: b212 sxth r2, r2
|
|
18c50: f7fe bf88 b.w 17b64 <lv_theme_material_init+0x1034>
|
|
lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF);
|
|
18c54: 2000 movs r0, #0
|
|
18c56: 4b3c ldr r3, [pc, #240] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18c58: 4798 blx r3
|
|
18c5a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18c5e: 3050 adds r0, #80 ; 0x50
|
|
18c60: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18c64: da03 bge.n 18c6e <lv_theme_material_init+0x213e>
|
|
18c66: f04f 32ff mov.w r2, #4294967295
|
|
18c6a: f7fe bf95 b.w 17b98 <lv_theme_material_init+0x1068>
|
|
18c6e: 2000 movs r0, #0
|
|
18c70: 4b35 ldr r3, [pc, #212] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18c72: 4798 blx r3
|
|
18c74: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18c78: 3050 adds r0, #80 ; 0x50
|
|
18c7a: 4b34 ldr r3, [pc, #208] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18c7c: fb83 2300 smull r2, r3, r3, r0
|
|
18c80: 17c2 asrs r2, r0, #31
|
|
18c82: eba2 12a3 sub.w r2, r2, r3, asr #6
|
|
18c86: b212 sxth r2, r2
|
|
18c88: f7fe bf86 b.w 17b98 <lv_theme_material_init+0x1068>
|
|
18c8c: 2000 movs r0, #0
|
|
18c8e: 4b2e ldr r3, [pc, #184] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18c90: 4798 blx r3
|
|
18c92: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18c96: 0040 lsls r0, r0, #1
|
|
18c98: 3050 adds r0, #80 ; 0x50
|
|
18c9a: 4b2c ldr r3, [pc, #176] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18c9c: fb83 2300 smull r2, r3, r3, r0
|
|
18ca0: 17c2 asrs r2, r0, #31
|
|
18ca2: eba2 12a3 sub.w r2, r2, r3, asr #6
|
|
18ca6: b212 sxth r2, r2
|
|
18ca8: f7fe bf76 b.w 17b98 <lv_theme_material_init+0x1068>
|
|
lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20));
|
|
18cac: 2000 movs r0, #0
|
|
18cae: 4b26 ldr r3, [pc, #152] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18cb0: 4798 blx r3
|
|
18cb2: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18cb6: 0080 lsls r0, r0, #2
|
|
18cb8: 3050 adds r0, #80 ; 0x50
|
|
18cba: 4b24 ldr r3, [pc, #144] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18cbc: fb83 2300 smull r2, r3, r3, r0
|
|
18cc0: 17c2 asrs r2, r0, #31
|
|
18cc2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18cc6: b212 sxth r2, r2
|
|
18cc8: f7fe bf9e b.w 17c08 <lv_theme_material_init+0x10d8>
|
|
lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR);
|
|
18ccc: 231d movs r3, #29
|
|
18cce: 213b movs r1, #59 ; 0x3b
|
|
18cd0: 461c mov r4, r3
|
|
18cd2: f7fe bfc5 b.w 17c60 <lv_theme_material_init+0x1130>
|
|
lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR);
|
|
18cd6: 2307 movs r3, #7
|
|
18cd8: 210f movs r1, #15
|
|
18cda: 2408 movs r4, #8
|
|
18cdc: f7fe bfd7 b.w 17c8e <lv_theme_material_init+0x115e>
|
|
lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25));
|
|
18ce0: 2000 movs r0, #0
|
|
18ce2: 4b19 ldr r3, [pc, #100] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18ce4: 4798 blx r3
|
|
18ce6: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18cea: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18cee: 3050 adds r0, #80 ; 0x50
|
|
18cf0: 4b16 ldr r3, [pc, #88] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18cf2: fb83 2300 smull r2, r3, r3, r0
|
|
18cf6: 17c2 asrs r2, r0, #31
|
|
18cf8: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18cfc: b212 sxth r2, r2
|
|
18cfe: f7fe bfe6 b.w 17cce <lv_theme_material_init+0x119e>
|
|
lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG);
|
|
18d02: 231f movs r3, #31
|
|
18d04: 213f movs r1, #63 ; 0x3f
|
|
18d06: 461c mov r4, r3
|
|
18d08: f7ff b810 b.w 17d2c <lv_theme_material_init+0x11fc>
|
|
lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5));
|
|
18d0c: 2000 movs r0, #0
|
|
18d0e: 4b0e ldr r3, [pc, #56] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18d10: 4798 blx r3
|
|
18d12: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18d16: 3050 adds r0, #80 ; 0x50
|
|
18d18: 4b0c ldr r3, [pc, #48] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18d1a: fb83 2300 smull r2, r3, r3, r0
|
|
18d1e: 17c2 asrs r2, r0, #31
|
|
18d20: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18d24: b212 sxth r2, r2
|
|
18d26: f7ff b845 b.w 17db4 <lv_theme_material_init+0x1284>
|
|
lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7));
|
|
18d2a: 2000 movs r0, #0
|
|
18d2c: 4b06 ldr r3, [pc, #24] ; (18d48 <lv_theme_material_init+0x2218>)
|
|
18d2e: 4798 blx r3
|
|
18d30: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
18d34: 3050 adds r0, #80 ; 0x50
|
|
18d36: 4b05 ldr r3, [pc, #20] ; (18d4c <lv_theme_material_init+0x221c>)
|
|
18d38: fb83 2300 smull r2, r3, r3, r0
|
|
18d3c: 17c2 asrs r2, r0, #31
|
|
18d3e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18d42: b212 sxth r2, r2
|
|
18d44: f7ff b87f b.w 17e46 <lv_theme_material_init+0x1316>
|
|
18d48: 00010f25 .word 0x00010f25
|
|
18d4c: 66666667 .word 0x66666667
|
|
lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7));
|
|
18d50: 2000 movs r0, #0
|
|
18d52: 4bca ldr r3, [pc, #808] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18d54: 4798 blx r3
|
|
18d56: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
18d5a: 3050 adds r0, #80 ; 0x50
|
|
18d5c: 4bc8 ldr r3, [pc, #800] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18d5e: fb83 2300 smull r2, r3, r3, r0
|
|
18d62: 17c2 asrs r2, r0, #31
|
|
18d64: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18d68: b212 sxth r2, r2
|
|
18d6a: f7ff b87e b.w 17e6a <lv_theme_material_init+0x133a>
|
|
lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7));
|
|
18d6e: 2000 movs r0, #0
|
|
18d70: 4bc2 ldr r3, [pc, #776] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18d72: 4798 blx r3
|
|
18d74: ebc0 00c0 rsb r0, r0, r0, lsl #3
|
|
18d78: 3050 adds r0, #80 ; 0x50
|
|
18d7a: 4bc1 ldr r3, [pc, #772] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18d7c: fb83 2300 smull r2, r3, r3, r0
|
|
18d80: 17c2 asrs r2, r0, #31
|
|
18d82: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18d86: b212 sxth r2, r2
|
|
18d88: f7ff b881 b.w 17e8e <lv_theme_material_init+0x135e>
|
|
lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20));
|
|
18d8c: 2000 movs r0, #0
|
|
18d8e: 4bbb ldr r3, [pc, #748] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18d90: 4798 blx r3
|
|
18d92: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18d96: 0080 lsls r0, r0, #2
|
|
18d98: 3050 adds r0, #80 ; 0x50
|
|
18d9a: 4bb9 ldr r3, [pc, #740] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18d9c: fb83 2300 smull r2, r3, r3, r0
|
|
18da0: 17c2 asrs r2, r0, #31
|
|
18da2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18da6: b212 sxth r2, r2
|
|
18da8: f7ff b8ba b.w 17f20 <lv_theme_material_init+0x13f0>
|
|
lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20));
|
|
18dac: 2000 movs r0, #0
|
|
18dae: 4bb3 ldr r3, [pc, #716] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18db0: 4798 blx r3
|
|
18db2: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18db6: 0080 lsls r0, r0, #2
|
|
18db8: 3050 adds r0, #80 ; 0x50
|
|
18dba: 4bb1 ldr r3, [pc, #708] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18dbc: fb83 2300 smull r2, r3, r3, r0
|
|
18dc0: 17c2 asrs r2, r0, #31
|
|
18dc2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18dc6: b212 sxth r2, r2
|
|
18dc8: f7ff b8bd b.w 17f46 <lv_theme_material_init+0x1416>
|
|
lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5));
|
|
18dcc: 2000 movs r0, #0
|
|
18dce: 4bab ldr r3, [pc, #684] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18dd0: 4798 blx r3
|
|
18dd2: eb00 0080 add.w r0, r0, r0, lsl #2
|
|
18dd6: 3050 adds r0, #80 ; 0x50
|
|
18dd8: 4ba9 ldr r3, [pc, #676] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18dda: fb83 2300 smull r2, r3, r3, r0
|
|
18dde: 17c2 asrs r2, r0, #31
|
|
18de0: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18de4: b212 sxth r2, r2
|
|
18de6: f7ff b8e2 b.w 17fae <lv_theme_material_init+0x147e>
|
|
lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
18dea: 2000 movs r0, #0
|
|
18dec: 4ba3 ldr r3, [pc, #652] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18dee: 4798 blx r3
|
|
18df0: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18df4: 3050 adds r0, #80 ; 0x50
|
|
18df6: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18dfa: da02 bge.n 18e02 <lv_theme_material_init+0x22d2>
|
|
18dfc: 2201 movs r2, #1
|
|
18dfe: f7ff b8f9 b.w 17ff4 <lv_theme_material_init+0x14c4>
|
|
18e02: 2000 movs r0, #0
|
|
18e04: 4b9d ldr r3, [pc, #628] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18e06: 4798 blx r3
|
|
18e08: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18e0c: 3050 adds r0, #80 ; 0x50
|
|
18e0e: 4b9c ldr r3, [pc, #624] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18e10: fb83 2300 smull r2, r3, r3, r0
|
|
18e14: 17c2 asrs r2, r0, #31
|
|
18e16: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18e1a: b212 sxth r2, r2
|
|
18e1c: f7ff b8ea b.w 17ff4 <lv_theme_material_init+0x14c4>
|
|
18e20: 2000 movs r0, #0
|
|
18e22: 4b96 ldr r3, [pc, #600] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18e24: 4798 blx r3
|
|
18e26: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18e2a: 0040 lsls r0, r0, #1
|
|
18e2c: 3050 adds r0, #80 ; 0x50
|
|
18e2e: 4b94 ldr r3, [pc, #592] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18e30: fb83 2300 smull r2, r3, r3, r0
|
|
18e34: 17c2 asrs r2, r0, #31
|
|
18e36: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18e3a: b212 sxth r2, r2
|
|
18e3c: f7ff b8da b.w 17ff4 <lv_theme_material_init+0x14c4>
|
|
lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
18e40: 2000 movs r0, #0
|
|
18e42: 4b8e ldr r3, [pc, #568] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18e44: 4798 blx r3
|
|
18e46: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18e4a: 3050 adds r0, #80 ; 0x50
|
|
18e4c: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18e50: da02 bge.n 18e58 <lv_theme_material_init+0x2328>
|
|
18e52: 2201 movs r2, #1
|
|
18e54: f7ff b8e7 b.w 18026 <lv_theme_material_init+0x14f6>
|
|
18e58: 2000 movs r0, #0
|
|
18e5a: 4b88 ldr r3, [pc, #544] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18e5c: 4798 blx r3
|
|
18e5e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18e62: 3050 adds r0, #80 ; 0x50
|
|
18e64: 4b86 ldr r3, [pc, #536] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18e66: fb83 2300 smull r2, r3, r3, r0
|
|
18e6a: 17c2 asrs r2, r0, #31
|
|
18e6c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18e70: b212 sxth r2, r2
|
|
18e72: f7ff b8d8 b.w 18026 <lv_theme_material_init+0x14f6>
|
|
18e76: 2000 movs r0, #0
|
|
18e78: 4b80 ldr r3, [pc, #512] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18e7a: 4798 blx r3
|
|
18e7c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18e80: 0040 lsls r0, r0, #1
|
|
18e82: 3050 adds r0, #80 ; 0x50
|
|
18e84: 4b7e ldr r3, [pc, #504] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18e86: fb83 2300 smull r2, r3, r3, r0
|
|
18e8a: 17c2 asrs r2, r0, #31
|
|
18e8c: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18e90: b212 sxth r2, r2
|
|
18e92: f7ff b8c8 b.w 18026 <lv_theme_material_init+0x14f6>
|
|
lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
18e96: 2000 movs r0, #0
|
|
18e98: 4b78 ldr r3, [pc, #480] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18e9a: 4798 blx r3
|
|
18e9c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18ea0: 3050 adds r0, #80 ; 0x50
|
|
18ea2: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18ea6: da02 bge.n 18eae <lv_theme_material_init+0x237e>
|
|
18ea8: 2201 movs r2, #1
|
|
18eaa: f7ff b8d5 b.w 18058 <lv_theme_material_init+0x1528>
|
|
18eae: 2000 movs r0, #0
|
|
18eb0: 4b72 ldr r3, [pc, #456] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18eb2: 4798 blx r3
|
|
18eb4: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18eb8: 3050 adds r0, #80 ; 0x50
|
|
18eba: 4b71 ldr r3, [pc, #452] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18ebc: fb83 2300 smull r2, r3, r3, r0
|
|
18ec0: 17c2 asrs r2, r0, #31
|
|
18ec2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18ec6: b212 sxth r2, r2
|
|
18ec8: f7ff b8c6 b.w 18058 <lv_theme_material_init+0x1528>
|
|
18ecc: 2000 movs r0, #0
|
|
18ece: 4b6b ldr r3, [pc, #428] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18ed0: 4798 blx r3
|
|
18ed2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18ed6: 0040 lsls r0, r0, #1
|
|
18ed8: 3050 adds r0, #80 ; 0x50
|
|
18eda: 4b69 ldr r3, [pc, #420] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18edc: fb83 2300 smull r2, r3, r3, r0
|
|
18ee0: 17c2 asrs r2, r0, #31
|
|
18ee2: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18ee6: b212 sxth r2, r2
|
|
18ee8: f7ff b8b6 b.w 18058 <lv_theme_material_init+0x1528>
|
|
lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
18eec: 2000 movs r0, #0
|
|
18eee: 4b63 ldr r3, [pc, #396] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18ef0: 4798 blx r3
|
|
18ef2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18ef6: 3050 adds r0, #80 ; 0x50
|
|
18ef8: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18efc: da02 bge.n 18f04 <lv_theme_material_init+0x23d4>
|
|
18efe: 2201 movs r2, #1
|
|
18f00: f7ff b8d4 b.w 180ac <lv_theme_material_init+0x157c>
|
|
18f04: 2000 movs r0, #0
|
|
18f06: 4b5d ldr r3, [pc, #372] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18f08: 4798 blx r3
|
|
18f0a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18f0e: 3050 adds r0, #80 ; 0x50
|
|
18f10: 4b5b ldr r3, [pc, #364] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18f12: fb83 2300 smull r2, r3, r3, r0
|
|
18f16: 17c2 asrs r2, r0, #31
|
|
18f18: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18f1c: b212 sxth r2, r2
|
|
18f1e: f7ff b8c5 b.w 180ac <lv_theme_material_init+0x157c>
|
|
18f22: 2000 movs r0, #0
|
|
18f24: 4b55 ldr r3, [pc, #340] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18f26: 4798 blx r3
|
|
18f28: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18f2c: 0040 lsls r0, r0, #1
|
|
18f2e: 3050 adds r0, #80 ; 0x50
|
|
18f30: 4b53 ldr r3, [pc, #332] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18f32: fb83 2300 smull r2, r3, r3, r0
|
|
18f36: 17c2 asrs r2, r0, #31
|
|
18f38: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18f3c: b212 sxth r2, r2
|
|
18f3e: f7ff b8b5 b.w 180ac <lv_theme_material_init+0x157c>
|
|
lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF);
|
|
18f42: 2000 movs r0, #0
|
|
18f44: 4b4d ldr r3, [pc, #308] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18f46: 4798 blx r3
|
|
18f48: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18f4c: 3050 adds r0, #80 ; 0x50
|
|
18f4e: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18f52: da02 bge.n 18f5a <lv_theme_material_init+0x242a>
|
|
18f54: 2201 movs r2, #1
|
|
18f56: f7ff b8c2 b.w 180de <lv_theme_material_init+0x15ae>
|
|
18f5a: 2000 movs r0, #0
|
|
18f5c: 4b47 ldr r3, [pc, #284] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18f5e: 4798 blx r3
|
|
18f60: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18f64: 3050 adds r0, #80 ; 0x50
|
|
18f66: 4b46 ldr r3, [pc, #280] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18f68: fb83 2300 smull r2, r3, r3, r0
|
|
18f6c: 17c2 asrs r2, r0, #31
|
|
18f6e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18f72: b212 sxth r2, r2
|
|
18f74: f7ff b8b3 b.w 180de <lv_theme_material_init+0x15ae>
|
|
18f78: 2000 movs r0, #0
|
|
18f7a: 4b40 ldr r3, [pc, #256] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18f7c: 4798 blx r3
|
|
18f7e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18f82: 0040 lsls r0, r0, #1
|
|
18f84: 3050 adds r0, #80 ; 0x50
|
|
18f86: 4b3e ldr r3, [pc, #248] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18f88: fb83 2300 smull r2, r3, r3, r0
|
|
18f8c: 17c2 asrs r2, r0, #31
|
|
18f8e: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18f92: b212 sxth r2, r2
|
|
18f94: f7ff b8a3 b.w 180de <lv_theme_material_init+0x15ae>
|
|
lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
18f98: 2000 movs r0, #0
|
|
18f9a: 4b38 ldr r3, [pc, #224] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18f9c: 4798 blx r3
|
|
18f9e: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18fa2: 3050 adds r0, #80 ; 0x50
|
|
18fa4: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18fa8: da02 bge.n 18fb0 <lv_theme_material_init+0x2480>
|
|
18faa: 2201 movs r2, #1
|
|
18fac: f7ff b8d9 b.w 18162 <lv_theme_material_init+0x1632>
|
|
18fb0: 2000 movs r0, #0
|
|
18fb2: 4b32 ldr r3, [pc, #200] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18fb4: 4798 blx r3
|
|
18fb6: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18fba: 3050 adds r0, #80 ; 0x50
|
|
18fbc: 4b30 ldr r3, [pc, #192] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18fbe: fb83 2300 smull r2, r3, r3, r0
|
|
18fc2: 17c2 asrs r2, r0, #31
|
|
18fc4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18fc8: b212 sxth r2, r2
|
|
18fca: f7ff b8ca b.w 18162 <lv_theme_material_init+0x1632>
|
|
18fce: 2000 movs r0, #0
|
|
18fd0: 4b2a ldr r3, [pc, #168] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18fd2: 4798 blx r3
|
|
18fd4: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18fd8: 0040 lsls r0, r0, #1
|
|
18fda: 3050 adds r0, #80 ; 0x50
|
|
18fdc: 4b28 ldr r3, [pc, #160] ; (19080 <lv_theme_material_init+0x2550>)
|
|
18fde: fb83 2300 smull r2, r3, r3, r0
|
|
18fe2: 17c2 asrs r2, r0, #31
|
|
18fe4: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
18fe8: b212 sxth r2, r2
|
|
18fea: f7ff b8ba b.w 18162 <lv_theme_material_init+0x1632>
|
|
lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
18fee: 2000 movs r0, #0
|
|
18ff0: 4b22 ldr r3, [pc, #136] ; (1907c <lv_theme_material_init+0x254c>)
|
|
18ff2: 4798 blx r3
|
|
18ff4: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
18ff8: 3050 adds r0, #80 ; 0x50
|
|
18ffa: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
18ffe: da02 bge.n 19006 <lv_theme_material_init+0x24d6>
|
|
19000: 2201 movs r2, #1
|
|
19002: f7ff b8c7 b.w 18194 <lv_theme_material_init+0x1664>
|
|
19006: 2000 movs r0, #0
|
|
19008: 4b1c ldr r3, [pc, #112] ; (1907c <lv_theme_material_init+0x254c>)
|
|
1900a: 4798 blx r3
|
|
1900c: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
19010: 3050 adds r0, #80 ; 0x50
|
|
19012: 4b1b ldr r3, [pc, #108] ; (19080 <lv_theme_material_init+0x2550>)
|
|
19014: fb83 2300 smull r2, r3, r3, r0
|
|
19018: 17c2 asrs r2, r0, #31
|
|
1901a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1901e: b212 sxth r2, r2
|
|
19020: f7ff b8b8 b.w 18194 <lv_theme_material_init+0x1664>
|
|
19024: 2000 movs r0, #0
|
|
19026: 4b15 ldr r3, [pc, #84] ; (1907c <lv_theme_material_init+0x254c>)
|
|
19028: 4798 blx r3
|
|
1902a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1902e: 0040 lsls r0, r0, #1
|
|
19030: 3050 adds r0, #80 ; 0x50
|
|
19032: 4b13 ldr r3, [pc, #76] ; (19080 <lv_theme_material_init+0x2550>)
|
|
19034: fb83 2300 smull r2, r3, r3, r0
|
|
19038: 17c2 asrs r2, r0, #31
|
|
1903a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1903e: b212 sxth r2, r2
|
|
19040: f7ff b8a8 b.w 18194 <lv_theme_material_init+0x1664>
|
|
lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
19044: 2000 movs r0, #0
|
|
19046: 4b0d ldr r3, [pc, #52] ; (1907c <lv_theme_material_init+0x254c>)
|
|
19048: 4798 blx r3
|
|
1904a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1904e: 3050 adds r0, #80 ; 0x50
|
|
19050: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
19054: da02 bge.n 1905c <lv_theme_material_init+0x252c>
|
|
19056: 2201 movs r2, #1
|
|
19058: f7ff b8b5 b.w 181c6 <lv_theme_material_init+0x1696>
|
|
1905c: 2000 movs r0, #0
|
|
1905e: 4b07 ldr r3, [pc, #28] ; (1907c <lv_theme_material_init+0x254c>)
|
|
19060: 4798 blx r3
|
|
19062: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
19066: 3050 adds r0, #80 ; 0x50
|
|
19068: 4b05 ldr r3, [pc, #20] ; (19080 <lv_theme_material_init+0x2550>)
|
|
1906a: fb83 2300 smull r2, r3, r3, r0
|
|
1906e: 17c2 asrs r2, r0, #31
|
|
19070: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
19074: b212 sxth r2, r2
|
|
19076: f7ff b8a6 b.w 181c6 <lv_theme_material_init+0x1696>
|
|
1907a: bf00 nop
|
|
1907c: 00010f25 .word 0x00010f25
|
|
19080: 66666667 .word 0x66666667
|
|
19084: 2000 movs r0, #0
|
|
19086: 4b1d ldr r3, [pc, #116] ; (190fc <lv_theme_material_init+0x25cc>)
|
|
19088: 4798 blx r3
|
|
1908a: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
1908e: 0040 lsls r0, r0, #1
|
|
19090: 3050 adds r0, #80 ; 0x50
|
|
19092: 4b1b ldr r3, [pc, #108] ; (19100 <lv_theme_material_init+0x25d0>)
|
|
19094: fb83 2300 smull r2, r3, r3, r0
|
|
19098: 17c2 asrs r2, r0, #31
|
|
1909a: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
1909e: b212 sxth r2, r2
|
|
190a0: f7ff b891 b.w 181c6 <lv_theme_material_init+0x1696>
|
|
lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF);
|
|
190a4: 2000 movs r0, #0
|
|
190a6: 4b15 ldr r3, [pc, #84] ; (190fc <lv_theme_material_init+0x25cc>)
|
|
190a8: 4798 blx r3
|
|
190aa: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
190ae: 3050 adds r0, #80 ; 0x50
|
|
190b0: f5b0 7fa0 cmp.w r0, #320 ; 0x140
|
|
190b4: da02 bge.n 190bc <lv_theme_material_init+0x258c>
|
|
190b6: 2201 movs r2, #1
|
|
190b8: f7ff b89e b.w 181f8 <lv_theme_material_init+0x16c8>
|
|
190bc: 2000 movs r0, #0
|
|
190be: 4b0f ldr r3, [pc, #60] ; (190fc <lv_theme_material_init+0x25cc>)
|
|
190c0: 4798 blx r3
|
|
190c2: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
190c6: 3050 adds r0, #80 ; 0x50
|
|
190c8: 4b0d ldr r3, [pc, #52] ; (19100 <lv_theme_material_init+0x25d0>)
|
|
190ca: fb83 2300 smull r2, r3, r3, r0
|
|
190ce: 17c2 asrs r2, r0, #31
|
|
190d0: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
190d4: b212 sxth r2, r2
|
|
190d6: f7ff b88f b.w 181f8 <lv_theme_material_init+0x16c8>
|
|
190da: 2000 movs r0, #0
|
|
190dc: 4b07 ldr r3, [pc, #28] ; (190fc <lv_theme_material_init+0x25cc>)
|
|
190de: 4798 blx r3
|
|
190e0: ebc0 1000 rsb r0, r0, r0, lsl #4
|
|
190e4: 0040 lsls r0, r0, #1
|
|
190e6: 3050 adds r0, #80 ; 0x50
|
|
190e8: 4b05 ldr r3, [pc, #20] ; (19100 <lv_theme_material_init+0x25d0>)
|
|
190ea: fb83 2300 smull r2, r3, r3, r0
|
|
190ee: 17c2 asrs r2, r0, #31
|
|
190f0: ebc2 12a3 rsb r2, r2, r3, asr #6
|
|
190f4: b212 sxth r2, r2
|
|
190f6: f7ff b87f b.w 181f8 <lv_theme_material_init+0x16c8>
|
|
190fa: bf00 nop
|
|
190fc: 00010f25 .word 0x00010f25
|
|
19100: 66666667 .word 0x66666667
|
|
|
|
00019104 <lv_img_design>:
|
|
* LV_DESIGN_DRAW: draw the object (always return 'true')
|
|
* LV_DESIGN_DRAW_POST: drawing after every children are drawn
|
|
* @param return an element of `lv_design_res_t`
|
|
*/
|
|
static lv_design_res_t lv_img_design(lv_obj_t * img, const lv_area_t * clip_area, lv_design_mode_t mode)
|
|
{
|
|
19104: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
19108: b0a4 sub sp, #144 ; 0x90
|
|
1910a: 4607 mov r7, r0
|
|
1910c: 460e mov r6, r1
|
|
1910e: 4614 mov r4, r2
|
|
lv_img_ext_t * ext = lv_obj_get_ext_attr(img);
|
|
19110: 4bb5 ldr r3, [pc, #724] ; (193e8 <lv_img_design+0x2e4>)
|
|
19112: 4798 blx r3
|
|
19114: 4605 mov r5, r0
|
|
|
|
if(mode == LV_DESIGN_COVER_CHK) {
|
|
19116: 2c02 cmp r4, #2
|
|
19118: d00d beq.n 19136 <lv_img_design+0x32>
|
|
|
|
if(lv_obj_get_style_image_opa(img, LV_IMG_PART_MAIN) != LV_OPA_COVER) return LV_DESIGN_RES_NOT_COVER;
|
|
|
|
return LV_DESIGN_RES_COVER;
|
|
}
|
|
else if(mode == LV_DESIGN_DRAW_MAIN) {
|
|
1911a: 2c00 cmp r4, #0
|
|
1911c: f040 81fa bne.w 19514 <lv_img_design+0x410>
|
|
if(ext->h == 0 || ext->w == 0) return true;
|
|
19120: f9b0 300a ldrsh.w r3, [r0, #10]
|
|
19124: 2b00 cmp r3, #0
|
|
19126: f000 81f3 beq.w 19510 <lv_img_design+0x40c>
|
|
1912a: f9b0 3008 ldrsh.w r3, [r0, #8]
|
|
1912e: 2b00 cmp r3, #0
|
|
19130: d173 bne.n 1921a <lv_img_design+0x116>
|
|
19132: 2001 movs r0, #1
|
|
19134: e1f1 b.n 1951a <lv_img_design+0x416>
|
|
_OBJ_GET_STYLE_##scalar(prop_name, func_name, value_type, style_type) \
|
|
_OBJ_SET_STYLE_LOCAL_##scalar(prop_name, func_name, value_type, style_type) \
|
|
_OBJ_SET_STYLE_##scalar(prop_name, func_name, value_type, style_type)
|
|
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
19136: 2202 movs r2, #2
|
|
19138: 2100 movs r1, #0
|
|
1913a: 4638 mov r0, r7
|
|
1913c: 4bab ldr r3, [pc, #684] ; (193ec <lv_img_design+0x2e8>)
|
|
1913e: 4798 blx r3
|
|
if(lv_obj_get_style_clip_corner(img, LV_IMG_PART_MAIN)) return LV_DESIGN_RES_MASKED;
|
|
19140: b108 cbz r0, 19146 <lv_img_design+0x42>
|
|
19142: 2003 movs r0, #3
|
|
19144: e1e9 b.n 1951a <lv_img_design+0x416>
|
|
if(ext->src_type == LV_IMG_SRC_UNKNOWN || ext->src_type == LV_IMG_SRC_SYMBOL) return LV_DESIGN_RES_NOT_COVER;
|
|
19146: 7d2a ldrb r2, [r5, #20]
|
|
19148: f002 0303 and.w r3, r2, #3
|
|
1914c: 3b02 subs r3, #2
|
|
1914e: b2db uxtb r3, r3
|
|
19150: 2b01 cmp r3, #1
|
|
19152: f240 820f bls.w 19574 <lv_img_design+0x470>
|
|
if(ext->cf != LV_IMG_CF_TRUE_COLOR && ext->cf != LV_IMG_CF_RAW) return LV_DESIGN_RES_NOT_COVER;
|
|
19156: f002 02f8 and.w r2, r2, #248 ; 0xf8
|
|
1915a: 2a20 cmp r2, #32
|
|
1915c: d003 beq.n 19166 <lv_img_design+0x62>
|
|
1915e: 2a08 cmp r2, #8
|
|
19160: d001 beq.n 19166 <lv_img_design+0x62>
|
|
19162: 2002 movs r0, #2
|
|
19164: e1d9 b.n 1951a <lv_img_design+0x416>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar)
|
|
19166: 2206 movs r2, #6
|
|
19168: 2100 movs r1, #0
|
|
1916a: 4638 mov r0, r7
|
|
1916c: 4b9f ldr r3, [pc, #636] ; (193ec <lv_img_design+0x2e8>)
|
|
1916e: 4798 blx r3
|
|
angle_final += ext->angle;
|
|
19170: 89ab ldrh r3, [r5, #12]
|
|
if(angle_final == 0) return LV_DESIGN_RES_NOT_COVER;
|
|
19172: 42c3 cmn r3, r0
|
|
19174: d101 bne.n 1917a <lv_img_design+0x76>
|
|
19176: 2002 movs r0, #2
|
|
19178: e1cf b.n 1951a <lv_img_design+0x416>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar)
|
|
1917a: 2207 movs r2, #7
|
|
1917c: 2100 movs r1, #0
|
|
1917e: 4638 mov r0, r7
|
|
19180: 4b9a ldr r3, [pc, #616] ; (193ec <lv_img_design+0x2e8>)
|
|
19182: 4798 blx r3
|
|
zoom_final = (zoom_final * ext->zoom) >> 8;
|
|
19184: 8a6b ldrh r3, [r5, #18]
|
|
19186: fb00 f303 mul.w r3, r0, r3
|
|
1918a: 121b asrs r3, r3, #8
|
|
if(zoom_final != LV_IMG_ZOOM_NONE) {
|
|
1918c: f5b3 7f80 cmp.w r3, #256 ; 0x100
|
|
19190: d008 beq.n 191a4 <lv_img_design+0xa0>
|
|
if(_lv_area_is_in(clip_area, &img->coords, 0) == false) return LV_DESIGN_RES_NOT_COVER;
|
|
19192: 2200 movs r2, #0
|
|
19194: f107 0110 add.w r1, r7, #16
|
|
19198: 4630 mov r0, r6
|
|
1919a: 4b95 ldr r3, [pc, #596] ; (193f0 <lv_img_design+0x2ec>)
|
|
1919c: 4798 blx r3
|
|
1919e: bb88 cbnz r0, 19204 <lv_img_design+0x100>
|
|
191a0: 2002 movs r0, #2
|
|
191a2: e1ba b.n 1951a <lv_img_design+0x416>
|
|
_lv_img_buf_get_transformed_area(&a, lv_obj_get_width(img), lv_obj_get_height(img), 0, zoom_final, &ext->pivot);
|
|
191a4: 4638 mov r0, r7
|
|
191a6: 4b93 ldr r3, [pc, #588] ; (193f4 <lv_img_design+0x2f0>)
|
|
191a8: 4798 blx r3
|
|
191aa: 4604 mov r4, r0
|
|
191ac: 4638 mov r0, r7
|
|
191ae: 4b92 ldr r3, [pc, #584] ; (193f8 <lv_img_design+0x2f4>)
|
|
191b0: 4798 blx r3
|
|
191b2: 350e adds r5, #14
|
|
191b4: 9501 str r5, [sp, #4]
|
|
191b6: f44f 7380 mov.w r3, #256 ; 0x100
|
|
191ba: 9300 str r3, [sp, #0]
|
|
191bc: 2300 movs r3, #0
|
|
191be: 4602 mov r2, r0
|
|
191c0: 4621 mov r1, r4
|
|
191c2: a80f add r0, sp, #60 ; 0x3c
|
|
191c4: 4c8d ldr r4, [pc, #564] ; (193fc <lv_img_design+0x2f8>)
|
|
191c6: 47a0 blx r4
|
|
a.x1 += img->coords.x1;
|
|
191c8: 8a3a ldrh r2, [r7, #16]
|
|
191ca: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c
|
|
191ce: 4413 add r3, r2
|
|
191d0: f8ad 303c strh.w r3, [sp, #60] ; 0x3c
|
|
a.y1 += img->coords.y1;
|
|
191d4: 8a7b ldrh r3, [r7, #18]
|
|
191d6: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e
|
|
191da: 4419 add r1, r3
|
|
191dc: f8ad 103e strh.w r1, [sp, #62] ; 0x3e
|
|
a.x2 += img->coords.x1;
|
|
191e0: f8bd 1040 ldrh.w r1, [sp, #64] ; 0x40
|
|
191e4: 440a add r2, r1
|
|
191e6: f8ad 2040 strh.w r2, [sp, #64] ; 0x40
|
|
a.y2 += img->coords.y1;
|
|
191ea: f8bd 2042 ldrh.w r2, [sp, #66] ; 0x42
|
|
191ee: 4413 add r3, r2
|
|
191f0: f8ad 3042 strh.w r3, [sp, #66] ; 0x42
|
|
if(_lv_area_is_in(clip_area, &a, 0) == false) return LV_DESIGN_RES_NOT_COVER;
|
|
191f4: 2200 movs r2, #0
|
|
191f6: a90f add r1, sp, #60 ; 0x3c
|
|
191f8: 4630 mov r0, r6
|
|
191fa: 4b7d ldr r3, [pc, #500] ; (193f0 <lv_img_design+0x2ec>)
|
|
191fc: 4798 blx r3
|
|
191fe: b908 cbnz r0, 19204 <lv_img_design+0x100>
|
|
19200: 2002 movs r0, #2
|
|
19202: e18a b.n 1951a <lv_img_design+0x416>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar)
|
|
19204: f248 02ac movw r2, #32940 ; 0x80ac
|
|
19208: 2100 movs r1, #0
|
|
1920a: 4638 mov r0, r7
|
|
1920c: 4b7c ldr r3, [pc, #496] ; (19400 <lv_img_design+0x2fc>)
|
|
1920e: 4798 blx r3
|
|
return LV_DESIGN_RES_COVER;
|
|
19210: 28ff cmp r0, #255 ; 0xff
|
|
19212: bf14 ite ne
|
|
19214: 2002 movne r0, #2
|
|
19216: 2001 moveq r0, #1
|
|
19218: e17f b.n 1951a <lv_img_design+0x416>
|
|
lv_area_t img_coords;
|
|
|
|
lv_obj_get_coords(img, &img_coords);
|
|
1921a: a902 add r1, sp, #8
|
|
1921c: 4638 mov r0, r7
|
|
1921e: 4b79 ldr r3, [pc, #484] ; (19404 <lv_img_design+0x300>)
|
|
19220: 4798 blx r3
|
|
|
|
lv_draw_rect_dsc_t bg_dsc;
|
|
lv_draw_rect_dsc_init(&bg_dsc);
|
|
19222: a80f add r0, sp, #60 ; 0x3c
|
|
19224: 4b78 ldr r3, [pc, #480] ; (19408 <lv_img_design+0x304>)
|
|
19226: 4798 blx r3
|
|
lv_obj_init_draw_rect_dsc(img, LV_IMG_PART_MAIN, &bg_dsc);
|
|
19228: aa0f add r2, sp, #60 ; 0x3c
|
|
1922a: 2100 movs r1, #0
|
|
1922c: 4638 mov r0, r7
|
|
1922e: 4b77 ldr r3, [pc, #476] ; (1940c <lv_img_design+0x308>)
|
|
19230: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar)
|
|
19232: 2233 movs r2, #51 ; 0x33
|
|
19234: 2100 movs r1, #0
|
|
19236: 4638 mov r0, r7
|
|
19238: 4b6c ldr r3, [pc, #432] ; (193ec <lv_img_design+0x2e8>)
|
|
1923a: 4798 blx r3
|
|
|
|
/*If the border is drawn later disable loading its properties*/
|
|
if(lv_obj_get_style_border_post(img, LV_OBJ_PART_MAIN)) {
|
|
1923c: b110 cbz r0, 19244 <lv_img_design+0x140>
|
|
bg_dsc.border_opa = LV_OPA_TRANSP;
|
|
1923e: 2300 movs r3, #0
|
|
19240: f88d 3050 strb.w r3, [sp, #80] ; 0x50
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar)
|
|
19244: 2207 movs r2, #7
|
|
19246: 2100 movs r1, #0
|
|
19248: 4638 mov r0, r7
|
|
1924a: 4b68 ldr r3, [pc, #416] ; (193ec <lv_img_design+0x2e8>)
|
|
1924c: 4798 blx r3
|
|
}
|
|
|
|
|
|
int32_t zoom_final = lv_obj_get_style_transform_zoom(img, LV_IMG_PART_MAIN);
|
|
zoom_final = (zoom_final * ext->zoom) >> 8;
|
|
1924e: 8a6b ldrh r3, [r5, #18]
|
|
19250: fb00 f003 mul.w r0, r0, r3
|
|
|
|
if(zoom_final == 0) return LV_DESIGN_RES_OK;
|
|
19254: 1204 asrs r4, r0, #8
|
|
19256: d101 bne.n 1925c <lv_img_design+0x158>
|
|
19258: 2000 movs r0, #0
|
|
1925a: e15e b.n 1951a <lv_img_design+0x416>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar)
|
|
1925c: 2206 movs r2, #6
|
|
1925e: 2100 movs r1, #0
|
|
19260: 4638 mov r0, r7
|
|
19262: f8df 8188 ldr.w r8, [pc, #392] ; 193ec <lv_img_design+0x2e8>
|
|
19266: 47c0 blx r8
|
|
|
|
int32_t angle_final = lv_obj_get_style_transform_angle(img, LV_IMG_PART_MAIN);
|
|
angle_final += ext->angle;
|
|
19268: f8b5 900c ldrh.w r9, [r5, #12]
|
|
1926c: 4481 add r9, r0
|
|
|
|
lv_area_t bg_coords;
|
|
_lv_img_buf_get_transformed_area(&bg_coords, lv_area_get_width(&img_coords), lv_area_get_height(&img_coords),
|
|
1926e: b2a4 uxth r4, r4
|
|
* @param area_p pointer to an area
|
|
* @return the height of the area (if y1 == y2 -> height = 1)
|
|
*/
|
|
static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p)
|
|
{
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
19270: f8bd 200e ldrh.w r2, [sp, #14]
|
|
19274: 3201 adds r2, #1
|
|
19276: f8bd 300a ldrh.w r3, [sp, #10]
|
|
1927a: 1ad2 subs r2, r2, r3
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
1927c: f8bd 100c ldrh.w r1, [sp, #12]
|
|
19280: 3101 adds r1, #1
|
|
19282: f8bd 3008 ldrh.w r3, [sp, #8]
|
|
19286: 1ac9 subs r1, r1, r3
|
|
19288: f105 030e add.w r3, r5, #14
|
|
1928c: 9301 str r3, [sp, #4]
|
|
1928e: 9400 str r4, [sp, #0]
|
|
19290: fa0f f389 sxth.w r3, r9
|
|
19294: b212 sxth r2, r2
|
|
19296: b209 sxth r1, r1
|
|
19298: a804 add r0, sp, #16
|
|
1929a: f8df a160 ldr.w sl, [pc, #352] ; 193fc <lv_img_design+0x2f8>
|
|
1929e: 47d0 blx sl
|
|
angle_final, zoom_final, &ext->pivot);
|
|
bg_coords.x1 += img_coords.x1;
|
|
192a0: f8bd 2008 ldrh.w r2, [sp, #8]
|
|
192a4: f8bd 3010 ldrh.w r3, [sp, #16]
|
|
192a8: 4413 add r3, r2
|
|
192aa: f8ad 3010 strh.w r3, [sp, #16]
|
|
bg_coords.y1 += img_coords.y1;
|
|
192ae: f8bd 300a ldrh.w r3, [sp, #10]
|
|
192b2: f8bd 1012 ldrh.w r1, [sp, #18]
|
|
192b6: 4419 add r1, r3
|
|
192b8: f8ad 1012 strh.w r1, [sp, #18]
|
|
bg_coords.x2 += img_coords.x1;
|
|
192bc: f8bd 1014 ldrh.w r1, [sp, #20]
|
|
192c0: 440a add r2, r1
|
|
192c2: f8ad 2014 strh.w r2, [sp, #20]
|
|
bg_coords.y2 += img_coords.y1;
|
|
192c6: f8bd 2016 ldrh.w r2, [sp, #22]
|
|
192ca: 4413 add r3, r2
|
|
192cc: f8ad 3016 strh.w r3, [sp, #22]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
192d0: 2212 movs r2, #18
|
|
192d2: 2100 movs r1, #0
|
|
192d4: 4638 mov r0, r7
|
|
192d6: 47c0 blx r8
|
|
bg_coords.x1 -= lv_obj_get_style_pad_left(img, LV_IMG_PART_MAIN);
|
|
192d8: f8bd 3010 ldrh.w r3, [sp, #16]
|
|
192dc: 1a18 subs r0, r3, r0
|
|
192de: f8ad 0010 strh.w r0, [sp, #16]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
192e2: 2213 movs r2, #19
|
|
192e4: 2100 movs r1, #0
|
|
192e6: 4638 mov r0, r7
|
|
192e8: 47c0 blx r8
|
|
bg_coords.x2 += lv_obj_get_style_pad_right(img, LV_IMG_PART_MAIN);
|
|
192ea: f8bd 3014 ldrh.w r3, [sp, #20]
|
|
192ee: 4418 add r0, r3
|
|
192f0: f8ad 0014 strh.w r0, [sp, #20]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
192f4: 2210 movs r2, #16
|
|
192f6: 2100 movs r1, #0
|
|
192f8: 4638 mov r0, r7
|
|
192fa: 47c0 blx r8
|
|
bg_coords.y1 -= lv_obj_get_style_pad_top(img, LV_IMG_PART_MAIN);
|
|
192fc: f8bd 3012 ldrh.w r3, [sp, #18]
|
|
19300: 1a18 subs r0, r3, r0
|
|
19302: f8ad 0012 strh.w r0, [sp, #18]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
19306: 2211 movs r2, #17
|
|
19308: 2100 movs r1, #0
|
|
1930a: 4638 mov r0, r7
|
|
1930c: 47c0 blx r8
|
|
bg_coords.y2 += lv_obj_get_style_pad_bottom(img, LV_IMG_PART_MAIN);
|
|
1930e: f8bd 3016 ldrh.w r3, [sp, #22]
|
|
19312: 4418 add r0, r3
|
|
19314: f8ad 0016 strh.w r0, [sp, #22]
|
|
|
|
lv_draw_rect(&bg_coords, clip_area, &bg_dsc);
|
|
19318: aa0f add r2, sp, #60 ; 0x3c
|
|
1931a: 4631 mov r1, r6
|
|
1931c: a804 add r0, sp, #16
|
|
1931e: 4b3c ldr r3, [pc, #240] ; (19410 <lv_img_design+0x30c>)
|
|
19320: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
19322: 2202 movs r2, #2
|
|
19324: 2100 movs r1, #0
|
|
19326: 4638 mov r0, r7
|
|
19328: 47c0 blx r8
|
|
|
|
if(lv_obj_get_style_clip_corner(img, LV_OBJ_PART_MAIN)) {
|
|
1932a: b9c8 cbnz r0, 19360 <lv_img_design+0x25c>
|
|
lv_draw_mask_radius_init(mp, &bg_coords, r, false);
|
|
/*Add the mask and use `img+8` as custom id. Don't use `obj` directly because it might be used by the user*/
|
|
lv_draw_mask_add(mp, img + 8);
|
|
}
|
|
|
|
if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_VARIABLE) {
|
|
1932c: 7d2b ldrb r3, [r5, #20]
|
|
1932e: f003 0303 and.w r3, r3, #3
|
|
19332: 2b01 cmp r3, #1
|
|
19334: d92a bls.n 1938c <lv_img_design+0x288>
|
|
for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) {
|
|
lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc);
|
|
}
|
|
}
|
|
}
|
|
else if(ext->src_type == LV_IMG_SRC_SYMBOL) {
|
|
19336: 2b02 cmp r3, #2
|
|
19338: f000 80d1 beq.w 194de <lv_img_design+0x3da>
|
|
label_dsc.color = lv_obj_get_style_image_recolor(img, LV_IMG_PART_MAIN);
|
|
lv_draw_label(&img_coords, clip_area, &label_dsc, ext->src, NULL);
|
|
}
|
|
else {
|
|
/*Trigger the error handler of image drawer*/
|
|
LV_LOG_WARN("lv_img_design: image source type is unknown");
|
|
1933c: 4b35 ldr r3, [pc, #212] ; (19414 <lv_img_design+0x310>)
|
|
1933e: 9300 str r3, [sp, #0]
|
|
19340: 4b35 ldr r3, [pc, #212] ; (19418 <lv_img_design+0x314>)
|
|
19342: f240 22bb movw r2, #699 ; 0x2bb
|
|
19346: 4935 ldr r1, [pc, #212] ; (1941c <lv_img_design+0x318>)
|
|
19348: 2002 movs r0, #2
|
|
1934a: 4c35 ldr r4, [pc, #212] ; (19420 <lv_img_design+0x31c>)
|
|
1934c: 47a0 blx r4
|
|
lv_draw_img(&img->coords, clip_area, NULL, NULL);
|
|
1934e: 2300 movs r3, #0
|
|
19350: 461a mov r2, r3
|
|
19352: 4631 mov r1, r6
|
|
19354: f107 0010 add.w r0, r7, #16
|
|
19358: 4c32 ldr r4, [pc, #200] ; (19424 <lv_img_design+0x320>)
|
|
1935a: 47a0 blx r4
|
|
lv_obj_init_draw_rect_dsc(img, LV_OBJ_PART_MAIN, &draw_dsc);
|
|
lv_draw_rect(&img->coords, clip_area, &draw_dsc);
|
|
}
|
|
}
|
|
|
|
return LV_DESIGN_RES_OK;
|
|
1935c: 2000 movs r0, #0
|
|
1935e: e0dc b.n 1951a <lv_img_design+0x416>
|
|
lv_draw_mask_radius_param_t * mp = _lv_mem_buf_get(sizeof(lv_draw_mask_radius_param_t));
|
|
19360: 201c movs r0, #28
|
|
19362: 4b31 ldr r3, [pc, #196] ; (19428 <lv_img_design+0x324>)
|
|
19364: 4798 blx r3
|
|
19366: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar)
|
|
19368: 2201 movs r2, #1
|
|
1936a: 2100 movs r1, #0
|
|
1936c: 4638 mov r0, r7
|
|
1936e: 4b1f ldr r3, [pc, #124] ; (193ec <lv_img_design+0x2e8>)
|
|
19370: 4798 blx r3
|
|
lv_draw_mask_radius_init(mp, &bg_coords, r, false);
|
|
19372: 2300 movs r3, #0
|
|
19374: 4602 mov r2, r0
|
|
19376: a904 add r1, sp, #16
|
|
19378: 4640 mov r0, r8
|
|
1937a: f8df a0bc ldr.w sl, [pc, #188] ; 19438 <lv_img_design+0x334>
|
|
1937e: 47d0 blx sl
|
|
lv_draw_mask_add(mp, img + 8);
|
|
19380: f507 7118 add.w r1, r7, #608 ; 0x260
|
|
19384: 4640 mov r0, r8
|
|
19386: 4b29 ldr r3, [pc, #164] ; (1942c <lv_img_design+0x328>)
|
|
19388: 4798 blx r3
|
|
1938a: e7cf b.n 1932c <lv_img_design+0x228>
|
|
img_coords.x1 += ext->offset.x;
|
|
1938c: f8bd 2008 ldrh.w r2, [sp, #8]
|
|
19390: 88ab ldrh r3, [r5, #4]
|
|
19392: 441a add r2, r3
|
|
19394: b292 uxth r2, r2
|
|
19396: b210 sxth r0, r2
|
|
19398: f8ad 0008 strh.w r0, [sp, #8]
|
|
img_coords.y1 += ext->offset.y;
|
|
1939c: f8bd 300a ldrh.w r3, [sp, #10]
|
|
193a0: 88e9 ldrh r1, [r5, #6]
|
|
193a2: 440b add r3, r1
|
|
193a4: b29b uxth r3, r3
|
|
193a6: b219 sxth r1, r3
|
|
193a8: f8ad 100a strh.w r1, [sp, #10]
|
|
if(img_coords.x1 > img->coords.x1) img_coords.x1 -= ext->w;
|
|
193ac: f9b7 e010 ldrsh.w lr, [r7, #16]
|
|
193b0: 4586 cmp lr, r0
|
|
193b2: da03 bge.n 193bc <lv_img_design+0x2b8>
|
|
193b4: 8928 ldrh r0, [r5, #8]
|
|
193b6: 1a12 subs r2, r2, r0
|
|
193b8: f8ad 2008 strh.w r2, [sp, #8]
|
|
if(img_coords.y1 > img->coords.y1) img_coords.y1 -= ext->h;
|
|
193bc: f9b7 2012 ldrsh.w r2, [r7, #18]
|
|
193c0: 428a cmp r2, r1
|
|
193c2: da03 bge.n 193cc <lv_img_design+0x2c8>
|
|
193c4: 896a ldrh r2, [r5, #10]
|
|
193c6: 1a9b subs r3, r3, r2
|
|
193c8: f8ad 300a strh.w r3, [sp, #10]
|
|
lv_draw_img_dsc_init(&img_dsc);
|
|
193cc: a808 add r0, sp, #32
|
|
193ce: 4b18 ldr r3, [pc, #96] ; (19430 <lv_img_design+0x32c>)
|
|
193d0: 4798 blx r3
|
|
lv_obj_init_draw_img_dsc(img, LV_IMG_PART_MAIN, &img_dsc);
|
|
193d2: aa08 add r2, sp, #32
|
|
193d4: 2100 movs r1, #0
|
|
193d6: 4638 mov r0, r7
|
|
193d8: 4b16 ldr r3, [pc, #88] ; (19434 <lv_img_design+0x330>)
|
|
193da: 4798 blx r3
|
|
img_dsc.zoom = zoom_final;
|
|
193dc: f8ad 4028 strh.w r4, [sp, #40] ; 0x28
|
|
if(img_dsc.zoom == 0) return LV_DESIGN_RES_OK;
|
|
193e0: bb64 cbnz r4, 1943c <lv_img_design+0x338>
|
|
193e2: 2000 movs r0, #0
|
|
193e4: e099 b.n 1951a <lv_img_design+0x416>
|
|
193e6: bf00 nop
|
|
193e8: 00004d85 .word 0x00004d85
|
|
193ec: 000044bd .word 0x000044bd
|
|
193f0: 00011755 .word 0x00011755
|
|
193f4: 00002f45 .word 0x00002f45
|
|
193f8: 00002f95 .word 0x00002f95
|
|
193fc: 0000ec4d .word 0x0000ec4d
|
|
19400: 000045f5 .word 0x000045f5
|
|
19404: 00002e29 .word 0x00002e29
|
|
19408: 0000c251 .word 0x0000c251
|
|
1940c: 000050ad .word 0x000050ad
|
|
19410: 0000c319 .word 0x0000c319
|
|
19414: 000250c8 .word 0x000250c8
|
|
19418: 00029578 .word 0x00029578
|
|
1941c: 000296a0 .word 0x000296a0
|
|
19420: 00012245 .word 0x00012245
|
|
19424: 000096d1 .word 0x000096d1
|
|
19428: 00012925 .word 0x00012925
|
|
1942c: 0000bda9 .word 0x0000bda9
|
|
19430: 0000962d .word 0x0000962d
|
|
19434: 00005751 .word 0x00005751
|
|
19438: 0000c015 .word 0x0000c015
|
|
img_dsc.angle = angle_final;
|
|
1943c: f8ad 9022 strh.w r9, [sp, #34] ; 0x22
|
|
img_dsc.pivot.x = ext->pivot.x;
|
|
19440: 89eb ldrh r3, [r5, #14]
|
|
19442: f8ad 3024 strh.w r3, [sp, #36] ; 0x24
|
|
img_dsc.pivot.y = ext->pivot.y;
|
|
19446: 8a2b ldrh r3, [r5, #16]
|
|
19448: f8ad 3026 strh.w r3, [sp, #38] ; 0x26
|
|
img_dsc.antialias = ext->antialias;
|
|
1944c: 7d6a ldrb r2, [r5, #21]
|
|
1944e: f89d 302f ldrb.w r3, [sp, #47] ; 0x2f
|
|
19452: f362 0300 bfi r3, r2, #0, #1
|
|
19456: f88d 302f strb.w r3, [sp, #47] ; 0x2f
|
|
cords_tmp.y1 = img_coords.y1;
|
|
1945a: f9bd 300a ldrsh.w r3, [sp, #10]
|
|
1945e: f8ad 301a strh.w r3, [sp, #26]
|
|
cords_tmp.y2 = img_coords.y1 + ext->h - 1;
|
|
19462: 1e5a subs r2, r3, #1
|
|
19464: 8969 ldrh r1, [r5, #10]
|
|
19466: 440a add r2, r1
|
|
19468: f8ad 201e strh.w r2, [sp, #30]
|
|
for(; cords_tmp.y1 <= img_coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) {
|
|
1946c: f9bd 200e ldrsh.w r2, [sp, #14]
|
|
19470: 429a cmp r2, r3
|
|
19472: f6ff af73 blt.w 1935c <lv_img_design+0x258>
|
|
lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc);
|
|
19476: 4c40 ldr r4, [pc, #256] ; (19578 <lv_img_design+0x474>)
|
|
cords_tmp.x1 = img_coords.x1;
|
|
19478: f9bd 3008 ldrsh.w r3, [sp, #8]
|
|
1947c: f8ad 3018 strh.w r3, [sp, #24]
|
|
cords_tmp.x2 = img_coords.x1 + ext->w - 1;
|
|
19480: 1e5a subs r2, r3, #1
|
|
19482: 8929 ldrh r1, [r5, #8]
|
|
19484: 440a add r2, r1
|
|
19486: f8ad 201c strh.w r2, [sp, #28]
|
|
for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) {
|
|
1948a: f9bd 200c ldrsh.w r2, [sp, #12]
|
|
1948e: 429a cmp r2, r3
|
|
19490: db14 blt.n 194bc <lv_img_design+0x3b8>
|
|
lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc);
|
|
19492: ab08 add r3, sp, #32
|
|
19494: 682a ldr r2, [r5, #0]
|
|
19496: 4631 mov r1, r6
|
|
19498: a806 add r0, sp, #24
|
|
1949a: 47a0 blx r4
|
|
for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) {
|
|
1949c: 892a ldrh r2, [r5, #8]
|
|
1949e: f8bd 3018 ldrh.w r3, [sp, #24]
|
|
194a2: 4413 add r3, r2
|
|
194a4: b21b sxth r3, r3
|
|
194a6: f8ad 3018 strh.w r3, [sp, #24]
|
|
194aa: f8bd 101c ldrh.w r1, [sp, #28]
|
|
194ae: 440a add r2, r1
|
|
194b0: f8ad 201c strh.w r2, [sp, #28]
|
|
194b4: f9bd 200c ldrsh.w r2, [sp, #12]
|
|
194b8: 429a cmp r2, r3
|
|
194ba: daea bge.n 19492 <lv_img_design+0x38e>
|
|
for(; cords_tmp.y1 <= img_coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) {
|
|
194bc: 896a ldrh r2, [r5, #10]
|
|
194be: f8bd 301a ldrh.w r3, [sp, #26]
|
|
194c2: 4413 add r3, r2
|
|
194c4: b21b sxth r3, r3
|
|
194c6: f8ad 301a strh.w r3, [sp, #26]
|
|
194ca: f8bd 101e ldrh.w r1, [sp, #30]
|
|
194ce: 440a add r2, r1
|
|
194d0: f8ad 201e strh.w r2, [sp, #30]
|
|
194d4: f9bd 200e ldrsh.w r2, [sp, #14]
|
|
194d8: 429a cmp r2, r3
|
|
194da: dacd bge.n 19478 <lv_img_design+0x374>
|
|
194dc: e73e b.n 1935c <lv_img_design+0x258>
|
|
lv_draw_label_dsc_init(&label_dsc);
|
|
194de: a808 add r0, sp, #32
|
|
194e0: 4b26 ldr r3, [pc, #152] ; (1957c <lv_img_design+0x478>)
|
|
194e2: 4798 blx r3
|
|
lv_obj_init_draw_label_dsc(img, LV_IMG_PART_MAIN, &label_dsc);
|
|
194e4: aa08 add r2, sp, #32
|
|
194e6: 2100 movs r1, #0
|
|
194e8: 4638 mov r0, r7
|
|
194ea: 4b25 ldr r3, [pc, #148] ; (19580 <lv_img_design+0x47c>)
|
|
194ec: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar)
|
|
194ee: f248 02a9 movw r2, #32937 ; 0x80a9
|
|
194f2: 2100 movs r1, #0
|
|
194f4: 4638 mov r0, r7
|
|
194f6: 4b23 ldr r3, [pc, #140] ; (19584 <lv_img_design+0x480>)
|
|
194f8: 4798 blx r3
|
|
label_dsc.color = lv_obj_get_style_image_recolor(img, LV_IMG_PART_MAIN);
|
|
194fa: f8ad 0020 strh.w r0, [sp, #32]
|
|
lv_draw_label(&img_coords, clip_area, &label_dsc, ext->src, NULL);
|
|
194fe: 682b ldr r3, [r5, #0]
|
|
19500: 2200 movs r2, #0
|
|
19502: 9200 str r2, [sp, #0]
|
|
19504: aa08 add r2, sp, #32
|
|
19506: 4631 mov r1, r6
|
|
19508: a802 add r0, sp, #8
|
|
1950a: 4c1f ldr r4, [pc, #124] ; (19588 <lv_img_design+0x484>)
|
|
1950c: 47a0 blx r4
|
|
1950e: e725 b.n 1935c <lv_img_design+0x258>
|
|
if(ext->h == 0 || ext->w == 0) return true;
|
|
19510: 2001 movs r0, #1
|
|
19512: e002 b.n 1951a <lv_img_design+0x416>
|
|
else if(mode == LV_DESIGN_DRAW_POST) {
|
|
19514: 2c01 cmp r4, #1
|
|
19516: d003 beq.n 19520 <lv_img_design+0x41c>
|
|
return LV_DESIGN_RES_OK;
|
|
19518: 2000 movs r0, #0
|
|
}
|
|
1951a: b024 add sp, #144 ; 0x90
|
|
1951c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar)
|
|
19520: 2202 movs r2, #2
|
|
19522: 2100 movs r1, #0
|
|
19524: 4638 mov r0, r7
|
|
19526: 4b19 ldr r3, [pc, #100] ; (1958c <lv_img_design+0x488>)
|
|
19528: 4798 blx r3
|
|
if(lv_obj_get_style_clip_corner(img, LV_OBJ_PART_MAIN)) {
|
|
1952a: b950 cbnz r0, 19542 <lv_img_design+0x43e>
|
|
lv_draw_rect_dsc_init(&draw_dsc);
|
|
1952c: a80f add r0, sp, #60 ; 0x3c
|
|
1952e: 4b18 ldr r3, [pc, #96] ; (19590 <lv_img_design+0x48c>)
|
|
19530: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar)
|
|
19532: 2233 movs r2, #51 ; 0x33
|
|
19534: 2100 movs r1, #0
|
|
19536: 4638 mov r0, r7
|
|
19538: 4b14 ldr r3, [pc, #80] ; (1958c <lv_img_design+0x488>)
|
|
1953a: 4798 blx r3
|
|
if(lv_obj_get_style_border_post(img, LV_OBJ_PART_MAIN)) {
|
|
1953c: b940 cbnz r0, 19550 <lv_img_design+0x44c>
|
|
return LV_DESIGN_RES_OK;
|
|
1953e: 2000 movs r0, #0
|
|
19540: e7eb b.n 1951a <lv_img_design+0x416>
|
|
lv_draw_mask_radius_param_t * param = lv_draw_mask_remove_custom(img + 8);
|
|
19542: f507 7018 add.w r0, r7, #608 ; 0x260
|
|
19546: 4b13 ldr r3, [pc, #76] ; (19594 <lv_img_design+0x490>)
|
|
19548: 4798 blx r3
|
|
_lv_mem_buf_release(param);
|
|
1954a: 4b13 ldr r3, [pc, #76] ; (19598 <lv_img_design+0x494>)
|
|
1954c: 4798 blx r3
|
|
1954e: e7ed b.n 1952c <lv_img_design+0x428>
|
|
draw_dsc.bg_opa = LV_OPA_TRANSP;
|
|
19550: 2100 movs r1, #0
|
|
19552: f88d 1048 strb.w r1, [sp, #72] ; 0x48
|
|
draw_dsc.pattern_opa = LV_OPA_TRANSP;
|
|
19556: f88d 1072 strb.w r1, [sp, #114] ; 0x72
|
|
draw_dsc.shadow_opa = LV_OPA_TRANSP;
|
|
1955a: f88d 1064 strb.w r1, [sp, #100] ; 0x64
|
|
lv_obj_init_draw_rect_dsc(img, LV_OBJ_PART_MAIN, &draw_dsc);
|
|
1955e: aa0f add r2, sp, #60 ; 0x3c
|
|
19560: 4638 mov r0, r7
|
|
19562: 4b0e ldr r3, [pc, #56] ; (1959c <lv_img_design+0x498>)
|
|
19564: 4798 blx r3
|
|
lv_draw_rect(&img->coords, clip_area, &draw_dsc);
|
|
19566: aa0f add r2, sp, #60 ; 0x3c
|
|
19568: 4631 mov r1, r6
|
|
1956a: f107 0010 add.w r0, r7, #16
|
|
1956e: 4b0c ldr r3, [pc, #48] ; (195a0 <lv_img_design+0x49c>)
|
|
19570: 4798 blx r3
|
|
19572: e7e4 b.n 1953e <lv_img_design+0x43a>
|
|
if(ext->src_type == LV_IMG_SRC_UNKNOWN || ext->src_type == LV_IMG_SRC_SYMBOL) return LV_DESIGN_RES_NOT_COVER;
|
|
19574: 2002 movs r0, #2
|
|
19576: e7d0 b.n 1951a <lv_img_design+0x416>
|
|
19578: 000096d1 .word 0x000096d1
|
|
1957c: 000099b5 .word 0x000099b5
|
|
19580: 00005699 .word 0x00005699
|
|
19584: 00004569 .word 0x00004569
|
|
19588: 00009a0d .word 0x00009a0d
|
|
1958c: 000044bd .word 0x000044bd
|
|
19590: 0000c251 .word 0x0000c251
|
|
19594: 0000be79 .word 0x0000be79
|
|
19598: 00012559 .word 0x00012559
|
|
1959c: 000050ad .word 0x000050ad
|
|
195a0: 0000c319 .word 0x0000c319
|
|
|
|
000195a4 <lv_img_get_auto_size>:
|
|
{
|
|
195a4: b530 push {r4, r5, lr}
|
|
195a6: b083 sub sp, #12
|
|
195a8: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(img, LV_OBJX_NAME);
|
|
195aa: 4b0c ldr r3, [pc, #48] ; (195dc <lv_img_get_auto_size+0x38>)
|
|
195ac: 4798 blx r3
|
|
195ae: b968 cbnz r0, 195cc <lv_img_get_auto_size+0x28>
|
|
195b0: 4b0b ldr r3, [pc, #44] ; (195e0 <lv_img_get_auto_size+0x3c>)
|
|
195b2: 9300 str r3, [sp, #0]
|
|
195b4: f44f 72e7 mov.w r2, #462 ; 0x1ce
|
|
195b8: 490a ldr r1, [pc, #40] ; (195e4 <lv_img_get_auto_size+0x40>)
|
|
195ba: 2003 movs r0, #3
|
|
195bc: 4d0a ldr r5, [pc, #40] ; (195e8 <lv_img_get_auto_size+0x44>)
|
|
195be: 47a8 blx r5
|
|
195c0: 4622 mov r2, r4
|
|
195c2: 2300 movs r3, #0
|
|
195c4: 4809 ldr r0, [pc, #36] ; (195ec <lv_img_get_auto_size+0x48>)
|
|
195c6: 490a ldr r1, [pc, #40] ; (195f0 <lv_img_get_auto_size+0x4c>)
|
|
195c8: 4788 blx r1
|
|
195ca: e7fe b.n 195ca <lv_img_get_auto_size+0x26>
|
|
lv_img_ext_t * ext = lv_obj_get_ext_attr(img);
|
|
195cc: 4620 mov r0, r4
|
|
195ce: 4b09 ldr r3, [pc, #36] ; (195f4 <lv_img_get_auto_size+0x50>)
|
|
195d0: 4798 blx r3
|
|
return ext->auto_size == 0 ? false : true;
|
|
195d2: 7d00 ldrb r0, [r0, #20]
|
|
}
|
|
195d4: f3c0 0080 ubfx r0, r0, #2, #1
|
|
195d8: b003 add sp, #12
|
|
195da: bd30 pop {r4, r5, pc}
|
|
195dc: 00002299 .word 0x00002299
|
|
195e0: 000295f0 .word 0x000295f0
|
|
195e4: 000296a0 .word 0x000296a0
|
|
195e8: 00012245 .word 0x00012245
|
|
195ec: 00024824 .word 0x00024824
|
|
195f0: 000022a1 .word 0x000022a1
|
|
195f4: 00004d85 .word 0x00004d85
|
|
|
|
000195f8 <lv_img_set_src>:
|
|
{
|
|
195f8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
195fc: b086 sub sp, #24
|
|
195fe: 4605 mov r5, r0
|
|
19600: 460e mov r6, r1
|
|
LV_ASSERT_OBJ(img, LV_OBJX_NAME);
|
|
19602: 4b7c ldr r3, [pc, #496] ; (197f4 <lv_img_set_src+0x1fc>)
|
|
19604: 4798 blx r3
|
|
19606: b960 cbnz r0, 19622 <lv_img_set_src+0x2a>
|
|
19608: 4b7b ldr r3, [pc, #492] ; (197f8 <lv_img_set_src+0x200>)
|
|
1960a: 9300 str r3, [sp, #0]
|
|
1960c: 228f movs r2, #143 ; 0x8f
|
|
1960e: 497b ldr r1, [pc, #492] ; (197fc <lv_img_set_src+0x204>)
|
|
19610: 2003 movs r0, #3
|
|
19612: 4c7b ldr r4, [pc, #492] ; (19800 <lv_img_set_src+0x208>)
|
|
19614: 47a0 blx r4
|
|
19616: 462a mov r2, r5
|
|
19618: 2300 movs r3, #0
|
|
1961a: 487a ldr r0, [pc, #488] ; (19804 <lv_img_set_src+0x20c>)
|
|
1961c: 497a ldr r1, [pc, #488] ; (19808 <lv_img_set_src+0x210>)
|
|
1961e: 4788 blx r1
|
|
19620: e7fe b.n 19620 <lv_img_set_src+0x28>
|
|
lv_img_src_t src_type = lv_img_src_get_type(src_img);
|
|
19622: 4630 mov r0, r6
|
|
19624: 4b79 ldr r3, [pc, #484] ; (1980c <lv_img_set_src+0x214>)
|
|
19626: 4798 blx r3
|
|
19628: 4607 mov r7, r0
|
|
lv_img_ext_t * ext = lv_obj_get_ext_attr(img);
|
|
1962a: 4628 mov r0, r5
|
|
1962c: 4b78 ldr r3, [pc, #480] ; (19810 <lv_img_set_src+0x218>)
|
|
1962e: 4798 blx r3
|
|
19630: 4604 mov r4, r0
|
|
switch(src_type) {
|
|
19632: 2f02 cmp r7, #2
|
|
19634: d83a bhi.n 196ac <lv_img_set_src+0xb4>
|
|
if(src_type == LV_IMG_SRC_UNKNOWN) {
|
|
19636: 2f03 cmp r7, #3
|
|
19638: d042 beq.n 196c0 <lv_img_set_src+0xc8>
|
|
lv_img_decoder_get_info(src_img, &header);
|
|
1963a: a905 add r1, sp, #20
|
|
1963c: 4630 mov r0, r6
|
|
1963e: 4b75 ldr r3, [pc, #468] ; (19814 <lv_img_set_src+0x21c>)
|
|
19640: 4798 blx r3
|
|
if(src_type == LV_IMG_SRC_VARIABLE) {
|
|
19642: 2f00 cmp r7, #0
|
|
19644: d055 beq.n 196f2 <lv_img_set_src+0xfa>
|
|
else if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_SYMBOL) {
|
|
19646: 1e7b subs r3, r7, #1
|
|
19648: b2db uxtb r3, r3
|
|
1964a: 2b01 cmp r3, #1
|
|
1964c: d966 bls.n 1971c <lv_img_set_src+0x124>
|
|
if(src_type == LV_IMG_SRC_SYMBOL) {
|
|
1964e: 2f02 cmp r7, #2
|
|
19650: f000 8099 beq.w 19786 <lv_img_set_src+0x18e>
|
|
ext->src_type = src_type;
|
|
19654: 7d21 ldrb r1, [r4, #20]
|
|
19656: f367 0101 bfi r1, r7, #0, #2
|
|
ext->w = header.w;
|
|
1965a: 9a05 ldr r2, [sp, #20]
|
|
1965c: f3c2 228a ubfx r2, r2, #10, #11
|
|
19660: 8122 strh r2, [r4, #8]
|
|
ext->h = header.h;
|
|
19662: f8bd 3016 ldrh.w r3, [sp, #22]
|
|
19666: f3c3 134a ubfx r3, r3, #5, #11
|
|
1966a: 8163 strh r3, [r4, #10]
|
|
ext->cf = header.cf;
|
|
1966c: f89d 0014 ldrb.w r0, [sp, #20]
|
|
19670: f360 01c7 bfi r1, r0, #3, #5
|
|
19674: 7521 strb r1, [r4, #20]
|
|
ext->pivot.x = header.w / 2;
|
|
19676: f3c2 0249 ubfx r2, r2, #1, #10
|
|
1967a: 81e2 strh r2, [r4, #14]
|
|
ext->pivot.y = header.h / 2;
|
|
1967c: f3c3 0349 ubfx r3, r3, #1, #10
|
|
19680: 8223 strh r3, [r4, #16]
|
|
if(lv_img_get_auto_size(img) != false) {
|
|
19682: 4628 mov r0, r5
|
|
19684: 4b64 ldr r3, [pc, #400] ; (19818 <lv_img_set_src+0x220>)
|
|
19686: 4798 blx r3
|
|
19688: 2800 cmp r0, #0
|
|
1968a: f040 80aa bne.w 197e2 <lv_img_set_src+0x1ea>
|
|
if(ext->angle || ext->zoom != LV_IMG_ZOOM_NONE) lv_obj_refresh_ext_draw_pad(img);
|
|
1968e: 89a3 ldrh r3, [r4, #12]
|
|
19690: b91b cbnz r3, 1969a <lv_img_set_src+0xa2>
|
|
19692: 8a63 ldrh r3, [r4, #18]
|
|
19694: f5b3 7f80 cmp.w r3, #256 ; 0x100
|
|
19698: d002 beq.n 196a0 <lv_img_set_src+0xa8>
|
|
1969a: 4628 mov r0, r5
|
|
1969c: 4b5f ldr r3, [pc, #380] ; (1981c <lv_img_set_src+0x224>)
|
|
1969e: 4798 blx r3
|
|
lv_obj_invalidate(img);
|
|
196a0: 4628 mov r0, r5
|
|
196a2: 4b5f ldr r3, [pc, #380] ; (19820 <lv_img_set_src+0x228>)
|
|
196a4: 4798 blx r3
|
|
}
|
|
196a6: b006 add sp, #24
|
|
196a8: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
LV_LOG_WARN("lv_img_set_src: unknown type");
|
|
196ac: 4b5d ldr r3, [pc, #372] ; (19824 <lv_img_set_src+0x22c>)
|
|
196ae: 9300 str r3, [sp, #0]
|
|
196b0: 4b51 ldr r3, [pc, #324] ; (197f8 <lv_img_set_src+0x200>)
|
|
196b2: 22a0 movs r2, #160 ; 0xa0
|
|
196b4: 4951 ldr r1, [pc, #324] ; (197fc <lv_img_set_src+0x204>)
|
|
196b6: 2002 movs r0, #2
|
|
196b8: f8df 8144 ldr.w r8, [pc, #324] ; 19800 <lv_img_set_src+0x208>
|
|
196bc: 47c0 blx r8
|
|
196be: e7ba b.n 19636 <lv_img_set_src+0x3e>
|
|
LV_LOG_WARN("lv_img_set_src: unknown image type");
|
|
196c0: 4b59 ldr r3, [pc, #356] ; (19828 <lv_img_set_src+0x230>)
|
|
196c2: 9300 str r3, [sp, #0]
|
|
196c4: 4b4c ldr r3, [pc, #304] ; (197f8 <lv_img_set_src+0x200>)
|
|
196c6: 22a6 movs r2, #166 ; 0xa6
|
|
196c8: 494c ldr r1, [pc, #304] ; (197fc <lv_img_set_src+0x204>)
|
|
196ca: 2002 movs r0, #2
|
|
196cc: 4d4c ldr r5, [pc, #304] ; (19800 <lv_img_set_src+0x208>)
|
|
196ce: 47a8 blx r5
|
|
if(ext->src_type == LV_IMG_SRC_SYMBOL || ext->src_type == LV_IMG_SRC_FILE) {
|
|
196d0: 7d23 ldrb r3, [r4, #20]
|
|
196d2: f003 0303 and.w r3, r3, #3
|
|
196d6: 3b01 subs r3, #1
|
|
196d8: b2db uxtb r3, r3
|
|
196da: 2b01 cmp r3, #1
|
|
196dc: d802 bhi.n 196e4 <lv_img_set_src+0xec>
|
|
lv_mem_free(ext->src);
|
|
196de: 6820 ldr r0, [r4, #0]
|
|
196e0: 4b52 ldr r3, [pc, #328] ; (1982c <lv_img_set_src+0x234>)
|
|
196e2: 4798 blx r3
|
|
ext->src = NULL;
|
|
196e4: 2300 movs r3, #0
|
|
196e6: 6023 str r3, [r4, #0]
|
|
ext->src_type = LV_IMG_SRC_UNKNOWN;
|
|
196e8: 7d23 ldrb r3, [r4, #20]
|
|
196ea: f043 0303 orr.w r3, r3, #3
|
|
196ee: 7523 strb r3, [r4, #20]
|
|
return;
|
|
196f0: e7d9 b.n 196a6 <lv_img_set_src+0xae>
|
|
LV_LOG_INFO("lv_img_set_src: `LV_IMG_SRC_VARIABLE` type found");
|
|
196f2: 4b4f ldr r3, [pc, #316] ; (19830 <lv_img_set_src+0x238>)
|
|
196f4: 9300 str r3, [sp, #0]
|
|
196f6: 4b40 ldr r3, [pc, #256] ; (197f8 <lv_img_set_src+0x200>)
|
|
196f8: 22b4 movs r2, #180 ; 0xb4
|
|
196fa: 4940 ldr r1, [pc, #256] ; (197fc <lv_img_set_src+0x204>)
|
|
196fc: 2001 movs r0, #1
|
|
196fe: f8df 8100 ldr.w r8, [pc, #256] ; 19800 <lv_img_set_src+0x208>
|
|
19702: 47c0 blx r8
|
|
if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) {
|
|
19704: 7d23 ldrb r3, [r4, #20]
|
|
19706: f003 0303 and.w r3, r3, #3
|
|
1970a: 3b01 subs r3, #1
|
|
1970c: b2db uxtb r3, r3
|
|
1970e: 2b01 cmp r3, #1
|
|
19710: d802 bhi.n 19718 <lv_img_set_src+0x120>
|
|
lv_mem_free(ext->src);
|
|
19712: 6820 ldr r0, [r4, #0]
|
|
19714: 4b45 ldr r3, [pc, #276] ; (1982c <lv_img_set_src+0x234>)
|
|
19716: 4798 blx r3
|
|
ext->src = src_img;
|
|
19718: 6026 str r6, [r4, #0]
|
|
1971a: e79b b.n 19654 <lv_img_set_src+0x5c>
|
|
if(ext->src != src_img) {
|
|
1971c: f8d4 8000 ldr.w r8, [r4]
|
|
19720: 4546 cmp r6, r8
|
|
19722: d094 beq.n 1964e <lv_img_set_src+0x56>
|
|
if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) {
|
|
19724: 7d23 ldrb r3, [r4, #20]
|
|
19726: f003 0303 and.w r3, r3, #3
|
|
1972a: 3b01 subs r3, #1
|
|
1972c: b2db uxtb r3, r3
|
|
const void * old_src = NULL;
|
|
1972e: 2b02 cmp r3, #2
|
|
19730: bf28 it cs
|
|
19732: f04f 0800 movcs.w r8, #0
|
|
char * new_str = lv_mem_alloc(strlen(src_img) + 1);
|
|
19736: 4630 mov r0, r6
|
|
19738: 4b3e ldr r3, [pc, #248] ; (19834 <lv_img_set_src+0x23c>)
|
|
1973a: 4798 blx r3
|
|
1973c: 3001 adds r0, #1
|
|
1973e: 4b3e ldr r3, [pc, #248] ; (19838 <lv_img_set_src+0x240>)
|
|
19740: 4798 blx r3
|
|
19742: 4681 mov r9, r0
|
|
LV_ASSERT_MEM(new_str);
|
|
19744: 4b2b ldr r3, [pc, #172] ; (197f4 <lv_img_set_src+0x1fc>)
|
|
19746: 4798 blx r3
|
|
19748: b960 cbnz r0, 19764 <lv_img_set_src+0x16c>
|
|
1974a: 4b2b ldr r3, [pc, #172] ; (197f8 <lv_img_set_src+0x200>)
|
|
1974c: 9300 str r3, [sp, #0]
|
|
1974e: 22c7 movs r2, #199 ; 0xc7
|
|
19750: 492a ldr r1, [pc, #168] ; (197fc <lv_img_set_src+0x204>)
|
|
19752: 2003 movs r0, #3
|
|
19754: 4c2a ldr r4, [pc, #168] ; (19800 <lv_img_set_src+0x208>)
|
|
19756: 47a0 blx r4
|
|
19758: 464a mov r2, r9
|
|
1975a: 2300 movs r3, #0
|
|
1975c: 4837 ldr r0, [pc, #220] ; (1983c <lv_img_set_src+0x244>)
|
|
1975e: 492a ldr r1, [pc, #168] ; (19808 <lv_img_set_src+0x210>)
|
|
19760: 4788 blx r1
|
|
19762: e7fe b.n 19762 <lv_img_set_src+0x16a>
|
|
if(new_str == NULL) return;
|
|
19764: f1b9 0f00 cmp.w r9, #0
|
|
19768: d09d beq.n 196a6 <lv_img_set_src+0xae>
|
|
strcpy(new_str, src_img);
|
|
1976a: 4631 mov r1, r6
|
|
1976c: 4648 mov r0, r9
|
|
1976e: 4b34 ldr r3, [pc, #208] ; (19840 <lv_img_set_src+0x248>)
|
|
19770: 4798 blx r3
|
|
ext->src = new_str;
|
|
19772: f8c4 9000 str.w r9, [r4]
|
|
if(old_src) lv_mem_free(old_src);
|
|
19776: f1b8 0f00 cmp.w r8, #0
|
|
1977a: f43f af68 beq.w 1964e <lv_img_set_src+0x56>
|
|
1977e: 4640 mov r0, r8
|
|
19780: 4b2a ldr r3, [pc, #168] ; (1982c <lv_img_set_src+0x234>)
|
|
19782: 4798 blx r3
|
|
19784: e763 b.n 1964e <lv_img_set_src+0x56>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
19786: f248 028e movw r2, #32910 ; 0x808e
|
|
1978a: 2100 movs r1, #0
|
|
1978c: 4628 mov r0, r5
|
|
1978e: 4b2d ldr r3, [pc, #180] ; (19844 <lv_img_set_src+0x24c>)
|
|
19790: 4798 blx r3
|
|
19792: 4681 mov r9, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar)
|
|
19794: f248 0280 movw r2, #32896 ; 0x8080
|
|
19798: 2100 movs r1, #0
|
|
1979a: 4628 mov r0, r5
|
|
1979c: f8df 80b0 ldr.w r8, [pc, #176] ; 19850 <lv_img_set_src+0x258>
|
|
197a0: 47c0 blx r8
|
|
197a2: 4682 mov sl, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar)
|
|
197a4: f248 0281 movw r2, #32897 ; 0x8081
|
|
197a8: 2100 movs r1, #0
|
|
197aa: 4628 mov r0, r5
|
|
197ac: 47c0 blx r8
|
|
_lv_txt_get_size(&size, src_img, font, letter_space, line_space,
|
|
197ae: 2300 movs r3, #0
|
|
197b0: 9302 str r3, [sp, #8]
|
|
197b2: f647 4318 movw r3, #31768 ; 0x7c18
|
|
197b6: 9301 str r3, [sp, #4]
|
|
197b8: 9000 str r0, [sp, #0]
|
|
197ba: 4653 mov r3, sl
|
|
197bc: 464a mov r2, r9
|
|
197be: 4631 mov r1, r6
|
|
197c0: a804 add r0, sp, #16
|
|
197c2: 4e21 ldr r6, [pc, #132] ; (19848 <lv_img_set_src+0x250>)
|
|
197c4: 47b0 blx r6
|
|
header.w = size.x;
|
|
197c6: 9b05 ldr r3, [sp, #20]
|
|
197c8: f8bd 2010 ldrh.w r2, [sp, #16]
|
|
197cc: f362 2394 bfi r3, r2, #10, #11
|
|
197d0: 9305 str r3, [sp, #20]
|
|
header.h = size.y;
|
|
197d2: 0c1b lsrs r3, r3, #16
|
|
197d4: f8bd 2012 ldrh.w r2, [sp, #18]
|
|
197d8: f362 134f bfi r3, r2, #5, #11
|
|
197dc: f8ad 3016 strh.w r3, [sp, #22]
|
|
197e0: e738 b.n 19654 <lv_img_set_src+0x5c>
|
|
lv_obj_set_size(img, ext->w, ext->h);
|
|
197e2: f9b4 200a ldrsh.w r2, [r4, #10]
|
|
197e6: f9b4 1008 ldrsh.w r1, [r4, #8]
|
|
197ea: 4628 mov r0, r5
|
|
197ec: 4b17 ldr r3, [pc, #92] ; (1984c <lv_img_set_src+0x254>)
|
|
197ee: 4798 blx r3
|
|
197f0: e74d b.n 1968e <lv_img_set_src+0x96>
|
|
197f2: bf00 nop
|
|
197f4: 00002299 .word 0x00002299
|
|
197f8: 00029608 .word 0x00029608
|
|
197fc: 000296a0 .word 0x000296a0
|
|
19800: 00012245 .word 0x00012245
|
|
19804: 00024824 .word 0x00024824
|
|
19808: 000022a1 .word 0x000022a1
|
|
1980c: 00009951 .word 0x00009951
|
|
19810: 00004d85 .word 0x00004d85
|
|
19814: 0000fdd5 .word 0x0000fdd5
|
|
19818: 000195a5 .word 0x000195a5
|
|
1981c: 00002c15 .word 0x00002c15
|
|
19820: 00003309 .word 0x00003309
|
|
19824: 000296cc .word 0x000296cc
|
|
19828: 000296ec .word 0x000296ec
|
|
1982c: 000124ad .word 0x000124ad
|
|
19830: 00029710 .word 0x00029710
|
|
19834: 0001b507 .word 0x0001b507
|
|
19838: 000123c5 .word 0x000123c5
|
|
1983c: 00023fc0 .word 0x00023fc0
|
|
19840: 0001b4f7 .word 0x0001b4f7
|
|
19844: 00004689 .word 0x00004689
|
|
19848: 00014065 .word 0x00014065
|
|
1984c: 00004289 .word 0x00004289
|
|
19850: 000044bd .word 0x000044bd
|
|
|
|
00019854 <lv_img_create>:
|
|
{
|
|
19854: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
19858: b082 sub sp, #8
|
|
1985a: 4680 mov r8, r0
|
|
1985c: 460f mov r7, r1
|
|
lv_obj_t * img = lv_obj_create(par, copy);
|
|
1985e: 4b58 ldr r3, [pc, #352] ; (199c0 <lv_img_create+0x16c>)
|
|
19860: 4798 blx r3
|
|
19862: 4605 mov r5, r0
|
|
LV_ASSERT_MEM(img);
|
|
19864: 4b57 ldr r3, [pc, #348] ; (199c4 <lv_img_create+0x170>)
|
|
19866: 4798 blx r3
|
|
19868: b1d0 cbz r0, 198a0 <lv_img_create+0x4c>
|
|
if(img == NULL) return NULL;
|
|
1986a: 2d00 cmp r5, #0
|
|
1986c: f000 8086 beq.w 1997c <lv_img_create+0x128>
|
|
if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(img);
|
|
19870: 4b55 ldr r3, [pc, #340] ; (199c8 <lv_img_create+0x174>)
|
|
19872: 681b ldr r3, [r3, #0]
|
|
19874: b30b cbz r3, 198ba <lv_img_create+0x66>
|
|
lv_img_ext_t * ext = lv_obj_allocate_ext_attr(img, sizeof(lv_img_ext_t));
|
|
19876: 2118 movs r1, #24
|
|
19878: 4628 mov r0, r5
|
|
1987a: 4b54 ldr r3, [pc, #336] ; (199cc <lv_img_create+0x178>)
|
|
1987c: 4798 blx r3
|
|
1987e: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(ext);
|
|
19880: 4b50 ldr r3, [pc, #320] ; (199c4 <lv_img_create+0x170>)
|
|
19882: 4798 blx r3
|
|
19884: b9f8 cbnz r0, 198c6 <lv_img_create+0x72>
|
|
19886: 4b52 ldr r3, [pc, #328] ; (199d0 <lv_img_create+0x17c>)
|
|
19888: 9300 str r3, [sp, #0]
|
|
1988a: 2249 movs r2, #73 ; 0x49
|
|
1988c: 4951 ldr r1, [pc, #324] ; (199d4 <lv_img_create+0x180>)
|
|
1988e: 2003 movs r0, #3
|
|
19890: 4d51 ldr r5, [pc, #324] ; (199d8 <lv_img_create+0x184>)
|
|
19892: 47a8 blx r5
|
|
19894: 4622 mov r2, r4
|
|
19896: 2300 movs r3, #0
|
|
19898: 4850 ldr r0, [pc, #320] ; (199dc <lv_img_create+0x188>)
|
|
1989a: 4951 ldr r1, [pc, #324] ; (199e0 <lv_img_create+0x18c>)
|
|
1989c: 4788 blx r1
|
|
1989e: e7fe b.n 1989e <lv_img_create+0x4a>
|
|
LV_ASSERT_MEM(img);
|
|
198a0: 4b4b ldr r3, [pc, #300] ; (199d0 <lv_img_create+0x17c>)
|
|
198a2: 9300 str r3, [sp, #0]
|
|
198a4: 2242 movs r2, #66 ; 0x42
|
|
198a6: 494b ldr r1, [pc, #300] ; (199d4 <lv_img_create+0x180>)
|
|
198a8: 2003 movs r0, #3
|
|
198aa: 4c4b ldr r4, [pc, #300] ; (199d8 <lv_img_create+0x184>)
|
|
198ac: 47a0 blx r4
|
|
198ae: 462a mov r2, r5
|
|
198b0: 2300 movs r3, #0
|
|
198b2: 484a ldr r0, [pc, #296] ; (199dc <lv_img_create+0x188>)
|
|
198b4: 494a ldr r1, [pc, #296] ; (199e0 <lv_img_create+0x18c>)
|
|
198b6: 4788 blx r1
|
|
198b8: e7fe b.n 198b8 <lv_img_create+0x64>
|
|
if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(img);
|
|
198ba: 4628 mov r0, r5
|
|
198bc: 4b49 ldr r3, [pc, #292] ; (199e4 <lv_img_create+0x190>)
|
|
198be: 4798 blx r3
|
|
198c0: 4b41 ldr r3, [pc, #260] ; (199c8 <lv_img_create+0x174>)
|
|
198c2: 6018 str r0, [r3, #0]
|
|
198c4: e7d7 b.n 19876 <lv_img_create+0x22>
|
|
if(ext == NULL) {
|
|
198c6: 2c00 cmp r4, #0
|
|
198c8: d05c beq.n 19984 <lv_img_create+0x130>
|
|
ext->src = NULL;
|
|
198ca: 2600 movs r6, #0
|
|
198cc: 6026 str r6, [r4, #0]
|
|
ext->src_type = LV_IMG_SRC_UNKNOWN;
|
|
198ce: 7d23 ldrb r3, [r4, #20]
|
|
ext->cf = LV_IMG_CF_UNKNOWN;
|
|
198d0: f043 0303 orr.w r3, r3, #3
|
|
198d4: f366 03c7 bfi r3, r6, #3, #5
|
|
198d8: 7523 strb r3, [r4, #20]
|
|
ext->w = lv_obj_get_width(img);
|
|
198da: 4628 mov r0, r5
|
|
198dc: 4b42 ldr r3, [pc, #264] ; (199e8 <lv_img_create+0x194>)
|
|
198de: 4798 blx r3
|
|
198e0: 8120 strh r0, [r4, #8]
|
|
ext->h = lv_obj_get_height(img);
|
|
198e2: 4628 mov r0, r5
|
|
198e4: 4b41 ldr r3, [pc, #260] ; (199ec <lv_img_create+0x198>)
|
|
198e6: 4798 blx r3
|
|
198e8: 8160 strh r0, [r4, #10]
|
|
ext->angle = 0;
|
|
198ea: 81a6 strh r6, [r4, #12]
|
|
ext->zoom = LV_IMG_ZOOM_NONE;
|
|
198ec: f44f 7380 mov.w r3, #256 ; 0x100
|
|
198f0: 8263 strh r3, [r4, #18]
|
|
ext->antialias = LV_ANTIALIAS ? 1 : 0;
|
|
198f2: 7d63 ldrb r3, [r4, #21]
|
|
198f4: f043 0301 orr.w r3, r3, #1
|
|
198f8: 7563 strb r3, [r4, #21]
|
|
ext->auto_size = 1;
|
|
198fa: 7d23 ldrb r3, [r4, #20]
|
|
198fc: f043 0304 orr.w r3, r3, #4
|
|
19900: 7523 strb r3, [r4, #20]
|
|
ext->offset.x = 0;
|
|
19902: 80a6 strh r6, [r4, #4]
|
|
ext->offset.y = 0;
|
|
19904: 80e6 strh r6, [r4, #6]
|
|
ext->pivot.x = 0;
|
|
19906: 81e6 strh r6, [r4, #14]
|
|
ext->pivot.y = 0;
|
|
19908: 8226 strh r6, [r4, #16]
|
|
lv_obj_set_signal_cb(img, lv_img_signal);
|
|
1990a: 4939 ldr r1, [pc, #228] ; (199f0 <lv_img_create+0x19c>)
|
|
1990c: 4628 mov r0, r5
|
|
1990e: 4b39 ldr r3, [pc, #228] ; (199f4 <lv_img_create+0x1a0>)
|
|
19910: 4798 blx r3
|
|
lv_obj_set_design_cb(img, lv_img_design);
|
|
19912: 4939 ldr r1, [pc, #228] ; (199f8 <lv_img_create+0x1a4>)
|
|
19914: 4628 mov r0, r5
|
|
19916: 4b39 ldr r3, [pc, #228] ; (199fc <lv_img_create+0x1a8>)
|
|
19918: 4798 blx r3
|
|
if(copy == NULL) {
|
|
1991a: 2f00 cmp r7, #0
|
|
1991c: d037 beq.n 1998e <lv_img_create+0x13a>
|
|
lv_img_ext_t * copy_ext = lv_obj_get_ext_attr(copy);
|
|
1991e: 4638 mov r0, r7
|
|
19920: 4b37 ldr r3, [pc, #220] ; (19a00 <lv_img_create+0x1ac>)
|
|
19922: 4798 blx r3
|
|
ext->auto_size = copy_ext->auto_size;
|
|
19924: 7d03 ldrb r3, [r0, #20]
|
|
19926: f3c3 0380 ubfx r3, r3, #2, #1
|
|
1992a: 7d22 ldrb r2, [r4, #20]
|
|
1992c: f363 0282 bfi r2, r3, #2, #1
|
|
19930: 7522 strb r2, [r4, #20]
|
|
ext->zoom = copy_ext->zoom;
|
|
19932: 8a43 ldrh r3, [r0, #18]
|
|
19934: 8263 strh r3, [r4, #18]
|
|
ext->angle = copy_ext->angle;
|
|
19936: 8983 ldrh r3, [r0, #12]
|
|
19938: 81a3 strh r3, [r4, #12]
|
|
ext->antialias = copy_ext->antialias;
|
|
1993a: 7d42 ldrb r2, [r0, #21]
|
|
1993c: 7d63 ldrb r3, [r4, #21]
|
|
1993e: f362 0300 bfi r3, r2, #0, #1
|
|
19942: 7563 strb r3, [r4, #21]
|
|
ext->offset.x = copy_ext->offset.x;
|
|
19944: f9b0 3004 ldrsh.w r3, [r0, #4]
|
|
19948: 80a3 strh r3, [r4, #4]
|
|
ext->offset.y = copy_ext->offset.y;
|
|
1994a: f9b0 3006 ldrsh.w r3, [r0, #6]
|
|
1994e: 80e3 strh r3, [r4, #6]
|
|
ext->pivot.x = copy_ext->pivot.x;
|
|
19950: f9b0 300e ldrsh.w r3, [r0, #14]
|
|
19954: 81e3 strh r3, [r4, #14]
|
|
ext->pivot.y = copy_ext->pivot.y;
|
|
19956: f9b0 3010 ldrsh.w r3, [r0, #16]
|
|
1995a: 8223 strh r3, [r4, #16]
|
|
lv_img_set_src(img, copy_ext->src);
|
|
1995c: 6801 ldr r1, [r0, #0]
|
|
1995e: 4628 mov r0, r5
|
|
19960: 4b28 ldr r3, [pc, #160] ; (19a04 <lv_img_create+0x1b0>)
|
|
19962: 4798 blx r3
|
|
lv_obj_refresh_style(img, LV_STYLE_PROP_ALL);
|
|
19964: 21ff movs r1, #255 ; 0xff
|
|
19966: 4628 mov r0, r5
|
|
19968: 4b27 ldr r3, [pc, #156] ; (19a08 <lv_img_create+0x1b4>)
|
|
1996a: 4798 blx r3
|
|
LV_LOG_INFO("image created");
|
|
1996c: 4b27 ldr r3, [pc, #156] ; (19a0c <lv_img_create+0x1b8>)
|
|
1996e: 9300 str r3, [sp, #0]
|
|
19970: 4b17 ldr r3, [pc, #92] ; (199d0 <lv_img_create+0x17c>)
|
|
19972: 227f movs r2, #127 ; 0x7f
|
|
19974: 4917 ldr r1, [pc, #92] ; (199d4 <lv_img_create+0x180>)
|
|
19976: 2001 movs r0, #1
|
|
19978: 4c17 ldr r4, [pc, #92] ; (199d8 <lv_img_create+0x184>)
|
|
1997a: 47a0 blx r4
|
|
}
|
|
1997c: 4628 mov r0, r5
|
|
1997e: b002 add sp, #8
|
|
19980: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
lv_obj_del(img);
|
|
19984: 4628 mov r0, r5
|
|
19986: 4b22 ldr r3, [pc, #136] ; (19a10 <lv_img_create+0x1bc>)
|
|
19988: 4798 blx r3
|
|
return NULL;
|
|
1998a: 2500 movs r5, #0
|
|
1998c: e7f6 b.n 1997c <lv_img_create+0x128>
|
|
lv_theme_apply(img, LV_THEME_IMAGE);
|
|
1998e: 210f movs r1, #15
|
|
19990: 4628 mov r0, r5
|
|
19992: 4b20 ldr r3, [pc, #128] ; (19a14 <lv_img_create+0x1c0>)
|
|
19994: 4798 blx r3
|
|
lv_obj_set_click(img, false);
|
|
19996: 4631 mov r1, r6
|
|
19998: 4628 mov r0, r5
|
|
1999a: 4b1f ldr r3, [pc, #124] ; (19a18 <lv_img_create+0x1c4>)
|
|
1999c: 4798 blx r3
|
|
lv_obj_set_adv_hittest(img, true); /*Images have fast hit-testing*/
|
|
1999e: 2101 movs r1, #1
|
|
199a0: 4628 mov r0, r5
|
|
199a2: 4b1e ldr r3, [pc, #120] ; (19a1c <lv_img_create+0x1c8>)
|
|
199a4: 4798 blx r3
|
|
if(par != NULL) {
|
|
199a6: f1b8 0f00 cmp.w r8, #0
|
|
199aa: d004 beq.n 199b6 <lv_img_create+0x162>
|
|
ext->auto_size = 1;
|
|
199ac: 7d23 ldrb r3, [r4, #20]
|
|
199ae: f043 0304 orr.w r3, r3, #4
|
|
199b2: 7523 strb r3, [r4, #20]
|
|
199b4: e7da b.n 1996c <lv_img_create+0x118>
|
|
ext->auto_size = 0;
|
|
199b6: 7d23 ldrb r3, [r4, #20]
|
|
199b8: f36f 0382 bfc r3, #2, #1
|
|
199bc: 7523 strb r3, [r4, #20]
|
|
199be: e7d5 b.n 1996c <lv_img_create+0x118>
|
|
199c0: 00003e0d .word 0x00003e0d
|
|
199c4: 00002299 .word 0x00002299
|
|
199c8: 20006bfc .word 0x20006bfc
|
|
199cc: 00002bb9 .word 0x00002bb9
|
|
199d0: 00029618 .word 0x00029618
|
|
199d4: 000296a0 .word 0x000296a0
|
|
199d8: 00012245 .word 0x00012245
|
|
199dc: 00023fc0 .word 0x00023fc0
|
|
199e0: 000022a1 .word 0x000022a1
|
|
199e4: 00004d3d .word 0x00004d3d
|
|
199e8: 00002f45 .word 0x00002f45
|
|
199ec: 00002f95 .word 0x00002f95
|
|
199f0: 00019a21 .word 0x00019a21
|
|
199f4: 00002b15 .word 0x00002b15
|
|
199f8: 00019105 .word 0x00019105
|
|
199fc: 00002b71 .word 0x00002b71
|
|
19a00: 00004d85 .word 0x00004d85
|
|
19a04: 000195f9 .word 0x000195f9
|
|
19a08: 00003a81 .word 0x00003a81
|
|
19a0c: 00029744 .word 0x00029744
|
|
19a10: 00004f4d .word 0x00004f4d
|
|
19a14: 000141d1 .word 0x000141d1
|
|
19a18: 00002989 .word 0x00002989
|
|
19a1c: 00002935 .word 0x00002935
|
|
|
|
00019a20 <lv_img_signal>:
|
|
* @param sign a signal type from lv_signal_t enum
|
|
* @param param pointer to a signal specific variable
|
|
* @return LV_RES_OK: the object is not deleted in the function; LV_RES_INV: the object is deleted
|
|
*/
|
|
static lv_res_t lv_img_signal(lv_obj_t * img, lv_signal_t sign, void * param)
|
|
{
|
|
19a20: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
19a24: b085 sub sp, #20
|
|
19a26: 4607 mov r7, r0
|
|
19a28: 4615 mov r5, r2
|
|
lv_res_t res;
|
|
if(sign == LV_SIGNAL_GET_STYLE) {
|
|
19a2a: 2908 cmp r1, #8
|
|
19a2c: d021 beq.n 19a72 <lv_img_signal+0x52>
|
|
19a2e: 460c mov r4, r1
|
|
if(info->result != NULL) return LV_RES_OK;
|
|
else return ancestor_signal(img, sign, param);
|
|
}
|
|
|
|
/* Include the ancient signal function */
|
|
res = ancestor_signal(img, sign, param);
|
|
19a30: 4b88 ldr r3, [pc, #544] ; (19c54 <lv_img_signal+0x234>)
|
|
19a32: 681b ldr r3, [r3, #0]
|
|
19a34: 4798 blx r3
|
|
19a36: 4606 mov r6, r0
|
|
if(res != LV_RES_OK) return res;
|
|
19a38: 2801 cmp r0, #1
|
|
19a3a: d121 bne.n 19a80 <lv_img_signal+0x60>
|
|
|
|
if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
|
19a3c: 2c07 cmp r4, #7
|
|
19a3e: d02d beq.n 19a9c <lv_img_signal+0x7c>
|
|
|
|
lv_img_ext_t * ext = lv_obj_get_ext_attr(img);
|
|
19a40: 4638 mov r0, r7
|
|
19a42: 4b85 ldr r3, [pc, #532] ; (19c58 <lv_img_signal+0x238>)
|
|
19a44: 4798 blx r3
|
|
19a46: 4680 mov r8, r0
|
|
if(sign == LV_SIGNAL_CLEANUP) {
|
|
19a48: bb74 cbnz r4, 19aa8 <lv_img_signal+0x88>
|
|
if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) {
|
|
19a4a: 7d03 ldrb r3, [r0, #20]
|
|
19a4c: f003 0303 and.w r3, r3, #3
|
|
19a50: 3b01 subs r3, #1
|
|
19a52: b2db uxtb r3, r3
|
|
19a54: 2b01 cmp r3, #1
|
|
19a56: d813 bhi.n 19a80 <lv_img_signal+0x60>
|
|
lv_mem_free(ext->src);
|
|
19a58: 6800 ldr r0, [r0, #0]
|
|
19a5a: 4b80 ldr r3, [pc, #512] ; (19c5c <lv_img_signal+0x23c>)
|
|
19a5c: 4798 blx r3
|
|
ext->src = NULL;
|
|
19a5e: 2300 movs r3, #0
|
|
19a60: f8c8 3000 str.w r3, [r8]
|
|
ext->src_type = LV_IMG_SRC_UNKNOWN;
|
|
19a64: f898 3014 ldrb.w r3, [r8, #20]
|
|
19a68: f043 0303 orr.w r3, r3, #3
|
|
19a6c: f888 3014 strb.w r3, [r8, #20]
|
|
19a70: e006 b.n 19a80 <lv_img_signal+0x60>
|
|
|
|
|
|
static lv_style_list_t * lv_img_get_style(lv_obj_t * img, uint8_t type)
|
|
{
|
|
lv_style_list_t * style_dsc_p;
|
|
switch(type) {
|
|
19a72: 7813 ldrb r3, [r2, #0]
|
|
19a74: b943 cbnz r3, 19a88 <lv_img_signal+0x68>
|
|
case LV_IMG_PART_MAIN:
|
|
style_dsc_p = &img->style_list;
|
|
19a76: f100 0328 add.w r3, r0, #40 ; 0x28
|
|
info->result = lv_img_get_style(img, info->part);
|
|
19a7a: 606b str r3, [r5, #4]
|
|
if(info->result != NULL) return LV_RES_OK;
|
|
19a7c: 2601 movs r6, #1
|
|
19a7e: b12b cbz r3, 19a8c <lv_img_signal+0x6c>
|
|
}
|
|
19a80: 4630 mov r0, r6
|
|
19a82: b005 add sp, #20
|
|
19a84: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
break;
|
|
default:
|
|
style_dsc_p = NULL;
|
|
19a88: 2300 movs r3, #0
|
|
19a8a: e7f6 b.n 19a7a <lv_img_signal+0x5a>
|
|
else return ancestor_signal(img, sign, param);
|
|
19a8c: 4b71 ldr r3, [pc, #452] ; (19c54 <lv_img_signal+0x234>)
|
|
19a8e: 681b ldr r3, [r3, #0]
|
|
19a90: 462a mov r2, r5
|
|
19a92: 2108 movs r1, #8
|
|
19a94: 4638 mov r0, r7
|
|
19a96: 4798 blx r3
|
|
19a98: 4606 mov r6, r0
|
|
19a9a: e7f1 b.n 19a80 <lv_img_signal+0x60>
|
|
if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
|
19a9c: 4970 ldr r1, [pc, #448] ; (19c60 <lv_img_signal+0x240>)
|
|
19a9e: 4628 mov r0, r5
|
|
19aa0: 4b70 ldr r3, [pc, #448] ; (19c64 <lv_img_signal+0x244>)
|
|
19aa2: 4798 blx r3
|
|
19aa4: 4606 mov r6, r0
|
|
19aa6: e7eb b.n 19a80 <lv_img_signal+0x60>
|
|
else if(sign == LV_SIGNAL_STYLE_CHG) {
|
|
19aa8: 2c04 cmp r4, #4
|
|
19aaa: d053 beq.n 19b54 <lv_img_signal+0x134>
|
|
else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) {
|
|
19aac: 2c06 cmp r4, #6
|
|
19aae: d05b beq.n 19b68 <lv_img_signal+0x148>
|
|
else if(sign == LV_SIGNAL_HIT_TEST) {
|
|
19ab0: 2c0a cmp r4, #10
|
|
19ab2: d1e5 bne.n 19a80 <lv_img_signal+0x60>
|
|
if(ext->zoom != 256 && ext->angle == 0) {
|
|
19ab4: 8a43 ldrh r3, [r0, #18]
|
|
19ab6: f5b3 7f80 cmp.w r3, #256 ; 0x100
|
|
19aba: f000 80c5 beq.w 19c48 <lv_img_signal+0x228>
|
|
19abe: 8982 ldrh r2, [r0, #12]
|
|
19ac0: 2a00 cmp r2, #0
|
|
19ac2: f040 80c1 bne.w 19c48 <lv_img_signal+0x228>
|
|
19ac6: 8aba ldrh r2, [r7, #20]
|
|
19ac8: 3201 adds r2, #1
|
|
19aca: 8a39 ldrh r1, [r7, #16]
|
|
19acc: 1a52 subs r2, r2, r1
|
|
lv_coord_t scaled_width = (origin_width * ext->zoom + 255) / 256;
|
|
19ace: b212 sxth r2, r2
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
19ad0: 8af9 ldrh r1, [r7, #22]
|
|
19ad2: 3101 adds r1, #1
|
|
19ad4: 8a78 ldrh r0, [r7, #18]
|
|
19ad6: 1a09 subs r1, r1, r0
|
|
lv_coord_t scaled_height = (origin_height * ext->zoom + 255) / 256;
|
|
19ad8: b209 sxth r1, r1
|
|
lv_coord_t scaled_width = (origin_width * ext->zoom + 255) / 256;
|
|
19ada: fb03 f002 mul.w r0, r3, r2
|
|
19ade: 30ff adds r0, #255 ; 0xff
|
|
19ae0: bf48 it mi
|
|
19ae2: 30ff addmi r0, #255 ; 0xff
|
|
lv_coord_t width_offset = (origin_width - scaled_width) / 2;
|
|
19ae4: f340 200f sbfx r0, r0, #8, #16
|
|
19ae8: 1a12 subs r2, r2, r0
|
|
19aea: eb02 72d2 add.w r2, r2, r2, lsr #31
|
|
19aee: 1054 asrs r4, r2, #1
|
|
lv_coord_t scaled_height = (origin_height * ext->zoom + 255) / 256;
|
|
19af0: fb01 f303 mul.w r3, r1, r3
|
|
19af4: 33ff adds r3, #255 ; 0xff
|
|
19af6: bf48 it mi
|
|
19af8: 33ff addmi r3, #255 ; 0xff
|
|
lv_coord_t height_offset = (origin_height - scaled_height) / 2;
|
|
19afa: f343 230f sbfx r3, r3, #8, #16
|
|
19afe: 1acb subs r3, r1, r3
|
|
19b00: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
19b04: 1058 asrs r0, r3, #1
|
|
19b06: f107 030f add.w r3, r7, #15
|
|
19b0a: 3717 adds r7, #23
|
|
* @param src pointer to the source buffer
|
|
* @param len number of byte to copy
|
|
*/
|
|
LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len)
|
|
{
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
19b0c: aa02 add r2, sp, #8
|
|
const uint8_t * s8 = (const uint8_t *)src;
|
|
|
|
while(len) {
|
|
*d8 = *s8;
|
|
19b0e: f813 1f01 ldrb.w r1, [r3, #1]!
|
|
19b12: f802 1b01 strb.w r1, [r2], #1
|
|
while(len) {
|
|
19b16: 42bb cmp r3, r7
|
|
19b18: d1f9 bne.n 19b0e <lv_img_signal+0xee>
|
|
coords.x1 += width_offset;
|
|
19b1a: b2a2 uxth r2, r4
|
|
19b1c: f8bd 3008 ldrh.w r3, [sp, #8]
|
|
19b20: 4413 add r3, r2
|
|
19b22: f8ad 3008 strh.w r3, [sp, #8]
|
|
coords.x2 -= width_offset;
|
|
19b26: f8bd 300c ldrh.w r3, [sp, #12]
|
|
19b2a: 1a9a subs r2, r3, r2
|
|
19b2c: f8ad 200c strh.w r2, [sp, #12]
|
|
coords.y1 += height_offset;
|
|
19b30: b283 uxth r3, r0
|
|
19b32: f8bd 200a ldrh.w r2, [sp, #10]
|
|
19b36: 441a add r2, r3
|
|
19b38: f8ad 200a strh.w r2, [sp, #10]
|
|
coords.y2 -= height_offset;
|
|
19b3c: f8bd 200e ldrh.w r2, [sp, #14]
|
|
19b40: 1ad3 subs r3, r2, r3
|
|
19b42: f8ad 300e strh.w r3, [sp, #14]
|
|
info->result = _lv_area_is_point_on(&coords, info->point, 0);
|
|
19b46: 2200 movs r2, #0
|
|
19b48: 6829 ldr r1, [r5, #0]
|
|
19b4a: a802 add r0, sp, #8
|
|
19b4c: 4b46 ldr r3, [pc, #280] ; (19c68 <lv_img_signal+0x248>)
|
|
19b4e: 4798 blx r3
|
|
19b50: 7128 strb r0, [r5, #4]
|
|
if(ext->zoom != 256 && ext->angle == 0) {
|
|
19b52: e795 b.n 19a80 <lv_img_signal+0x60>
|
|
if(ext->src_type == LV_IMG_SRC_SYMBOL) {
|
|
19b54: 7d03 ldrb r3, [r0, #20]
|
|
19b56: f003 0303 and.w r3, r3, #3
|
|
19b5a: 2b02 cmp r3, #2
|
|
19b5c: d190 bne.n 19a80 <lv_img_signal+0x60>
|
|
lv_img_set_src(img, ext->src);
|
|
19b5e: 6801 ldr r1, [r0, #0]
|
|
19b60: 4638 mov r0, r7
|
|
19b62: 4b42 ldr r3, [pc, #264] ; (19c6c <lv_img_signal+0x24c>)
|
|
19b64: 4798 blx r3
|
|
19b66: e78b b.n 19a80 <lv_img_signal+0x60>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar)
|
|
19b68: 2207 movs r2, #7
|
|
19b6a: 2100 movs r1, #0
|
|
19b6c: 4638 mov r0, r7
|
|
19b6e: 4d40 ldr r5, [pc, #256] ; (19c70 <lv_img_signal+0x250>)
|
|
19b70: 47a8 blx r5
|
|
transf_zoom = (transf_zoom * ext->zoom) >> 8;
|
|
19b72: f8b8 3012 ldrh.w r3, [r8, #18]
|
|
19b76: fb00 f303 mul.w r3, r0, r3
|
|
19b7a: 121c asrs r4, r3, #8
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar)
|
|
19b7c: 2206 movs r2, #6
|
|
19b7e: 2100 movs r1, #0
|
|
19b80: 4638 mov r0, r7
|
|
19b82: 47a8 blx r5
|
|
transf_angle += ext->angle;
|
|
19b84: f8b8 300c ldrh.w r3, [r8, #12]
|
|
19b88: 4403 add r3, r0
|
|
19b8a: b21b sxth r3, r3
|
|
if(transf_angle || transf_zoom != LV_IMG_ZOOM_NONE) {
|
|
19b8c: b91b cbnz r3, 19b96 <lv_img_signal+0x176>
|
|
19b8e: b222 sxth r2, r4
|
|
19b90: f5b2 7f80 cmp.w r2, #256 ; 0x100
|
|
19b94: d031 beq.n 19bfa <lv_img_signal+0x1da>
|
|
_lv_img_buf_get_transformed_area(&a, ext->w, ext->h, transf_angle, transf_zoom, &ext->pivot);
|
|
19b96: f9b8 200a ldrsh.w r2, [r8, #10]
|
|
19b9a: f9b8 1008 ldrsh.w r1, [r8, #8]
|
|
19b9e: f108 000e add.w r0, r8, #14
|
|
19ba2: 9001 str r0, [sp, #4]
|
|
19ba4: b2a4 uxth r4, r4
|
|
19ba6: 9400 str r4, [sp, #0]
|
|
19ba8: a802 add r0, sp, #8
|
|
19baa: 4c32 ldr r4, [pc, #200] ; (19c74 <lv_img_signal+0x254>)
|
|
19bac: 47a0 blx r4
|
|
img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori - a.x1);
|
|
19bae: f9b7 1032 ldrsh.w r1, [r7, #50] ; 0x32
|
|
19bb2: f9bd 3008 ldrsh.w r3, [sp, #8]
|
|
19bb6: 1acb subs r3, r1, r3
|
|
19bb8: 428b cmp r3, r1
|
|
19bba: bfb8 it lt
|
|
19bbc: 460b movlt r3, r1
|
|
img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori - a.y1);
|
|
19bbe: b21b sxth r3, r3
|
|
19bc0: f9bd 200a ldrsh.w r2, [sp, #10]
|
|
19bc4: 1a8a subs r2, r1, r2
|
|
19bc6: 4293 cmp r3, r2
|
|
19bc8: bfb8 it lt
|
|
19bca: 4613 movlt r3, r2
|
|
19bcc: b21b sxth r3, r3
|
|
19bce: 867b strh r3, [r7, #50] ; 0x32
|
|
img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori + a.x2 - ext->w);
|
|
19bd0: f9bd 200c ldrsh.w r2, [sp, #12]
|
|
19bd4: 440a add r2, r1
|
|
19bd6: f9b8 0008 ldrsh.w r0, [r8, #8]
|
|
19bda: 1a12 subs r2, r2, r0
|
|
19bdc: 4293 cmp r3, r2
|
|
19bde: bfb8 it lt
|
|
19be0: 4613 movlt r3, r2
|
|
19be2: b21b sxth r3, r3
|
|
19be4: 867b strh r3, [r7, #50] ; 0x32
|
|
img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori + a.y2 - ext->h);
|
|
19be6: f9bd 200e ldrsh.w r2, [sp, #14]
|
|
19bea: 440a add r2, r1
|
|
19bec: f9b8 100a ldrsh.w r1, [r8, #10]
|
|
19bf0: 1a52 subs r2, r2, r1
|
|
19bf2: 4293 cmp r3, r2
|
|
19bf4: bfb8 it lt
|
|
19bf6: 4613 movlt r3, r2
|
|
19bf8: 867b strh r3, [r7, #50] ; 0x32
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
19bfa: 2212 movs r2, #18
|
|
19bfc: 2100 movs r1, #0
|
|
19bfe: 4638 mov r0, r7
|
|
19c00: f8df 806c ldr.w r8, [pc, #108] ; 19c70 <lv_img_signal+0x250>
|
|
19c04: 47c0 blx r8
|
|
19c06: 4681 mov r9, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
19c08: 2213 movs r2, #19
|
|
19c0a: 2100 movs r1, #0
|
|
19c0c: 4638 mov r0, r7
|
|
19c0e: 47c0 blx r8
|
|
19c10: 4604 mov r4, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
19c12: 2210 movs r2, #16
|
|
19c14: 2100 movs r1, #0
|
|
19c16: 4638 mov r0, r7
|
|
19c18: 47c0 blx r8
|
|
19c1a: 4605 mov r5, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
19c1c: 2211 movs r2, #17
|
|
19c1e: 2100 movs r1, #0
|
|
19c20: 4638 mov r0, r7
|
|
19c22: 47c0 blx r8
|
|
img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, right);
|
|
19c24: 454c cmp r4, r9
|
|
19c26: bfb8 it lt
|
|
19c28: 464c movlt r4, r9
|
|
19c2a: f9b7 3032 ldrsh.w r3, [r7, #50] ; 0x32
|
|
19c2e: b222 sxth r2, r4
|
|
img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, top);
|
|
19c30: 4293 cmp r3, r2
|
|
19c32: bfb8 it lt
|
|
19c34: 4613 movlt r3, r2
|
|
19c36: 42ab cmp r3, r5
|
|
19c38: bfb8 it lt
|
|
19c3a: 462b movlt r3, r5
|
|
img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, bottom);
|
|
19c3c: b21b sxth r3, r3
|
|
19c3e: 4298 cmp r0, r3
|
|
19c40: bfb8 it lt
|
|
19c42: 4618 movlt r0, r3
|
|
19c44: 8678 strh r0, [r7, #50] ; 0x32
|
|
19c46: e71b b.n 19a80 <lv_img_signal+0x60>
|
|
info->result = lv_obj_is_point_on_coords(img, info->point);
|
|
19c48: 6829 ldr r1, [r5, #0]
|
|
19c4a: 4638 mov r0, r7
|
|
19c4c: 4b0a ldr r3, [pc, #40] ; (19c78 <lv_img_signal+0x258>)
|
|
19c4e: 4798 blx r3
|
|
19c50: 7128 strb r0, [r5, #4]
|
|
19c52: e715 b.n 19a80 <lv_img_signal+0x60>
|
|
19c54: 20006bfc .word 0x20006bfc
|
|
19c58: 00004d85 .word 0x00004d85
|
|
19c5c: 000124ad .word 0x000124ad
|
|
19c60: 00029754 .word 0x00029754
|
|
19c64: 0000507d .word 0x0000507d
|
|
19c68: 000115a1 .word 0x000115a1
|
|
19c6c: 000195f9 .word 0x000195f9
|
|
19c70: 000044bd .word 0x000044bd
|
|
19c74: 0000ec4d .word 0x0000ec4d
|
|
19c78: 0000503d .word 0x0000503d
|
|
|
|
00019c7c <lv_label_dot_tmp_free>:
|
|
* Free the dot_tmp_ptr field if it was previously allocated.
|
|
* Always clears the field
|
|
* @param label pointer to label object.
|
|
*/
|
|
static void lv_label_dot_tmp_free(lv_obj_t * label)
|
|
{
|
|
19c7c: b510 push {r4, lr}
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19c7e: 4b09 ldr r3, [pc, #36] ; (19ca4 <lv_label_dot_tmp_free+0x28>)
|
|
19c80: 4798 blx r3
|
|
19c82: 4604 mov r4, r0
|
|
if(ext->dot_tmp_alloc && ext->dot.tmp_ptr) {
|
|
19c84: 7c43 ldrb r3, [r0, #17]
|
|
19c86: f013 0f01 tst.w r3, #1
|
|
19c8a: d003 beq.n 19c94 <lv_label_dot_tmp_free+0x18>
|
|
19c8c: 6840 ldr r0, [r0, #4]
|
|
19c8e: b108 cbz r0, 19c94 <lv_label_dot_tmp_free+0x18>
|
|
lv_mem_free(ext->dot.tmp_ptr);
|
|
19c90: 4b05 ldr r3, [pc, #20] ; (19ca8 <lv_label_dot_tmp_free+0x2c>)
|
|
19c92: 4798 blx r3
|
|
}
|
|
ext->dot_tmp_alloc = false;
|
|
19c94: 7c63 ldrb r3, [r4, #17]
|
|
19c96: f36f 0300 bfc r3, #0, #1
|
|
19c9a: 7463 strb r3, [r4, #17]
|
|
ext->dot.tmp_ptr = NULL;
|
|
19c9c: 2300 movs r3, #0
|
|
19c9e: 6063 str r3, [r4, #4]
|
|
19ca0: bd10 pop {r4, pc}
|
|
19ca2: bf00 nop
|
|
19ca4: 00004d85 .word 0x00004d85
|
|
19ca8: 000124ad .word 0x000124ad
|
|
|
|
00019cac <lv_label_revert_dots>:
|
|
{
|
|
19cac: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
19cae: 4607 mov r7, r0
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19cb0: 4b1e ldr r3, [pc, #120] ; (19d2c <lv_label_revert_dots+0x80>)
|
|
19cb2: 4798 blx r3
|
|
if(ext->long_mode != LV_LABEL_LONG_DOT) return;
|
|
19cb4: 7c03 ldrb r3, [r0, #16]
|
|
19cb6: f003 0307 and.w r3, r3, #7
|
|
19cba: 2b02 cmp r3, #2
|
|
19cbc: d000 beq.n 19cc0 <lv_label_revert_dots+0x14>
|
|
19cbe: bdf8 pop {r3, r4, r5, r6, r7, pc}
|
|
19cc0: 4604 mov r4, r0
|
|
if(ext->dot_end == LV_LABEL_DOT_END_INV) return;
|
|
19cc2: 8901 ldrh r1, [r0, #8]
|
|
19cc4: f64f 73ff movw r3, #65535 ; 0xffff
|
|
19cc8: 4299 cmp r1, r3
|
|
19cca: d0f8 beq.n 19cbe <lv_label_revert_dots+0x12>
|
|
uint32_t byte_i = _lv_txt_encoded_get_byte_id(ext->text, letter_i);
|
|
19ccc: 4b18 ldr r3, [pc, #96] ; (19d30 <lv_label_revert_dots+0x84>)
|
|
19cce: 681b ldr r3, [r3, #0]
|
|
19cd0: 3903 subs r1, #3
|
|
19cd2: 6800 ldr r0, [r0, #0]
|
|
19cd4: 4798 blx r3
|
|
19cd6: 4606 mov r6, r0
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19cd8: 4638 mov r0, r7
|
|
19cda: 4b14 ldr r3, [pc, #80] ; (19d2c <lv_label_revert_dots+0x80>)
|
|
19cdc: 4798 blx r3
|
|
if(ext->dot_tmp_alloc) {
|
|
19cde: 7c43 ldrb r3, [r0, #17]
|
|
19ce0: f013 0f01 tst.w r3, #1
|
|
return ext->dot.tmp_ptr;
|
|
19ce4: bf14 ite ne
|
|
19ce6: 6840 ldrne r0, [r0, #4]
|
|
return ext->dot.tmp;
|
|
19ce8: 3004 addeq r0, #4
|
|
while(ext->text[byte_i + i] != '\0') {
|
|
19cea: 6823 ldr r3, [r4, #0]
|
|
19cec: eb03 0e06 add.w lr, r3, r6
|
|
19cf0: 5d9b ldrb r3, [r3, r6]
|
|
19cf2: b1c3 cbz r3, 19d26 <lv_label_revert_dots+0x7a>
|
|
19cf4: 2500 movs r5, #0
|
|
19cf6: 462b mov r3, r5
|
|
ext->text[byte_i + i] = dot_tmp[i];
|
|
19cf8: 5d42 ldrb r2, [r0, r5]
|
|
19cfa: f88e 2000 strb.w r2, [lr]
|
|
i++;
|
|
19cfe: 3301 adds r3, #1
|
|
19d00: b2db uxtb r3, r3
|
|
while(ext->text[byte_i + i] != '\0') {
|
|
19d02: 461d mov r5, r3
|
|
19d04: 18f2 adds r2, r6, r3
|
|
19d06: 6821 ldr r1, [r4, #0]
|
|
19d08: eb01 0e02 add.w lr, r1, r2
|
|
19d0c: 5c8a ldrb r2, [r1, r2]
|
|
19d0e: 2a00 cmp r2, #0
|
|
19d10: d1f2 bne.n 19cf8 <lv_label_revert_dots+0x4c>
|
|
ext->text[byte_i + i] = dot_tmp[i];
|
|
19d12: 5d43 ldrb r3, [r0, r5]
|
|
19d14: f88e 3000 strb.w r3, [lr]
|
|
lv_label_dot_tmp_free(label);
|
|
19d18: 4638 mov r0, r7
|
|
19d1a: 4b06 ldr r3, [pc, #24] ; (19d34 <lv_label_revert_dots+0x88>)
|
|
19d1c: 4798 blx r3
|
|
ext->dot_end = LV_LABEL_DOT_END_INV;
|
|
19d1e: f64f 73ff movw r3, #65535 ; 0xffff
|
|
19d22: 8123 strh r3, [r4, #8]
|
|
19d24: e7cb b.n 19cbe <lv_label_revert_dots+0x12>
|
|
while(ext->text[byte_i + i] != '\0') {
|
|
19d26: 2500 movs r5, #0
|
|
19d28: e7f3 b.n 19d12 <lv_label_revert_dots+0x66>
|
|
19d2a: bf00 nop
|
|
19d2c: 00004d85 .word 0x00004d85
|
|
19d30: 2000005c .word 0x2000005c
|
|
19d34: 00019c7d .word 0x00019c7d
|
|
|
|
00019d38 <lv_label_set_offset_y>:
|
|
{
|
|
19d38: b538 push {r3, r4, r5, lr}
|
|
19d3a: 4604 mov r4, r0
|
|
19d3c: 460d mov r5, r1
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19d3e: 4b03 ldr r3, [pc, #12] ; (19d4c <lv_label_set_offset_y+0x14>)
|
|
19d40: 4798 blx r3
|
|
ext->offset.y = y;
|
|
19d42: 81c5 strh r5, [r0, #14]
|
|
lv_obj_invalidate(label);
|
|
19d44: 4620 mov r0, r4
|
|
19d46: 4b02 ldr r3, [pc, #8] ; (19d50 <lv_label_set_offset_y+0x18>)
|
|
19d48: 4798 blx r3
|
|
19d4a: bd38 pop {r3, r4, r5, pc}
|
|
19d4c: 00004d85 .word 0x00004d85
|
|
19d50: 00003309 .word 0x00003309
|
|
|
|
00019d54 <lv_label_set_offset_x>:
|
|
{
|
|
19d54: b538 push {r3, r4, r5, lr}
|
|
19d56: 4604 mov r4, r0
|
|
19d58: 460d mov r5, r1
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19d5a: 4b03 ldr r3, [pc, #12] ; (19d68 <lv_label_set_offset_x+0x14>)
|
|
19d5c: 4798 blx r3
|
|
ext->offset.x = x;
|
|
19d5e: 8185 strh r5, [r0, #12]
|
|
lv_obj_invalidate(label);
|
|
19d60: 4620 mov r0, r4
|
|
19d62: 4b02 ldr r3, [pc, #8] ; (19d6c <lv_label_set_offset_x+0x18>)
|
|
19d64: 4798 blx r3
|
|
19d66: bd38 pop {r3, r4, r5, pc}
|
|
19d68: 00004d85 .word 0x00004d85
|
|
19d6c: 00003309 .word 0x00003309
|
|
|
|
00019d70 <get_txt_coords>:
|
|
}
|
|
|
|
static void get_txt_coords(const lv_obj_t * label, lv_area_t * area)
|
|
{
|
|
19d70: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
19d74: 4606 mov r6, r0
|
|
19d76: 460c mov r4, r1
|
|
lv_obj_get_coords(label, area);
|
|
19d78: 4b12 ldr r3, [pc, #72] ; (19dc4 <get_txt_coords+0x54>)
|
|
19d7a: 4798 blx r3
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
19d7c: 2212 movs r2, #18
|
|
19d7e: 2100 movs r1, #0
|
|
19d80: 4630 mov r0, r6
|
|
19d82: 4d11 ldr r5, [pc, #68] ; (19dc8 <get_txt_coords+0x58>)
|
|
19d84: 47a8 blx r5
|
|
19d86: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
19d88: 2213 movs r2, #19
|
|
19d8a: 2100 movs r1, #0
|
|
19d8c: 4630 mov r0, r6
|
|
19d8e: 47a8 blx r5
|
|
19d90: 4681 mov r9, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
19d92: 2210 movs r2, #16
|
|
19d94: 2100 movs r1, #0
|
|
19d96: 4630 mov r0, r6
|
|
19d98: 47a8 blx r5
|
|
19d9a: 4607 mov r7, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
19d9c: 2211 movs r2, #17
|
|
19d9e: 2100 movs r1, #0
|
|
19da0: 4630 mov r0, r6
|
|
19da2: 47a8 blx r5
|
|
|
|
lv_coord_t left = lv_obj_get_style_pad_left(label, LV_LABEL_PART_MAIN);
|
|
lv_coord_t right = lv_obj_get_style_pad_right(label, LV_LABEL_PART_MAIN);
|
|
lv_coord_t top = lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN);
|
|
lv_coord_t bottom = lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN);
|
|
area->x1 += left;
|
|
19da4: 8823 ldrh r3, [r4, #0]
|
|
19da6: 4498 add r8, r3
|
|
19da8: f8a4 8000 strh.w r8, [r4]
|
|
area->x2 -= right;
|
|
19dac: 88a3 ldrh r3, [r4, #4]
|
|
19dae: eba3 0309 sub.w r3, r3, r9
|
|
19db2: 80a3 strh r3, [r4, #4]
|
|
area->y1 += top;
|
|
19db4: 8863 ldrh r3, [r4, #2]
|
|
19db6: 441f add r7, r3
|
|
19db8: 8067 strh r7, [r4, #2]
|
|
area->y2 -= bottom;
|
|
19dba: 88e3 ldrh r3, [r4, #6]
|
|
19dbc: 1a18 subs r0, r3, r0
|
|
19dbe: 80e0 strh r0, [r4, #6]
|
|
19dc0: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
19dc4: 00002e29 .word 0x00002e29
|
|
19dc8: 000044bd .word 0x000044bd
|
|
|
|
00019dcc <lv_label_set_dot_tmp>:
|
|
{
|
|
19dcc: b5f0 push {r4, r5, r6, r7, lr}
|
|
19dce: b083 sub sp, #12
|
|
19dd0: 4606 mov r6, r0
|
|
19dd2: 460f mov r7, r1
|
|
19dd4: 4615 mov r5, r2
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19dd6: 4b18 ldr r3, [pc, #96] ; (19e38 <lv_label_set_dot_tmp+0x6c>)
|
|
19dd8: 4798 blx r3
|
|
19dda: 4604 mov r4, r0
|
|
lv_label_dot_tmp_free(label); /* Deallocate any existing space */
|
|
19ddc: 4630 mov r0, r6
|
|
19dde: 4b17 ldr r3, [pc, #92] ; (19e3c <lv_label_set_dot_tmp+0x70>)
|
|
19de0: 4798 blx r3
|
|
if(len > sizeof(char *)) {
|
|
19de2: 2d04 cmp r5, #4
|
|
19de4: d91c bls.n 19e20 <lv_label_set_dot_tmp+0x54>
|
|
ext->dot.tmp_ptr = lv_mem_alloc(len + 1);
|
|
19de6: 1c68 adds r0, r5, #1
|
|
19de8: 4b15 ldr r3, [pc, #84] ; (19e40 <lv_label_set_dot_tmp+0x74>)
|
|
19dea: 4798 blx r3
|
|
19dec: 6060 str r0, [r4, #4]
|
|
if(ext->dot.tmp_ptr == NULL) {
|
|
19dee: b160 cbz r0, 19e0a <lv_label_set_dot_tmp+0x3e>
|
|
_lv_memcpy(ext->dot.tmp_ptr, data, len);
|
|
19df0: 462a mov r2, r5
|
|
19df2: 4639 mov r1, r7
|
|
19df4: 4b13 ldr r3, [pc, #76] ; (19e44 <lv_label_set_dot_tmp+0x78>)
|
|
19df6: 4798 blx r3
|
|
ext->dot.tmp_ptr[len] = '\0';
|
|
19df8: 6863 ldr r3, [r4, #4]
|
|
19dfa: 2200 movs r2, #0
|
|
19dfc: 555a strb r2, [r3, r5]
|
|
ext->dot_tmp_alloc = true;
|
|
19dfe: 7c63 ldrb r3, [r4, #17]
|
|
19e00: f043 0301 orr.w r3, r3, #1
|
|
19e04: 7463 strb r3, [r4, #17]
|
|
return true;
|
|
19e06: 2001 movs r0, #1
|
|
19e08: e014 b.n 19e34 <lv_label_set_dot_tmp+0x68>
|
|
LV_LOG_ERROR("Failed to allocate memory for dot_tmp_ptr");
|
|
19e0a: 4b0f ldr r3, [pc, #60] ; (19e48 <lv_label_set_dot_tmp+0x7c>)
|
|
19e0c: 9300 str r3, [sp, #0]
|
|
19e0e: 4b0f ldr r3, [pc, #60] ; (19e4c <lv_label_set_dot_tmp+0x80>)
|
|
19e10: f240 52b5 movw r2, #1461 ; 0x5b5
|
|
19e14: 490e ldr r1, [pc, #56] ; (19e50 <lv_label_set_dot_tmp+0x84>)
|
|
19e16: 2003 movs r0, #3
|
|
19e18: 4c0e ldr r4, [pc, #56] ; (19e54 <lv_label_set_dot_tmp+0x88>)
|
|
19e1a: 47a0 blx r4
|
|
return false;
|
|
19e1c: 2000 movs r0, #0
|
|
19e1e: e009 b.n 19e34 <lv_label_set_dot_tmp+0x68>
|
|
ext->dot_tmp_alloc = false;
|
|
19e20: 7c63 ldrb r3, [r4, #17]
|
|
19e22: f36f 0300 bfc r3, #0, #1
|
|
19e26: 7463 strb r3, [r4, #17]
|
|
_lv_memcpy(ext->dot.tmp, data, len);
|
|
19e28: 462a mov r2, r5
|
|
19e2a: 4639 mov r1, r7
|
|
19e2c: 1d20 adds r0, r4, #4
|
|
19e2e: 4b05 ldr r3, [pc, #20] ; (19e44 <lv_label_set_dot_tmp+0x78>)
|
|
19e30: 4798 blx r3
|
|
return true;
|
|
19e32: 2001 movs r0, #1
|
|
}
|
|
19e34: b003 add sp, #12
|
|
19e36: bdf0 pop {r4, r5, r6, r7, pc}
|
|
19e38: 00004d85 .word 0x00004d85
|
|
19e3c: 00019c7d .word 0x00019c7d
|
|
19e40: 000123c5 .word 0x000123c5
|
|
19e44: 0001263d .word 0x0001263d
|
|
19e48: 000299ac .word 0x000299ac
|
|
19e4c: 0002975c .word 0x0002975c
|
|
19e50: 0002997c .word 0x0002997c
|
|
19e54: 00012245 .word 0x00012245
|
|
|
|
00019e58 <lv_label_set_align>:
|
|
{
|
|
19e58: b530 push {r4, r5, lr}
|
|
19e5a: b083 sub sp, #12
|
|
19e5c: 4604 mov r4, r0
|
|
19e5e: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
19e60: 4b10 ldr r3, [pc, #64] ; (19ea4 <lv_label_set_align+0x4c>)
|
|
19e62: 4798 blx r3
|
|
19e64: b968 cbnz r0, 19e82 <lv_label_set_align+0x2a>
|
|
19e66: 4b10 ldr r3, [pc, #64] ; (19ea8 <lv_label_set_align+0x50>)
|
|
19e68: 9300 str r3, [sp, #0]
|
|
19e6a: f44f 72c4 mov.w r2, #392 ; 0x188
|
|
19e6e: 490f ldr r1, [pc, #60] ; (19eac <lv_label_set_align+0x54>)
|
|
19e70: 2003 movs r0, #3
|
|
19e72: 4d0f ldr r5, [pc, #60] ; (19eb0 <lv_label_set_align+0x58>)
|
|
19e74: 47a8 blx r5
|
|
19e76: 4622 mov r2, r4
|
|
19e78: 2300 movs r3, #0
|
|
19e7a: 480e ldr r0, [pc, #56] ; (19eb4 <lv_label_set_align+0x5c>)
|
|
19e7c: 490e ldr r1, [pc, #56] ; (19eb8 <lv_label_set_align+0x60>)
|
|
19e7e: 4788 blx r1
|
|
19e80: e7fe b.n 19e80 <lv_label_set_align+0x28>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19e82: 4620 mov r0, r4
|
|
19e84: 4b0d ldr r3, [pc, #52] ; (19ebc <lv_label_set_align+0x64>)
|
|
19e86: 4798 blx r3
|
|
if(ext->align == align) return;
|
|
19e88: 7c03 ldrb r3, [r0, #16]
|
|
19e8a: f3c3 1301 ubfx r3, r3, #4, #2
|
|
19e8e: 42ab cmp r3, r5
|
|
19e90: d006 beq.n 19ea0 <lv_label_set_align+0x48>
|
|
ext->align = align;
|
|
19e92: 7c03 ldrb r3, [r0, #16]
|
|
19e94: f365 1305 bfi r3, r5, #4, #2
|
|
19e98: 7403 strb r3, [r0, #16]
|
|
lv_obj_invalidate(label); /*Enough to invalidate because alignment is only drawing related
|
|
19e9a: 4620 mov r0, r4
|
|
19e9c: 4b08 ldr r3, [pc, #32] ; (19ec0 <lv_label_set_align+0x68>)
|
|
19e9e: 4798 blx r3
|
|
}
|
|
19ea0: b003 add sp, #12
|
|
19ea2: bd30 pop {r4, r5, pc}
|
|
19ea4: 00002299 .word 0x00002299
|
|
19ea8: 00029774 .word 0x00029774
|
|
19eac: 0002997c .word 0x0002997c
|
|
19eb0: 00012245 .word 0x00012245
|
|
19eb4: 00024824 .word 0x00024824
|
|
19eb8: 000022a1 .word 0x000022a1
|
|
19ebc: 00004d85 .word 0x00004d85
|
|
19ec0: 00003309 .word 0x00003309
|
|
|
|
00019ec4 <lv_label_get_text>:
|
|
{
|
|
19ec4: b530 push {r4, r5, lr}
|
|
19ec6: b083 sub sp, #12
|
|
19ec8: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
19eca: 4b0b ldr r3, [pc, #44] ; (19ef8 <lv_label_get_text+0x34>)
|
|
19ecc: 4798 blx r3
|
|
19ece: b968 cbnz r0, 19eec <lv_label_get_text+0x28>
|
|
19ed0: 4b0a ldr r3, [pc, #40] ; (19efc <lv_label_get_text+0x38>)
|
|
19ed2: 9300 str r3, [sp, #0]
|
|
19ed4: f44f 72f2 mov.w r2, #484 ; 0x1e4
|
|
19ed8: 4909 ldr r1, [pc, #36] ; (19f00 <lv_label_get_text+0x3c>)
|
|
19eda: 2003 movs r0, #3
|
|
19edc: 4d09 ldr r5, [pc, #36] ; (19f04 <lv_label_get_text+0x40>)
|
|
19ede: 47a8 blx r5
|
|
19ee0: 4622 mov r2, r4
|
|
19ee2: 2300 movs r3, #0
|
|
19ee4: 4808 ldr r0, [pc, #32] ; (19f08 <lv_label_get_text+0x44>)
|
|
19ee6: 4909 ldr r1, [pc, #36] ; (19f0c <lv_label_get_text+0x48>)
|
|
19ee8: 4788 blx r1
|
|
19eea: e7fe b.n 19eea <lv_label_get_text+0x26>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19eec: 4620 mov r0, r4
|
|
19eee: 4b08 ldr r3, [pc, #32] ; (19f10 <lv_label_get_text+0x4c>)
|
|
19ef0: 4798 blx r3
|
|
}
|
|
19ef2: 6800 ldr r0, [r0, #0]
|
|
19ef4: b003 add sp, #12
|
|
19ef6: bd30 pop {r4, r5, pc}
|
|
19ef8: 00002299 .word 0x00002299
|
|
19efc: 000297c0 .word 0x000297c0
|
|
19f00: 0002997c .word 0x0002997c
|
|
19f04: 00012245 .word 0x00012245
|
|
19f08: 00024824 .word 0x00024824
|
|
19f0c: 000022a1 .word 0x000022a1
|
|
19f10: 00004d85 .word 0x00004d85
|
|
|
|
00019f14 <lv_label_get_long_mode>:
|
|
{
|
|
19f14: b530 push {r4, r5, lr}
|
|
19f16: b083 sub sp, #12
|
|
19f18: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
19f1a: 4b0c ldr r3, [pc, #48] ; (19f4c <lv_label_get_long_mode+0x38>)
|
|
19f1c: 4798 blx r3
|
|
19f1e: b968 cbnz r0, 19f3c <lv_label_get_long_mode+0x28>
|
|
19f20: 4b0b ldr r3, [pc, #44] ; (19f50 <lv_label_get_long_mode+0x3c>)
|
|
19f22: 9300 str r3, [sp, #0]
|
|
19f24: f44f 72f9 mov.w r2, #498 ; 0x1f2
|
|
19f28: 490a ldr r1, [pc, #40] ; (19f54 <lv_label_get_long_mode+0x40>)
|
|
19f2a: 2003 movs r0, #3
|
|
19f2c: 4d0a ldr r5, [pc, #40] ; (19f58 <lv_label_get_long_mode+0x44>)
|
|
19f2e: 47a8 blx r5
|
|
19f30: 4622 mov r2, r4
|
|
19f32: 2300 movs r3, #0
|
|
19f34: 4809 ldr r0, [pc, #36] ; (19f5c <lv_label_get_long_mode+0x48>)
|
|
19f36: 490a ldr r1, [pc, #40] ; (19f60 <lv_label_get_long_mode+0x4c>)
|
|
19f38: 4788 blx r1
|
|
19f3a: e7fe b.n 19f3a <lv_label_get_long_mode+0x26>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19f3c: 4620 mov r0, r4
|
|
19f3e: 4b09 ldr r3, [pc, #36] ; (19f64 <lv_label_get_long_mode+0x50>)
|
|
19f40: 4798 blx r3
|
|
return ext->long_mode;
|
|
19f42: 7c00 ldrb r0, [r0, #16]
|
|
}
|
|
19f44: f000 0007 and.w r0, r0, #7
|
|
19f48: b003 add sp, #12
|
|
19f4a: bd30 pop {r4, r5, pc}
|
|
19f4c: 00002299 .word 0x00002299
|
|
19f50: 000297d4 .word 0x000297d4
|
|
19f54: 0002997c .word 0x0002997c
|
|
19f58: 00012245 .word 0x00012245
|
|
19f5c: 00024824 .word 0x00024824
|
|
19f60: 000022a1 .word 0x000022a1
|
|
19f64: 00004d85 .word 0x00004d85
|
|
|
|
00019f68 <lv_label_get_align>:
|
|
{
|
|
19f68: b530 push {r4, r5, lr}
|
|
19f6a: b083 sub sp, #12
|
|
19f6c: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
19f6e: 4b0e ldr r3, [pc, #56] ; (19fa8 <lv_label_get_align+0x40>)
|
|
19f70: 4798 blx r3
|
|
19f72: b968 cbnz r0, 19f90 <lv_label_get_align+0x28>
|
|
19f74: 4b0d ldr r3, [pc, #52] ; (19fac <lv_label_get_align+0x44>)
|
|
19f76: 9300 str r3, [sp, #0]
|
|
19f78: f240 12ff movw r2, #511 ; 0x1ff
|
|
19f7c: 490c ldr r1, [pc, #48] ; (19fb0 <lv_label_get_align+0x48>)
|
|
19f7e: 2003 movs r0, #3
|
|
19f80: 4d0c ldr r5, [pc, #48] ; (19fb4 <lv_label_get_align+0x4c>)
|
|
19f82: 47a8 blx r5
|
|
19f84: 4622 mov r2, r4
|
|
19f86: 2300 movs r3, #0
|
|
19f88: 480b ldr r0, [pc, #44] ; (19fb8 <lv_label_get_align+0x50>)
|
|
19f8a: 490c ldr r1, [pc, #48] ; (19fbc <lv_label_get_align+0x54>)
|
|
19f8c: 4788 blx r1
|
|
19f8e: e7fe b.n 19f8e <lv_label_get_align+0x26>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19f90: 4620 mov r0, r4
|
|
19f92: 4b0b ldr r3, [pc, #44] ; (19fc0 <lv_label_get_align+0x58>)
|
|
19f94: 4798 blx r3
|
|
lv_label_align_t align = ext->align;
|
|
19f96: 7c00 ldrb r0, [r0, #16]
|
|
19f98: f3c0 1001 ubfx r0, r0, #4, #2
|
|
align = LV_LABEL_ALIGN_LEFT;
|
|
19f9c: 2803 cmp r0, #3
|
|
}
|
|
19f9e: bf08 it eq
|
|
19fa0: 2000 moveq r0, #0
|
|
19fa2: b003 add sp, #12
|
|
19fa4: bd30 pop {r4, r5, pc}
|
|
19fa6: bf00 nop
|
|
19fa8: 00002299 .word 0x00002299
|
|
19fac: 000297ec .word 0x000297ec
|
|
19fb0: 0002997c .word 0x0002997c
|
|
19fb4: 00012245 .word 0x00012245
|
|
19fb8: 00024824 .word 0x00024824
|
|
19fbc: 000022a1 .word 0x000022a1
|
|
19fc0: 00004d85 .word 0x00004d85
|
|
|
|
00019fc4 <lv_label_get_recolor>:
|
|
{
|
|
19fc4: b530 push {r4, r5, lr}
|
|
19fc6: b083 sub sp, #12
|
|
19fc8: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
19fca: 4b0c ldr r3, [pc, #48] ; (19ffc <lv_label_get_recolor+0x38>)
|
|
19fcc: 4798 blx r3
|
|
19fce: b968 cbnz r0, 19fec <lv_label_get_recolor+0x28>
|
|
19fd0: 4b0b ldr r3, [pc, #44] ; (1a000 <lv_label_get_recolor+0x3c>)
|
|
19fd2: 9300 str r3, [sp, #0]
|
|
19fd4: f240 221b movw r2, #539 ; 0x21b
|
|
19fd8: 490a ldr r1, [pc, #40] ; (1a004 <lv_label_get_recolor+0x40>)
|
|
19fda: 2003 movs r0, #3
|
|
19fdc: 4d0a ldr r5, [pc, #40] ; (1a008 <lv_label_get_recolor+0x44>)
|
|
19fde: 47a8 blx r5
|
|
19fe0: 4622 mov r2, r4
|
|
19fe2: 2300 movs r3, #0
|
|
19fe4: 4809 ldr r0, [pc, #36] ; (1a00c <lv_label_get_recolor+0x48>)
|
|
19fe6: 490a ldr r1, [pc, #40] ; (1a010 <lv_label_get_recolor+0x4c>)
|
|
19fe8: 4788 blx r1
|
|
19fea: e7fe b.n 19fea <lv_label_get_recolor+0x26>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
19fec: 4620 mov r0, r4
|
|
19fee: 4b09 ldr r3, [pc, #36] ; (1a014 <lv_label_get_recolor+0x50>)
|
|
19ff0: 4798 blx r3
|
|
return ext->recolor == 0 ? false : true;
|
|
19ff2: 7c00 ldrb r0, [r0, #16]
|
|
}
|
|
19ff4: f3c0 1080 ubfx r0, r0, #6, #1
|
|
19ff8: b003 add sp, #12
|
|
19ffa: bd30 pop {r4, r5, pc}
|
|
19ffc: 00002299 .word 0x00002299
|
|
1a000: 00029800 .word 0x00029800
|
|
1a004: 0002997c .word 0x0002997c
|
|
1a008: 00012245 .word 0x00012245
|
|
1a00c: 00024824 .word 0x00024824
|
|
1a010: 000022a1 .word 0x000022a1
|
|
1a014: 00004d85 .word 0x00004d85
|
|
|
|
0001a018 <lv_label_get_letter_on>:
|
|
{
|
|
1a018: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
1a01c: b08f sub sp, #60 ; 0x3c
|
|
1a01e: 4605 mov r5, r0
|
|
1a020: 9105 str r1, [sp, #20]
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1a022: 4b9e ldr r3, [pc, #632] ; (1a29c <lv_label_get_letter_on+0x284>)
|
|
1a024: 4798 blx r3
|
|
1a026: b968 cbnz r0, 1a044 <lv_label_get_letter_on+0x2c>
|
|
1a028: 4b9d ldr r3, [pc, #628] ; (1a2a0 <lv_label_get_letter_on+0x288>)
|
|
1a02a: 9300 str r3, [sp, #0]
|
|
1a02c: f240 22a5 movw r2, #677 ; 0x2a5
|
|
1a030: 499c ldr r1, [pc, #624] ; (1a2a4 <lv_label_get_letter_on+0x28c>)
|
|
1a032: 2003 movs r0, #3
|
|
1a034: 4c9c ldr r4, [pc, #624] ; (1a2a8 <lv_label_get_letter_on+0x290>)
|
|
1a036: 47a0 blx r4
|
|
1a038: 462a mov r2, r5
|
|
1a03a: 2300 movs r3, #0
|
|
1a03c: 489b ldr r0, [pc, #620] ; (1a2ac <lv_label_get_letter_on+0x294>)
|
|
1a03e: 499c ldr r1, [pc, #624] ; (1a2b0 <lv_label_get_letter_on+0x298>)
|
|
1a040: 4788 blx r1
|
|
1a042: e7fe b.n 1a042 <lv_label_get_letter_on+0x2a>
|
|
LV_ASSERT_NULL(pos);
|
|
1a044: 9e05 ldr r6, [sp, #20]
|
|
1a046: 4630 mov r0, r6
|
|
1a048: 4b94 ldr r3, [pc, #592] ; (1a29c <lv_label_get_letter_on+0x284>)
|
|
1a04a: 4798 blx r3
|
|
1a04c: b968 cbnz r0, 1a06a <lv_label_get_letter_on+0x52>
|
|
1a04e: 4b94 ldr r3, [pc, #592] ; (1a2a0 <lv_label_get_letter_on+0x288>)
|
|
1a050: 9300 str r3, [sp, #0]
|
|
1a052: f240 22a6 movw r2, #678 ; 0x2a6
|
|
1a056: 4993 ldr r1, [pc, #588] ; (1a2a4 <lv_label_get_letter_on+0x28c>)
|
|
1a058: 2003 movs r0, #3
|
|
1a05a: 4c93 ldr r4, [pc, #588] ; (1a2a8 <lv_label_get_letter_on+0x290>)
|
|
1a05c: 47a0 blx r4
|
|
1a05e: 4632 mov r2, r6
|
|
1a060: 2300 movs r3, #0
|
|
1a062: 4892 ldr r0, [pc, #584] ; (1a2ac <lv_label_get_letter_on+0x294>)
|
|
1a064: 4992 ldr r1, [pc, #584] ; (1a2b0 <lv_label_get_letter_on+0x298>)
|
|
1a066: 4788 blx r1
|
|
1a068: e7fe b.n 1a068 <lv_label_get_letter_on+0x50>
|
|
get_txt_coords(label, &txt_coords);
|
|
1a06a: a90c add r1, sp, #48 ; 0x30
|
|
1a06c: 4628 mov r0, r5
|
|
1a06e: 4b91 ldr r3, [pc, #580] ; (1a2b4 <lv_label_get_letter_on+0x29c>)
|
|
1a070: 4798 blx r3
|
|
const char * txt = lv_label_get_text(label);
|
|
1a072: 4628 mov r0, r5
|
|
1a074: 4b90 ldr r3, [pc, #576] ; (1a2b8 <lv_label_get_letter_on+0x2a0>)
|
|
1a076: 4798 blx r3
|
|
1a078: 4607 mov r7, r0
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1a07a: 4628 mov r0, r5
|
|
1a07c: 4b8f ldr r3, [pc, #572] ; (1a2bc <lv_label_get_letter_on+0x2a4>)
|
|
1a07e: 4798 blx r3
|
|
1a080: 4606 mov r6, r0
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
1a082: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34
|
|
1a086: 3301 adds r3, #1
|
|
1a088: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30
|
|
1a08c: 1a9b subs r3, r3, r2
|
|
1a08e: b21b sxth r3, r3
|
|
1a090: 9306 str r3, [sp, #24]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
1a092: f248 028e movw r2, #32910 ; 0x808e
|
|
1a096: 2100 movs r1, #0
|
|
1a098: 4628 mov r0, r5
|
|
1a09a: 4b89 ldr r3, [pc, #548] ; (1a2c0 <lv_label_get_letter_on+0x2a8>)
|
|
1a09c: 4798 blx r3
|
|
1a09e: 4681 mov r9, r0
|
|
1a0a0: 9003 str r0, [sp, #12]
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar)
|
|
1a0a2: f248 0281 movw r2, #32897 ; 0x8081
|
|
1a0a6: 2100 movs r1, #0
|
|
1a0a8: 4628 mov r0, r5
|
|
1a0aa: f8df 8230 ldr.w r8, [pc, #560] ; 1a2dc <lv_label_get_letter_on+0x2c4>
|
|
1a0ae: 47c0 blx r8
|
|
1a0b0: 4604 mov r4, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar)
|
|
1a0b2: f248 0280 movw r2, #32896 ; 0x8080
|
|
1a0b6: 2100 movs r1, #0
|
|
1a0b8: 4628 mov r0, r5
|
|
1a0ba: 47c0 blx r8
|
|
1a0bc: 9004 str r0, [sp, #16]
|
|
* @param font_p pointer to a font
|
|
* @return the height of a font
|
|
*/
|
|
static inline lv_coord_t lv_font_get_line_height(const lv_font_t * font_p)
|
|
{
|
|
return font_p->line_height;
|
|
1a0be: f9b9 b008 ldrsh.w fp, [r9, #8]
|
|
if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR;
|
|
1a0c2: 7c33 ldrb r3, [r6, #16]
|
|
lv_txt_flag_t flag = LV_TXT_FLAG_NONE;
|
|
1a0c4: f3c3 1680 ubfx r6, r3, #6, #1
|
|
if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND;
|
|
1a0c8: f013 0f80 tst.w r3, #128 ; 0x80
|
|
1a0cc: bf18 it ne
|
|
1a0ce: f046 0602 orrne.w r6, r6, #2
|
|
if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT;
|
|
1a0d2: f013 0f07 tst.w r3, #7
|
|
1a0d6: bf08 it eq
|
|
1a0d8: f046 0610 orreq.w r6, r6, #16
|
|
lv_label_align_t align = lv_label_get_align(label);
|
|
1a0dc: 4628 mov r0, r5
|
|
1a0de: 4b79 ldr r3, [pc, #484] ; (1a2c4 <lv_label_get_letter_on+0x2ac>)
|
|
1a0e0: 4798 blx r3
|
|
1a0e2: 4682 mov sl, r0
|
|
if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER;
|
|
1a0e4: 2801 cmp r0, #1
|
|
1a0e6: d137 bne.n 1a158 <lv_label_get_letter_on+0x140>
|
|
1a0e8: f046 0604 orr.w r6, r6, #4
|
|
while(txt[line_start] != '\0') {
|
|
1a0ec: 783b ldrb r3, [r7, #0]
|
|
1a0ee: 2b00 cmp r3, #0
|
|
1a0f0: d13a bne.n 1a168 <lv_label_get_letter_on+0x150>
|
|
1a0f2: 46b8 mov r8, r7
|
|
1a0f4: 2500 movs r5, #0
|
|
1a0f6: 462c mov r4, r5
|
|
line_w = _lv_txt_get_width(bidi_txt, new_line_start - line_start, font, letter_space, flag);
|
|
1a0f8: 1b61 subs r1, r4, r5
|
|
1a0fa: 9600 str r6, [sp, #0]
|
|
1a0fc: 9b04 ldr r3, [sp, #16]
|
|
1a0fe: 9a03 ldr r2, [sp, #12]
|
|
1a100: b289 uxth r1, r1
|
|
1a102: 4640 mov r0, r8
|
|
1a104: f8df 91d8 ldr.w r9, [pc, #472] ; 1a2e0 <lv_label_get_letter_on+0x2c8>
|
|
1a108: 47c8 blx r9
|
|
1a10a: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34
|
|
1a10e: 3301 adds r3, #1
|
|
1a110: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30
|
|
1a114: 1a9b subs r3, r3, r2
|
|
x += lv_area_get_width(&txt_coords) / 2 - line_w / 2;
|
|
1a116: b21b sxth r3, r3
|
|
1a118: eb03 73d3 add.w r3, r3, r3, lsr #31
|
|
1a11c: eb00 70d0 add.w r0, r0, r0, lsr #31
|
|
1a120: ea4f 0960 mov.w r9, r0, asr #1
|
|
1a124: ebc9 0363 rsb r3, r9, r3, asr #1
|
|
1a128: fa0f f983 sxth.w r9, r3
|
|
lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT;
|
|
1a12c: 2300 movs r3, #0
|
|
1a12e: f88d 302f strb.w r3, [sp, #47] ; 0x2f
|
|
uint32_t i = 0;
|
|
1a132: 930a str r3, [sp, #40] ; 0x28
|
|
if(new_line_start > 0) {
|
|
1a134: 2c00 cmp r4, #0
|
|
1a136: f040 80a1 bne.w 1a27c <lv_label_get_letter_on+0x264>
|
|
logical_pos = _lv_txt_encoded_get_char_id(bidi_txt, i);
|
|
1a13a: 4e63 ldr r6, [pc, #396] ; (1a2c8 <lv_label_get_letter_on+0x2b0>)
|
|
1a13c: 6833 ldr r3, [r6, #0]
|
|
1a13e: 990a ldr r1, [sp, #40] ; 0x28
|
|
1a140: 4640 mov r0, r8
|
|
1a142: 4798 blx r3
|
|
1a144: 4604 mov r4, r0
|
|
return logical_pos + _lv_txt_encoded_get_char_id(txt, line_start);
|
|
1a146: 6833 ldr r3, [r6, #0]
|
|
1a148: 4629 mov r1, r5
|
|
1a14a: 4638 mov r0, r7
|
|
1a14c: 4798 blx r3
|
|
1a14e: 4420 add r0, r4
|
|
1a150: b280 uxth r0, r0
|
|
}
|
|
1a152: b00f add sp, #60 ; 0x3c
|
|
1a154: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT;
|
|
1a158: 2802 cmp r0, #2
|
|
1a15a: f040 8096 bne.w 1a28a <lv_label_get_letter_on+0x272>
|
|
1a15e: f046 0608 orr.w r6, r6, #8
|
|
while(txt[line_start] != '\0') {
|
|
1a162: 783b ldrb r3, [r7, #0]
|
|
1a164: 2b00 cmp r3, #0
|
|
1a166: d048 beq.n 1a1fa <lv_label_get_letter_on+0x1e2>
|
|
{
|
|
1a168: 46b8 mov r8, r7
|
|
1a16a: f04f 0900 mov.w r9, #0
|
|
1a16e: 464d mov r5, r9
|
|
y += letter_height + line_space;
|
|
1a170: eb0b 0304 add.w r3, fp, r4
|
|
1a174: 9307 str r3, [sp, #28]
|
|
1a176: e009 b.n 1a18c <lv_label_get_letter_on+0x174>
|
|
1a178: 9b07 ldr r3, [sp, #28]
|
|
1a17a: 4499 add r9, r3
|
|
1a17c: fa0f f989 sxth.w r9, r9
|
|
while(txt[line_start] != '\0') {
|
|
1a180: eb07 0800 add.w r8, r7, r0
|
|
new_line_start += _lv_txt_get_next_line(&txt[line_start], font, letter_space, max_w, flag);
|
|
1a184: 4605 mov r5, r0
|
|
while(txt[line_start] != '\0') {
|
|
1a186: 5c3b ldrb r3, [r7, r0]
|
|
1a188: 2b00 cmp r3, #0
|
|
1a18a: d034 beq.n 1a1f6 <lv_label_get_letter_on+0x1de>
|
|
new_line_start += _lv_txt_get_next_line(&txt[line_start], font, letter_space, max_w, flag);
|
|
1a18c: 9600 str r6, [sp, #0]
|
|
1a18e: 9b06 ldr r3, [sp, #24]
|
|
1a190: 9a04 ldr r2, [sp, #16]
|
|
1a192: 9903 ldr r1, [sp, #12]
|
|
1a194: 4640 mov r0, r8
|
|
1a196: 4c4d ldr r4, [pc, #308] ; (1a2cc <lv_label_get_letter_on+0x2b4>)
|
|
1a198: 47a0 blx r4
|
|
1a19a: 4428 add r0, r5
|
|
if(pos->y <= y + letter_height) {
|
|
1a19c: 9b05 ldr r3, [sp, #20]
|
|
1a19e: f9b3 2002 ldrsh.w r2, [r3, #2]
|
|
1a1a2: eb09 030b add.w r3, r9, fp
|
|
1a1a6: 429a cmp r2, r3
|
|
1a1a8: dce6 bgt.n 1a178 <lv_label_get_letter_on+0x160>
|
|
1a1aa: 4604 mov r4, r0
|
|
uint32_t tmp = new_line_start;
|
|
1a1ac: a90e add r1, sp, #56 ; 0x38
|
|
1a1ae: f841 0d14 str.w r0, [r1, #-20]!
|
|
letter = _lv_txt_encoded_prev(txt, &tmp);
|
|
1a1b2: 4b47 ldr r3, [pc, #284] ; (1a2d0 <lv_label_get_letter_on+0x2b8>)
|
|
1a1b4: 681b ldr r3, [r3, #0]
|
|
1a1b6: 4638 mov r0, r7
|
|
1a1b8: 4798 blx r3
|
|
if(letter != '\n' && txt[new_line_start] == '\0') new_line_start++;
|
|
1a1ba: 280a cmp r0, #10
|
|
1a1bc: d002 beq.n 1a1c4 <lv_label_get_letter_on+0x1ac>
|
|
1a1be: 5d3b ldrb r3, [r7, r4]
|
|
1a1c0: b903 cbnz r3, 1a1c4 <lv_label_get_letter_on+0x1ac>
|
|
1a1c2: 3401 adds r4, #1
|
|
if(align == LV_LABEL_ALIGN_CENTER) {
|
|
1a1c4: f1ba 0f01 cmp.w sl, #1
|
|
1a1c8: d096 beq.n 1a0f8 <lv_label_get_letter_on+0xe0>
|
|
else if(align == LV_LABEL_ALIGN_RIGHT) {
|
|
1a1ca: f1ba 0f02 cmp.w sl, #2
|
|
1a1ce: d118 bne.n 1a202 <lv_label_get_letter_on+0x1ea>
|
|
line_w = _lv_txt_get_width(bidi_txt, new_line_start - line_start, font, letter_space, flag);
|
|
1a1d0: 1b61 subs r1, r4, r5
|
|
1a1d2: 9600 str r6, [sp, #0]
|
|
1a1d4: 9b04 ldr r3, [sp, #16]
|
|
1a1d6: 9a03 ldr r2, [sp, #12]
|
|
1a1d8: b289 uxth r1, r1
|
|
1a1da: 4640 mov r0, r8
|
|
1a1dc: f8df 9100 ldr.w r9, [pc, #256] ; 1a2e0 <lv_label_get_letter_on+0x2c8>
|
|
1a1e0: 47c8 blx r9
|
|
1a1e2: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34
|
|
1a1e6: 3301 adds r3, #1
|
|
1a1e8: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30
|
|
1a1ec: 1a9b subs r3, r3, r2
|
|
x += lv_area_get_width(&txt_coords) - line_w;
|
|
1a1ee: 1a1b subs r3, r3, r0
|
|
1a1f0: fa0f f983 sxth.w r9, r3
|
|
1a1f4: e79a b.n 1a12c <lv_label_get_letter_on+0x114>
|
|
1a1f6: 4604 mov r4, r0
|
|
1a1f8: e7e4 b.n 1a1c4 <lv_label_get_letter_on+0x1ac>
|
|
while(txt[line_start] != '\0') {
|
|
1a1fa: 46b8 mov r8, r7
|
|
1a1fc: 2500 movs r5, #0
|
|
1a1fe: 462c mov r4, r5
|
|
1a200: e7e6 b.n 1a1d0 <lv_label_get_letter_on+0x1b8>
|
|
lv_coord_t x = 0;
|
|
1a202: f04f 0900 mov.w r9, #0
|
|
1a206: e791 b.n 1a12c <lv_label_get_letter_on+0x114>
|
|
x += lv_font_get_glyph_width(font, letter, letter_next);
|
|
1a208: 9a07 ldr r2, [sp, #28]
|
|
1a20a: 9906 ldr r1, [sp, #24]
|
|
1a20c: 9803 ldr r0, [sp, #12]
|
|
1a20e: 4b31 ldr r3, [pc, #196] ; (1a2d4 <lv_label_get_letter_on+0x2bc>)
|
|
1a210: 4798 blx r3
|
|
1a212: eb00 0309 add.w r3, r0, r9
|
|
1a216: b29b uxth r3, r3
|
|
if(pos->x < x || i + line_start == new_line_start || txt[i + line_start] == '\0') {
|
|
1a218: 9a05 ldr r2, [sp, #20]
|
|
1a21a: f9b2 1000 ldrsh.w r1, [r2]
|
|
1a21e: b21a sxth r2, r3
|
|
1a220: 4291 cmp r1, r2
|
|
1a222: db28 blt.n 1a276 <lv_label_get_letter_on+0x25e>
|
|
1a224: 9a0a ldr r2, [sp, #40] ; 0x28
|
|
1a226: 1951 adds r1, r2, r5
|
|
1a228: 42a1 cmp r1, r4
|
|
1a22a: d024 beq.n 1a276 <lv_label_get_letter_on+0x25e>
|
|
1a22c: 5c79 ldrb r1, [r7, r1]
|
|
1a22e: b311 cbz r1, 1a276 <lv_label_get_letter_on+0x25e>
|
|
x += letter_space;
|
|
1a230: 9904 ldr r1, [sp, #16]
|
|
1a232: 440b add r3, r1
|
|
1a234: fa0f f983 sxth.w r9, r3
|
|
i_act = i;
|
|
1a238: 4693 mov fp, r2
|
|
while(i + line_start < new_line_start) {
|
|
1a23a: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
1a23c: 442b add r3, r5
|
|
1a23e: 42a3 cmp r3, r4
|
|
1a240: f4bf af7b bcs.w 1a13a <lv_label_get_letter_on+0x122>
|
|
uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i);
|
|
1a244: f8da 3000 ldr.w r3, [sl]
|
|
1a248: a90a add r1, sp, #40 ; 0x28
|
|
1a24a: 4640 mov r0, r8
|
|
1a24c: 4798 blx r3
|
|
1a24e: 9006 str r0, [sp, #24]
|
|
uint32_t letter_next = _lv_txt_encoded_next(&bidi_txt[i], NULL);
|
|
1a250: f8da 3000 ldr.w r3, [sl]
|
|
1a254: 2100 movs r1, #0
|
|
1a256: 980a ldr r0, [sp, #40] ; 0x28
|
|
1a258: 4440 add r0, r8
|
|
1a25a: 4798 blx r3
|
|
1a25c: 9007 str r0, [sp, #28]
|
|
if((flag & LV_TXT_FLAG_RECOLOR) != 0) {
|
|
1a25e: 2e00 cmp r6, #0
|
|
1a260: d0d2 beq.n 1a208 <lv_label_get_letter_on+0x1f0>
|
|
if(_lv_txt_is_cmd(&cmd_state, bidi_txt[i]) != false) {
|
|
1a262: 9b0a ldr r3, [sp, #40] ; 0x28
|
|
1a264: f818 1003 ldrb.w r1, [r8, r3]
|
|
1a268: f10d 002f add.w r0, sp, #47 ; 0x2f
|
|
1a26c: 4b1a ldr r3, [pc, #104] ; (1a2d8 <lv_label_get_letter_on+0x2c0>)
|
|
1a26e: 4798 blx r3
|
|
1a270: 2800 cmp r0, #0
|
|
1a272: d1e2 bne.n 1a23a <lv_label_get_letter_on+0x222>
|
|
1a274: e7c8 b.n 1a208 <lv_label_get_letter_on+0x1f0>
|
|
i = i_act;
|
|
1a276: f8cd b028 str.w fp, [sp, #40] ; 0x28
|
|
break;
|
|
1a27a: e75e b.n 1a13a <lv_label_get_letter_on+0x122>
|
|
1a27c: f04f 0b00 mov.w fp, #0
|
|
uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i);
|
|
1a280: f8df a060 ldr.w sl, [pc, #96] ; 1a2e4 <lv_label_get_letter_on+0x2cc>
|
|
if((flag & LV_TXT_FLAG_RECOLOR) != 0) {
|
|
1a284: f006 0601 and.w r6, r6, #1
|
|
1a288: e7d7 b.n 1a23a <lv_label_get_letter_on+0x222>
|
|
while(txt[line_start] != '\0') {
|
|
1a28a: 783b ldrb r3, [r7, #0]
|
|
1a28c: 2b00 cmp r3, #0
|
|
1a28e: f47f af6b bne.w 1a168 <lv_label_get_letter_on+0x150>
|
|
1a292: 46b8 mov r8, r7
|
|
1a294: 2500 movs r5, #0
|
|
1a296: 462c mov r4, r5
|
|
lv_coord_t x = 0;
|
|
1a298: 46a9 mov r9, r5
|
|
1a29a: e747 b.n 1a12c <lv_label_get_letter_on+0x114>
|
|
1a29c: 00002299 .word 0x00002299
|
|
1a2a0: 00029848 .word 0x00029848
|
|
1a2a4: 0002997c .word 0x0002997c
|
|
1a2a8: 00012245 .word 0x00012245
|
|
1a2ac: 00024824 .word 0x00024824
|
|
1a2b0: 000022a1 .word 0x000022a1
|
|
1a2b4: 00019d71 .word 0x00019d71
|
|
1a2b8: 00019ec5 .word 0x00019ec5
|
|
1a2bc: 00004d85 .word 0x00004d85
|
|
1a2c0: 00004689 .word 0x00004689
|
|
1a2c4: 00019f69 .word 0x00019f69
|
|
1a2c8: 20000064 .word 0x20000064
|
|
1a2cc: 00013d99 .word 0x00013d99
|
|
1a2d0: 20000068 .word 0x20000068
|
|
1a2d4: 00010049 .word 0x00010049
|
|
1a2d8: 00013d51 .word 0x00013d51
|
|
1a2dc: 000044bd .word 0x000044bd
|
|
1a2e0: 00013fc5 .word 0x00013fc5
|
|
1a2e4: 20000058 .word 0x20000058
|
|
|
|
0001a2e8 <lv_label_refr_text>:
|
|
{
|
|
1a2e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
|
|
1a2ec: b099 sub sp, #100 ; 0x64
|
|
1a2ee: 4604 mov r4, r0
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1a2f0: 4baf ldr r3, [pc, #700] ; (1a5b0 <lv_label_refr_text+0x2c8>)
|
|
1a2f2: 4798 blx r3
|
|
if(ext->text == NULL) return;
|
|
1a2f4: 6803 ldr r3, [r0, #0]
|
|
1a2f6: 2b00 cmp r3, #0
|
|
1a2f8: d048 beq.n 1a38c <lv_label_refr_text+0xa4>
|
|
1a2fa: 4605 mov r5, r0
|
|
get_txt_coords(label, &txt_coords);
|
|
1a2fc: a916 add r1, sp, #88 ; 0x58
|
|
1a2fe: 4620 mov r0, r4
|
|
1a300: 4bac ldr r3, [pc, #688] ; (1a5b4 <lv_label_refr_text+0x2cc>)
|
|
1a302: 4798 blx r3
|
|
1a304: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c
|
|
1a308: 3601 adds r6, #1
|
|
1a30a: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58
|
|
1a30e: 1af6 subs r6, r6, r3
|
|
1a310: b236 sxth r6, r6
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar)
|
|
1a312: f248 028e movw r2, #32910 ; 0x808e
|
|
1a316: 2100 movs r1, #0
|
|
1a318: 4620 mov r0, r4
|
|
1a31a: 4ba7 ldr r3, [pc, #668] ; (1a5b8 <lv_label_refr_text+0x2d0>)
|
|
1a31c: 4798 blx r3
|
|
1a31e: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar)
|
|
1a320: f248 0281 movw r2, #32897 ; 0x8081
|
|
1a324: 2100 movs r1, #0
|
|
1a326: 4620 mov r0, r4
|
|
1a328: 4fa4 ldr r7, [pc, #656] ; (1a5bc <lv_label_refr_text+0x2d4>)
|
|
1a32a: 47b8 blx r7
|
|
1a32c: 4681 mov r9, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar)
|
|
1a32e: f248 0280 movw r2, #32896 ; 0x8080
|
|
1a332: 2100 movs r1, #0
|
|
1a334: 4620 mov r0, r4
|
|
1a336: 47b8 blx r7
|
|
1a338: 4607 mov r7, r0
|
|
if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR;
|
|
1a33a: 7c2b ldrb r3, [r5, #16]
|
|
lv_txt_flag_t flag = LV_TXT_FLAG_NONE;
|
|
1a33c: f3c3 1280 ubfx r2, r3, #6, #1
|
|
if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND;
|
|
1a340: f013 0f80 tst.w r3, #128 ; 0x80
|
|
1a344: bf18 it ne
|
|
1a346: f042 0202 orrne.w r2, r2, #2
|
|
if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT;
|
|
1a34a: f013 0f07 tst.w r3, #7
|
|
1a34e: bf08 it eq
|
|
1a350: f042 0210 orreq.w r2, r2, #16
|
|
_lv_txt_get_size(&size, ext->text, font, letter_space, line_space, max_w, flag);
|
|
1a354: 6829 ldr r1, [r5, #0]
|
|
1a356: 9202 str r2, [sp, #8]
|
|
1a358: 9601 str r6, [sp, #4]
|
|
1a35a: f8cd 9000 str.w r9, [sp]
|
|
1a35e: 4603 mov r3, r0
|
|
1a360: 4642 mov r2, r8
|
|
1a362: a815 add r0, sp, #84 ; 0x54
|
|
1a364: 4e96 ldr r6, [pc, #600] ; (1a5c0 <lv_label_refr_text+0x2d8>)
|
|
1a366: 47b0 blx r6
|
|
if(ext->long_mode == LV_LABEL_LONG_EXPAND) {
|
|
1a368: 7c2b ldrb r3, [r5, #16]
|
|
1a36a: f013 0307 ands.w r3, r3, #7
|
|
1a36e: d010 beq.n 1a392 <lv_label_refr_text+0xaa>
|
|
else if(ext->long_mode == LV_LABEL_LONG_SROLL) {
|
|
1a370: 2b03 cmp r3, #3
|
|
1a372: d034 beq.n 1a3de <lv_label_refr_text+0xf6>
|
|
else if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) {
|
|
1a374: 2b04 cmp r3, #4
|
|
1a376: f000 80d7 beq.w 1a528 <lv_label_refr_text+0x240>
|
|
else if(ext->long_mode == LV_LABEL_LONG_DOT) {
|
|
1a37a: 2b02 cmp r3, #2
|
|
1a37c: f000 816d beq.w 1a65a <lv_label_refr_text+0x372>
|
|
else if(ext->long_mode == LV_LABEL_LONG_BREAK) {
|
|
1a380: 2b01 cmp r3, #1
|
|
1a382: f000 81fe beq.w 1a782 <lv_label_refr_text+0x49a>
|
|
lv_obj_invalidate(label);
|
|
1a386: 4620 mov r0, r4
|
|
1a388: 4b8e ldr r3, [pc, #568] ; (1a5c4 <lv_label_refr_text+0x2dc>)
|
|
1a38a: 4798 blx r3
|
|
}
|
|
1a38c: b019 add sp, #100 ; 0x64
|
|
1a38e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar)
|
|
1a392: 2212 movs r2, #18
|
|
1a394: 2100 movs r1, #0
|
|
1a396: 4620 mov r0, r4
|
|
1a398: 4e88 ldr r6, [pc, #544] ; (1a5bc <lv_label_refr_text+0x2d4>)
|
|
1a39a: 47b0 blx r6
|
|
1a39c: 4605 mov r5, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar)
|
|
1a39e: 2213 movs r2, #19
|
|
1a3a0: 2100 movs r1, #0
|
|
1a3a2: 4620 mov r0, r4
|
|
1a3a4: 47b0 blx r6
|
|
size.x += lv_obj_get_style_pad_left(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_right(label, LV_LABEL_PART_MAIN);
|
|
1a3a6: 4428 add r0, r5
|
|
1a3a8: f8bd 5054 ldrh.w r5, [sp, #84] ; 0x54
|
|
1a3ac: 4428 add r0, r5
|
|
1a3ae: f8ad 0054 strh.w r0, [sp, #84] ; 0x54
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
1a3b2: 2210 movs r2, #16
|
|
1a3b4: 2100 movs r1, #0
|
|
1a3b6: 4620 mov r0, r4
|
|
1a3b8: 47b0 blx r6
|
|
1a3ba: 4605 mov r5, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
1a3bc: 2211 movs r2, #17
|
|
1a3be: 2100 movs r1, #0
|
|
1a3c0: 4620 mov r0, r4
|
|
1a3c2: 47b0 blx r6
|
|
size.y += lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN);
|
|
1a3c4: 182a adds r2, r5, r0
|
|
1a3c6: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56
|
|
1a3ca: 4402 add r2, r0
|
|
1a3cc: b212 sxth r2, r2
|
|
1a3ce: f8ad 2056 strh.w r2, [sp, #86] ; 0x56
|
|
lv_obj_set_size(label, size.x, size.y);
|
|
1a3d2: f9bd 1054 ldrsh.w r1, [sp, #84] ; 0x54
|
|
1a3d6: 4620 mov r0, r4
|
|
1a3d8: 4b7b ldr r3, [pc, #492] ; (1a5c8 <lv_label_refr_text+0x2e0>)
|
|
1a3da: 4798 blx r3
|
|
1a3dc: e7d3 b.n 1a386 <lv_label_refr_text+0x9e>
|
|
lv_anim_init(&a);
|
|
1a3de: a805 add r0, sp, #20
|
|
1a3e0: 4b7a ldr r3, [pc, #488] ; (1a5cc <lv_label_refr_text+0x2e4>)
|
|
1a3e2: 4798 blx r3
|
|
* @param a pointer to an initialized `lv_anim_t` variable
|
|
* @param var pointer to a variable to animate
|
|
*/
|
|
static inline void lv_anim_set_var(lv_anim_t * a, void * var)
|
|
{
|
|
a->var = var;
|
|
1a3e4: 9405 str r4, [sp, #20]
|
|
* @param a pointer to an initialized `lv_anim_t` variable
|
|
* @param cnt repeat count or `LV_ANIM_REPEAT_INFINITE` for infinite repetition. 0: to disable repetition.
|
|
*/
|
|
static inline void lv_anim_set_repeat_count(lv_anim_t * a, uint16_t cnt)
|
|
{
|
|
a->repeat_cnt = cnt;
|
|
1a3e6: f64f 73ff movw r3, #65535 ; 0xffff
|
|
1a3ea: f8ad 3048 strh.w r3, [sp, #72] ; 0x48
|
|
lv_anim_set_playback_delay(&a, (((lv_font_get_glyph_width(font, ' ', ' ') + letter_space) * 1000) /
|
|
1a3ee: 2220 movs r2, #32
|
|
1a3f0: 4611 mov r1, r2
|
|
1a3f2: 4640 mov r0, r8
|
|
1a3f4: 4b76 ldr r3, [pc, #472] ; (1a5d0 <lv_label_refr_text+0x2e8>)
|
|
1a3f6: 4798 blx r3
|
|
1a3f8: 4438 add r0, r7
|
|
1a3fa: f44f 737a mov.w r3, #1000 ; 0x3e8
|
|
1a3fe: fb03 f300 mul.w r3, r3, r0
|
|
ext->anim_speed) *
|
|
1a402: 8968 ldrh r0, [r5, #10]
|
|
lv_anim_set_playback_delay(&a, (((lv_font_get_glyph_width(font, ' ', ' ') + letter_space) * 1000) /
|
|
1a404: fb93 f3f0 sdiv r3, r3, r0
|
|
1a408: eb03 0343 add.w r3, r3, r3, lsl #1
|
|
a->playback_delay = delay;
|
|
1a40c: b29b uxth r3, r3
|
|
1a40e: 930f str r3, [sp, #60] ; 0x3c
|
|
* @param a pointer to an initialized `lv_anim_t` variable
|
|
* @param delay delay in milliseconds before repeating the animation.
|
|
*/
|
|
static inline void lv_anim_set_repeat_delay(lv_anim_t * a, uint16_t delay)
|
|
{
|
|
a->repeat_delay = delay;
|
|
1a410: 9311 str r3, [sp, #68] ; 0x44
|
|
if(size.x > lv_area_get_width(&txt_coords)) {
|
|
1a412: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54
|
|
1a416: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c
|
|
1a41a: 3301 adds r3, #1
|
|
1a41c: f8bd 1058 ldrh.w r1, [sp, #88] ; 0x58
|
|
1a420: 1a5b subs r3, r3, r1
|
|
1a422: b29b uxth r3, r3
|
|
1a424: b219 sxth r1, r3
|
|
1a426: 428a cmp r2, r1
|
|
1a428: dd37 ble.n 1a49a <lv_label_refr_text+0x1b2>
|
|
lv_anim_set_values(&a, 0, lv_area_get_width(&txt_coords) - size.x);
|
|
1a42a: 1a9b subs r3, r3, r2
|
|
1a42c: b21a sxth r2, r3
|
|
a->start = start;
|
|
1a42e: 2100 movs r1, #0
|
|
1a430: 910b str r1, [sp, #44] ; 0x2c
|
|
a->end = end;
|
|
1a432: 920c str r2, [sp, #48] ; 0x30
|
|
a->exec_cb = exec_cb;
|
|
1a434: 4e67 ldr r6, [pc, #412] ; (1a5d4 <lv_label_refr_text+0x2ec>)
|
|
1a436: 9606 str r6, [sp, #24]
|
|
lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end));
|
|
1a438: 8968 ldrh r0, [r5, #10]
|
|
1a43a: 4b67 ldr r3, [pc, #412] ; (1a5d8 <lv_label_refr_text+0x2f0>)
|
|
1a43c: 4798 blx r3
|
|
a->time = duration;
|
|
1a43e: 900d str r0, [sp, #52] ; 0x34
|
|
1a440: 9010 str r0, [sp, #64] ; 0x40
|
|
lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x);
|
|
1a442: 4631 mov r1, r6
|
|
1a444: 4620 mov r0, r4
|
|
1a446: 4b65 ldr r3, [pc, #404] ; (1a5dc <lv_label_refr_text+0x2f4>)
|
|
1a448: 4798 blx r3
|
|
if(anim_cur) {
|
|
1a44a: b318 cbz r0, 1a494 <lv_label_refr_text+0x1ac>
|
|
act_time = anim_cur->act_time;
|
|
1a44c: 6a42 ldr r2, [r0, #36] ; 0x24
|
|
playback_now = anim_cur->playback_now;
|
|
1a44e: f890 303c ldrb.w r3, [r0, #60] ; 0x3c
|
|
1a452: f003 0301 and.w r3, r3, #1
|
|
if(act_time < a.time) {
|
|
1a456: 990d ldr r1, [sp, #52] ; 0x34
|
|
1a458: 428a cmp r2, r1
|
|
1a45a: da11 bge.n 1a480 <lv_label_refr_text+0x198>
|
|
a.act_time = act_time; /*To keep the old position*/
|
|
1a45c: 920e str r2, [sp, #56] ; 0x38
|
|
a.early_apply = 0;
|
|
1a45e: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a
|
|
1a462: f36f 0200 bfc r2, #0, #1
|
|
1a466: f88d 204a strb.w r2, [sp, #74] ; 0x4a
|
|
if(playback_now) {
|
|
1a46a: b14b cbz r3, 1a480 <lv_label_refr_text+0x198>
|
|
a.playback_now = 1;
|
|
1a46c: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50
|
|
1a470: f043 0301 orr.w r3, r3, #1
|
|
1a474: f88d 3050 strb.w r3, [sp, #80] ; 0x50
|
|
tmp = a.start;
|
|
1a478: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
a.start = a.end;
|
|
1a47a: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
1a47c: 920b str r2, [sp, #44] ; 0x2c
|
|
a.end = tmp;
|
|
1a47e: 930c str r3, [sp, #48] ; 0x30
|
|
lv_anim_start(&a);
|
|
1a480: a805 add r0, sp, #20
|
|
1a482: 4b57 ldr r3, [pc, #348] ; (1a5e0 <lv_label_refr_text+0x2f8>)
|
|
1a484: 4798 blx r3
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y);
|
|
1a486: 4957 ldr r1, [pc, #348] ; (1a5e4 <lv_label_refr_text+0x2fc>)
|
|
1a488: 4620 mov r0, r4
|
|
1a48a: 4b57 ldr r3, [pc, #348] ; (1a5e8 <lv_label_refr_text+0x300>)
|
|
1a48c: 4798 blx r3
|
|
ext->offset.y = 0;
|
|
1a48e: 2300 movs r3, #0
|
|
1a490: 81eb strh r3, [r5, #14]
|
|
1a492: e778 b.n 1a386 <lv_label_refr_text+0x9e>
|
|
bool playback_now = false;
|
|
1a494: 2300 movs r3, #0
|
|
int32_t act_time = 0;
|
|
1a496: 461a mov r2, r3
|
|
1a498: e7dd b.n 1a456 <lv_label_refr_text+0x16e>
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x);
|
|
1a49a: 494e ldr r1, [pc, #312] ; (1a5d4 <lv_label_refr_text+0x2ec>)
|
|
1a49c: 4620 mov r0, r4
|
|
1a49e: 4b52 ldr r3, [pc, #328] ; (1a5e8 <lv_label_refr_text+0x300>)
|
|
1a4a0: 4798 blx r3
|
|
ext->offset.x = 0;
|
|
1a4a2: 2300 movs r3, #0
|
|
1a4a4: 81ab strh r3, [r5, #12]
|
|
if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) {
|
|
1a4a6: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
1a4aa: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
1a4ae: 3301 adds r3, #1
|
|
1a4b0: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a
|
|
1a4b4: 1a5b subs r3, r3, r1
|
|
1a4b6: b29b uxth r3, r3
|
|
1a4b8: b219 sxth r1, r3
|
|
1a4ba: 428a cmp r2, r1
|
|
1a4bc: dde3 ble.n 1a486 <lv_label_refr_text+0x19e>
|
|
lv_anim_set_values(&a, 0, lv_area_get_height(&txt_coords) - size.y - (lv_font_get_line_height(font)));
|
|
1a4be: 1a9a subs r2, r3, r2
|
|
1a4c0: f8b8 3008 ldrh.w r3, [r8, #8]
|
|
1a4c4: 1ad2 subs r2, r2, r3
|
|
1a4c6: b212 sxth r2, r2
|
|
a->start = start;
|
|
1a4c8: 2100 movs r1, #0
|
|
1a4ca: 910b str r1, [sp, #44] ; 0x2c
|
|
a->end = end;
|
|
1a4cc: 920c str r2, [sp, #48] ; 0x30
|
|
a->exec_cb = exec_cb;
|
|
1a4ce: 4e45 ldr r6, [pc, #276] ; (1a5e4 <lv_label_refr_text+0x2fc>)
|
|
1a4d0: 9606 str r6, [sp, #24]
|
|
lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end));
|
|
1a4d2: 8968 ldrh r0, [r5, #10]
|
|
1a4d4: 4b40 ldr r3, [pc, #256] ; (1a5d8 <lv_label_refr_text+0x2f0>)
|
|
1a4d6: 4798 blx r3
|
|
a->time = duration;
|
|
1a4d8: 900d str r0, [sp, #52] ; 0x34
|
|
1a4da: 9010 str r0, [sp, #64] ; 0x40
|
|
lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y);
|
|
1a4dc: 4631 mov r1, r6
|
|
1a4de: 4620 mov r0, r4
|
|
1a4e0: 4b3e ldr r3, [pc, #248] ; (1a5dc <lv_label_refr_text+0x2f4>)
|
|
1a4e2: 4798 blx r3
|
|
if(anim_cur) {
|
|
1a4e4: b1e8 cbz r0, 1a522 <lv_label_refr_text+0x23a>
|
|
act_time = anim_cur->act_time;
|
|
1a4e6: 6a42 ldr r2, [r0, #36] ; 0x24
|
|
playback_now = anim_cur->playback_now;
|
|
1a4e8: f890 303c ldrb.w r3, [r0, #60] ; 0x3c
|
|
1a4ec: f003 0301 and.w r3, r3, #1
|
|
if(act_time < a.time) {
|
|
1a4f0: 990d ldr r1, [sp, #52] ; 0x34
|
|
1a4f2: 428a cmp r2, r1
|
|
1a4f4: da11 bge.n 1a51a <lv_label_refr_text+0x232>
|
|
a.act_time = act_time; /*To keep the old position*/
|
|
1a4f6: 920e str r2, [sp, #56] ; 0x38
|
|
a.early_apply = 0;
|
|
1a4f8: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a
|
|
1a4fc: f36f 0200 bfc r2, #0, #1
|
|
1a500: f88d 204a strb.w r2, [sp, #74] ; 0x4a
|
|
if(playback_now) {
|
|
1a504: b14b cbz r3, 1a51a <lv_label_refr_text+0x232>
|
|
a.playback_now = 1;
|
|
1a506: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50
|
|
1a50a: f043 0301 orr.w r3, r3, #1
|
|
1a50e: f88d 3050 strb.w r3, [sp, #80] ; 0x50
|
|
tmp = a.start;
|
|
1a512: 9b0b ldr r3, [sp, #44] ; 0x2c
|
|
a.start = a.end;
|
|
1a514: 9a0c ldr r2, [sp, #48] ; 0x30
|
|
1a516: 920b str r2, [sp, #44] ; 0x2c
|
|
a.end = tmp;
|
|
1a518: 930c str r3, [sp, #48] ; 0x30
|
|
lv_anim_start(&a);
|
|
1a51a: a805 add r0, sp, #20
|
|
1a51c: 4b30 ldr r3, [pc, #192] ; (1a5e0 <lv_label_refr_text+0x2f8>)
|
|
1a51e: 4798 blx r3
|
|
if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) {
|
|
1a520: e731 b.n 1a386 <lv_label_refr_text+0x9e>
|
|
bool playback_now = false;
|
|
1a522: 2300 movs r3, #0
|
|
int32_t act_time = 0;
|
|
1a524: 461a mov r2, r3
|
|
1a526: e7e3 b.n 1a4f0 <lv_label_refr_text+0x208>
|
|
lv_anim_init(&a);
|
|
1a528: a805 add r0, sp, #20
|
|
1a52a: 4b28 ldr r3, [pc, #160] ; (1a5cc <lv_label_refr_text+0x2e4>)
|
|
1a52c: 4798 blx r3
|
|
a->var = var;
|
|
1a52e: 9405 str r4, [sp, #20]
|
|
a->repeat_cnt = cnt;
|
|
1a530: f64f 73ff movw r3, #65535 ; 0xffff
|
|
1a534: f8ad 3048 strh.w r3, [sp, #72] ; 0x48
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
1a538: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c
|
|
1a53c: 3301 adds r3, #1
|
|
1a53e: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58
|
|
1a542: 1a9b subs r3, r3, r2
|
|
if(size.x > lv_area_get_width(&txt_coords)) {
|
|
1a544: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54
|
|
1a548: b21b sxth r3, r3
|
|
1a54a: 429a cmp r2, r3
|
|
1a54c: dd50 ble.n 1a5f0 <lv_label_refr_text+0x308>
|
|
lv_anim_set_values(&a, 0, -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT);
|
|
1a54e: 2220 movs r2, #32
|
|
1a550: 4611 mov r1, r2
|
|
1a552: 4640 mov r0, r8
|
|
1a554: 4b1e ldr r3, [pc, #120] ; (1a5d0 <lv_label_refr_text+0x2e8>)
|
|
1a556: 4798 blx r3
|
|
1a558: ebc0 3380 rsb r3, r0, r0, lsl #14
|
|
1a55c: eb00 0283 add.w r2, r0, r3, lsl #2
|
|
1a560: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54
|
|
1a564: 1ad2 subs r2, r2, r3
|
|
1a566: b212 sxth r2, r2
|
|
a->start = start;
|
|
1a568: 2100 movs r1, #0
|
|
1a56a: 910b str r1, [sp, #44] ; 0x2c
|
|
a->end = end;
|
|
1a56c: 920c str r2, [sp, #48] ; 0x30
|
|
a->exec_cb = exec_cb;
|
|
1a56e: 4e19 ldr r6, [pc, #100] ; (1a5d4 <lv_label_refr_text+0x2ec>)
|
|
1a570: 9606 str r6, [sp, #24]
|
|
lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end));
|
|
1a572: 8968 ldrh r0, [r5, #10]
|
|
1a574: 4b18 ldr r3, [pc, #96] ; (1a5d8 <lv_label_refr_text+0x2f0>)
|
|
1a576: 4798 blx r3
|
|
a->time = duration;
|
|
1a578: 900d str r0, [sp, #52] ; 0x34
|
|
lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x);
|
|
1a57a: 4631 mov r1, r6
|
|
1a57c: 4620 mov r0, r4
|
|
1a57e: 4b17 ldr r3, [pc, #92] ; (1a5dc <lv_label_refr_text+0x2f4>)
|
|
1a580: 4798 blx r3
|
|
int32_t act_time = anim_cur ? anim_cur->act_time : 0;
|
|
1a582: 2800 cmp r0, #0
|
|
1a584: d032 beq.n 1a5ec <lv_label_refr_text+0x304>
|
|
1a586: 6a43 ldr r3, [r0, #36] ; 0x24
|
|
if(act_time < a.time) {
|
|
1a588: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
1a58a: 4293 cmp r3, r2
|
|
1a58c: da06 bge.n 1a59c <lv_label_refr_text+0x2b4>
|
|
a.act_time = act_time; /*To keep the old position*/
|
|
1a58e: 930e str r3, [sp, #56] ; 0x38
|
|
a.early_apply = 0;
|
|
1a590: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a
|
|
1a594: f36f 0300 bfc r3, #0, #1
|
|
1a598: f88d 304a strb.w r3, [sp, #74] ; 0x4a
|
|
lv_anim_start(&a);
|
|
1a59c: a805 add r0, sp, #20
|
|
1a59e: 4b10 ldr r3, [pc, #64] ; (1a5e0 <lv_label_refr_text+0x2f8>)
|
|
1a5a0: 4798 blx r3
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y);
|
|
1a5a2: 4910 ldr r1, [pc, #64] ; (1a5e4 <lv_label_refr_text+0x2fc>)
|
|
1a5a4: 4620 mov r0, r4
|
|
1a5a6: 4b10 ldr r3, [pc, #64] ; (1a5e8 <lv_label_refr_text+0x300>)
|
|
1a5a8: 4798 blx r3
|
|
ext->offset.y = 0;
|
|
1a5aa: 2300 movs r3, #0
|
|
1a5ac: 81eb strh r3, [r5, #14]
|
|
1a5ae: e6ea b.n 1a386 <lv_label_refr_text+0x9e>
|
|
1a5b0: 00004d85 .word 0x00004d85
|
|
1a5b4: 00019d71 .word 0x00019d71
|
|
1a5b8: 00004689 .word 0x00004689
|
|
1a5bc: 000044bd .word 0x000044bd
|
|
1a5c0: 00014065 .word 0x00014065
|
|
1a5c4: 00003309 .word 0x00003309
|
|
1a5c8: 00004289 .word 0x00004289
|
|
1a5cc: 000112cd .word 0x000112cd
|
|
1a5d0: 00010049 .word 0x00010049
|
|
1a5d4: 00019d55 .word 0x00019d55
|
|
1a5d8: 00011479 .word 0x00011479
|
|
1a5dc: 0001143d .word 0x0001143d
|
|
1a5e0: 00011389 .word 0x00011389
|
|
1a5e4: 00019d39 .word 0x00019d39
|
|
1a5e8: 00011311 .word 0x00011311
|
|
int32_t act_time = anim_cur ? anim_cur->act_time : 0;
|
|
1a5ec: 2300 movs r3, #0
|
|
1a5ee: e7cb b.n 1a588 <lv_label_refr_text+0x2a0>
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x);
|
|
1a5f0: 496e ldr r1, [pc, #440] ; (1a7ac <lv_label_refr_text+0x4c4>)
|
|
1a5f2: 4620 mov r0, r4
|
|
1a5f4: 4b6e ldr r3, [pc, #440] ; (1a7b0 <lv_label_refr_text+0x4c8>)
|
|
1a5f6: 4798 blx r3
|
|
ext->offset.x = 0;
|
|
1a5f8: 2300 movs r3, #0
|
|
1a5fa: 81ab strh r3, [r5, #12]
|
|
if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) {
|
|
1a5fc: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
1a600: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
1a604: 3301 adds r3, #1
|
|
1a606: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a
|
|
1a60a: 1a5b subs r3, r3, r1
|
|
1a60c: b21b sxth r3, r3
|
|
1a60e: 429a cmp r2, r3
|
|
1a610: ddc7 ble.n 1a5a2 <lv_label_refr_text+0x2ba>
|
|
lv_anim_set_values(&a, 0, -size.y - (lv_font_get_line_height(font)));
|
|
1a612: f8b8 3008 ldrh.w r3, [r8, #8]
|
|
1a616: 441a add r2, r3
|
|
1a618: 4252 negs r2, r2
|
|
1a61a: b212 sxth r2, r2
|
|
a->start = start;
|
|
1a61c: 2100 movs r1, #0
|
|
1a61e: 910b str r1, [sp, #44] ; 0x2c
|
|
a->end = end;
|
|
1a620: 920c str r2, [sp, #48] ; 0x30
|
|
a->exec_cb = exec_cb;
|
|
1a622: 4e64 ldr r6, [pc, #400] ; (1a7b4 <lv_label_refr_text+0x4cc>)
|
|
1a624: 9606 str r6, [sp, #24]
|
|
lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end));
|
|
1a626: 8968 ldrh r0, [r5, #10]
|
|
1a628: 4b63 ldr r3, [pc, #396] ; (1a7b8 <lv_label_refr_text+0x4d0>)
|
|
1a62a: 4798 blx r3
|
|
a->time = duration;
|
|
1a62c: 900d str r0, [sp, #52] ; 0x34
|
|
lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y);
|
|
1a62e: 4631 mov r1, r6
|
|
1a630: 4620 mov r0, r4
|
|
1a632: 4b62 ldr r3, [pc, #392] ; (1a7bc <lv_label_refr_text+0x4d4>)
|
|
1a634: 4798 blx r3
|
|
int32_t act_time = anim_cur ? anim_cur->act_time : 0;
|
|
1a636: b170 cbz r0, 1a656 <lv_label_refr_text+0x36e>
|
|
1a638: 6a43 ldr r3, [r0, #36] ; 0x24
|
|
if(act_time < a.time) {
|
|
1a63a: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
1a63c: 4293 cmp r3, r2
|
|
1a63e: da06 bge.n 1a64e <lv_label_refr_text+0x366>
|
|
a.act_time = act_time; /*To keep the old position*/
|
|
1a640: 930e str r3, [sp, #56] ; 0x38
|
|
a.early_apply = 0;
|
|
1a642: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a
|
|
1a646: f36f 0300 bfc r3, #0, #1
|
|
1a64a: f88d 304a strb.w r3, [sp, #74] ; 0x4a
|
|
lv_anim_start(&a);
|
|
1a64e: a805 add r0, sp, #20
|
|
1a650: 4b5b ldr r3, [pc, #364] ; (1a7c0 <lv_label_refr_text+0x4d8>)
|
|
1a652: 4798 blx r3
|
|
if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) {
|
|
1a654: e697 b.n 1a386 <lv_label_refr_text+0x9e>
|
|
int32_t act_time = anim_cur ? anim_cur->act_time : 0;
|
|
1a656: 2300 movs r3, #0
|
|
1a658: e7ef b.n 1a63a <lv_label_refr_text+0x352>
|
|
1a65a: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
1a65e: 3301 adds r3, #1
|
|
1a660: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a
|
|
1a664: 1a9b subs r3, r3, r2
|
|
if(size.y <= lv_area_get_height(&txt_coords)) { /*No dots are required, the text is short enough*/
|
|
1a666: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56
|
|
1a66a: b21b sxth r3, r3
|
|
1a66c: 429a cmp r2, r3
|
|
1a66e: dc03 bgt.n 1a678 <lv_label_refr_text+0x390>
|
|
ext->dot_end = LV_LABEL_DOT_END_INV;
|
|
1a670: f64f 73ff movw r3, #65535 ; 0xffff
|
|
1a674: 812b strh r3, [r5, #8]
|
|
1a676: e686 b.n 1a386 <lv_label_refr_text+0x9e>
|
|
else if(_lv_txt_get_encoded_length(ext->text) <= LV_LABEL_DOT_NUM) { /*Don't turn to dots all the characters*/
|
|
1a678: 4b52 ldr r3, [pc, #328] ; (1a7c4 <lv_label_refr_text+0x4dc>)
|
|
1a67a: 681b ldr r3, [r3, #0]
|
|
1a67c: 6828 ldr r0, [r5, #0]
|
|
1a67e: 4798 blx r3
|
|
1a680: 2803 cmp r0, #3
|
|
1a682: d803 bhi.n 1a68c <lv_label_refr_text+0x3a4>
|
|
ext->dot_end = LV_LABEL_DOT_END_INV;
|
|
1a684: f64f 73ff movw r3, #65535 ; 0xffff
|
|
1a688: 812b strh r3, [r5, #8]
|
|
1a68a: e67c b.n 1a386 <lv_label_refr_text+0x9e>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
1a68c: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c
|
|
1a690: 3601 adds r6, #1
|
|
1a692: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58
|
|
1a696: 1af6 subs r6, r6, r3
|
|
1a698: b2b6 uxth r6, r6
|
|
(lv_font_get_glyph_width(font, '.', '.') + letter_space) *
|
|
1a69a: 222e movs r2, #46 ; 0x2e
|
|
1a69c: 4611 mov r1, r2
|
|
1a69e: 4640 mov r0, r8
|
|
1a6a0: 4b49 ldr r3, [pc, #292] ; (1a7c8 <lv_label_refr_text+0x4e0>)
|
|
1a6a2: 4798 blx r3
|
|
1a6a4: 4438 add r0, r7
|
|
p.x = lv_area_get_width(&txt_coords) -
|
|
1a6a6: ebc0 3380 rsb r3, r0, r0, lsl #14
|
|
1a6aa: eb00 0083 add.w r0, r0, r3, lsl #2
|
|
1a6ae: 4430 add r0, r6
|
|
1a6b0: f8ad 0010 strh.w r0, [sp, #16]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
1a6b4: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e
|
|
1a6b8: 3301 adds r3, #1
|
|
1a6ba: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a
|
|
1a6be: 1a9b subs r3, r3, r2
|
|
1a6c0: b29b uxth r3, r3
|
|
p.y -= p.y %
|
|
1a6c2: b218 sxth r0, r3
|
|
(lv_font_get_line_height(font) + line_space); /*Round down to the last line*/
|
|
1a6c4: f9b8 2008 ldrsh.w r2, [r8, #8]
|
|
1a6c8: 444a add r2, r9
|
|
p.y -= p.y %
|
|
1a6ca: fb90 f1f2 sdiv r1, r0, r2
|
|
1a6ce: fb02 0211 mls r2, r2, r1, r0
|
|
1a6d2: 1a9b subs r3, r3, r2
|
|
p.y -= line_space; /*Trim the last line space*/
|
|
1a6d4: eba3 0909 sub.w r9, r3, r9
|
|
1a6d8: f8ad 9012 strh.w r9, [sp, #18]
|
|
uint32_t letter_id = lv_label_get_letter_on(label, &p);
|
|
1a6dc: a904 add r1, sp, #16
|
|
1a6de: 4620 mov r0, r4
|
|
1a6e0: 4b3a ldr r3, [pc, #232] ; (1a7cc <lv_label_refr_text+0x4e4>)
|
|
1a6e2: 4798 blx r3
|
|
1a6e4: 4680 mov r8, r0
|
|
1a6e6: 4607 mov r7, r0
|
|
size_t txt_len = strlen(ext->text);
|
|
1a6e8: 682e ldr r6, [r5, #0]
|
|
1a6ea: 4630 mov r0, r6
|
|
1a6ec: 4b38 ldr r3, [pc, #224] ; (1a7d0 <lv_label_refr_text+0x4e8>)
|
|
1a6ee: 4798 blx r3
|
|
1a6f0: 4681 mov r9, r0
|
|
uint32_t byte_id = _lv_txt_encoded_get_byte_id(ext->text, letter_id);
|
|
1a6f2: 4b38 ldr r3, [pc, #224] ; (1a7d4 <lv_label_refr_text+0x4ec>)
|
|
1a6f4: 681b ldr r3, [r3, #0]
|
|
1a6f6: 4641 mov r1, r8
|
|
1a6f8: 4630 mov r0, r6
|
|
1a6fa: 4798 blx r3
|
|
1a6fc: 4606 mov r6, r0
|
|
1a6fe: 9005 str r0, [sp, #20]
|
|
while(byte_id + LV_LABEL_DOT_NUM > txt_len) {
|
|
1a700: f100 0803 add.w r8, r0, #3
|
|
1a704: 45c1 cmp r9, r8
|
|
1a706: d20e bcs.n 1a726 <lv_label_refr_text+0x43e>
|
|
byte_id -= _lv_txt_encoded_size(&ext->text[byte_id]);
|
|
1a708: f8df a0dc ldr.w sl, [pc, #220] ; 1a7e8 <lv_label_refr_text+0x500>
|
|
1a70c: 6828 ldr r0, [r5, #0]
|
|
1a70e: 4430 add r0, r6
|
|
1a710: f8da 3000 ldr.w r3, [sl]
|
|
1a714: 4798 blx r3
|
|
1a716: 9e05 ldr r6, [sp, #20]
|
|
1a718: 1a36 subs r6, r6, r0
|
|
1a71a: 9605 str r6, [sp, #20]
|
|
letter_id--;
|
|
1a71c: 3f01 subs r7, #1
|
|
while(byte_id + LV_LABEL_DOT_NUM > txt_len) {
|
|
1a71e: f106 0803 add.w r8, r6, #3
|
|
1a722: 45c1 cmp r9, r8
|
|
1a724: d3f2 bcc.n 1a70c <lv_label_refr_text+0x424>
|
|
int32_t act_time = anim_cur ? anim_cur->act_time : 0;
|
|
1a726: f04f 0a04 mov.w sl, #4
|
|
1a72a: f04f 0900 mov.w r9, #0
|
|
len += _lv_txt_encoded_size(&ext->text[byte_id]);
|
|
1a72e: f8df b0b8 ldr.w fp, [pc, #184] ; 1a7e8 <lv_label_refr_text+0x500>
|
|
1a732: 6828 ldr r0, [r5, #0]
|
|
1a734: 9b05 ldr r3, [sp, #20]
|
|
1a736: 4418 add r0, r3
|
|
1a738: f8db 3000 ldr.w r3, [fp]
|
|
1a73c: 4798 blx r3
|
|
1a73e: 4481 add r9, r0
|
|
1a740: fa5f f989 uxtb.w r9, r9
|
|
_lv_txt_encoded_next(ext->text, &byte_id);
|
|
1a744: a905 add r1, sp, #20
|
|
1a746: 6828 ldr r0, [r5, #0]
|
|
1a748: 4b23 ldr r3, [pc, #140] ; (1a7d8 <lv_label_refr_text+0x4f0>)
|
|
1a74a: 681b ldr r3, [r3, #0]
|
|
1a74c: 4798 blx r3
|
|
for(i = 0; i <= LV_LABEL_DOT_NUM; i++) {
|
|
1a74e: f1ba 0a01 subs.w sl, sl, #1
|
|
1a752: d1ee bne.n 1a732 <lv_label_refr_text+0x44a>
|
|
if(lv_label_set_dot_tmp(label, &ext->text[byte_id_ori], len)) {
|
|
1a754: 6829 ldr r1, [r5, #0]
|
|
1a756: 464a mov r2, r9
|
|
1a758: 4431 add r1, r6
|
|
1a75a: 4620 mov r0, r4
|
|
1a75c: 4b1f ldr r3, [pc, #124] ; (1a7dc <lv_label_refr_text+0x4f4>)
|
|
1a75e: 4798 blx r3
|
|
1a760: 2800 cmp r0, #0
|
|
1a762: f43f ae10 beq.w 1a386 <lv_label_refr_text+0x9e>
|
|
1a766: 1cf1 adds r1, r6, #3
|
|
ext->text[byte_id_ori + i] = '.';
|
|
1a768: 222e movs r2, #46 ; 0x2e
|
|
1a76a: 682b ldr r3, [r5, #0]
|
|
1a76c: 559a strb r2, [r3, r6]
|
|
1a76e: 3601 adds r6, #1
|
|
for(i = 0; i < LV_LABEL_DOT_NUM; i++) {
|
|
1a770: 428e cmp r6, r1
|
|
1a772: d1fa bne.n 1a76a <lv_label_refr_text+0x482>
|
|
ext->text[byte_id_ori + LV_LABEL_DOT_NUM] = '\0';
|
|
1a774: 682b ldr r3, [r5, #0]
|
|
1a776: 2200 movs r2, #0
|
|
1a778: f803 2008 strb.w r2, [r3, r8]
|
|
ext->dot_end = letter_id + LV_LABEL_DOT_NUM;
|
|
1a77c: 3703 adds r7, #3
|
|
1a77e: 812f strh r7, [r5, #8]
|
|
1a780: e601 b.n 1a386 <lv_label_refr_text+0x9e>
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar)
|
|
1a782: 2210 movs r2, #16
|
|
1a784: 2100 movs r1, #0
|
|
1a786: 4620 mov r0, r4
|
|
1a788: 4e15 ldr r6, [pc, #84] ; (1a7e0 <lv_label_refr_text+0x4f8>)
|
|
1a78a: 47b0 blx r6
|
|
1a78c: 4605 mov r5, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar)
|
|
1a78e: 2211 movs r2, #17
|
|
1a790: 2100 movs r1, #0
|
|
1a792: 4620 mov r0, r4
|
|
1a794: 47b0 blx r6
|
|
size.y += lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN);
|
|
1a796: 1829 adds r1, r5, r0
|
|
1a798: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56
|
|
1a79c: 4401 add r1, r0
|
|
1a79e: b209 sxth r1, r1
|
|
1a7a0: f8ad 1056 strh.w r1, [sp, #86] ; 0x56
|
|
lv_obj_set_height(label, size.y);
|
|
1a7a4: 4620 mov r0, r4
|
|
1a7a6: 4b0f ldr r3, [pc, #60] ; (1a7e4 <lv_label_refr_text+0x4fc>)
|
|
1a7a8: 4798 blx r3
|
|
1a7aa: e5ec b.n 1a386 <lv_label_refr_text+0x9e>
|
|
1a7ac: 00019d55 .word 0x00019d55
|
|
1a7b0: 00011311 .word 0x00011311
|
|
1a7b4: 00019d39 .word 0x00019d39
|
|
1a7b8: 00011479 .word 0x00011479
|
|
1a7bc: 0001143d .word 0x0001143d
|
|
1a7c0: 00011389 .word 0x00011389
|
|
1a7c4: 20000060 .word 0x20000060
|
|
1a7c8: 00010049 .word 0x00010049
|
|
1a7cc: 0001a019 .word 0x0001a019
|
|
1a7d0: 0001b507 .word 0x0001b507
|
|
1a7d4: 2000005c .word 0x2000005c
|
|
1a7d8: 20000058 .word 0x20000058
|
|
1a7dc: 00019dcd .word 0x00019dcd
|
|
1a7e0: 000044bd .word 0x000044bd
|
|
1a7e4: 0000439d .word 0x0000439d
|
|
1a7e8: 20000054 .word 0x20000054
|
|
|
|
0001a7ec <lv_label_set_text>:
|
|
{
|
|
1a7ec: b5f0 push {r4, r5, r6, r7, lr}
|
|
1a7ee: b083 sub sp, #12
|
|
1a7f0: 4606 mov r6, r0
|
|
1a7f2: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1a7f4: 4b40 ldr r3, [pc, #256] ; (1a8f8 <lv_label_set_text+0x10c>)
|
|
1a7f6: 4798 blx r3
|
|
1a7f8: b960 cbnz r0, 1a814 <lv_label_set_text+0x28>
|
|
1a7fa: 4b40 ldr r3, [pc, #256] ; (1a8fc <lv_label_set_text+0x110>)
|
|
1a7fc: 9300 str r3, [sp, #0]
|
|
1a7fe: 22b8 movs r2, #184 ; 0xb8
|
|
1a800: 493f ldr r1, [pc, #252] ; (1a900 <lv_label_set_text+0x114>)
|
|
1a802: 2003 movs r0, #3
|
|
1a804: 4c3f ldr r4, [pc, #252] ; (1a904 <lv_label_set_text+0x118>)
|
|
1a806: 47a0 blx r4
|
|
1a808: 4632 mov r2, r6
|
|
1a80a: 2300 movs r3, #0
|
|
1a80c: 483e ldr r0, [pc, #248] ; (1a908 <lv_label_set_text+0x11c>)
|
|
1a80e: 493f ldr r1, [pc, #252] ; (1a90c <lv_label_set_text+0x120>)
|
|
1a810: 4788 blx r1
|
|
1a812: e7fe b.n 1a812 <lv_label_set_text+0x26>
|
|
lv_obj_invalidate(label);
|
|
1a814: 4630 mov r0, r6
|
|
1a816: 4b3e ldr r3, [pc, #248] ; (1a910 <lv_label_set_text+0x124>)
|
|
1a818: 4798 blx r3
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1a81a: 4630 mov r0, r6
|
|
1a81c: 4b3d ldr r3, [pc, #244] ; (1a914 <lv_label_set_text+0x128>)
|
|
1a81e: 4798 blx r3
|
|
1a820: 4604 mov r4, r0
|
|
if(text == NULL) {
|
|
1a822: b305 cbz r5, 1a866 <lv_label_set_text+0x7a>
|
|
LV_ASSERT_STR(text);
|
|
1a824: 4628 mov r0, r5
|
|
1a826: 4b34 ldr r3, [pc, #208] ; (1a8f8 <lv_label_set_text+0x10c>)
|
|
1a828: 4798 blx r3
|
|
1a82a: b308 cbz r0, 1a870 <lv_label_set_text+0x84>
|
|
if(ext->text == text && ext->static_txt == 0) {
|
|
1a82c: 6827 ldr r7, [r4, #0]
|
|
1a82e: 42bd cmp r5, r7
|
|
1a830: d02b beq.n 1a88a <lv_label_set_text+0x9e>
|
|
if(ext->text != NULL && ext->static_txt == 0) {
|
|
1a832: b11f cbz r7, 1a83c <lv_label_set_text+0x50>
|
|
1a834: 7c23 ldrb r3, [r4, #16]
|
|
1a836: f013 0f08 tst.w r3, #8
|
|
1a83a: d049 beq.n 1a8d0 <lv_label_set_text+0xe4>
|
|
size_t len = strlen(text) + 1;
|
|
1a83c: 4628 mov r0, r5
|
|
1a83e: 4b36 ldr r3, [pc, #216] ; (1a918 <lv_label_set_text+0x12c>)
|
|
1a840: 4798 blx r3
|
|
ext->text = lv_mem_alloc(len);
|
|
1a842: 3001 adds r0, #1
|
|
1a844: 4b35 ldr r3, [pc, #212] ; (1a91c <lv_label_set_text+0x130>)
|
|
1a846: 4798 blx r3
|
|
1a848: 6020 str r0, [r4, #0]
|
|
LV_ASSERT_MEM(ext->text);
|
|
1a84a: 4b2b ldr r3, [pc, #172] ; (1a8f8 <lv_label_set_text+0x10c>)
|
|
1a84c: 4798 blx r3
|
|
1a84e: 2800 cmp r0, #0
|
|
1a850: d044 beq.n 1a8dc <lv_label_set_text+0xf0>
|
|
if(ext->text == NULL) return;
|
|
1a852: 6820 ldr r0, [r4, #0]
|
|
1a854: b150 cbz r0, 1a86c <lv_label_set_text+0x80>
|
|
strcpy(ext->text, text);
|
|
1a856: 4629 mov r1, r5
|
|
1a858: 4b31 ldr r3, [pc, #196] ; (1a920 <lv_label_set_text+0x134>)
|
|
1a85a: 4798 blx r3
|
|
ext->static_txt = 0;
|
|
1a85c: 7c23 ldrb r3, [r4, #16]
|
|
1a85e: f36f 03c3 bfc r3, #3, #1
|
|
1a862: 7423 strb r3, [r4, #16]
|
|
1a864: e030 b.n 1a8c8 <lv_label_set_text+0xdc>
|
|
lv_label_refr_text(label);
|
|
1a866: 4630 mov r0, r6
|
|
1a868: 4b2e ldr r3, [pc, #184] ; (1a924 <lv_label_set_text+0x138>)
|
|
1a86a: 4798 blx r3
|
|
}
|
|
1a86c: b003 add sp, #12
|
|
1a86e: bdf0 pop {r4, r5, r6, r7, pc}
|
|
LV_ASSERT_STR(text);
|
|
1a870: 4b22 ldr r3, [pc, #136] ; (1a8fc <lv_label_set_text+0x110>)
|
|
1a872: 9300 str r3, [sp, #0]
|
|
1a874: 22c4 movs r2, #196 ; 0xc4
|
|
1a876: 4922 ldr r1, [pc, #136] ; (1a900 <lv_label_set_text+0x114>)
|
|
1a878: 2003 movs r0, #3
|
|
1a87a: 4c22 ldr r4, [pc, #136] ; (1a904 <lv_label_set_text+0x118>)
|
|
1a87c: 47a0 blx r4
|
|
1a87e: 462a mov r2, r5
|
|
1a880: 2300 movs r3, #0
|
|
1a882: 4821 ldr r0, [pc, #132] ; (1a908 <lv_label_set_text+0x11c>)
|
|
1a884: 4921 ldr r1, [pc, #132] ; (1a90c <lv_label_set_text+0x120>)
|
|
1a886: 4788 blx r1
|
|
1a888: e7fe b.n 1a888 <lv_label_set_text+0x9c>
|
|
if(ext->text == text && ext->static_txt == 0) {
|
|
1a88a: 7c23 ldrb r3, [r4, #16]
|
|
1a88c: f013 0f08 tst.w r3, #8
|
|
1a890: d1d4 bne.n 1a83c <lv_label_set_text+0x50>
|
|
ext->text = lv_mem_realloc(ext->text, strlen(ext->text) + 1);
|
|
1a892: 4638 mov r0, r7
|
|
1a894: 4b20 ldr r3, [pc, #128] ; (1a918 <lv_label_set_text+0x12c>)
|
|
1a896: 4798 blx r3
|
|
1a898: 1c41 adds r1, r0, #1
|
|
1a89a: 4638 mov r0, r7
|
|
1a89c: 4b22 ldr r3, [pc, #136] ; (1a928 <lv_label_set_text+0x13c>)
|
|
1a89e: 4798 blx r3
|
|
1a8a0: 6020 str r0, [r4, #0]
|
|
LV_ASSERT_MEM(ext->text);
|
|
1a8a2: 4b15 ldr r3, [pc, #84] ; (1a8f8 <lv_label_set_text+0x10c>)
|
|
1a8a4: 4798 blx r3
|
|
1a8a6: b960 cbnz r0, 1a8c2 <lv_label_set_text+0xd6>
|
|
1a8a8: 4b14 ldr r3, [pc, #80] ; (1a8fc <lv_label_set_text+0x110>)
|
|
1a8aa: 9300 str r3, [sp, #0]
|
|
1a8ac: 22d5 movs r2, #213 ; 0xd5
|
|
1a8ae: 4914 ldr r1, [pc, #80] ; (1a900 <lv_label_set_text+0x114>)
|
|
1a8b0: 2003 movs r0, #3
|
|
1a8b2: 4d14 ldr r5, [pc, #80] ; (1a904 <lv_label_set_text+0x118>)
|
|
1a8b4: 47a8 blx r5
|
|
1a8b6: 6822 ldr r2, [r4, #0]
|
|
1a8b8: 2300 movs r3, #0
|
|
1a8ba: 481c ldr r0, [pc, #112] ; (1a92c <lv_label_set_text+0x140>)
|
|
1a8bc: 4913 ldr r1, [pc, #76] ; (1a90c <lv_label_set_text+0x120>)
|
|
1a8be: 4788 blx r1
|
|
1a8c0: e7fe b.n 1a8c0 <lv_label_set_text+0xd4>
|
|
if(ext->text == NULL) return;
|
|
1a8c2: 6823 ldr r3, [r4, #0]
|
|
1a8c4: 2b00 cmp r3, #0
|
|
1a8c6: d0d1 beq.n 1a86c <lv_label_set_text+0x80>
|
|
lv_label_refr_text(label);
|
|
1a8c8: 4630 mov r0, r6
|
|
1a8ca: 4b16 ldr r3, [pc, #88] ; (1a924 <lv_label_set_text+0x138>)
|
|
1a8cc: 4798 blx r3
|
|
1a8ce: e7cd b.n 1a86c <lv_label_set_text+0x80>
|
|
lv_mem_free(ext->text);
|
|
1a8d0: 4638 mov r0, r7
|
|
1a8d2: 4b17 ldr r3, [pc, #92] ; (1a930 <lv_label_set_text+0x144>)
|
|
1a8d4: 4798 blx r3
|
|
ext->text = NULL;
|
|
1a8d6: 2300 movs r3, #0
|
|
1a8d8: 6023 str r3, [r4, #0]
|
|
1a8da: e7af b.n 1a83c <lv_label_set_text+0x50>
|
|
LV_ASSERT_MEM(ext->text);
|
|
1a8dc: 4b07 ldr r3, [pc, #28] ; (1a8fc <lv_label_set_text+0x110>)
|
|
1a8de: 9300 str r3, [sp, #0]
|
|
1a8e0: 22ee movs r2, #238 ; 0xee
|
|
1a8e2: 4907 ldr r1, [pc, #28] ; (1a900 <lv_label_set_text+0x114>)
|
|
1a8e4: 2003 movs r0, #3
|
|
1a8e6: 4d07 ldr r5, [pc, #28] ; (1a904 <lv_label_set_text+0x118>)
|
|
1a8e8: 47a8 blx r5
|
|
1a8ea: 6822 ldr r2, [r4, #0]
|
|
1a8ec: 2300 movs r3, #0
|
|
1a8ee: 480f ldr r0, [pc, #60] ; (1a92c <lv_label_set_text+0x140>)
|
|
1a8f0: 4906 ldr r1, [pc, #24] ; (1a90c <lv_label_set_text+0x120>)
|
|
1a8f2: 4788 blx r1
|
|
1a8f4: e7fe b.n 1a8f4 <lv_label_set_text+0x108>
|
|
1a8f6: bf00 nop
|
|
1a8f8: 00002299 .word 0x00002299
|
|
1a8fc: 00029860 .word 0x00029860
|
|
1a900: 0002997c .word 0x0002997c
|
|
1a904: 00012245 .word 0x00012245
|
|
1a908: 00024824 .word 0x00024824
|
|
1a90c: 000022a1 .word 0x000022a1
|
|
1a910: 00003309 .word 0x00003309
|
|
1a914: 00004d85 .word 0x00004d85
|
|
1a918: 0001b507 .word 0x0001b507
|
|
1a91c: 000123c5 .word 0x000123c5
|
|
1a920: 0001b4f7 .word 0x0001b4f7
|
|
1a924: 0001a2e9 .word 0x0001a2e9
|
|
1a928: 00012881 .word 0x00012881
|
|
1a92c: 00023fc0 .word 0x00023fc0
|
|
1a930: 000124ad .word 0x000124ad
|
|
|
|
0001a934 <lv_label_set_text_static>:
|
|
{
|
|
1a934: b570 push {r4, r5, r6, lr}
|
|
1a936: b082 sub sp, #8
|
|
1a938: 4605 mov r5, r0
|
|
1a93a: 460e mov r6, r1
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1a93c: 4b14 ldr r3, [pc, #80] ; (1a990 <lv_label_set_text_static+0x5c>)
|
|
1a93e: 4798 blx r3
|
|
1a940: b968 cbnz r0, 1a95e <lv_label_set_text_static+0x2a>
|
|
1a942: 4b14 ldr r3, [pc, #80] ; (1a994 <lv_label_set_text_static+0x60>)
|
|
1a944: 9300 str r3, [sp, #0]
|
|
1a946: f44f 72a6 mov.w r2, #332 ; 0x14c
|
|
1a94a: 4913 ldr r1, [pc, #76] ; (1a998 <lv_label_set_text_static+0x64>)
|
|
1a94c: 2003 movs r0, #3
|
|
1a94e: 4c13 ldr r4, [pc, #76] ; (1a99c <lv_label_set_text_static+0x68>)
|
|
1a950: 47a0 blx r4
|
|
1a952: 462a mov r2, r5
|
|
1a954: 2300 movs r3, #0
|
|
1a956: 4812 ldr r0, [pc, #72] ; (1a9a0 <lv_label_set_text_static+0x6c>)
|
|
1a958: 4912 ldr r1, [pc, #72] ; (1a9a4 <lv_label_set_text_static+0x70>)
|
|
1a95a: 4788 blx r1
|
|
1a95c: e7fe b.n 1a95c <lv_label_set_text_static+0x28>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1a95e: 4628 mov r0, r5
|
|
1a960: 4b11 ldr r3, [pc, #68] ; (1a9a8 <lv_label_set_text_static+0x74>)
|
|
1a962: 4798 blx r3
|
|
1a964: 4604 mov r4, r0
|
|
if(ext->static_txt == 0 && ext->text != NULL) {
|
|
1a966: 7c03 ldrb r3, [r0, #16]
|
|
1a968: f013 0f08 tst.w r3, #8
|
|
1a96c: d105 bne.n 1a97a <lv_label_set_text_static+0x46>
|
|
1a96e: 6800 ldr r0, [r0, #0]
|
|
1a970: b118 cbz r0, 1a97a <lv_label_set_text_static+0x46>
|
|
lv_mem_free(ext->text);
|
|
1a972: 4b0e ldr r3, [pc, #56] ; (1a9ac <lv_label_set_text_static+0x78>)
|
|
1a974: 4798 blx r3
|
|
ext->text = NULL;
|
|
1a976: 2300 movs r3, #0
|
|
1a978: 6023 str r3, [r4, #0]
|
|
if(text != NULL) {
|
|
1a97a: b126 cbz r6, 1a986 <lv_label_set_text_static+0x52>
|
|
ext->static_txt = 1;
|
|
1a97c: 7c23 ldrb r3, [r4, #16]
|
|
1a97e: f043 0308 orr.w r3, r3, #8
|
|
1a982: 7423 strb r3, [r4, #16]
|
|
ext->text = (char *)text;
|
|
1a984: 6026 str r6, [r4, #0]
|
|
lv_label_refr_text(label);
|
|
1a986: 4628 mov r0, r5
|
|
1a988: 4b09 ldr r3, [pc, #36] ; (1a9b0 <lv_label_set_text_static+0x7c>)
|
|
1a98a: 4798 blx r3
|
|
}
|
|
1a98c: b002 add sp, #8
|
|
1a98e: bd70 pop {r4, r5, r6, pc}
|
|
1a990: 00002299 .word 0x00002299
|
|
1a994: 0002988c .word 0x0002988c
|
|
1a998: 0002997c .word 0x0002997c
|
|
1a99c: 00012245 .word 0x00012245
|
|
1a9a0: 00024824 .word 0x00024824
|
|
1a9a4: 000022a1 .word 0x000022a1
|
|
1a9a8: 00004d85 .word 0x00004d85
|
|
1a9ac: 000124ad .word 0x000124ad
|
|
1a9b0: 0001a2e9 .word 0x0001a2e9
|
|
|
|
0001a9b4 <lv_label_set_long_mode>:
|
|
{
|
|
1a9b4: b5f0 push {r4, r5, r6, r7, lr}
|
|
1a9b6: b083 sub sp, #12
|
|
1a9b8: 4605 mov r5, r0
|
|
1a9ba: 460f mov r7, r1
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1a9bc: 4b22 ldr r3, [pc, #136] ; (1aa48 <lv_label_set_long_mode+0x94>)
|
|
1a9be: 4798 blx r3
|
|
1a9c0: b968 cbnz r0, 1a9de <lv_label_set_long_mode+0x2a>
|
|
1a9c2: 4b22 ldr r3, [pc, #136] ; (1aa4c <lv_label_set_long_mode+0x98>)
|
|
1a9c4: 9300 str r3, [sp, #0]
|
|
1a9c6: f240 1265 movw r2, #357 ; 0x165
|
|
1a9ca: 4921 ldr r1, [pc, #132] ; (1aa50 <lv_label_set_long_mode+0x9c>)
|
|
1a9cc: 2003 movs r0, #3
|
|
1a9ce: 4c21 ldr r4, [pc, #132] ; (1aa54 <lv_label_set_long_mode+0xa0>)
|
|
1a9d0: 47a0 blx r4
|
|
1a9d2: 462a mov r2, r5
|
|
1a9d4: 2300 movs r3, #0
|
|
1a9d6: 4820 ldr r0, [pc, #128] ; (1aa58 <lv_label_set_long_mode+0xa4>)
|
|
1a9d8: 4920 ldr r1, [pc, #128] ; (1aa5c <lv_label_set_long_mode+0xa8>)
|
|
1a9da: 4788 blx r1
|
|
1a9dc: e7fe b.n 1a9dc <lv_label_set_long_mode+0x28>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1a9de: 4628 mov r0, r5
|
|
1a9e0: 4b1f ldr r3, [pc, #124] ; (1aa60 <lv_label_set_long_mode+0xac>)
|
|
1a9e2: 4798 blx r3
|
|
1a9e4: 4604 mov r4, r0
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_obj_set_x);
|
|
1a9e6: 491f ldr r1, [pc, #124] ; (1aa64 <lv_label_set_long_mode+0xb0>)
|
|
1a9e8: 4628 mov r0, r5
|
|
1a9ea: 4e1f ldr r6, [pc, #124] ; (1aa68 <lv_label_set_long_mode+0xb4>)
|
|
1a9ec: 47b0 blx r6
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_obj_set_y);
|
|
1a9ee: 491f ldr r1, [pc, #124] ; (1aa6c <lv_label_set_long_mode+0xb8>)
|
|
1a9f0: 4628 mov r0, r5
|
|
1a9f2: 47b0 blx r6
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x);
|
|
1a9f4: 491e ldr r1, [pc, #120] ; (1aa70 <lv_label_set_long_mode+0xbc>)
|
|
1a9f6: 4628 mov r0, r5
|
|
1a9f8: 47b0 blx r6
|
|
lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y);
|
|
1a9fa: 491e ldr r1, [pc, #120] ; (1aa74 <lv_label_set_long_mode+0xc0>)
|
|
1a9fc: 4628 mov r0, r5
|
|
1a9fe: 47b0 blx r6
|
|
ext->offset.x = 0;
|
|
1aa00: 2300 movs r3, #0
|
|
1aa02: 81a3 strh r3, [r4, #12]
|
|
ext->offset.y = 0;
|
|
1aa04: 81e3 strh r3, [r4, #14]
|
|
if(long_mode == LV_LABEL_LONG_SROLL || long_mode == LV_LABEL_LONG_SROLL_CIRC || long_mode == LV_LABEL_LONG_CROP)
|
|
1aa06: 1efb subs r3, r7, #3
|
|
1aa08: b2db uxtb r3, r3
|
|
1aa0a: 2b02 cmp r3, #2
|
|
ext->expand = 1;
|
|
1aa0c: 7c23 ldrb r3, [r4, #16]
|
|
1aa0e: bf94 ite ls
|
|
1aa10: f043 0380 orrls.w r3, r3, #128 ; 0x80
|
|
ext->expand = 0;
|
|
1aa14: f36f 13c7 bfchi r3, #7, #1
|
|
1aa18: 7423 strb r3, [r4, #16]
|
|
if(ext->long_mode == LV_LABEL_LONG_DOT && ext->dot_end != LV_LABEL_DOT_END_INV) {
|
|
1aa1a: 7c23 ldrb r3, [r4, #16]
|
|
1aa1c: f003 0307 and.w r3, r3, #7
|
|
1aa20: 2b02 cmp r3, #2
|
|
1aa22: d008 beq.n 1aa36 <lv_label_set_long_mode+0x82>
|
|
ext->long_mode = long_mode;
|
|
1aa24: 7c23 ldrb r3, [r4, #16]
|
|
1aa26: f367 0302 bfi r3, r7, #0, #3
|
|
1aa2a: 7423 strb r3, [r4, #16]
|
|
lv_label_refr_text(label);
|
|
1aa2c: 4628 mov r0, r5
|
|
1aa2e: 4b12 ldr r3, [pc, #72] ; (1aa78 <lv_label_set_long_mode+0xc4>)
|
|
1aa30: 4798 blx r3
|
|
}
|
|
1aa32: b003 add sp, #12
|
|
1aa34: bdf0 pop {r4, r5, r6, r7, pc}
|
|
if(ext->long_mode == LV_LABEL_LONG_DOT && ext->dot_end != LV_LABEL_DOT_END_INV) {
|
|
1aa36: 8922 ldrh r2, [r4, #8]
|
|
1aa38: f64f 73ff movw r3, #65535 ; 0xffff
|
|
1aa3c: 429a cmp r2, r3
|
|
1aa3e: d0f1 beq.n 1aa24 <lv_label_set_long_mode+0x70>
|
|
lv_label_revert_dots(label);
|
|
1aa40: 4628 mov r0, r5
|
|
1aa42: 4b0e ldr r3, [pc, #56] ; (1aa7c <lv_label_set_long_mode+0xc8>)
|
|
1aa44: 4798 blx r3
|
|
1aa46: e7ed b.n 1aa24 <lv_label_set_long_mode+0x70>
|
|
1aa48: 00002299 .word 0x00002299
|
|
1aa4c: 000298a8 .word 0x000298a8
|
|
1aa50: 0002997c .word 0x0002997c
|
|
1aa54: 00012245 .word 0x00012245
|
|
1aa58: 00024824 .word 0x00024824
|
|
1aa5c: 000022a1 .word 0x000022a1
|
|
1aa60: 00004d85 .word 0x00004d85
|
|
1aa64: 00003511 .word 0x00003511
|
|
1aa68: 00011311 .word 0x00011311
|
|
1aa6c: 00003571 .word 0x00003571
|
|
1aa70: 00019d55 .word 0x00019d55
|
|
1aa74: 00019d39 .word 0x00019d39
|
|
1aa78: 0001a2e9 .word 0x0001a2e9
|
|
1aa7c: 00019cad .word 0x00019cad
|
|
|
|
0001aa80 <lv_label_set_recolor>:
|
|
{
|
|
1aa80: b530 push {r4, r5, lr}
|
|
1aa82: b083 sub sp, #12
|
|
1aa84: 4604 mov r4, r0
|
|
1aa86: 460d mov r5, r1
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1aa88: 4b10 ldr r3, [pc, #64] ; (1aacc <lv_label_set_recolor+0x4c>)
|
|
1aa8a: 4798 blx r3
|
|
1aa8c: b968 cbnz r0, 1aaaa <lv_label_set_recolor+0x2a>
|
|
1aa8e: 4b10 ldr r3, [pc, #64] ; (1aad0 <lv_label_set_recolor+0x50>)
|
|
1aa90: 9300 str r3, [sp, #0]
|
|
1aa92: f44f 72cd mov.w r2, #410 ; 0x19a
|
|
1aa96: 490f ldr r1, [pc, #60] ; (1aad4 <lv_label_set_recolor+0x54>)
|
|
1aa98: 2003 movs r0, #3
|
|
1aa9a: 4d0f ldr r5, [pc, #60] ; (1aad8 <lv_label_set_recolor+0x58>)
|
|
1aa9c: 47a8 blx r5
|
|
1aa9e: 4622 mov r2, r4
|
|
1aaa0: 2300 movs r3, #0
|
|
1aaa2: 480e ldr r0, [pc, #56] ; (1aadc <lv_label_set_recolor+0x5c>)
|
|
1aaa4: 490e ldr r1, [pc, #56] ; (1aae0 <lv_label_set_recolor+0x60>)
|
|
1aaa6: 4788 blx r1
|
|
1aaa8: e7fe b.n 1aaa8 <lv_label_set_recolor+0x28>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1aaaa: 4620 mov r0, r4
|
|
1aaac: 4b0d ldr r3, [pc, #52] ; (1aae4 <lv_label_set_recolor+0x64>)
|
|
1aaae: 4798 blx r3
|
|
if(ext->recolor == en) return;
|
|
1aab0: 7c03 ldrb r3, [r0, #16]
|
|
1aab2: f3c3 1380 ubfx r3, r3, #6, #1
|
|
1aab6: 42ab cmp r3, r5
|
|
1aab8: d006 beq.n 1aac8 <lv_label_set_recolor+0x48>
|
|
ext->recolor = en == false ? 0 : 1;
|
|
1aaba: 7c03 ldrb r3, [r0, #16]
|
|
1aabc: f365 1386 bfi r3, r5, #6, #1
|
|
1aac0: 7403 strb r3, [r0, #16]
|
|
lv_label_refr_text(label); /*Refresh the text because the potential colo codes in text needs to
|
|
1aac2: 4620 mov r0, r4
|
|
1aac4: 4b08 ldr r3, [pc, #32] ; (1aae8 <lv_label_set_recolor+0x68>)
|
|
1aac6: 4798 blx r3
|
|
}
|
|
1aac8: b003 add sp, #12
|
|
1aaca: bd30 pop {r4, r5, pc}
|
|
1aacc: 00002299 .word 0x00002299
|
|
1aad0: 000298c0 .word 0x000298c0
|
|
1aad4: 0002997c .word 0x0002997c
|
|
1aad8: 00012245 .word 0x00012245
|
|
1aadc: 00024824 .word 0x00024824
|
|
1aae0: 000022a1 .word 0x000022a1
|
|
1aae4: 00004d85 .word 0x00004d85
|
|
1aae8: 0001a2e9 .word 0x0001a2e9
|
|
|
|
0001aaec <lv_label_create>:
|
|
{
|
|
1aaec: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
1aaf0: b082 sub sp, #8
|
|
1aaf2: 460f mov r7, r1
|
|
lv_obj_t * new_label = lv_obj_create(par, copy);
|
|
1aaf4: 4b79 ldr r3, [pc, #484] ; (1acdc <lv_label_create+0x1f0>)
|
|
1aaf6: 4798 blx r3
|
|
1aaf8: 4604 mov r4, r0
|
|
LV_ASSERT_MEM(new_label);
|
|
1aafa: 4b79 ldr r3, [pc, #484] ; (1ace0 <lv_label_create+0x1f4>)
|
|
1aafc: 4798 blx r3
|
|
1aafe: b1e8 cbz r0, 1ab3c <lv_label_create+0x50>
|
|
if(new_label == NULL) return NULL;
|
|
1ab00: 2c00 cmp r4, #0
|
|
1ab02: f000 809a beq.w 1ac3a <lv_label_create+0x14e>
|
|
if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_label);
|
|
1ab06: 4b77 ldr r3, [pc, #476] ; (1ace4 <lv_label_create+0x1f8>)
|
|
1ab08: 681b ldr r3, [r3, #0]
|
|
1ab0a: b323 cbz r3, 1ab56 <lv_label_create+0x6a>
|
|
lv_obj_allocate_ext_attr(new_label, sizeof(lv_label_ext_t));
|
|
1ab0c: 2114 movs r1, #20
|
|
1ab0e: 4620 mov r0, r4
|
|
1ab10: 4b75 ldr r3, [pc, #468] ; (1ace8 <lv_label_create+0x1fc>)
|
|
1ab12: 4798 blx r3
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(new_label);
|
|
1ab14: 4620 mov r0, r4
|
|
1ab16: 4b75 ldr r3, [pc, #468] ; (1acec <lv_label_create+0x200>)
|
|
1ab18: 4798 blx r3
|
|
1ab1a: 4605 mov r5, r0
|
|
LV_ASSERT_MEM(ext);
|
|
1ab1c: 4b70 ldr r3, [pc, #448] ; (1ace0 <lv_label_create+0x1f4>)
|
|
1ab1e: 4798 blx r3
|
|
1ab20: b9f8 cbnz r0, 1ab62 <lv_label_create+0x76>
|
|
1ab22: 4b73 ldr r3, [pc, #460] ; (1acf0 <lv_label_create+0x204>)
|
|
1ab24: 9300 str r3, [sp, #0]
|
|
1ab26: 225d movs r2, #93 ; 0x5d
|
|
1ab28: 4972 ldr r1, [pc, #456] ; (1acf4 <lv_label_create+0x208>)
|
|
1ab2a: 2003 movs r0, #3
|
|
1ab2c: 4c72 ldr r4, [pc, #456] ; (1acf8 <lv_label_create+0x20c>)
|
|
1ab2e: 47a0 blx r4
|
|
1ab30: 462a mov r2, r5
|
|
1ab32: 2300 movs r3, #0
|
|
1ab34: 4871 ldr r0, [pc, #452] ; (1acfc <lv_label_create+0x210>)
|
|
1ab36: 4972 ldr r1, [pc, #456] ; (1ad00 <lv_label_create+0x214>)
|
|
1ab38: 4788 blx r1
|
|
1ab3a: e7fe b.n 1ab3a <lv_label_create+0x4e>
|
|
LV_ASSERT_MEM(new_label);
|
|
1ab3c: 4b6c ldr r3, [pc, #432] ; (1acf0 <lv_label_create+0x204>)
|
|
1ab3e: 9300 str r3, [sp, #0]
|
|
1ab40: 2254 movs r2, #84 ; 0x54
|
|
1ab42: 496c ldr r1, [pc, #432] ; (1acf4 <lv_label_create+0x208>)
|
|
1ab44: 2003 movs r0, #3
|
|
1ab46: 4d6c ldr r5, [pc, #432] ; (1acf8 <lv_label_create+0x20c>)
|
|
1ab48: 47a8 blx r5
|
|
1ab4a: 4622 mov r2, r4
|
|
1ab4c: 2300 movs r3, #0
|
|
1ab4e: 486b ldr r0, [pc, #428] ; (1acfc <lv_label_create+0x210>)
|
|
1ab50: 496b ldr r1, [pc, #428] ; (1ad00 <lv_label_create+0x214>)
|
|
1ab52: 4788 blx r1
|
|
1ab54: e7fe b.n 1ab54 <lv_label_create+0x68>
|
|
if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_label);
|
|
1ab56: 4620 mov r0, r4
|
|
1ab58: 4b6a ldr r3, [pc, #424] ; (1ad04 <lv_label_create+0x218>)
|
|
1ab5a: 4798 blx r3
|
|
1ab5c: 4b61 ldr r3, [pc, #388] ; (1ace4 <lv_label_create+0x1f8>)
|
|
1ab5e: 6018 str r0, [r3, #0]
|
|
1ab60: e7d4 b.n 1ab0c <lv_label_create+0x20>
|
|
if(ext == NULL) {
|
|
1ab62: 2d00 cmp r5, #0
|
|
1ab64: d06d beq.n 1ac42 <lv_label_create+0x156>
|
|
ext->text = NULL;
|
|
1ab66: 2300 movs r3, #0
|
|
1ab68: 602b str r3, [r5, #0]
|
|
ext->static_txt = 0;
|
|
1ab6a: 7c2a ldrb r2, [r5, #16]
|
|
ext->align = LV_LABEL_ALIGN_AUTO;
|
|
1ab6c: f002 02b7 and.w r2, r2, #183 ; 0xb7
|
|
ext->dot_end = LV_LABEL_DOT_END_INV;
|
|
1ab70: f64f 71ff movw r1, #65535 ; 0xffff
|
|
1ab74: 8129 strh r1, [r5, #8]
|
|
ext->long_mode = LV_LABEL_LONG_EXPAND;
|
|
1ab76: f042 0230 orr.w r2, r2, #48 ; 0x30
|
|
1ab7a: f363 0202 bfi r2, r3, #0, #3
|
|
1ab7e: 742a strb r2, [r5, #16]
|
|
ext->anim_speed = LV_LABEL_DEF_SCROLL_SPEED;
|
|
1ab80: 2219 movs r2, #25
|
|
1ab82: 816a strh r2, [r5, #10]
|
|
ext->offset.x = 0;
|
|
1ab84: 81ab strh r3, [r5, #12]
|
|
ext->offset.y = 0;
|
|
1ab86: 81eb strh r3, [r5, #14]
|
|
ext->dot.tmp_ptr = NULL;
|
|
1ab88: 606b str r3, [r5, #4]
|
|
ext->dot_tmp_alloc = 0;
|
|
1ab8a: 7c6a ldrb r2, [r5, #17]
|
|
1ab8c: f363 0200 bfi r2, r3, #0, #1
|
|
1ab90: 746a strb r2, [r5, #17]
|
|
lv_obj_set_design_cb(new_label, lv_label_design);
|
|
1ab92: 495d ldr r1, [pc, #372] ; (1ad08 <lv_label_create+0x21c>)
|
|
1ab94: 4620 mov r0, r4
|
|
1ab96: 4b5d ldr r3, [pc, #372] ; (1ad0c <lv_label_create+0x220>)
|
|
1ab98: 4798 blx r3
|
|
lv_obj_set_signal_cb(new_label, lv_label_signal);
|
|
1ab9a: 495d ldr r1, [pc, #372] ; (1ad10 <lv_label_create+0x224>)
|
|
1ab9c: 4620 mov r0, r4
|
|
1ab9e: 4b5d ldr r3, [pc, #372] ; (1ad14 <lv_label_create+0x228>)
|
|
1aba0: 4798 blx r3
|
|
if(copy == NULL) {
|
|
1aba2: 2f00 cmp r7, #0
|
|
1aba4: d052 beq.n 1ac4c <lv_label_create+0x160>
|
|
lv_label_ext_t * copy_ext = lv_obj_get_ext_attr(copy);
|
|
1aba6: 4638 mov r0, r7
|
|
1aba8: 4b50 ldr r3, [pc, #320] ; (1acec <lv_label_create+0x200>)
|
|
1abaa: 4798 blx r3
|
|
1abac: 4606 mov r6, r0
|
|
lv_label_set_long_mode(new_label, lv_label_get_long_mode(copy));
|
|
1abae: 4638 mov r0, r7
|
|
1abb0: 4b59 ldr r3, [pc, #356] ; (1ad18 <lv_label_create+0x22c>)
|
|
1abb2: 4798 blx r3
|
|
1abb4: 4601 mov r1, r0
|
|
1abb6: 4620 mov r0, r4
|
|
1abb8: 4b58 ldr r3, [pc, #352] ; (1ad1c <lv_label_create+0x230>)
|
|
1abba: 4798 blx r3
|
|
lv_label_set_recolor(new_label, lv_label_get_recolor(copy));
|
|
1abbc: 4638 mov r0, r7
|
|
1abbe: 4b58 ldr r3, [pc, #352] ; (1ad20 <lv_label_create+0x234>)
|
|
1abc0: 4798 blx r3
|
|
1abc2: 4601 mov r1, r0
|
|
1abc4: 4620 mov r0, r4
|
|
1abc6: 4b57 ldr r3, [pc, #348] ; (1ad24 <lv_label_create+0x238>)
|
|
1abc8: 4798 blx r3
|
|
lv_label_set_align(new_label, lv_label_get_align(copy));
|
|
1abca: 4638 mov r0, r7
|
|
1abcc: 4b56 ldr r3, [pc, #344] ; (1ad28 <lv_label_create+0x23c>)
|
|
1abce: 4798 blx r3
|
|
1abd0: 4601 mov r1, r0
|
|
1abd2: 4620 mov r0, r4
|
|
1abd4: 4b55 ldr r3, [pc, #340] ; (1ad2c <lv_label_create+0x240>)
|
|
1abd6: 4798 blx r3
|
|
if(copy_ext->static_txt == 0)
|
|
1abd8: 7c33 ldrb r3, [r6, #16]
|
|
1abda: f013 0f08 tst.w r3, #8
|
|
1abde: d146 bne.n 1ac6e <lv_label_create+0x182>
|
|
lv_label_set_text(new_label, lv_label_get_text(copy));
|
|
1abe0: 4638 mov r0, r7
|
|
1abe2: 4b53 ldr r3, [pc, #332] ; (1ad30 <lv_label_create+0x244>)
|
|
1abe4: 4798 blx r3
|
|
1abe6: 4601 mov r1, r0
|
|
1abe8: 4620 mov r0, r4
|
|
1abea: 4b52 ldr r3, [pc, #328] ; (1ad34 <lv_label_create+0x248>)
|
|
1abec: 4798 blx r3
|
|
if(copy_ext->long_mode == LV_LABEL_LONG_DOT) {
|
|
1abee: 7c33 ldrb r3, [r6, #16]
|
|
1abf0: f003 0307 and.w r3, r3, #7
|
|
1abf4: 2b02 cmp r3, #2
|
|
1abf6: d042 beq.n 1ac7e <lv_label_create+0x192>
|
|
if(copy_ext->dot_tmp_alloc && copy_ext->dot.tmp_ptr) {
|
|
1abf8: 7c73 ldrb r3, [r6, #17]
|
|
1abfa: f013 0f01 tst.w r3, #1
|
|
1abfe: d064 beq.n 1acca <lv_label_create+0x1de>
|
|
1ac00: 6870 ldr r0, [r6, #4]
|
|
1ac02: 2800 cmp r0, #0
|
|
1ac04: d061 beq.n 1acca <lv_label_create+0x1de>
|
|
uint16_t len = (uint16_t)strlen(copy_ext->dot.tmp_ptr);
|
|
1ac06: 4b4c ldr r3, [pc, #304] ; (1ad38 <lv_label_create+0x24c>)
|
|
1ac08: 4798 blx r3
|
|
lv_label_set_dot_tmp(new_label, ext->dot.tmp_ptr, len);
|
|
1ac0a: b282 uxth r2, r0
|
|
1ac0c: 6869 ldr r1, [r5, #4]
|
|
1ac0e: 4620 mov r0, r4
|
|
1ac10: 4b4a ldr r3, [pc, #296] ; (1ad3c <lv_label_create+0x250>)
|
|
1ac12: 4798 blx r3
|
|
ext->dot_tmp_alloc = copy_ext->dot_tmp_alloc;
|
|
1ac14: 7c72 ldrb r2, [r6, #17]
|
|
1ac16: 7c6b ldrb r3, [r5, #17]
|
|
1ac18: f362 0300 bfi r3, r2, #0, #1
|
|
1ac1c: 746b strb r3, [r5, #17]
|
|
ext->dot_end = copy_ext->dot_end;
|
|
1ac1e: 8933 ldrh r3, [r6, #8]
|
|
1ac20: 812b strh r3, [r5, #8]
|
|
lv_obj_refresh_style(new_label, LV_STYLE_PROP_ALL);
|
|
1ac22: 21ff movs r1, #255 ; 0xff
|
|
1ac24: 4620 mov r0, r4
|
|
1ac26: 4b46 ldr r3, [pc, #280] ; (1ad40 <lv_label_create+0x254>)
|
|
1ac28: 4798 blx r3
|
|
LV_LOG_INFO("label created");
|
|
1ac2a: 4b46 ldr r3, [pc, #280] ; (1ad44 <lv_label_create+0x258>)
|
|
1ac2c: 9300 str r3, [sp, #0]
|
|
1ac2e: 4b30 ldr r3, [pc, #192] ; (1acf0 <lv_label_create+0x204>)
|
|
1ac30: 22a8 movs r2, #168 ; 0xa8
|
|
1ac32: 4930 ldr r1, [pc, #192] ; (1acf4 <lv_label_create+0x208>)
|
|
1ac34: 2001 movs r0, #1
|
|
1ac36: 4d30 ldr r5, [pc, #192] ; (1acf8 <lv_label_create+0x20c>)
|
|
1ac38: 47a8 blx r5
|
|
}
|
|
1ac3a: 4620 mov r0, r4
|
|
1ac3c: b002 add sp, #8
|
|
1ac3e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
lv_obj_del(new_label);
|
|
1ac42: 4620 mov r0, r4
|
|
1ac44: 4b40 ldr r3, [pc, #256] ; (1ad48 <lv_label_create+0x25c>)
|
|
1ac46: 4798 blx r3
|
|
return NULL;
|
|
1ac48: 2400 movs r4, #0
|
|
1ac4a: e7f6 b.n 1ac3a <lv_label_create+0x14e>
|
|
lv_theme_apply(new_label, LV_THEME_LABEL);
|
|
1ac4c: 2112 movs r1, #18
|
|
1ac4e: 4620 mov r0, r4
|
|
1ac50: 4b3e ldr r3, [pc, #248] ; (1ad4c <lv_label_create+0x260>)
|
|
1ac52: 4798 blx r3
|
|
lv_obj_set_click(new_label, false);
|
|
1ac54: 2100 movs r1, #0
|
|
1ac56: 4620 mov r0, r4
|
|
1ac58: 4b3d ldr r3, [pc, #244] ; (1ad50 <lv_label_create+0x264>)
|
|
1ac5a: 4798 blx r3
|
|
lv_label_set_long_mode(new_label, LV_LABEL_LONG_EXPAND);
|
|
1ac5c: 2100 movs r1, #0
|
|
1ac5e: 4620 mov r0, r4
|
|
1ac60: 4b2e ldr r3, [pc, #184] ; (1ad1c <lv_label_create+0x230>)
|
|
1ac62: 4798 blx r3
|
|
lv_label_set_text(new_label, "Text");
|
|
1ac64: 493b ldr r1, [pc, #236] ; (1ad54 <lv_label_create+0x268>)
|
|
1ac66: 4620 mov r0, r4
|
|
1ac68: 4b32 ldr r3, [pc, #200] ; (1ad34 <lv_label_create+0x248>)
|
|
1ac6a: 4798 blx r3
|
|
1ac6c: e7dd b.n 1ac2a <lv_label_create+0x13e>
|
|
lv_label_set_text_static(new_label, lv_label_get_text(copy));
|
|
1ac6e: 4638 mov r0, r7
|
|
1ac70: 4b2f ldr r3, [pc, #188] ; (1ad30 <lv_label_create+0x244>)
|
|
1ac72: 4798 blx r3
|
|
1ac74: 4601 mov r1, r0
|
|
1ac76: 4620 mov r0, r4
|
|
1ac78: 4b37 ldr r3, [pc, #220] ; (1ad58 <lv_label_create+0x26c>)
|
|
1ac7a: 4798 blx r3
|
|
1ac7c: e7b7 b.n 1abee <lv_label_create+0x102>
|
|
ext->text = lv_mem_realloc(ext->text, _lv_mem_get_size(copy_ext->text));
|
|
1ac7e: 682f ldr r7, [r5, #0]
|
|
1ac80: 6830 ldr r0, [r6, #0]
|
|
1ac82: 4b36 ldr r3, [pc, #216] ; (1ad5c <lv_label_create+0x270>)
|
|
1ac84: 4798 blx r3
|
|
1ac86: 4601 mov r1, r0
|
|
1ac88: 4638 mov r0, r7
|
|
1ac8a: 4b35 ldr r3, [pc, #212] ; (1ad60 <lv_label_create+0x274>)
|
|
1ac8c: 4798 blx r3
|
|
1ac8e: 6028 str r0, [r5, #0]
|
|
LV_ASSERT_MEM(ext->text);
|
|
1ac90: 4b13 ldr r3, [pc, #76] ; (1ace0 <lv_label_create+0x1f4>)
|
|
1ac92: 4798 blx r3
|
|
1ac94: b960 cbnz r0, 1acb0 <lv_label_create+0x1c4>
|
|
1ac96: 4b16 ldr r3, [pc, #88] ; (1acf0 <lv_label_create+0x204>)
|
|
1ac98: 9300 str r3, [sp, #0]
|
|
1ac9a: 2295 movs r2, #149 ; 0x95
|
|
1ac9c: 4915 ldr r1, [pc, #84] ; (1acf4 <lv_label_create+0x208>)
|
|
1ac9e: 2003 movs r0, #3
|
|
1aca0: 4c15 ldr r4, [pc, #84] ; (1acf8 <lv_label_create+0x20c>)
|
|
1aca2: 47a0 blx r4
|
|
1aca4: 682a ldr r2, [r5, #0]
|
|
1aca6: 2300 movs r3, #0
|
|
1aca8: 4814 ldr r0, [pc, #80] ; (1acfc <lv_label_create+0x210>)
|
|
1acaa: 4915 ldr r1, [pc, #84] ; (1ad00 <lv_label_create+0x214>)
|
|
1acac: 4788 blx r1
|
|
1acae: e7fe b.n 1acae <lv_label_create+0x1c2>
|
|
if(ext->text == NULL) return NULL;
|
|
1acb0: 682f ldr r7, [r5, #0]
|
|
1acb2: b187 cbz r7, 1acd6 <lv_label_create+0x1ea>
|
|
_lv_memcpy(ext->text, copy_ext->text, _lv_mem_get_size(copy_ext->text));
|
|
1acb4: f8d6 8000 ldr.w r8, [r6]
|
|
1acb8: 4640 mov r0, r8
|
|
1acba: 4b28 ldr r3, [pc, #160] ; (1ad5c <lv_label_create+0x270>)
|
|
1acbc: 4798 blx r3
|
|
1acbe: 4602 mov r2, r0
|
|
1acc0: 4641 mov r1, r8
|
|
1acc2: 4638 mov r0, r7
|
|
1acc4: 4b27 ldr r3, [pc, #156] ; (1ad64 <lv_label_create+0x278>)
|
|
1acc6: 4798 blx r3
|
|
1acc8: e796 b.n 1abf8 <lv_label_create+0x10c>
|
|
_lv_memcpy(ext->dot.tmp, copy_ext->dot.tmp, sizeof(ext->dot.tmp));
|
|
1acca: 2204 movs r2, #4
|
|
1accc: 18b1 adds r1, r6, r2
|
|
1acce: 18a8 adds r0, r5, r2
|
|
1acd0: 4b24 ldr r3, [pc, #144] ; (1ad64 <lv_label_create+0x278>)
|
|
1acd2: 4798 blx r3
|
|
1acd4: e79e b.n 1ac14 <lv_label_create+0x128>
|
|
if(ext->text == NULL) return NULL;
|
|
1acd6: 2400 movs r4, #0
|
|
1acd8: e7af b.n 1ac3a <lv_label_create+0x14e>
|
|
1acda: bf00 nop
|
|
1acdc: 00003e0d .word 0x00003e0d
|
|
1ace0: 00002299 .word 0x00002299
|
|
1ace4: 20006c00 .word 0x20006c00
|
|
1ace8: 00002bb9 .word 0x00002bb9
|
|
1acec: 00004d85 .word 0x00004d85
|
|
1acf0: 000298d8 .word 0x000298d8
|
|
1acf4: 0002997c .word 0x0002997c
|
|
1acf8: 00012245 .word 0x00012245
|
|
1acfc: 00023fc0 .word 0x00023fc0
|
|
1ad00: 000022a1 .word 0x000022a1
|
|
1ad04: 00004d3d .word 0x00004d3d
|
|
1ad08: 0001aee9 .word 0x0001aee9
|
|
1ad0c: 00002b71 .word 0x00002b71
|
|
1ad10: 0001ad69 .word 0x0001ad69
|
|
1ad14: 00002b15 .word 0x00002b15
|
|
1ad18: 00019f15 .word 0x00019f15
|
|
1ad1c: 0001a9b5 .word 0x0001a9b5
|
|
1ad20: 00019fc5 .word 0x00019fc5
|
|
1ad24: 0001aa81 .word 0x0001aa81
|
|
1ad28: 00019f69 .word 0x00019f69
|
|
1ad2c: 00019e59 .word 0x00019e59
|
|
1ad30: 00019ec5 .word 0x00019ec5
|
|
1ad34: 0001a7ed .word 0x0001a7ed
|
|
1ad38: 0001b507 .word 0x0001b507
|
|
1ad3c: 00019dcd .word 0x00019dcd
|
|
1ad40: 00003a81 .word 0x00003a81
|
|
1ad44: 000299e0 .word 0x000299e0
|
|
1ad48: 00004f4d .word 0x00004f4d
|
|
1ad4c: 000141d1 .word 0x000141d1
|
|
1ad50: 00002989 .word 0x00002989
|
|
1ad54: 000299d8 .word 0x000299d8
|
|
1ad58: 0001a935 .word 0x0001a935
|
|
1ad5c: 00012539 .word 0x00012539
|
|
1ad60: 00012881 .word 0x00012881
|
|
1ad64: 0001263d .word 0x0001263d
|
|
|
|
0001ad68 <lv_label_signal>:
|
|
{
|
|
1ad68: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
1ad6c: 4607 mov r7, r0
|
|
1ad6e: 4615 mov r5, r2
|
|
if(sign == LV_SIGNAL_GET_STYLE) {
|
|
1ad70: 2908 cmp r1, #8
|
|
1ad72: d015 beq.n 1ada0 <lv_label_signal+0x38>
|
|
1ad74: 460c mov r4, r1
|
|
res = ancestor_signal(label, sign, param);
|
|
1ad76: 4b30 ldr r3, [pc, #192] ; (1ae38 <lv_label_signal+0xd0>)
|
|
1ad78: 681b ldr r3, [r3, #0]
|
|
1ad7a: 4798 blx r3
|
|
1ad7c: 4606 mov r6, r0
|
|
if(res != LV_RES_OK) return res;
|
|
1ad7e: 2801 cmp r0, #1
|
|
1ad80: d115 bne.n 1adae <lv_label_signal+0x46>
|
|
if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
|
1ad82: 2c07 cmp r4, #7
|
|
1ad84: d020 beq.n 1adc8 <lv_label_signal+0x60>
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1ad86: 4638 mov r0, r7
|
|
1ad88: 4b2c ldr r3, [pc, #176] ; (1ae3c <lv_label_signal+0xd4>)
|
|
1ad8a: 4798 blx r3
|
|
1ad8c: 4680 mov r8, r0
|
|
if(sign == LV_SIGNAL_CLEANUP) {
|
|
1ad8e: bb44 cbnz r4, 1ade2 <lv_label_signal+0x7a>
|
|
if(ext->static_txt == 0) {
|
|
1ad90: 7c03 ldrb r3, [r0, #16]
|
|
1ad92: f013 0f08 tst.w r3, #8
|
|
1ad96: d01d beq.n 1add4 <lv_label_signal+0x6c>
|
|
lv_label_dot_tmp_free(label);
|
|
1ad98: 4638 mov r0, r7
|
|
1ad9a: 4b29 ldr r3, [pc, #164] ; (1ae40 <lv_label_signal+0xd8>)
|
|
1ad9c: 4798 blx r3
|
|
1ad9e: e006 b.n 1adae <lv_label_signal+0x46>
|
|
switch(type) {
|
|
1ada0: 7813 ldrb r3, [r2, #0]
|
|
1ada2: b93b cbnz r3, 1adb4 <lv_label_signal+0x4c>
|
|
style_dsc_p = &label->style_list;
|
|
1ada4: f100 0328 add.w r3, r0, #40 ; 0x28
|
|
info->result = lv_label_get_style(label, info->part);
|
|
1ada8: 606b str r3, [r5, #4]
|
|
if(info->result != NULL) return LV_RES_OK;
|
|
1adaa: 2601 movs r6, #1
|
|
1adac: b123 cbz r3, 1adb8 <lv_label_signal+0x50>
|
|
}
|
|
1adae: 4630 mov r0, r6
|
|
1adb0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
|
|
style_dsc_p = NULL;
|
|
1adb4: 2300 movs r3, #0
|
|
1adb6: e7f7 b.n 1ada8 <lv_label_signal+0x40>
|
|
else return ancestor_signal(label, sign, param);
|
|
1adb8: 4b1f ldr r3, [pc, #124] ; (1ae38 <lv_label_signal+0xd0>)
|
|
1adba: 681b ldr r3, [r3, #0]
|
|
1adbc: 462a mov r2, r5
|
|
1adbe: 2108 movs r1, #8
|
|
1adc0: 4638 mov r0, r7
|
|
1adc2: 4798 blx r3
|
|
1adc4: 4606 mov r6, r0
|
|
1adc6: e7f2 b.n 1adae <lv_label_signal+0x46>
|
|
if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
|
1adc8: 491e ldr r1, [pc, #120] ; (1ae44 <lv_label_signal+0xdc>)
|
|
1adca: 4628 mov r0, r5
|
|
1adcc: 4b1e ldr r3, [pc, #120] ; (1ae48 <lv_label_signal+0xe0>)
|
|
1adce: 4798 blx r3
|
|
1add0: 4606 mov r6, r0
|
|
1add2: e7ec b.n 1adae <lv_label_signal+0x46>
|
|
lv_mem_free(ext->text);
|
|
1add4: 6800 ldr r0, [r0, #0]
|
|
1add6: 4b1d ldr r3, [pc, #116] ; (1ae4c <lv_label_signal+0xe4>)
|
|
1add8: 4798 blx r3
|
|
ext->text = NULL;
|
|
1adda: 2300 movs r3, #0
|
|
1addc: f8c8 3000 str.w r3, [r8]
|
|
1ade0: e7da b.n 1ad98 <lv_label_signal+0x30>
|
|
else if(sign == LV_SIGNAL_STYLE_CHG) {
|
|
1ade2: 2c04 cmp r4, #4
|
|
1ade4: d014 beq.n 1ae10 <lv_label_signal+0xa8>
|
|
else if(sign == LV_SIGNAL_COORD_CHG) {
|
|
1ade6: 2c02 cmp r4, #2
|
|
1ade8: d1e1 bne.n 1adae <lv_label_signal+0x46>
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
1adea: 88aa ldrh r2, [r5, #4]
|
|
1adec: 3201 adds r2, #1
|
|
1adee: 882b ldrh r3, [r5, #0]
|
|
1adf0: 1ad2 subs r2, r2, r3
|
|
1adf2: 8abb ldrh r3, [r7, #20]
|
|
1adf4: 3301 adds r3, #1
|
|
1adf6: 8a39 ldrh r1, [r7, #16]
|
|
1adf8: 1a5b subs r3, r3, r1
|
|
if(lv_area_get_width(&label->coords) != lv_area_get_width(param) ||
|
|
1adfa: b292 uxth r2, r2
|
|
1adfc: b29b uxth r3, r3
|
|
1adfe: 429a cmp r2, r3
|
|
1ae00: d00d beq.n 1ae1e <lv_label_signal+0xb6>
|
|
lv_label_revert_dots(label);
|
|
1ae02: 4638 mov r0, r7
|
|
1ae04: 4b12 ldr r3, [pc, #72] ; (1ae50 <lv_label_signal+0xe8>)
|
|
1ae06: 4798 blx r3
|
|
lv_label_refr_text(label);
|
|
1ae08: 4638 mov r0, r7
|
|
1ae0a: 4b12 ldr r3, [pc, #72] ; (1ae54 <lv_label_signal+0xec>)
|
|
1ae0c: 4798 blx r3
|
|
1ae0e: e7ce b.n 1adae <lv_label_signal+0x46>
|
|
lv_label_revert_dots(label);
|
|
1ae10: 4638 mov r0, r7
|
|
1ae12: 4b0f ldr r3, [pc, #60] ; (1ae50 <lv_label_signal+0xe8>)
|
|
1ae14: 4798 blx r3
|
|
lv_label_refr_text(label);
|
|
1ae16: 4638 mov r0, r7
|
|
1ae18: 4b0e ldr r3, [pc, #56] ; (1ae54 <lv_label_signal+0xec>)
|
|
1ae1a: 4798 blx r3
|
|
1ae1c: e7c7 b.n 1adae <lv_label_signal+0x46>
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
1ae1e: 88ea ldrh r2, [r5, #6]
|
|
1ae20: 3201 adds r2, #1
|
|
1ae22: 886b ldrh r3, [r5, #2]
|
|
1ae24: 1ad2 subs r2, r2, r3
|
|
1ae26: 8afb ldrh r3, [r7, #22]
|
|
1ae28: 3301 adds r3, #1
|
|
1ae2a: 8a79 ldrh r1, [r7, #18]
|
|
1ae2c: 1a5b subs r3, r3, r1
|
|
if(lv_area_get_width(&label->coords) != lv_area_get_width(param) ||
|
|
1ae2e: b292 uxth r2, r2
|
|
1ae30: b29b uxth r3, r3
|
|
1ae32: 429a cmp r2, r3
|
|
1ae34: d1e5 bne.n 1ae02 <lv_label_signal+0x9a>
|
|
1ae36: e7ba b.n 1adae <lv_label_signal+0x46>
|
|
1ae38: 20006c00 .word 0x20006c00
|
|
1ae3c: 00004d85 .word 0x00004d85
|
|
1ae40: 00019c7d .word 0x00019c7d
|
|
1ae44: 000299f0 .word 0x000299f0
|
|
1ae48: 0000507d .word 0x0000507d
|
|
1ae4c: 000124ad .word 0x000124ad
|
|
1ae50: 00019cad .word 0x00019cad
|
|
1ae54: 0001a2e9 .word 0x0001a2e9
|
|
|
|
0001ae58 <lv_label_get_text_sel_start>:
|
|
{
|
|
1ae58: b530 push {r4, r5, lr}
|
|
1ae5a: b083 sub sp, #12
|
|
1ae5c: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1ae5e: 4b0a ldr r3, [pc, #40] ; (1ae88 <lv_label_get_text_sel_start+0x30>)
|
|
1ae60: 4798 blx r3
|
|
1ae62: b118 cbz r0, 1ae6c <lv_label_get_text_sel_start+0x14>
|
|
}
|
|
1ae64: f64f 70ff movw r0, #65535 ; 0xffff
|
|
1ae68: b003 add sp, #12
|
|
1ae6a: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1ae6c: 4b07 ldr r3, [pc, #28] ; (1ae8c <lv_label_get_text_sel_start+0x34>)
|
|
1ae6e: 9300 str r3, [sp, #0]
|
|
1ae70: f240 321d movw r2, #797 ; 0x31d
|
|
1ae74: 4906 ldr r1, [pc, #24] ; (1ae90 <lv_label_get_text_sel_start+0x38>)
|
|
1ae76: 2003 movs r0, #3
|
|
1ae78: 4d06 ldr r5, [pc, #24] ; (1ae94 <lv_label_get_text_sel_start+0x3c>)
|
|
1ae7a: 47a8 blx r5
|
|
1ae7c: 4622 mov r2, r4
|
|
1ae7e: 2300 movs r3, #0
|
|
1ae80: 4805 ldr r0, [pc, #20] ; (1ae98 <lv_label_get_text_sel_start+0x40>)
|
|
1ae82: 4906 ldr r1, [pc, #24] ; (1ae9c <lv_label_get_text_sel_start+0x44>)
|
|
1ae84: 4788 blx r1
|
|
1ae86: e7fe b.n 1ae86 <lv_label_get_text_sel_start+0x2e>
|
|
1ae88: 00002299 .word 0x00002299
|
|
1ae8c: 00029900 .word 0x00029900
|
|
1ae90: 0002997c .word 0x0002997c
|
|
1ae94: 00012245 .word 0x00012245
|
|
1ae98: 00024824 .word 0x00024824
|
|
1ae9c: 000022a1 .word 0x000022a1
|
|
|
|
0001aea0 <lv_label_get_text_sel_end>:
|
|
{
|
|
1aea0: b530 push {r4, r5, lr}
|
|
1aea2: b083 sub sp, #12
|
|
1aea4: 4604 mov r4, r0
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1aea6: 4b0a ldr r3, [pc, #40] ; (1aed0 <lv_label_get_text_sel_end+0x30>)
|
|
1aea8: 4798 blx r3
|
|
1aeaa: b118 cbz r0, 1aeb4 <lv_label_get_text_sel_end+0x14>
|
|
}
|
|
1aeac: f64f 70ff movw r0, #65535 ; 0xffff
|
|
1aeb0: b003 add sp, #12
|
|
1aeb2: bd30 pop {r4, r5, pc}
|
|
LV_ASSERT_OBJ(label, LV_OBJX_NAME);
|
|
1aeb4: 4b07 ldr r3, [pc, #28] ; (1aed4 <lv_label_get_text_sel_end+0x34>)
|
|
1aeb6: 9300 str r3, [sp, #0]
|
|
1aeb8: f44f 724c mov.w r2, #816 ; 0x330
|
|
1aebc: 4906 ldr r1, [pc, #24] ; (1aed8 <lv_label_get_text_sel_end+0x38>)
|
|
1aebe: 2003 movs r0, #3
|
|
1aec0: 4d06 ldr r5, [pc, #24] ; (1aedc <lv_label_get_text_sel_end+0x3c>)
|
|
1aec2: 47a8 blx r5
|
|
1aec4: 4622 mov r2, r4
|
|
1aec6: 2300 movs r3, #0
|
|
1aec8: 4805 ldr r0, [pc, #20] ; (1aee0 <lv_label_get_text_sel_end+0x40>)
|
|
1aeca: 4906 ldr r1, [pc, #24] ; (1aee4 <lv_label_get_text_sel_end+0x44>)
|
|
1aecc: 4788 blx r1
|
|
1aece: e7fe b.n 1aece <lv_label_get_text_sel_end+0x2e>
|
|
1aed0: 00002299 .word 0x00002299
|
|
1aed4: 0002991c .word 0x0002991c
|
|
1aed8: 0002997c .word 0x0002997c
|
|
1aedc: 00012245 .word 0x00012245
|
|
1aee0: 00024824 .word 0x00024824
|
|
1aee4: 000022a1 .word 0x000022a1
|
|
|
|
0001aee8 <lv_label_design>:
|
|
if(mode == LV_DESIGN_COVER_CHK)
|
|
1aee8: 2a02 cmp r2, #2
|
|
1aeea: f000 811e beq.w 1b12a <lv_label_design+0x242>
|
|
else if(mode == LV_DESIGN_DRAW_MAIN) {
|
|
1aeee: b10a cbz r2, 1aef4 <lv_label_design+0xc>
|
|
return LV_DESIGN_RES_OK;
|
|
1aef0: 2000 movs r0, #0
|
|
1aef2: 4770 bx lr
|
|
{
|
|
1aef4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
1aef8: b0a9 sub sp, #164 ; 0xa4
|
|
1aefa: 460f mov r7, r1
|
|
1aefc: 4605 mov r5, r0
|
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
|
1aefe: 4b8c ldr r3, [pc, #560] ; (1b130 <lv_label_design+0x248>)
|
|
1af00: 4798 blx r3
|
|
1af02: 4680 mov r8, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar)
|
|
1af04: 2204 movs r2, #4
|
|
1af06: 2100 movs r1, #0
|
|
1af08: 4628 mov r0, r5
|
|
1af0a: 4c8a ldr r4, [pc, #552] ; (1b134 <lv_label_design+0x24c>)
|
|
1af0c: 47a0 blx r4
|
|
1af0e: 4681 mov r9, r0
|
|
_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar)
|
|
1af10: 2205 movs r2, #5
|
|
1af12: 2100 movs r1, #0
|
|
1af14: 4628 mov r0, r5
|
|
1af16: 47a0 blx r4
|
|
1af18: f105 030f add.w r3, r5, #15
|
|
1af1c: f105 0617 add.w r6, r5, #23
|
|
uint8_t * d8 = (uint8_t *)dst;
|
|
1af20: aa06 add r2, sp, #24
|
|
*d8 = *s8;
|
|
1af22: f813 4f01 ldrb.w r4, [r3, #1]!
|
|
1af26: f802 4b01 strb.w r4, [r2], #1
|
|
while(len) {
|
|
1af2a: 42b3 cmp r3, r6
|
|
1af2c: d1f9 bne.n 1af22 <lv_label_design+0x3a>
|
|
bg_coords.x1 -= w;
|
|
1af2e: fa1f f989 uxth.w r9, r9
|
|
1af32: f8bd 3018 ldrh.w r3, [sp, #24]
|
|
1af36: eba3 0309 sub.w r3, r3, r9
|
|
1af3a: f8ad 3018 strh.w r3, [sp, #24]
|
|
bg_coords.x2 += w;
|
|
1af3e: f8bd 301c ldrh.w r3, [sp, #28]
|
|
1af42: 4499 add r9, r3
|
|
1af44: f8ad 901c strh.w r9, [sp, #28]
|
|
bg_coords.y1 -= h;
|
|
1af48: b280 uxth r0, r0
|
|
1af4a: f8bd 301a ldrh.w r3, [sp, #26]
|
|
1af4e: 1a1b subs r3, r3, r0
|
|
1af50: f8ad 301a strh.w r3, [sp, #26]
|
|
bg_coords.y2 += h;
|
|
1af54: f8bd 301e ldrh.w r3, [sp, #30]
|
|
1af58: 4418 add r0, r3
|
|
1af5a: f8ad 001e strh.w r0, [sp, #30]
|
|
lv_draw_rect_dsc_init(&draw_rect_dsc);
|
|
1af5e: a813 add r0, sp, #76 ; 0x4c
|
|
1af60: 4b75 ldr r3, [pc, #468] ; (1b138 <lv_label_design+0x250>)
|
|
1af62: 4798 blx r3
|
|
lv_obj_init_draw_rect_dsc(label, LV_LABEL_PART_MAIN, &draw_rect_dsc);
|
|
1af64: aa13 add r2, sp, #76 ; 0x4c
|
|
1af66: 2100 movs r1, #0
|
|
1af68: 4628 mov r0, r5
|
|
1af6a: 4b74 ldr r3, [pc, #464] ; (1b13c <lv_label_design+0x254>)
|
|
1af6c: 4798 blx r3
|
|
lv_draw_rect(&bg_coords, clip_area, &draw_rect_dsc);
|
|
1af6e: aa13 add r2, sp, #76 ; 0x4c
|
|
1af70: 4639 mov r1, r7
|
|
1af72: a806 add r0, sp, #24
|
|
1af74: 4b72 ldr r3, [pc, #456] ; (1b140 <lv_label_design+0x258>)
|
|
1af76: 4798 blx r3
|
|
get_txt_coords(label, &txt_coords);
|
|
1af78: a908 add r1, sp, #32
|
|
1af7a: 4628 mov r0, r5
|
|
1af7c: 4b71 ldr r3, [pc, #452] ; (1b144 <lv_label_design+0x25c>)
|
|
1af7e: 4798 blx r3
|
|
bool is_common = _lv_area_intersect(&txt_clip, clip_area, &txt_coords);
|
|
1af80: aa08 add r2, sp, #32
|
|
1af82: 4639 mov r1, r7
|
|
1af84: a80a add r0, sp, #40 ; 0x28
|
|
1af86: 4b70 ldr r3, [pc, #448] ; (1b148 <lv_label_design+0x260>)
|
|
1af88: 4798 blx r3
|
|
if(!is_common) return LV_DESIGN_RES_OK;
|
|
1af8a: b910 cbnz r0, 1af92 <lv_label_design+0xaa>
|
|
}
|
|
1af8c: b029 add sp, #164 ; 0xa4
|
|
1af8e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
lv_label_align_t align = lv_label_get_align(label);
|
|
1af92: 4628 mov r0, r5
|
|
1af94: 4b6d ldr r3, [pc, #436] ; (1b14c <lv_label_design+0x264>)
|
|
1af96: 4798 blx r3
|
|
if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR;
|
|
1af98: f898 3010 ldrb.w r3, [r8, #16]
|
|
lv_txt_flag_t flag = LV_TXT_FLAG_NONE;
|
|
1af9c: f3c3 1480 ubfx r4, r3, #6, #1
|
|
if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND;
|
|
1afa0: f013 0f80 tst.w r3, #128 ; 0x80
|
|
1afa4: bf18 it ne
|
|
1afa6: f044 0402 orrne.w r4, r4, #2
|
|
if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT;
|
|
1afaa: f013 0f07 tst.w r3, #7
|
|
1afae: bf08 it eq
|
|
1afb0: f044 0410 orreq.w r4, r4, #16
|
|
if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER;
|
|
1afb4: 2801 cmp r0, #1
|
|
1afb6: d038 beq.n 1b02a <lv_label_design+0x142>
|
|
if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT;
|
|
1afb8: 2802 cmp r0, #2
|
|
1afba: bf08 it eq
|
|
1afbc: f044 0408 orreq.w r4, r4, #8
|
|
lv_draw_label_dsc_init(&label_draw_dsc);
|
|
1afc0: a80c add r0, sp, #48 ; 0x30
|
|
1afc2: 4b63 ldr r3, [pc, #396] ; (1b150 <lv_label_design+0x268>)
|
|
1afc4: 4798 blx r3
|
|
label_draw_dsc.sel_start = lv_label_get_text_sel_start(label);
|
|
1afc6: 4628 mov r0, r5
|
|
1afc8: 4b62 ldr r3, [pc, #392] ; (1b154 <lv_label_design+0x26c>)
|
|
1afca: 4798 blx r3
|
|
1afcc: f8ad 003e strh.w r0, [sp, #62] ; 0x3e
|
|
label_draw_dsc.sel_end = lv_label_get_text_sel_end(label);
|
|
1afd0: 4628 mov r0, r5
|
|
1afd2: 4b61 ldr r3, [pc, #388] ; (1b158 <lv_label_design+0x270>)
|
|
1afd4: 4798 blx r3
|
|
1afd6: f8ad 0040 strh.w r0, [sp, #64] ; 0x40
|
|
label_draw_dsc.ofs_x = ext->offset.x;
|
|
1afda: f9b8 300c ldrsh.w r3, [r8, #12]
|
|
1afde: f8ad 3042 strh.w r3, [sp, #66] ; 0x42
|
|
label_draw_dsc.ofs_y = ext->offset.y;
|
|
1afe2: f9b8 300e ldrsh.w r3, [r8, #14]
|
|
1afe6: f8ad 3044 strh.w r3, [sp, #68] ; 0x44
|
|
label_draw_dsc.flag = flag;
|
|
1afea: f88d 4047 strb.w r4, [sp, #71] ; 0x47
|
|
lv_obj_init_draw_label_dsc(label, LV_LABEL_PART_MAIN, &label_draw_dsc);
|
|
1afee: aa0c add r2, sp, #48 ; 0x30
|
|
1aff0: 2100 movs r1, #0
|
|
1aff2: 4628 mov r0, r5
|
|
1aff4: 4b59 ldr r3, [pc, #356] ; (1b15c <lv_label_design+0x274>)
|
|
1aff6: 4798 blx r3
|
|
if((ext->long_mode == LV_LABEL_LONG_SROLL || ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) &&
|
|
1aff8: f898 2010 ldrb.w r2, [r8, #16]
|
|
1affc: f002 0307 and.w r3, r2, #7
|
|
1b000: 3b03 subs r3, #3
|
|
1b002: b2db uxtb r3, r3
|
|
1b004: 2b01 cmp r3, #1
|
|
1b006: d913 bls.n 1b030 <lv_label_design+0x148>
|
|
lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint);
|
|
1b008: f8d8 3000 ldr.w r3, [r8]
|
|
1b00c: 2200 movs r2, #0
|
|
1b00e: 9200 str r2, [sp, #0]
|
|
1b010: aa0c add r2, sp, #48 ; 0x30
|
|
1b012: a90a add r1, sp, #40 ; 0x28
|
|
1b014: a808 add r0, sp, #32
|
|
1b016: 4d52 ldr r5, [pc, #328] ; (1b160 <lv_label_design+0x278>)
|
|
1b018: 47a8 blx r5
|
|
if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) {
|
|
1b01a: f898 3010 ldrb.w r3, [r8, #16]
|
|
1b01e: f003 0307 and.w r3, r3, #7
|
|
1b022: 2b04 cmp r3, #4
|
|
1b024: d02b beq.n 1b07e <lv_label_design+0x196>
|
|
return LV_DESIGN_RES_OK;
|
|
1b026: 2000 movs r0, #0
|
|
1b028: e7b0 b.n 1af8c <lv_label_design+0xa4>
|
|
if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER;
|
|
1b02a: f044 0404 orr.w r4, r4, #4
|
|
1b02e: e7c7 b.n 1afc0 <lv_label_design+0xd8>
|
|
(ext->align == LV_LABEL_ALIGN_CENTER || ext->align == LV_LABEL_ALIGN_RIGHT)) {
|
|
1b030: f002 0230 and.w r2, r2, #48 ; 0x30
|
|
if((ext->long_mode == LV_LABEL_LONG_SROLL || ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) &&
|
|
1b034: 2a10 cmp r2, #16
|
|
1b036: d001 beq.n 1b03c <lv_label_design+0x154>
|
|
(ext->align == LV_LABEL_ALIGN_CENTER || ext->align == LV_LABEL_ALIGN_RIGHT)) {
|
|
1b038: 2a20 cmp r2, #32
|
|
1b03a: d1e5 bne.n 1b008 <lv_label_design+0x120>
|
|
_lv_txt_get_size(&size, ext->text, label_draw_dsc.font, label_draw_dsc.letter_space, label_draw_dsc.line_space,
|
|
1b03c: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
1b040: f8d8 1000 ldr.w r1, [r8]
|
|
1b044: 9402 str r4, [sp, #8]
|
|
1b046: f647 4218 movw r2, #31768 ; 0x7c18
|
|
1b04a: 9201 str r2, [sp, #4]
|
|
1b04c: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a
|
|
1b050: 9200 str r2, [sp, #0]
|
|
1b052: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
1b054: a805 add r0, sp, #20
|
|
1b056: 4d43 ldr r5, [pc, #268] ; (1b164 <lv_label_design+0x27c>)
|
|
1b058: 47a8 blx r5
|
|
return (lv_coord_t)(area_p->x2 - area_p->x1 + 1);
|
|
1b05a: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24
|
|
1b05e: 3301 adds r3, #1
|
|
1b060: f8bd 2020 ldrh.w r2, [sp, #32]
|
|
1b064: 1a9b subs r3, r3, r2
|
|
if(size.x > lv_area_get_width(&txt_coords)) {
|
|
1b066: f9bd 2014 ldrsh.w r2, [sp, #20]
|
|
1b06a: b21b sxth r3, r3
|
|
1b06c: 429a cmp r2, r3
|
|
1b06e: ddcb ble.n 1b008 <lv_label_design+0x120>
|
|
label_draw_dsc.flag &= ~LV_TXT_FLAG_CENTER;
|
|
1b070: f89d 3047 ldrb.w r3, [sp, #71] ; 0x47
|
|
1b074: f023 030c bic.w r3, r3, #12
|
|
1b078: f88d 3047 strb.w r3, [sp, #71] ; 0x47
|
|
1b07c: e7c4 b.n 1b008 <lv_label_design+0x120>
|
|
_lv_txt_get_size(&size, ext->text, label_draw_dsc.font, label_draw_dsc.letter_space, label_draw_dsc.line_space,
|
|
1b07e: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c
|
|
1b082: f8d8 1000 ldr.w r1, [r8]
|
|
1b086: 9402 str r4, [sp, #8]
|
|
1b088: f647 4218 movw r2, #31768 ; 0x7c18
|
|
1b08c: 9201 str r2, [sp, #4]
|
|
1b08e: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a
|
|
1b092: 9200 str r2, [sp, #0]
|
|
1b094: 9a0d ldr r2, [sp, #52] ; 0x34
|
|
1b096: a805 add r0, sp, #20
|
|
1b098: 4c32 ldr r4, [pc, #200] ; (1b164 <lv_label_design+0x27c>)
|
|
1b09a: 47a0 blx r4
|
|
if(size.x > lv_area_get_width(&txt_coords)) {
|
|
1b09c: f9bd 2014 ldrsh.w r2, [sp, #20]
|
|
1b0a0: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24
|
|
1b0a4: 3301 adds r3, #1
|
|
1b0a6: f8bd 1020 ldrh.w r1, [sp, #32]
|
|
1b0aa: 1a5b subs r3, r3, r1
|
|
1b0ac: b21b sxth r3, r3
|
|
1b0ae: 429a cmp r2, r3
|
|
1b0b0: dc20 bgt.n 1b0f4 <lv_label_design+0x20c>
|
|
if(size.y > lv_area_get_height(&txt_coords)) {
|
|
1b0b2: f9bd 2016 ldrsh.w r2, [sp, #22]
|
|
return (lv_coord_t)(area_p->y2 - area_p->y1 + 1);
|
|
1b0b6: f8bd 3026 ldrh.w r3, [sp, #38] ; 0x26
|
|
1b0ba: 3301 adds r3, #1
|
|
1b0bc: f8bd 1022 ldrh.w r1, [sp, #34] ; 0x22
|
|
1b0c0: 1a5b subs r3, r3, r1
|
|
1b0c2: b21b sxth r3, r3
|
|
1b0c4: 429a cmp r2, r3
|
|
1b0c6: ddae ble.n 1b026 <lv_label_design+0x13e>
|
|
label_draw_dsc.ofs_x = ext->offset.x;
|
|
1b0c8: f9b8 300c ldrsh.w r3, [r8, #12]
|
|
1b0cc: f8ad 3042 strh.w r3, [sp, #66] ; 0x42
|
|
1b0d0: 9b0d ldr r3, [sp, #52] ; 0x34
|
|
label_draw_dsc.ofs_y = ext->offset.y + size.y + lv_font_get_line_height(label_draw_dsc.font);
|
|
1b0d2: 891b ldrh r3, [r3, #8]
|
|
1b0d4: 4413 add r3, r2
|
|
1b0d6: f8b8 200e ldrh.w r2, [r8, #14]
|
|
1b0da: 4413 add r3, r2
|
|
1b0dc: f8ad 3044 strh.w r3, [sp, #68] ; 0x44
|
|
lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint);
|
|
1b0e0: f8d8 3000 ldr.w r3, [r8]
|
|
1b0e4: 2200 movs r2, #0
|
|
1b0e6: 9200 str r2, [sp, #0]
|
|
1b0e8: aa0c add r2, sp, #48 ; 0x30
|
|
1b0ea: a90a add r1, sp, #40 ; 0x28
|
|
1b0ec: a808 add r0, sp, #32
|
|
1b0ee: 4c1c ldr r4, [pc, #112] ; (1b160 <lv_label_design+0x278>)
|
|
1b0f0: 47a0 blx r4
|
|
1b0f2: e798 b.n 1b026 <lv_label_design+0x13e>
|
|
label_draw_dsc.ofs_x = ext->offset.x + size.x +
|
|
1b0f4: f8b8 400c ldrh.w r4, [r8, #12]
|
|
1b0f8: 4422 add r2, r4
|
|
1b0fa: b294 uxth r4, r2
|
|
lv_font_get_glyph_width(label_draw_dsc.font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT;
|
|
1b0fc: 2220 movs r2, #32
|
|
1b0fe: 4611 mov r1, r2
|
|
1b100: 980d ldr r0, [sp, #52] ; 0x34
|
|
1b102: 4b19 ldr r3, [pc, #100] ; (1b168 <lv_label_design+0x280>)
|
|
1b104: 4798 blx r3
|
|
1b106: eb00 0040 add.w r0, r0, r0, lsl #1
|
|
label_draw_dsc.ofs_x = ext->offset.x + size.x +
|
|
1b10a: 4404 add r4, r0
|
|
1b10c: f8ad 4042 strh.w r4, [sp, #66] ; 0x42
|
|
label_draw_dsc.ofs_y = ext->offset.y;
|
|
1b110: f9b8 300e ldrsh.w r3, [r8, #14]
|
|
1b114: f8ad 3044 strh.w r3, [sp, #68] ; 0x44
|
|
lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint);
|
|
1b118: f8d8 3000 ldr.w r3, [r8]
|
|
1b11c: 2200 movs r2, #0
|
|
1b11e: 9200 str r2, [sp, #0]
|
|
1b120: aa0c add r2, sp, #48 ; 0x30
|
|
1b122: a90a add r1, sp, #40 ; 0x28
|
|
1b124: a808 add r0, sp, #32
|
|
1b126: 47a8 blx r5
|
|
1b128: e7c3 b.n 1b0b2 <lv_label_design+0x1ca>
|
|
return LV_DESIGN_RES_NOT_COVER;
|
|
1b12a: 2002 movs r0, #2
|
|
1b12c: 4770 bx lr
|
|
1b12e: bf00 nop
|
|
1b130: 00004d85 .word 0x00004d85
|
|
1b134: 000044bd .word 0x000044bd
|
|
1b138: 0000c251 .word 0x0000c251
|
|
1b13c: 000050ad .word 0x000050ad
|
|
1b140: 0000c319 .word 0x0000c319
|
|
1b144: 00019d71 .word 0x00019d71
|
|
1b148: 00011501 .word 0x00011501
|
|
1b14c: 00019f69 .word 0x00019f69
|
|
1b150: 000099b5 .word 0x000099b5
|
|
1b154: 0001ae59 .word 0x0001ae59
|
|
1b158: 0001aea1 .word 0x0001aea1
|
|
1b15c: 00005699 .word 0x00005699
|
|
1b160: 00009a0d .word 0x00009a0d
|
|
1b164: 00014065 .word 0x00014065
|
|
1b168: 00010049 .word 0x00010049
|
|
|
|
0001b16c <__aeabi_uldivmod>:
|
|
1b16c: b953 cbnz r3, 1b184 <__aeabi_uldivmod+0x18>
|
|
1b16e: b94a cbnz r2, 1b184 <__aeabi_uldivmod+0x18>
|
|
1b170: 2900 cmp r1, #0
|
|
1b172: bf08 it eq
|
|
1b174: 2800 cmpeq r0, #0
|
|
1b176: bf1c itt ne
|
|
1b178: f04f 31ff movne.w r1, #4294967295
|
|
1b17c: f04f 30ff movne.w r0, #4294967295
|
|
1b180: f000 b97a b.w 1b478 <__aeabi_idiv0>
|
|
1b184: f1ad 0c08 sub.w ip, sp, #8
|
|
1b188: e96d ce04 strd ip, lr, [sp, #-16]!
|
|
1b18c: f000 f806 bl 1b19c <__udivmoddi4>
|
|
1b190: f8dd e004 ldr.w lr, [sp, #4]
|
|
1b194: e9dd 2302 ldrd r2, r3, [sp, #8]
|
|
1b198: b004 add sp, #16
|
|
1b19a: 4770 bx lr
|
|
|
|
0001b19c <__udivmoddi4>:
|
|
1b19c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
|
|
1b1a0: 468c mov ip, r1
|
|
1b1a2: 460d mov r5, r1
|
|
1b1a4: 4604 mov r4, r0
|
|
1b1a6: 9e08 ldr r6, [sp, #32]
|
|
1b1a8: 2b00 cmp r3, #0
|
|
1b1aa: d151 bne.n 1b250 <__udivmoddi4+0xb4>
|
|
1b1ac: 428a cmp r2, r1
|
|
1b1ae: 4617 mov r7, r2
|
|
1b1b0: d96d bls.n 1b28e <__udivmoddi4+0xf2>
|
|
1b1b2: fab2 fe82 clz lr, r2
|
|
1b1b6: f1be 0f00 cmp.w lr, #0
|
|
1b1ba: d00b beq.n 1b1d4 <__udivmoddi4+0x38>
|
|
1b1bc: f1ce 0c20 rsb ip, lr, #32
|
|
1b1c0: fa01 f50e lsl.w r5, r1, lr
|
|
1b1c4: fa20 fc0c lsr.w ip, r0, ip
|
|
1b1c8: fa02 f70e lsl.w r7, r2, lr
|
|
1b1cc: ea4c 0c05 orr.w ip, ip, r5
|
|
1b1d0: fa00 f40e lsl.w r4, r0, lr
|
|
1b1d4: ea4f 4a17 mov.w sl, r7, lsr #16
|
|
1b1d8: 0c25 lsrs r5, r4, #16
|
|
1b1da: fbbc f8fa udiv r8, ip, sl
|
|
1b1de: fa1f f987 uxth.w r9, r7
|
|
1b1e2: fb0a cc18 mls ip, sl, r8, ip
|
|
1b1e6: ea45 450c orr.w r5, r5, ip, lsl #16
|
|
1b1ea: fb08 f309 mul.w r3, r8, r9
|
|
1b1ee: 42ab cmp r3, r5
|
|
1b1f0: d90a bls.n 1b208 <__udivmoddi4+0x6c>
|
|
1b1f2: 19ed adds r5, r5, r7
|
|
1b1f4: f108 32ff add.w r2, r8, #4294967295
|
|
1b1f8: f080 8123 bcs.w 1b442 <__udivmoddi4+0x2a6>
|
|
1b1fc: 42ab cmp r3, r5
|
|
1b1fe: f240 8120 bls.w 1b442 <__udivmoddi4+0x2a6>
|
|
1b202: f1a8 0802 sub.w r8, r8, #2
|
|
1b206: 443d add r5, r7
|
|
1b208: 1aed subs r5, r5, r3
|
|
1b20a: b2a4 uxth r4, r4
|
|
1b20c: fbb5 f0fa udiv r0, r5, sl
|
|
1b210: fb0a 5510 mls r5, sl, r0, r5
|
|
1b214: ea44 4405 orr.w r4, r4, r5, lsl #16
|
|
1b218: fb00 f909 mul.w r9, r0, r9
|
|
1b21c: 45a1 cmp r9, r4
|
|
1b21e: d909 bls.n 1b234 <__udivmoddi4+0x98>
|
|
1b220: 19e4 adds r4, r4, r7
|
|
1b222: f100 33ff add.w r3, r0, #4294967295
|
|
1b226: f080 810a bcs.w 1b43e <__udivmoddi4+0x2a2>
|
|
1b22a: 45a1 cmp r9, r4
|
|
1b22c: f240 8107 bls.w 1b43e <__udivmoddi4+0x2a2>
|
|
1b230: 3802 subs r0, #2
|
|
1b232: 443c add r4, r7
|
|
1b234: eba4 0409 sub.w r4, r4, r9
|
|
1b238: ea40 4008 orr.w r0, r0, r8, lsl #16
|
|
1b23c: 2100 movs r1, #0
|
|
1b23e: 2e00 cmp r6, #0
|
|
1b240: d061 beq.n 1b306 <__udivmoddi4+0x16a>
|
|
1b242: fa24 f40e lsr.w r4, r4, lr
|
|
1b246: 2300 movs r3, #0
|
|
1b248: 6034 str r4, [r6, #0]
|
|
1b24a: 6073 str r3, [r6, #4]
|
|
1b24c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1b250: 428b cmp r3, r1
|
|
1b252: d907 bls.n 1b264 <__udivmoddi4+0xc8>
|
|
1b254: 2e00 cmp r6, #0
|
|
1b256: d054 beq.n 1b302 <__udivmoddi4+0x166>
|
|
1b258: 2100 movs r1, #0
|
|
1b25a: e886 0021 stmia.w r6, {r0, r5}
|
|
1b25e: 4608 mov r0, r1
|
|
1b260: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1b264: fab3 f183 clz r1, r3
|
|
1b268: 2900 cmp r1, #0
|
|
1b26a: f040 808e bne.w 1b38a <__udivmoddi4+0x1ee>
|
|
1b26e: 42ab cmp r3, r5
|
|
1b270: d302 bcc.n 1b278 <__udivmoddi4+0xdc>
|
|
1b272: 4282 cmp r2, r0
|
|
1b274: f200 80fa bhi.w 1b46c <__udivmoddi4+0x2d0>
|
|
1b278: 1a84 subs r4, r0, r2
|
|
1b27a: eb65 0503 sbc.w r5, r5, r3
|
|
1b27e: 2001 movs r0, #1
|
|
1b280: 46ac mov ip, r5
|
|
1b282: 2e00 cmp r6, #0
|
|
1b284: d03f beq.n 1b306 <__udivmoddi4+0x16a>
|
|
1b286: e886 1010 stmia.w r6, {r4, ip}
|
|
1b28a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1b28e: b912 cbnz r2, 1b296 <__udivmoddi4+0xfa>
|
|
1b290: 2701 movs r7, #1
|
|
1b292: fbb7 f7f2 udiv r7, r7, r2
|
|
1b296: fab7 fe87 clz lr, r7
|
|
1b29a: f1be 0f00 cmp.w lr, #0
|
|
1b29e: d134 bne.n 1b30a <__udivmoddi4+0x16e>
|
|
1b2a0: 1beb subs r3, r5, r7
|
|
1b2a2: 0c3a lsrs r2, r7, #16
|
|
1b2a4: fa1f fc87 uxth.w ip, r7
|
|
1b2a8: 2101 movs r1, #1
|
|
1b2aa: fbb3 f8f2 udiv r8, r3, r2
|
|
1b2ae: 0c25 lsrs r5, r4, #16
|
|
1b2b0: fb02 3318 mls r3, r2, r8, r3
|
|
1b2b4: ea45 4503 orr.w r5, r5, r3, lsl #16
|
|
1b2b8: fb0c f308 mul.w r3, ip, r8
|
|
1b2bc: 42ab cmp r3, r5
|
|
1b2be: d907 bls.n 1b2d0 <__udivmoddi4+0x134>
|
|
1b2c0: 19ed adds r5, r5, r7
|
|
1b2c2: f108 30ff add.w r0, r8, #4294967295
|
|
1b2c6: d202 bcs.n 1b2ce <__udivmoddi4+0x132>
|
|
1b2c8: 42ab cmp r3, r5
|
|
1b2ca: f200 80d1 bhi.w 1b470 <__udivmoddi4+0x2d4>
|
|
1b2ce: 4680 mov r8, r0
|
|
1b2d0: 1aed subs r5, r5, r3
|
|
1b2d2: b2a3 uxth r3, r4
|
|
1b2d4: fbb5 f0f2 udiv r0, r5, r2
|
|
1b2d8: fb02 5510 mls r5, r2, r0, r5
|
|
1b2dc: ea43 4405 orr.w r4, r3, r5, lsl #16
|
|
1b2e0: fb0c fc00 mul.w ip, ip, r0
|
|
1b2e4: 45a4 cmp ip, r4
|
|
1b2e6: d907 bls.n 1b2f8 <__udivmoddi4+0x15c>
|
|
1b2e8: 19e4 adds r4, r4, r7
|
|
1b2ea: f100 33ff add.w r3, r0, #4294967295
|
|
1b2ee: d202 bcs.n 1b2f6 <__udivmoddi4+0x15a>
|
|
1b2f0: 45a4 cmp ip, r4
|
|
1b2f2: f200 80b8 bhi.w 1b466 <__udivmoddi4+0x2ca>
|
|
1b2f6: 4618 mov r0, r3
|
|
1b2f8: eba4 040c sub.w r4, r4, ip
|
|
1b2fc: ea40 4008 orr.w r0, r0, r8, lsl #16
|
|
1b300: e79d b.n 1b23e <__udivmoddi4+0xa2>
|
|
1b302: 4631 mov r1, r6
|
|
1b304: 4630 mov r0, r6
|
|
1b306: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1b30a: f1ce 0420 rsb r4, lr, #32
|
|
1b30e: fa05 f30e lsl.w r3, r5, lr
|
|
1b312: fa07 f70e lsl.w r7, r7, lr
|
|
1b316: fa20 f804 lsr.w r8, r0, r4
|
|
1b31a: 0c3a lsrs r2, r7, #16
|
|
1b31c: fa25 f404 lsr.w r4, r5, r4
|
|
1b320: ea48 0803 orr.w r8, r8, r3
|
|
1b324: fbb4 f1f2 udiv r1, r4, r2
|
|
1b328: ea4f 4518 mov.w r5, r8, lsr #16
|
|
1b32c: fb02 4411 mls r4, r2, r1, r4
|
|
1b330: fa1f fc87 uxth.w ip, r7
|
|
1b334: ea45 4504 orr.w r5, r5, r4, lsl #16
|
|
1b338: fb01 f30c mul.w r3, r1, ip
|
|
1b33c: 42ab cmp r3, r5
|
|
1b33e: fa00 f40e lsl.w r4, r0, lr
|
|
1b342: d909 bls.n 1b358 <__udivmoddi4+0x1bc>
|
|
1b344: 19ed adds r5, r5, r7
|
|
1b346: f101 30ff add.w r0, r1, #4294967295
|
|
1b34a: f080 808a bcs.w 1b462 <__udivmoddi4+0x2c6>
|
|
1b34e: 42ab cmp r3, r5
|
|
1b350: f240 8087 bls.w 1b462 <__udivmoddi4+0x2c6>
|
|
1b354: 3902 subs r1, #2
|
|
1b356: 443d add r5, r7
|
|
1b358: 1aeb subs r3, r5, r3
|
|
1b35a: fa1f f588 uxth.w r5, r8
|
|
1b35e: fbb3 f0f2 udiv r0, r3, r2
|
|
1b362: fb02 3310 mls r3, r2, r0, r3
|
|
1b366: ea45 4503 orr.w r5, r5, r3, lsl #16
|
|
1b36a: fb00 f30c mul.w r3, r0, ip
|
|
1b36e: 42ab cmp r3, r5
|
|
1b370: d907 bls.n 1b382 <__udivmoddi4+0x1e6>
|
|
1b372: 19ed adds r5, r5, r7
|
|
1b374: f100 38ff add.w r8, r0, #4294967295
|
|
1b378: d26f bcs.n 1b45a <__udivmoddi4+0x2be>
|
|
1b37a: 42ab cmp r3, r5
|
|
1b37c: d96d bls.n 1b45a <__udivmoddi4+0x2be>
|
|
1b37e: 3802 subs r0, #2
|
|
1b380: 443d add r5, r7
|
|
1b382: 1aeb subs r3, r5, r3
|
|
1b384: ea40 4101 orr.w r1, r0, r1, lsl #16
|
|
1b388: e78f b.n 1b2aa <__udivmoddi4+0x10e>
|
|
1b38a: f1c1 0720 rsb r7, r1, #32
|
|
1b38e: fa22 f807 lsr.w r8, r2, r7
|
|
1b392: 408b lsls r3, r1
|
|
1b394: fa05 f401 lsl.w r4, r5, r1
|
|
1b398: ea48 0303 orr.w r3, r8, r3
|
|
1b39c: fa20 fe07 lsr.w lr, r0, r7
|
|
1b3a0: ea4f 4c13 mov.w ip, r3, lsr #16
|
|
1b3a4: 40fd lsrs r5, r7
|
|
1b3a6: ea4e 0e04 orr.w lr, lr, r4
|
|
1b3aa: fbb5 f9fc udiv r9, r5, ip
|
|
1b3ae: ea4f 441e mov.w r4, lr, lsr #16
|
|
1b3b2: fb0c 5519 mls r5, ip, r9, r5
|
|
1b3b6: fa1f f883 uxth.w r8, r3
|
|
1b3ba: ea44 4505 orr.w r5, r4, r5, lsl #16
|
|
1b3be: fb09 f408 mul.w r4, r9, r8
|
|
1b3c2: 42ac cmp r4, r5
|
|
1b3c4: fa02 f201 lsl.w r2, r2, r1
|
|
1b3c8: fa00 fa01 lsl.w sl, r0, r1
|
|
1b3cc: d908 bls.n 1b3e0 <__udivmoddi4+0x244>
|
|
1b3ce: 18ed adds r5, r5, r3
|
|
1b3d0: f109 30ff add.w r0, r9, #4294967295
|
|
1b3d4: d243 bcs.n 1b45e <__udivmoddi4+0x2c2>
|
|
1b3d6: 42ac cmp r4, r5
|
|
1b3d8: d941 bls.n 1b45e <__udivmoddi4+0x2c2>
|
|
1b3da: f1a9 0902 sub.w r9, r9, #2
|
|
1b3de: 441d add r5, r3
|
|
1b3e0: 1b2d subs r5, r5, r4
|
|
1b3e2: fa1f fe8e uxth.w lr, lr
|
|
1b3e6: fbb5 f0fc udiv r0, r5, ip
|
|
1b3ea: fb0c 5510 mls r5, ip, r0, r5
|
|
1b3ee: ea4e 4405 orr.w r4, lr, r5, lsl #16
|
|
1b3f2: fb00 f808 mul.w r8, r0, r8
|
|
1b3f6: 45a0 cmp r8, r4
|
|
1b3f8: d907 bls.n 1b40a <__udivmoddi4+0x26e>
|
|
1b3fa: 18e4 adds r4, r4, r3
|
|
1b3fc: f100 35ff add.w r5, r0, #4294967295
|
|
1b400: d229 bcs.n 1b456 <__udivmoddi4+0x2ba>
|
|
1b402: 45a0 cmp r8, r4
|
|
1b404: d927 bls.n 1b456 <__udivmoddi4+0x2ba>
|
|
1b406: 3802 subs r0, #2
|
|
1b408: 441c add r4, r3
|
|
1b40a: ea40 4009 orr.w r0, r0, r9, lsl #16
|
|
1b40e: eba4 0408 sub.w r4, r4, r8
|
|
1b412: fba0 8902 umull r8, r9, r0, r2
|
|
1b416: 454c cmp r4, r9
|
|
1b418: 46c6 mov lr, r8
|
|
1b41a: 464d mov r5, r9
|
|
1b41c: d315 bcc.n 1b44a <__udivmoddi4+0x2ae>
|
|
1b41e: d012 beq.n 1b446 <__udivmoddi4+0x2aa>
|
|
1b420: b156 cbz r6, 1b438 <__udivmoddi4+0x29c>
|
|
1b422: ebba 030e subs.w r3, sl, lr
|
|
1b426: eb64 0405 sbc.w r4, r4, r5
|
|
1b42a: fa04 f707 lsl.w r7, r4, r7
|
|
1b42e: 40cb lsrs r3, r1
|
|
1b430: 431f orrs r7, r3
|
|
1b432: 40cc lsrs r4, r1
|
|
1b434: 6037 str r7, [r6, #0]
|
|
1b436: 6074 str r4, [r6, #4]
|
|
1b438: 2100 movs r1, #0
|
|
1b43a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
|
|
1b43e: 4618 mov r0, r3
|
|
1b440: e6f8 b.n 1b234 <__udivmoddi4+0x98>
|
|
1b442: 4690 mov r8, r2
|
|
1b444: e6e0 b.n 1b208 <__udivmoddi4+0x6c>
|
|
1b446: 45c2 cmp sl, r8
|
|
1b448: d2ea bcs.n 1b420 <__udivmoddi4+0x284>
|
|
1b44a: ebb8 0e02 subs.w lr, r8, r2
|
|
1b44e: eb69 0503 sbc.w r5, r9, r3
|
|
1b452: 3801 subs r0, #1
|
|
1b454: e7e4 b.n 1b420 <__udivmoddi4+0x284>
|
|
1b456: 4628 mov r0, r5
|
|
1b458: e7d7 b.n 1b40a <__udivmoddi4+0x26e>
|
|
1b45a: 4640 mov r0, r8
|
|
1b45c: e791 b.n 1b382 <__udivmoddi4+0x1e6>
|
|
1b45e: 4681 mov r9, r0
|
|
1b460: e7be b.n 1b3e0 <__udivmoddi4+0x244>
|
|
1b462: 4601 mov r1, r0
|
|
1b464: e778 b.n 1b358 <__udivmoddi4+0x1bc>
|
|
1b466: 3802 subs r0, #2
|
|
1b468: 443c add r4, r7
|
|
1b46a: e745 b.n 1b2f8 <__udivmoddi4+0x15c>
|
|
1b46c: 4608 mov r0, r1
|
|
1b46e: e708 b.n 1b282 <__udivmoddi4+0xe6>
|
|
1b470: f1a8 0802 sub.w r8, r8, #2
|
|
1b474: 443d add r5, r7
|
|
1b476: e72b b.n 1b2d0 <__udivmoddi4+0x134>
|
|
|
|
0001b478 <__aeabi_idiv0>:
|
|
1b478: 4770 bx lr
|
|
1b47a: bf00 nop
|
|
|
|
0001b47c <__libc_init_array>:
|
|
1b47c: b570 push {r4, r5, r6, lr}
|
|
1b47e: 4e0d ldr r6, [pc, #52] ; (1b4b4 <__libc_init_array+0x38>)
|
|
1b480: 4c0d ldr r4, [pc, #52] ; (1b4b8 <__libc_init_array+0x3c>)
|
|
1b482: 1ba4 subs r4, r4, r6
|
|
1b484: 10a4 asrs r4, r4, #2
|
|
1b486: 2500 movs r5, #0
|
|
1b488: 42a5 cmp r5, r4
|
|
1b48a: d109 bne.n 1b4a0 <__libc_init_array+0x24>
|
|
1b48c: 4e0b ldr r6, [pc, #44] ; (1b4bc <__libc_init_array+0x40>)
|
|
1b48e: 4c0c ldr r4, [pc, #48] ; (1b4c0 <__libc_init_array+0x44>)
|
|
1b490: f00e fab4 bl 299fc <_init>
|
|
1b494: 1ba4 subs r4, r4, r6
|
|
1b496: 10a4 asrs r4, r4, #2
|
|
1b498: 2500 movs r5, #0
|
|
1b49a: 42a5 cmp r5, r4
|
|
1b49c: d105 bne.n 1b4aa <__libc_init_array+0x2e>
|
|
1b49e: bd70 pop {r4, r5, r6, pc}
|
|
1b4a0: f856 3025 ldr.w r3, [r6, r5, lsl #2]
|
|
1b4a4: 4798 blx r3
|
|
1b4a6: 3501 adds r5, #1
|
|
1b4a8: e7ee b.n 1b488 <__libc_init_array+0xc>
|
|
1b4aa: f856 3025 ldr.w r3, [r6, r5, lsl #2]
|
|
1b4ae: 4798 blx r3
|
|
1b4b0: 3501 adds r5, #1
|
|
1b4b2: e7f2 b.n 1b49a <__libc_init_array+0x1e>
|
|
1b4b4: 00029a08 .word 0x00029a08
|
|
1b4b8: 00029a08 .word 0x00029a08
|
|
1b4bc: 00029a08 .word 0x00029a08
|
|
1b4c0: 00029a0c .word 0x00029a0c
|
|
|
|
0001b4c4 <memcmp>:
|
|
1b4c4: b510 push {r4, lr}
|
|
1b4c6: 3901 subs r1, #1
|
|
1b4c8: 4402 add r2, r0
|
|
1b4ca: 4290 cmp r0, r2
|
|
1b4cc: d101 bne.n 1b4d2 <memcmp+0xe>
|
|
1b4ce: 2000 movs r0, #0
|
|
1b4d0: bd10 pop {r4, pc}
|
|
1b4d2: f810 3b01 ldrb.w r3, [r0], #1
|
|
1b4d6: f811 4f01 ldrb.w r4, [r1, #1]!
|
|
1b4da: 42a3 cmp r3, r4
|
|
1b4dc: d0f5 beq.n 1b4ca <memcmp+0x6>
|
|
1b4de: 1b18 subs r0, r3, r4
|
|
1b4e0: bd10 pop {r4, pc}
|
|
|
|
0001b4e2 <strcmp>:
|
|
1b4e2: f810 2b01 ldrb.w r2, [r0], #1
|
|
1b4e6: f811 3b01 ldrb.w r3, [r1], #1
|
|
1b4ea: 2a01 cmp r2, #1
|
|
1b4ec: bf28 it cs
|
|
1b4ee: 429a cmpcs r2, r3
|
|
1b4f0: d0f7 beq.n 1b4e2 <strcmp>
|
|
1b4f2: 1ad0 subs r0, r2, r3
|
|
1b4f4: 4770 bx lr
|
|
|
|
0001b4f6 <strcpy>:
|
|
1b4f6: 4603 mov r3, r0
|
|
1b4f8: f811 2b01 ldrb.w r2, [r1], #1
|
|
1b4fc: f803 2b01 strb.w r2, [r3], #1
|
|
1b500: 2a00 cmp r2, #0
|
|
1b502: d1f9 bne.n 1b4f8 <strcpy+0x2>
|
|
1b504: 4770 bx lr
|
|
|
|
0001b506 <strlen>:
|
|
1b506: 4603 mov r3, r0
|
|
1b508: f813 2b01 ldrb.w r2, [r3], #1
|
|
1b50c: 2a00 cmp r2, #0
|
|
1b50e: d1fb bne.n 1b508 <strlen+0x2>
|
|
1b510: 1a18 subs r0, r3, r0
|
|
1b512: 3801 subs r0, #1
|
|
1b514: 4770 bx lr
|
|
1b516: 0000 movs r0, r0
|
|
1b518: 682f2e2e .word 0x682f2e2e
|
|
1b51c: 702f6c70 .word 0x702f6c70
|
|
1b520: 2f74726f .word 0x2f74726f
|
|
1b524: 5f6c7068 .word 0x5f6c7068
|
|
1b528: 6f697067 .word 0x6f697067
|
|
1b52c: 7361625f .word 0x7361625f
|
|
1b530: 00682e65 .word 0x00682e65
|
|
1b534: 682f2e2e .word 0x682f2e2e
|
|
1b538: 732f6c61 .word 0x732f6c61
|
|
1b53c: 682f6372 .word 0x682f6372
|
|
1b540: 695f6c61 .word 0x695f6c61
|
|
1b544: 00632e6f .word 0x00632e6f
|
|
1b548: 682f2e2e .word 0x682f2e2e
|
|
1b54c: 732f6c61 .word 0x732f6c61
|
|
1b550: 682f6372 .word 0x682f6372
|
|
1b554: 745f6c61 .word 0x745f6c61
|
|
1b558: 72656d69 .word 0x72656d69
|
|
1b55c: 0000632e .word 0x0000632e
|
|
1b560: 682f2e2e .word 0x682f2e2e
|
|
1b564: 732f6c61 .word 0x732f6c61
|
|
1b568: 682f6372 .word 0x682f6372
|
|
1b56c: 755f6c61 .word 0x755f6c61
|
|
1b570: 74726173 .word 0x74726173
|
|
1b574: 7973615f .word 0x7973615f
|
|
1b578: 632e636e .word 0x632e636e
|
|
1b57c: 00000000 .word 0x00000000
|
|
1b580: 682f2e2e .word 0x682f2e2e
|
|
1b584: 752f6c61 .word 0x752f6c61
|
|
1b588: 736c6974 .word 0x736c6974
|
|
1b58c: 6372732f .word 0x6372732f
|
|
1b590: 6974752f .word 0x6974752f
|
|
1b594: 6c5f736c .word 0x6c5f736c
|
|
1b598: 2e747369 .word 0x2e747369
|
|
1b59c: 00000063 .word 0x00000063
|
|
1b5a0: 682f2e2e .word 0x682f2e2e
|
|
1b5a4: 752f6c61 .word 0x752f6c61
|
|
1b5a8: 736c6974 .word 0x736c6974
|
|
1b5ac: 6372732f .word 0x6372732f
|
|
1b5b0: 6974752f .word 0x6974752f
|
|
1b5b4: 725f736c .word 0x725f736c
|
|
1b5b8: 62676e69 .word 0x62676e69
|
|
1b5bc: 65666675 .word 0x65666675
|
|
1b5c0: 00632e72 .word 0x00632e72
|
|
1b5c4: 40003000 .word 0x40003000
|
|
1b5c8: 40003400 .word 0x40003400
|
|
1b5cc: 41012000 .word 0x41012000
|
|
1b5d0: 41014000 .word 0x41014000
|
|
1b5d4: 43000000 .word 0x43000000
|
|
1b5d8: 43000400 .word 0x43000400
|
|
1b5dc: 43000800 .word 0x43000800
|
|
1b5e0: 43000c00 .word 0x43000c00
|
|
|
|
0001b5e4 <_i2cms>:
|
|
1b5e4: 00000003 00200014 00000100 000000ff ...... .........
|
|
1b5f4: 00d70000 07270400 682f2e2e 732f6c70 ......'.../hpl/s
|
|
1b604: 6f637265 70682f6d 65735f6c 6d6f6372 ercom/hpl_sercom
|
|
1b614: 0000632e 40003800 40003c00 4101a000 .c...8.@.<.@...A
|
|
1b624: 4101c000 42001400 42001800 43001400 ...A...B...B...C
|
|
1b634: 43001800 ...C
|
|
|
|
0001b638 <_tcs>:
|
|
1b638: 006b0000 00000308 00000000 00003a97 ..k..........:..
|
|
1b648: 00000000 682f2e2e 742f6c70 70682f63 ....../hpl/tc/hp
|
|
1b658: 63745f6c 0000632e l_tc.c..
|
|
|
|
0001b660 <hornet>:
|
|
1b660: 1662e40a 0000855b 0001b66c ..b.[...l...
|
|
|
|
0001b66c <hornet_map>:
|
|
1b66c: ff07060b ffac882c ff871f25 ff895139 ....,...%...9Q..
|
|
1b67c: ffdcc46d ffc88348 ffc65632 ff46434d m...H...2V..MCF.
|
|
1b68c: ff480a16 ffbca25c ffc22d38 ff8b6c67 ..H.\...8-..gl..
|
|
1b69c: ff48272d ff893622 ffc76d41 ffc38576 -'H."6..Am..v...
|
|
1b6ac: ffc6a49a ffa53520 ff692621 ffa95139 .... 5..!&i.9Q..
|
|
1b6bc: ffe8e2a9 ff26242e ffe96e40 ffe98843 .....$&.@n..C...
|
|
1b6cc: ffaea64b ff873848 ffc5c4c9 ffa86e33 K...H8......3n..
|
|
1b6dc: ff69646a ffe45640 ff69342e ff280917 jdi.@V...4i...(.
|
|
1b6ec: ffa8554e ffe7a996 ff838383 ff67101b NU............g.
|
|
1b6fc: ff9e8880 ffc76e60 ffe7a65f ffe99647 ....`n.._...G...
|
|
1b70c: ffe68779 ffa9202e ff694527 ff8a4335 y.... ..'Ei.5C..
|
|
1b71c: ffa76f64 ff493329 ffc0b5af ff89575f do..)3I....._W..
|
|
1b72c: ffc75543 ffa9462d ff9f9789 ffab603f CU..-F......?`..
|
|
1b73c: ff882c1d ffc97948 ff27151b ffc69482 .,..Hy....'.....
|
|
1b74c: ff69282f ffe6b669 ffdfd484 ff48151b /(i.i.........H.
|
|
1b75c: ffc89364 ffe66e5b ffc14715 ffe4c4bc d...[n...G......
|
|
1b76c: ff98371e ffc66343 ffe1e4e8 ff73542a .7..Cc......*Ts.
|
|
1b77c: ff673a3e ffb7532b ff872b32 ffe68a60 >:g.+S..2+..`...
|
|
1b78c: ff19141e ffd68448 ff38373f ffea9964 ....H...?78.d...
|
|
1b79c: ffd69881 ff875f47 ff592621 ff37161a ....G_..!&Y...7.
|
|
1b7ac: ffe65550 ff886e77 ffd8a894 ffa97a73 PU..wn......sz..
|
|
1b7bc: ff571922 ffeba872 fff6f3de ffa3a59e ".W.r...........
|
|
1b7cc: ffe03d49 ff671c24 ffa28c94 ffa86254 I=..$.g.....Tb..
|
|
1b7dc: ffecc483 ffd76e48 ffa9473f ffa93a38 ....Hn..?G..8:..
|
|
1b7ec: ffd5d4d6 ffa77937 ffe76254 ff595861 ....7y..Tb..aXY.
|
|
1b7fc: ff884648 ffd6b4a7 ffb0999a ff9b5036 HF..........6P..
|
|
1b80c: ff782620 ff392328 ffb3b5b4 ffe77a45 &x.(#9.....Ez..
|
|
1b81c: ffe8b596 ff593331 ffd87a46 ffc19aa2 ....13Y.Fz......
|
|
1b82c: ff160c16 ffb1887e ff886263 ff797679 ....~...cb..yvy.
|
|
1b83c: ff762930 ffc13d43 ff973c30 ff79362d 0)v.C=..0<..-6y.
|
|
1b84c: ff67474c ff994530 ffbfb560 fff7975f LGg.0E..`..._...
|
|
1b85c: ffd7624b ffc9875c ff952d18 ffe87959 Kb..\....-..Yy..
|
|
1b86c: ffc04945 ff94968f ff9c9729 ffebddae EI......).......
|
|
1b87c: ffc0aa64 ffe99a78 fff3ead1 ffc56232 d...x.......2b..
|
|
1b88c: ffd8343e ff685a61 ffda9842 fff1643e >4..aZh.B...>d..
|
|
1b89c: ff928678 ffd8b859 ffc67a62 ffe4dcdd x...Y...bz......
|
|
1b8ac: ff867c7c ff574a54 ffdaa94f ffd58a7b ||..TJW.O...{...
|
|
1b8bc: ffafa9a4 ffd9a57b ffd6cdcd ff766b6f ....{.......okv.
|
|
1b8cc: ffecd27c fff7b894 ffa99931 ff84766c |.......1...lv..
|
|
1b8dc: ffe1cb82 ffd85019 fff5b57b ffb96d49 .....P..{...Im..
|
|
1b8ec: ffbb7947 ffac2b34 ffd7895e ffa48654 Gy..4+..^...T...
|
|
1b8fc: ff972129 ff570c18 ffc3aaaf ffede6bf )!....W.........
|
|
1b90c: ffacac64 ff370815 fff9a55c ff7b4432 d.....7.\...2D{.
|
|
1b91c: ffc1bcbf fff69b7e ff78575a ffb76e5f ....~...ZWx._n..
|
|
1b92c: ff99614b ffb97a64 ff771a22 ff994747 Ka..dz..".w.GG..
|
|
1b93c: ff986266 fff68745 fff6a996 ff77121c fb..E.........w.
|
|
1b94c: fff7964c ffd8544a fffbc7b6 ff783a40 L...JT......@:x.
|
|
1b95c: fffa875f fff5a67a ffae8b97 ff78484a _...z.......JHx.
|
|
1b96c: fff8d7bb fffbfaf8 fff2c89a ffeeebeb ................
|
|
1b97c: fffb6e49 ffb7624f fffb6459 ffd97965 In..Ob..Yd..ey..
|
|
1b98c: ff883930 ff973747 ff483942 ff291825 09..G7..B9H.%.).
|
|
1b99c: ffe4da9b ff481725 ffd79d99 ff381825 ....%.H.....%.8.
|
|
1b9ac: fff75652 ff995249 ffe5bcb4 ff5a373e RV..IR......>7Z.
|
|
1b9bc: ff98944c ffd99566 fffcd2d4 ffb7584e L...f.......NX..
|
|
1b9cc: ff97595d ffc3343f ffdc494b ff95786b ]Y..?4..KI..kx..
|
|
1b9dc: ffb9613b ff982931 fff97a43 ffd03c46 ;a..1)..Cz..F<..
|
|
1b9ec: fffb785b ff997b7b ffa63c23 ffc79d8b [x..{{..#<......
|
|
1b9fc: ffdadbdf ff885350 ff9f9b96 ffeab97a ....PS......z...
|
|
1ba0c: ffb7553a ff572a2f ffd7aba7 ffd9babb :U../*W.........
|
|
1ba1c: ff382938 ff8e8b89 ffdbbb69 ffecd7a1 8)8.....i.......
|
|
1ba2c: fff8b8ab ff966f68 ffab6c51 ffd86f5d ....ho..Ql..]o..
|
|
1ba3c: fffb6e5b ff997077 ffd56331 ffd14848 [n..wp..1c..HH..
|
|
1ba4c: fffc5a44 ffdccc73 ff4b4b54 ffc38c7a DZ..s...TKK.z...
|
|
1ba5c: ffc6ac9f ff2b2c37 ffcbcbcf ff6b6b6f ....7,+.....okk.
|
|
1ba6c: 70707070 70707070 70707070 70704870 pppppppppppppHpp
|
|
1ba7c: 48487070 36363648 e90c69cb 7744442d ppHHH666.i..-DDw
|
|
1ba8c: 771212e9 133179c8 c8763113 133179c8 ...w.y1..1v..y1.
|
|
1ba9c: e2e23131 407e40e2 40e2e2e2 25c531e2 11...@~@...@.1.%
|
|
1baac: 30c785a2 0d76b35e 46464646 404040dd ...0^.v.FFFF.@@@
|
|
1babc: d1135e5f 5f762bb3 c876765f 9ca240c8 _^...+v__vv..@..
|
|
1bacc: e714c156 bd0439bd 9c263ae7 140404a7 V....9...:&.....
|
|
1badc: 7be0bce7 8047efef f3bc3d80 569c4733 ...{..G..=..3G.V
|
|
1baec: 5c56c1c1 9ce79cee 56ef39f9 9c86f93a ..V\.....9.V:...
|
|
1bafc: 0e0ec785 9ccc55c7 c156e74b 9f35a2c2 .....U..K.V...5.
|
|
1bb0c: 9f9f9f9f 339f9f9f 67672033 20677979 .......33 ggyyg
|
|
1bb1c: dc132020 1e126717 7070704e 70707070 ...g..Nppppppp
|
|
1bb2c: 70707070 70487070 48487070 36364848 ppppppHpppHHHH66
|
|
1bb3c: 694e0c36 2b2b2d69 744e1e2b 3179c877 6.Nii-+++.Ntw.y1
|
|
1bb4c: 7631315e 3179c8c8 e2313113 3440e2e2 ^11v..y1.11...@4
|
|
1bb5c: e2313140 9f9fd731 c72825c5 76b35e30 @11.1....%(.0^.v
|
|
1bb6c: 4634340d 40407e46 13b37640 2b2bb3d1 .44FF~@@@v....++
|
|
1bb7c: 40765f5f 6e407676 86c1869c f9e73904 __v@vv@n.....9..
|
|
1bb8c: 559c3955 ee9c869c f4bc5c14 4783ef7b U9.U.....\..{..G
|
|
1bb9c: bc625e80 044720f3 c1c1c186 c28304f9 .^b.. G.........
|
|
1bbac: 9c39f9e7 a7f9ccc1 35354b9c a75cd535 ..9......K555.\.
|
|
1bbbc: 565c55ef 3cd5efc1 7d7d7d7d 05050505 .U\V...<}}}}....
|
|
1bbcc: c59f9fa0 33333333 dc333333 77136e17 ....3333333..n.w
|
|
1bbdc: 7070740d 70707070 70707070 36487070 .tppppppppppppH6
|
|
1bbec: 48707048 cb364848 4e4ecb36 bb1e1e0c HppHHH6.6.NN....
|
|
1bbfc: 4ec82bb3 2bc87777 79797979 79c8c876 .+.Nww.+yyyyv..y
|
|
1bc0c: 31131331 40e2e231 1331e240 13c5af33 1..11..@@.1.3...
|
|
1bc1c: 28f3e831 b35ee8f3 34340d76 7e7e4646 1..(..^.v.44FF~~
|
|
1bc2c: b3764040 2bb3d113 76315f2b 40767640 @@v....++_1v@vv@
|
|
1bc3c: 86a79c6e e7393a56 f955553a 9c86e726 n...V:9.:UU.&...
|
|
1bc4c: b59c83ee 83efbce0 7cb35e4b 6e13f3e0 ........K^.|...n
|
|
1bc5c: c1c186e7 a73a3ac1 550455e7 0483c19c .....::..U.U....
|
|
1bc6c: 67a2e73a 5c55a2a0 5c9e14a7 2683c156 :..g..U\...\V..&
|
|
1bc7c: 3c3c3cd5 7d7d3c3c 9f350505 9fdcdc9f .<<<<<}}..5.....
|
|
1bc8c: 3113c5c5 33336e0e 700d0d34 70707070 ...1.n334..ppppp
|
|
1bc9c: 70707070 48707070 70704836 36484848 pppppppH6HppHHH6
|
|
1bcac: 1e6936cb bb790c0c c82bbbbb c877744e .6i...y...+.Ntw.
|
|
1bcbc: 2b2bc8c8 76c8c8c8 13133179 31313131 ..++...vy1..1111
|
|
1bccc: c53176e2 7613c5af 25e83176 b3e841f3 .v1....vv1.%.A..
|
|
1bcdc: 340d76b3 34343434 5f114040 b3d1d1b3 .v.44444@@._....
|
|
1bcec: 3131762b 76767676 c2e7f340 04a7c1c0 +v11vvvv@.......
|
|
1bcfc: 55553a04 86e72604 9ccc8d3a c2bce0b8 .:UU.&..:.......
|
|
1bd0c: b35e4bcc d13de07c c1a7396e 8383c1c1 .K^.|.=.n9......
|
|
1bd1c: 042639a7 14c19c55 9f4b9ee7 99853564 .9&.U.....K.d5..
|
|
1bd2c: 9e14a75c 83c186e7 7d3cd526 7d3c3c3c \.......&.<}<<<}
|
|
1bd3c: a005057d 33dc9f9f 13dcc5dc 0d794579 }......3....yEy.
|
|
1bd4c: 0d74680d 70707070 70707070 70707070 .ht.pppppppppppp
|
|
1bd5c: 70704836 36484870 cfcbcbcb 2b1e6912 6HpppHH6.....i.+
|
|
1bd6c: 2b6dbbbb 7774122b 762b2bc8 c8c8c876 ..m++.tw.++vv...
|
|
1bd7c: 13317976 13313113 9f133131 407933af vy1..11.11...3y@
|
|
1bd8c: 790d7676 5ee8e8e8 0d76b3b3 34343434 vv.y...^..v.4444
|
|
1bd9c: 11407e34 1313b35f 31767967 76767631 4~@._...gyv11vvv
|
|
1bdac: 390e7676 c1c156ef 39cc043a 39260426 vv.9.V..:..9&.&9
|
|
1bdbc: cc8def86 bce0b89c 5e4bcc5c 3dbc7c64 ........\.K^d|.=
|
|
1bdcc: a7550ed1 a7c1c1c1 26e7a7cc 569c55ee ..U........&.U.V
|
|
1bddc: 35475583 2149f1b0 14143a9c c186e79e .UG5..I!.:......
|
|
1bdec: 3cd52683 7d7d7d7d 3505057d dc9fa035 .&.<}}}}}..55...
|
|
1bdfc: 13133333 0d767979 12743379 70707068 33..yyv.y3t.hppp
|
|
1be0c: 70707070 70707070 70704848 36484870 ppppppppHHpppHH6
|
|
1be1c: cbcbcb36 c80c3636 d344bb2b 7412bb79 6...66..+.D.y..t
|
|
1be2c: 792bc877 76797979 3179c8c8 13131313 w.+yyyyv..y1....
|
|
1be3c: af9f1331 763113dc e6344040 3131e22c 1.....1v@@4.,.11
|
|
1be4c: 7679b35e 34340d0d 40403434 13b35f11 ^.yv..4444@@._..
|
|
1be5c: 76b31313 7679315f 417676c8 c1c11439 ...v_1yv.vvA9...
|
|
1be6c: 1404ccc1 26ee4be7 8d83a755 f4b89c3a .....K.&U...:...
|
|
1be7c: 4bcce7bc bc7cb35e 260e133d c1c1c183 ...K^.|.=..&....
|
|
1be8c: e7a79c83 e755e726 0e4befa7 a2f2f5dc ....&.U...K.....
|
|
1be9c: 143acc5c ef55e714 d52683c1 a27d7d3c \.:...U...&.<}}.
|
|
1beac: 05057d7d 9f356e35 311333dc 40767979 }}..5n5..3.1yyv@
|
|
1bebc: c87d3334 70701268 70707070 70704870 43}.h.pppppppHpp
|
|
1becc: 70707070 48487070 cbcbcb36 773636cb ppppppHH6....66w
|
|
1bedc: 44bb2b76 1ee91ebb 2bc87774 31317979 v+.D....tw.+yy11
|
|
1beec: 79c8c879 e8e81331 c5b19fe8 31313131 y..y1.......1111
|
|
1befc: 647e0d40 5e406fc1 b35e5e5e 34340d76 @.~d.o@^^^^.v.44
|
|
1bf0c: 40343434 b35f4040 5e131313 31313176 444@@@_....^v111
|
|
1bf1c: 76767631 56ef3941 f914c1c1 397b5ca7 1vvvA9.V.....\{9
|
|
1bf2c: 83a72626 273a9c8d 3a39e0f4 b9b3804b &&....:'..9:K...
|
|
1bf3c: c5133dbc c1c18355 869c83c1 55e7269c .=..U........&.U
|
|
1bf4c: c75c3ae7 33e633dc 3a145cd5 bde714cc .:\..3.3.\.:....
|
|
1bf5c: 26ef865c 7d7d3c3c 05057d7d 35491735 \..&<<}}}}..5.I5
|
|
1bf6c: 1333dc9f 0d0d7979 c513680d 7074680d ..3.yy...h...htp
|
|
1bf7c: 48487070 70364870 70483670 48707070 ppHHpH6pp6HppppH
|
|
1bf8c: cbcbcb48 cbcbcbcb bb2b7677 771e6d44 H.......wv+.Dm.w
|
|
1bf9c: 77771277 3179792b c8c87931 e8131379 w.ww+yy11y..y...
|
|
1bfac: d78e8ec5 31e2e231 024040e2 40a6c1be ....1..1.@@....@
|
|
1bfbc: 5e5e5e5e 340d76b3 0d346834 5f404040 ^^^^.v.44h4.@@@_
|
|
1bfcc: 1313135e 31315e5e 795e3131 5c264176 ^...^^1111^yvA&\
|
|
1bfdc: a7c1c186 7b9ca7f9 83264b55 3a048da7 .......{UK&....:
|
|
1bfec: bdf4f44b 5e807b3a 5b3de030 c18699af K...:{.^0.=[....
|
|
1bffc: 9c14c1c1 554b9c86 4be75555 662ce89f ......KUUU.K..,f
|
|
1c00c: 145c4b33 e714cc3a efcc9ebd 7d3c7d85 3K\.:........}<}
|
|
1c01c: 057d7d7d 6e176e05 33dc9f35 0d767913 }}}..n.n5..3.yv.
|
|
1c02c: 79680d0d 74687413 70707070 48367070 ..hy.thtpppppp6H
|
|
1c03c: 36367070 48707048 cbcb3648 69cbcbcb pp66HppHH6.....i
|
|
1c04c: bb1e6936 bb44d344 777777c8 792b2b77 6i..D.D..wwww++y
|
|
1c05c: c8c87979 e8137979 e8257d8e 40403113 yy..yy...}%..1@@
|
|
1c06c: 4040e2e2 60c1fe68 5e5e3176 0d76b35e ..@@h..`v1^^^.v.
|
|
1c07c: bb72680d 11e27eb2 13135e5f 315ee813 .hr..~.._^....^1
|
|
1c08c: 5ee85e31 aa877931 c1c1869e 3aa7f9a7 1^.^1y.........:
|
|
1c09c: 4b4b267b ee26a783 f4f44b3a 307b9cad {&KK..&.:K....{0
|
|
1c0ac: 17e0e85e 83c210b1 a7c1c156 4b9c869c ^.......V......K
|
|
1c0bc: 477b5555 6613dc0e 5c4bdc24 cc3a9ccc UU{G...f$.K\..:.
|
|
1c0cc: 5cbdade7 7d7dd55c 7d7d7d7d 49173505 ...\\.}}}}}}.5.I
|
|
1c0dc: dc9f9f35 76797913 340d0d0d 68687468 5....yyv...4hthh
|
|
1c0ec: 70707068 70707070 48703670 70484836 hpppppppp6pH6HHp
|
|
1c0fc: cbcb4848 cbcbcbcb 69cbcbcb 2b44d32d HH.........i-.D+
|
|
1c10c: 770dc8ab 2b2b7777 c8c8792b 9f137979 ...www+++y..yy..
|
|
1c11c: d7418e8e 344031e8 40e2e27e 5642e534 ..A..1@4~..@4.BV
|
|
1c12c: 5e5fd156 76b35e5e 2eb20d0d 7e7766c1 V._^^^.v.....fw~
|
|
1c13c: 135e31e2 5ee81313 13133131 6e311313 .1^....^11....1n
|
|
1c14c: c156e7aa 863a86c1 4b4b7bcc 39a7cc4b ..V...:..{KKK..9
|
|
1c15c: e04bf939 7be77bc6 27dc5e30 5510fc85 9.K..{.{0^.'...U
|
|
1c16c: c1c1569c 9c86f9a7 bcad4b4b 67dce80e .V......KK.....g
|
|
1c17c: d50eb4ac 9c9c3a5c 85ade7cc 7dd59e9e ....\:.........}
|
|
1c18c: 7d7d7d7d 4935057d dc9f3535 79791333 }}}}}.5I55..3.yy
|
|
1c19c: 0d0d4076 6868340d 70707474 70707070 v@...4hhttpppppp
|
|
1c1ac: 70487070 4836cf48 cb484870 cb15cbcb ppHpH.6HpHH.....
|
|
1c1bc: 0ccbcbcb 44d32d0c 7979ab2b 2b77c840 .....-.D+.yy@.w+
|
|
1c1cc: 7931792b 8edc7979 4141258e 7e1131d7 +y1yyy...%AA.1.~
|
|
1c1dc: 11117e34 c3e10240 4053c1c3 b35e5e5e 4~..@.....S@^^^.
|
|
1c1ec: 340d0d76 42c142bb 5e3134f1 13131313 v..4.B.B.41^....
|
|
1c1fc: 13135e5e dcc535e8 569c4b27 3a86c1c1 ^^...5..'K.V...:
|
|
1c20c: 7b7bcca7 a73a4b4b 4bee2639 e7bcc6e0 ..{{KK:.9&.K....
|
|
1c21c: 8ac5b97b 5b715255 c156ee47 86f9a7c1 {...URq[G.V.....
|
|
1c22c: bc7b4b3a 1313e85d 0ed11ab4 9c3ae7d5 :K{.].........:.
|
|
1c23c: ad5ccc9c a2555585 7d7d7d7d 05057d7d ..\..UU.}}}}}}..
|
|
1c24c: 9f9f3505 793113dc 76767979 76767676 .5....1yyyvvvvvv
|
|
1c25c: 70120d0d 48707070 70707070 36cfcf70 ...ppppHppppp..6
|
|
1c26c: 36487036 69cbcbcb e9cb6969 6d4477c8 6pH6...iii...wDm
|
|
1c27c: 132bd344 c80d795e dc13792b 8eaf1313 D.+.^y..+y......
|
|
1c28c: 2541c525 11e2e841 117e347e 94684011 %.A%A...~4~..@h.
|
|
1c29c: 10c1c3c3 5e5e5e40 460d76b3 c172b240 ....@^^^.v.F@.r.
|
|
1c2ac: c894c1c1 131313e2 135e5e5e dc3939e8 ........^^^..99.
|
|
1c2bc: 9c47dcdc 56c1c156 27cca7f9 9c277bb8 ..G.V..V...'.{'.
|
|
1c2cc: 394b39a7 bcc6e07b d5f37b55 20b13755 .9K9{...U{..U7.
|
|
1c2dc: 86396ed1 f9a7c1c1 bc27efa7 e813e87f .n9.......'.....
|
|
1c2ec: 13ac6679 f9e7856e 5c3a5c5c d5d585bd yf..n...\\:\....
|
|
1c2fc: 7d7d7dd5 05050505 35350505 1313dc35 .}}}......555...
|
|
1c30c: 79797979 79797979 c8797979 70707070 yyyyyyyyyyy.pppp
|
|
1c31c: 70707048 cbcf3600 48483636 cbcbcb36 Hppp.6..66HH6...
|
|
1c32c: cb696969 bb77c877 ababb3bb 0d763113 iii.w.w......1v.
|
|
1c33c: 13792bc8 9fb19fc5 41d7e813 e245e841 .+y........AA.E.
|
|
1c34c: 7e347e11 68401111 c1c3c32e 5e31c896 .~4~..@h......1^
|
|
1c35c: 0d76b35e 5940460d c1c1c194 2079d160 ^.v..F@Y....`.y
|
|
1c36c: 5eb3b3d1 9f9895e8 47313113 c1c1869c ...^.....11G....
|
|
1c37c: cca73a56 17b8bc27 b839a79c d0f4b8aa V:..'.....9.....
|
|
1c38c: 21b69ebc 205bb195 395dd1d1 a7c1c1a7 ...!..[ ..]9....
|
|
1c39c: 273aa7f9 1313dc3d be1a79e8 e7ad47e8 ..:'=....y...G..
|
|
1c3ac: 3a5ce79c a285bd5c 7da24bd5 a005057d ..\:\....K.}}...
|
|
1c3bc: 350505a0 13130e6e 79767979 31797979 ...5n...yyvyyyy1
|
|
1c3cc: 5e5e315e 70707079 70704848 36004870 ^1^^ypppHHpppH.6
|
|
1c3dc: 48cb36cf cbcbcb48 69696915 c8c869cb .6.HH....iii.i..
|
|
1c3ec: b3b32b1e 4076b32b 79797940 138e8e13 .+..+.v@@yyy....
|
|
1c3fc: 31317979 31314531 3440e2e2 40e2117e yy111E11..@4~..@
|
|
1c40c: c3c360c8 31d1c3c1 7679b313 46460d0d .`.....1..yv..FF
|
|
1c41c: c1e47734 53c3c1c1 b3b31379 9fd59f5e 4w.....Sy...^...
|
|
1c42c: 31311313 c1a70447 a73a56c1 b8e04bcc ..11G....V:..K..
|
|
1c43c: 55a7e7b5 e0b5bce0 babaadf4 b320c54c ...U........L. .
|
|
1c44c: 5db3d1b3 c1c18326 cc830486 13134127 ...]&.......'A..
|
|
1c45c: e4d81313 adad5db4 e7e79c9e 85bd5c3a .....]......:\..
|
|
1c46c: a285d5a2 a0057d7d a0a0a0a0 13339f9f ....}}........3.
|
|
1c47c: 0d2b7913 31797976 795e3131 70707979 .y+.vyy111^yyypp
|
|
1c48c: 70483648 480ce969 cb363670 cbcb4836 H6Hpi..Hp66.6H..
|
|
1c49c: 696915cb 794ecb69 abab6d77 40312b67 ..iii.Nywm..g+1@
|
|
1c4ac: 13131376 13af8e33 79797979 e2317979 v...3...yyyyyy1.
|
|
1c4bc: 4011e2e2 e2117e34 8f42e57e 53c1c342 ...@4~..~.B.B..S
|
|
1c4cc: b37913e2 460d0d76 72a44034 c1c156c1 ..y.v..F4@.r.V..
|
|
1c4dc: b37971c1 13d75eb3 795e135e a7046e76 .qy..^..^.^yvn..
|
|
1c4ec: f956c1c1 e04b1414 14e7b8b5 bce06226 ..V...K.....&b..
|
|
1c4fc: babaadbc 5e807cad b3d1b364 c1cc265d .....|.^d...]&..
|
|
1c50c: cc0486c1 31e8273a 24791331 ad47d860 ....:'.11.y$`.G.
|
|
1c51c: e79c9e85 bd5c9ce7 85d5a285 7d7d7da2 ......\......}}}
|
|
1c52c: a0a0057d 9f9fa0a0 79133333 760d0d0d }.......33.y...v
|
|
1c53c: 5e793179 7079795e 36364870 0c0c7000 y1y^^yyppH66.p..
|
|
1c54c: 367070cb cb484836 6969cbcb 4ecb6969 .pp66HH...iiii.N
|
|
1c55c: bb1ee9c8 79b32b64 c5d71376 13c57d8e ....d+.yv....}..
|
|
1c56c: 76767679 76797979 11e2e240 117e347e yvvvyyyv@...~4~.
|
|
1c57c: c3e57ee2 c1c3e4e4 79137610 0d0d7679 .~.......v.yyv..
|
|
1c58c: 5f403434 c3c16602 37c1c1c1 5e5eb3c8 44@_.f.....7..^^
|
|
1c59c: 315e5e5e ee6e7676 56c1c114 4b14ccf9 ^^^1vvn....V...K
|
|
1c5ac: 39b5b5e0 bc414b3a adf0babd 80dabcbd ...9:KA.........
|
|
1c5bc: 20b3645e 3a2641b3 0486c156 13179c9c ^d. .A&:V.......
|
|
1c5cc: c8135e79 adc56aac 9c398585 5c9ce7e7 y^...j....9....\
|
|
1c5dc: 4bd585bd 3c7dd5ad 7d7d3c3c a0a07d7d ...K..}<<<}}}}..
|
|
1c5ec: 3333339f 0d2b6733 79790d0d b3b35e79 .3333g+...yyy^..
|
|
1c5fc: 36367070 36000070 7048360c 48487070 pp66p..6.6HpppHH
|
|
1c60c: 69cbcbcb cb696969 abe9cbcb 1364642b ...iiii.....+dd.
|
|
1c61c: c5133179 13c57d0f 76767913 79797976 y1...}...yvvvyyy
|
|
1c62c: 11404076 7e347e40 f17ee211 c36060c1 v@@.@~4~..~..``.
|
|
1c63c: 137696c1 0d767979 11403446 6077e211 ..v.yyv.F4@...w`
|
|
1c64c: 565642c3 5e0d6fc1 5e795e5e 5d40765e .BVV.o.^^^y^^v@]
|
|
1c65c: c1c1cc39 14ccf956 b5bce026 8ed59c26 9...V...&...&...
|
|
1c66c: e0f0d699 dae07be0 b3645e80 2741b320 .....{...^d. .A'
|
|
1c67c: 86c186f9 49040404 31137913 f35ae4e5 .......I.y.1..Z.
|
|
1c68c: 558555bd 9c9ee75c d5bdbd9c 9595b685 .U.U\...........
|
|
1c69c: 216c2121 52525252 b13ce395 13339fa0 !!l!RRRR..<...3.
|
|
1c6ac: 0d34c879 b3797676 700036b3 70487048 y.4.vvy..6.pHpHp
|
|
1c6bc: 36363670 48707070 15cbcb48 69696969 p666pppHH...iiii
|
|
1c6cc: e90c69cb 206413bb c5137920 d7c58e0f .i....d y......
|
|
1c6dc: 76311313 79797676 11404079 347e4011 ..1vvvyyy@@..@~4
|
|
1c6ec: 02e21134 fe60c15a d856c1c3 76797931 4...Z.`...V.1yyv
|
|
1c6fc: 40340d0d 11315f11 8fe4c12f 66c156c3 ..4@._1./....V.f
|
|
1c70c: 765e5e0d 0d765e5e 56cc3941 3af956c1 .^^v^^v.A9.V.V.:
|
|
1c71c: e0f426cc 219ebdb5 bc9eba65 e0bcc6c6 .&.....!e.......
|
|
1c72c: 195e75da d7b32064 c1860427 ee048d86 .u^.d ..'.......
|
|
1c73c: 1379136e f542e179 85555547 9e9ee755 n.y.y.B.GUU.U...
|
|
1c74c: 99993a3a d2baf06c 3c4c9521 7d7d3c3c ::..l...!.L<<<}}
|
|
1c75c: 4c3c7d7d fbce5252 c879139f 0d34340d }}<LRR....y..44.
|
|
1c76c: 48697976 44480000 3648000c 70704836 vyiH..HD..H66Hpp
|
|
1c77c: cbcb4848 69696969 4e126915 d1642be9 HH..iiii.i.N.+d.
|
|
1c78c: af132041 41d7c50f 3113e8c5 79767679 A .....A...1yvvy
|
|
1c79c: e2767979 7e1111e2 e2113434 96c16602 yyv....~44...f..
|
|
1c7ac: c1c1c31a 79137671 340d0d76 315f5f40 ....qv.yv..4@__1
|
|
1c7bc: 562e3480 568f6060 5e406fc1 76767676 .4.V``.V.o@^vvvv
|
|
1c7cc: 3a55410d f956c186 e026ccf9 ba997bbc .AU:..V...&..{..
|
|
1c7dc: 7bbc0f65 bcc6c6e0 5e75dae0 b3206419 e..{......u^.d .
|
|
1c7ec: a70427d7 8d8d86c1 79670e26 6094c813 .'......&.gy...`
|
|
1c7fc: 55394b5b e75c554b c0a78399 2121f0ba [K9UKU\.......!!
|
|
1c80c: 7d7d3cd5 a0a0a005 339f9fa0 4c7df233 .<}}.......33.}L
|
|
1c81c: 337d5252 74c8c876 70c87468 48007048 RR}3v..tht.pHp.H
|
|
1c82c: 7048e91e 70483636 cb484870 6969cbcb ..Hp66HppHH...ii
|
|
1c83c: 69690c69 b31ee969 b1c5c5c5 d713c593 i.iii...........
|
|
1c84c: e8c54141 76763113 e2797979 11e2e2e2 AA...1vvyyy.....
|
|
1c85c: 1134347e c19434e2 c1421afe 1376acc1 ~44..4....B...v.
|
|
1c86c: 0dc87979 31114034 64e25e31 60968f42 yy..4@.11^.dB..`
|
|
1c87c: 71c1c1c3 76767634 55e80d76 56c1a73a ...q4vvvv..U:..V
|
|
1c88c: 55cc04f9 babaadbc e020afb6 c6c6deb8 ...U...... .....
|
|
1c89c: 7550f4bc 2064195f 8d17e8b3 8da75683 ..Pu_.d .....V..
|
|
1c8ac: 130e4b92 60643167 39bdc56a c29e5555 .K..g1d`j..9UU..
|
|
1c8bc: a7a7c0ba a285b6c2 35057da2 9f9f9f35 .........}.55...
|
|
1c8cc: dcc59f9f 33333333 523cb19f c82bf2e3 ....3333..<R..+.
|
|
1c8dc: 74597477 00000070 3669cb00 70364870 wtYtp.....i6pH6p
|
|
1c8ec: 48487070 e91e69cb 690c6969 791e0c69 ppHH.i..ii.ii..y
|
|
1c8fc: 9325c5d7 e8d7c58e c541c5d7 3131e8d7 ..%.......A...11
|
|
1c90c: 79797979 e2e2e276 34347e11 2e34e240 yyyyv....~44@.4.
|
|
1c91c: 601afe56 d1c3c1c1 c8797979 e240340d V..`....yyy..4@.
|
|
1c92c: 5e5e3131 96c1e140 c1c36060 763471c1 11^^@...``...q4v
|
|
1c93c: e8c8c876 c1a7f926 cc04f956 b6baf0c2 v...&...V.......
|
|
1c94c: 5e207f7b c6deb8f4 d0f4bcc6 64195f80 {. ^........._.d
|
|
1c95c: 1713b3b3 a756cc8d 7d4b278d f5761333 ......V..'K}3.v.
|
|
1c96c: bd41e642 c0f0e739 9899c2c0 d5ad5c14 B.A.9........\..
|
|
1c97c: 3505a2a2 dc9fa035 9fa0359f 791313dc ...55....5.....y
|
|
1c98c: c5331367 b15237a0 74770d2b 70700012 g.3..7R.+.wt..pp
|
|
1c99c: 36700c70 00004836 48707070 e9776948 p.p66H..pppHHiw.
|
|
1c9ac: 690c0c0c 77e90c69 4c252013 c5d7138e ...ii..w. %L....
|
|
1c9bc: c5c5d7e8 41e8e8dc 79797913 e2407679 .......A.yyyyv@.
|
|
1c9cc: 347ee2e2 68e24034 1afec3ac c1c156fe ..~44@.h.....V..
|
|
1c9dc: 79797953 400d0dc8 e83131e2 ac0d315e Syyy...@.11.^1..
|
|
1c9ec: 606096c3 53c1c1c3 c8c87646 14f94b5e ..``...SFv..^K..
|
|
1c9fc: 9c3a5656 bcb6c0a7 b362e0bc b5b562b3 VV:.......b..b..
|
|
1ca0c: f4bcc6f4 195ff7d0 13b3b319 863a926b ......_.....k.:.
|
|
1ca1c: 26278da7 c81367a0 f3e1e494 bac0ef9e ..'&.g..........
|
|
1ca2c: 559e5c99 859c149c 05a2a2a2 9f9fa035 .\.U........5...
|
|
1ca3c: 8e359f9f 13dc9fa0 79767979 fbaf3313 ..5.....yyvy.3..
|
|
1ca4c: 462b0f52 70364677 48364844 70703670 R.+FwF6pDH6Hp6pp
|
|
1ca5c: 70707000 69776970 69e91e69 e94ee90c .ppppiwii..i..N.
|
|
1ca6c: 4caf672b 1313c58e d7d7d7e8 0edce8dc +g.L............
|
|
1ca7c: 797979dc 40767979 40e2e2e2 e2407e0d .yyyyyv@...@.~@.
|
|
1ca8c: fec3ac68 c1421a1a b37665c1 0d0dc879 h.....B..ev.y...
|
|
1ca9c: 3131e240 e2315e5e 6060c3e5 c1566060 @.11^^1...````V.
|
|
1caac: 2b46b4c1 044b31c8 a75656cc e0e7ccc0 ..F+.1K..VV.....
|
|
1cabc: 62e0def4 b862b3b3 e0c6f4b5 5ff7d0f4 ...b..b........_
|
|
1cacc: 64641919 f99216b3 278da786 5e67c54b ..dd.......'K.g^
|
|
1cadc: f1fefe64 5cc0c0bd 55e75555 9c140455 d......\UU.UU...
|
|
1caec: 85d5a24b 9f9f3549 a09f9f9f c5a08e35 K...I5......5...
|
|
1cafc: 79797913 3367c840 b1520faf e976462b .yyy@.g3..R.+Fv.
|
|
1cb0c: 0036cb48 70707036 36707070 e9e97036 H.6.6pppppp66p..
|
|
1cb1c: 2dbb6d15 4e0ce92d 93af79c8 31c5c525 .m.--..N.y..%..1
|
|
1cb2c: 13131379 dce8d7d7 797931e8 76797979 y........1yyyyyv
|
|
1cb3c: e2e2e2e2 e27e7e40 c31a34e2 601a1afe ....@~~..4.....`
|
|
1cb4c: d1c3c1c1 0d0d7979 31e2400d 315e5e31 ....yy...@.11^^1
|
|
1cb5c: c35a0d5e e4606096 6442c156 4b5ec80d ^.Z..``.V.Bd..^K
|
|
1cb6c: c156149c 2604e783 e0def4f4 6bb3b3b9 ..V....&.......k
|
|
1cb7c: c6c6de7b f7d0f4e0 b31919c9 925db364 {...........d.].
|
|
1cb8c: 8d8686f9 67136b27 6ae4f576 e799ba71 ....'k.gv..jq...
|
|
1cb9c: 39554b55 14e75555 85a2853a 0e35a2ad UKU9UU..:.....5.
|
|
1cbac: dc9f9f35 358e9f9f 7913c59f 0d0d7931 5......5...y1y..
|
|
1cbbc: fbb1c579 2b2bafea 3600cbcb 70703670 y.....++...6p6pp
|
|
1cbcc: 70707070 69483648 6d1e0ccb 77e9e90c ppppH6Hi...m...w
|
|
1cbdc: 935bc82b 13d733c5 13137976 e8d7d713 +.[..3..vy......
|
|
1cbec: 79793113 79797979 e2e2e276 31794031 .1yyyyyyv...1@y1
|
|
1cbfc: fe77e2e2 1a1afec3 c1c1c31a 407940be ..w..........@y@
|
|
1cc0c: e240340d 5e803131 bb5e315e 60968f60 .4@.11.^^1^.`..`
|
|
1cc1c: c156e460 130d7760 568683bd 8d269c56 `.V.`w.....VV.&.
|
|
1cc2c: c4f4f427 20b3b9e0 c6deb517 c6f4e0f8 '...... ........
|
|
1cc3c: 64bb19f7 f6b3b3b3 86a70427 311617ee ...d....'......1
|
|
1cc4c: 606679b3 4badb166 554b3939 e75555e7 .yf`f..K99KU.UU.
|
|
1cc5c: 4b55cc14 35a2ad85 dca00535 8e35dcdc ..UK...55.....5.
|
|
1cc6c: dc9f358e 76131313 c5793434 5b524cb1 .5.....v44y..LR[
|
|
1cc7c: 703600c8 70703636 70707070 48707048 ..6p66ppppppHppH
|
|
1cc8c: 6de9cb48 c8771e2d 0ff279b3 132067d1 H..m-.w..y...g .
|
|
1cc9c: 5e76c879 13131313 79793113 79137979 y.v^.....1yyyy.y
|
|
1ccac: 31e27979 6edc3131 0de2e245 1afec3fe yy.111.nE.......
|
|
1ccbc: c1e41a1a 31798fc1 7e340d76 5e313111 ......y1v.4~.11^
|
|
1cccc: 13315e5e 96c35179 8f606060 772ec1c1 ^^1.yQ..```....w
|
|
1ccdc: ccefba37 27f95686 f4f42692 b3b9e0c4 7....V.'.&......
|
|
1ccec: dec43020 f4e0d0c6 bb19dac6 b3b313b3 0..............
|
|
1ccfc: 86042741 62170486 acb4f213 bc415afe A'.....b.....ZA.
|
|
1cd0c: 4b39394b 5555e755 55cccc39 47ad5555 K99KU.UU9..UUU.G
|
|
1cd1c: 8e7d8e35 35dcdc9f 35358e8e 203131c5 5.}....5..55.11
|
|
1cd2c: 68347613 ea0fc579 6970b3fb 70700036 .v4hy.....pi6.pp
|
|
1cd3c: 70707070 707036cf 0c693648 77771e0c pppp.6ppH6i...ww
|
|
1cd4c: 0faf792b 79677967 0dc82b79 79797976 +y..gygyy+..vyyy
|
|
1cd5c: 79797979 13dc1379 e2797931 b80e3131 yyyyy...1yy.11..
|
|
1cd6c: e2e24041 fec3fe0d fe1a1a1a 53c1c1c1 A@.............S
|
|
1cd7c: 34407640 31e24034 31315e5e acbbe85e @v@44@.1^^11^...
|
|
1cd8c: 6060968f c1c14260 39852ce6 f956a73a ..```B...,.9:.V.
|
|
1cd9c: e0272627 62e0c4f4 50b3b3b3 f4d0c6f4 '&'....b...P....
|
|
1cdac: 1950f4f4 d7d7b3bb 041730d1 170486a7 ..P......0......
|
|
1cdbc: 24e30f3d 41f51a60 26264bbc 55394b4b =..$`..A.K&&KK9U
|
|
1cdcc: 14cc3955 85559e39 7d053547 dcdc3505 U9..9.U.G5.}.5..
|
|
1cddc: 8e35359f 7979c535 7613c513 afb37468 .55.5.yy...vht..
|
|
1cdec: 70f2ea37 70003636 70707070 70cbcf48 7..p66.pppppH..p
|
|
1cdfc: cb694870 771e1e0c 0ff2c82b 79792b67 pHi....w+...g+yy
|
|
1ce0c: c8791313 c80d0d77 79797979 e8dc6779 ..y.w...yyyyyg..
|
|
1ce1c: 79313113 b8353131 e2407687 c3ac68e2 .11y115..v@..h..
|
|
1ce2c: fe1a1afe c1c1421a 40764096 e240340d .....B...@v@.4@.
|
|
1ce3c: 31315e31 b3135e31 6096c30b c3e4e460 1^111^.....``...
|
|
1ce4c: 5daec1c1 56a7f939 272727f9 e0def4e0 ...]9..V.'''....
|
|
1ce5c: 1919b362 50c6f480 d0c6f4f4 6e1319c9 b......P.......n
|
|
1ce6c: 17e8d10e f986a704 5b52b6aa d8ac6066 ..........R[f`..
|
|
1ce7c: 264b475d 554b4b26 cc395555 e70404a7 ]GK&&KKUUU9.....
|
|
1ce8c: 0505a285 dc35057d 8e8e9fdc 79139f8e ....}.5........y
|
|
1ce9c: c5c51376 c8687613 fb52b120 70700070 v....vh. .R.p.pp
|
|
1ceac: 70007070 70483836 e9484870 7777e90c pp.p68HppHH...ww
|
|
1cebc: fb5bab2b 2b2bc803 79202079 0d0d77c8 +.[...++y y.w..
|
|
1cecc: 31317976 13677979 31313131 6ee8e279 vy11yyg.1111y..n
|
|
1cedc: 40403145 2e34e2e2 fe1afec3 c1fe1afe E1@@..4.........
|
|
1ceec: 7e2cc1c1 34340d40 315ee240 135e3131 ..,~@.44@.^111^.
|
|
1cefc: 8f2e2b13 e4606096 42c1c360 a7f926d8 .+...``.`..B.&..
|
|
1cf0c: 2717f956 bce0e027 19b3c6bc c6d07619 V..''........v..
|
|
1cf1c: c6f4f450 5db35ec6 13d1e817 86a78d6b P....^.]....k...
|
|
1cf2c: dc85ba83 6afefe2b 4b4b6e67 4b4b2626 ....+..jgnKK&&KK
|
|
1cf3c: 39555555 f99ca7cc 05a28504 35057d7d UUU9........}}.5
|
|
1cf4c: 8e9fdcdc 13dca08e d779c879 0d13c5c5 ........y.y.....
|
|
1cf5c: 375b2b74 000000e3 cf480070 690c3636 t+[7....p.H.66.i
|
|
1cf6c: 36367070 77e9e90c 37b02b2b 77c8c8d1 pp66...w++.7...w
|
|
1cf7c: 201379c8 0d77c879 1331790d 79797931 .y. y.w..y1.1yyy
|
|
1cf8c: 31131379 31e27931 40313131 34e2e240 y..11y.1111@@..4
|
|
1cf9c: 1afec32e 1afe1afe 96c1c142 3440400d ........B....@@4
|
|
1cfac: 31114034 5e313131 72132013 60609642 4@.1111^. .rB.``
|
|
1cfbc: 56e4e460 9861fec1 173a56a7 b8de2717 `..V..a..V:..'..
|
|
1cfcc: 5ec6e0b8 7519bbbb f4c6f7d0 41f7c6c6 ...^...u.......A
|
|
1cfdc: d1d77c6b a7ee4920 164b1456 1ae4b4e2 k|.. I..V.K.....
|
|
1cfec: 4b6e3166 4b26264b 5555554b 3a863a39 f1nKK&&KKUUU9:.:
|
|
1cffc: 054b04f9 057d7d7d c5e8dc0e 9fc5a09f ..K.}}}.........
|
|
1d00c: 76c86705 d7c5c513 79777479 0000102c .g.v....ytwy,...
|
|
1d01c: 00707000 36361e0c cb707070 e90ccb0c .pp...66ppp.....
|
|
1d02c: 37d82b79 0d2b2b5b 13792b77 0dc87913 y+.7[++.w+y..y..
|
|
1d03c: 79790d0d 79793131 1313e831 e2793131 ..yy11yy1...11y.
|
|
1d04c: 454531e2 e2117e76 fec36a34 1a1a1a1a .1EEv~..4j......
|
|
1d05c: c156fe1a 40342cc1 117e3434 315fe25f ..V..,4@44~._._1
|
|
1d06c: 4cafc513 fee42eb4 60e46060 57c1c1e4 ...L....``.`...W
|
|
1d07c: 3a868609 b8271727 c6e0deaa bbbbbbb3 ...:'.'.........
|
|
1d08c: 628075c9 f8c6c6f4 d7b9c4de 9c92f220 .u.b........ ...
|
|
1d09c: 173a5686 60be768b 6e31e11a 26264b4b .V:..v.`..1nKK&&
|
|
1d0ac: 55554b26 863a3955 d5e7f93a 7d7d7d05 &KUUU9:.:....}}}
|
|
1d0bc: e8e89f05 c5c5dce8 c8793c8d 5e1331c8 .........<y..1.^
|
|
1d0cc: 74747679 00e3d119 cf007000 1e6d70e9 yvtt.....p...pm.
|
|
1d0dc: 70707070 0c69e936 37d8642b 0d2b2b5b pppp6.i.+d.7[++.
|
|
1d0ec: 79c8c8c8 c87913b3 c80d0d0d 79797979 ...y..y.....yyyy
|
|
1d0fc: 130e0e13 79313131 e831e2e2 11404031 ....111y..1.1@@.
|
|
1d10c: c39434e2 1a1a1afe 8f1afe1a 46e4c1c1 .4.............F
|
|
1d11c: 34344040 5e315f40 4c37afe8 c372130f @@44@_1^..7L..r.
|
|
1d12c: 6060601a c14260e4 56cc81c1 b8b5273a .```.`B....V:'..
|
|
1d13c: e0f4e0aa bbbb5ec6 5ec97474 c6c6c6b9 .....^..tt.^....
|
|
1d14c: 50b527c4 9c845bd7 f956a79c ac768b27 .'.P.[....V.'.v.
|
|
1d15c: 45b4acfe 4b4b4b5d 554b2626 9c555555 ...E]KKK&&KUUUU.
|
|
1d16c: 55e73aa7 7da27d49 e89f357d 131333dc .:.UI}.}}5...3..
|
|
1d17c: 79338d05 76760dc8 4674740d 6f644674 ..3y..vv.ttFtFdo
|
|
1d18c: 00707070 cf1e6900 4870700c 69e93670 ppp..i...ppHp6.i
|
|
1d19c: 37d1b3ab 772b2bb1 79c8760d 79202079 ...7.++w.v.yy y
|
|
1d1ac: 0d0d0dc8 797979c8 13359f79 79313131 .....yyyy.5.111y
|
|
1d1bc: 31e2e276 7e7e4031 94345f11 1a1afec3 v..11@~~._4.....
|
|
1d1cc: fefefe1a c1c1c3fe 34400224 e8314034 ........$.@44@1.
|
|
1d1dc: 0f4c4caf 775e13c5 60fe60fe 60e4e460 .LL...^w.`.``..`
|
|
1d1ec: 5742c1c3 b5273a56 f4f4b5b8 bb5ec6f4 ..BWV:'.......^.
|
|
1d1fc: 743874bb c6f83019 b592dec6 043cd7b9 .t8t.0........<.
|
|
1d20c: 56149295 b41d27f9 d12eace4 4b4b5ddc ...V.'.......]KK
|
|
1d21c: 4b26264b 55555555 559ca79c 7d7d05a2 K&&KUUUU...U..}}
|
|
1d22c: dc8e7d7d 6733dce8 79f2a067 400dc879 }}....3gg..yy..@
|
|
1d23c: 68680d76 d8467474 00707010 48003648 v.hhttF..pp.H6.H
|
|
1d24c: 707036e9 cf360c48 37d12b0c 77b31393 .6ppH.6..+.7...w
|
|
1d25c: c80d7777 c5d71379 0d0d0d31 3179760d ww..y...1....vy1
|
|
1d26c: 13dc1379 79793179 e2407679 0d40e2e2 y...y1yyyv@...@.
|
|
1d27c: 34e2117e 1afec3e6 1a1a1a1a c1601afe ~..4..........`.
|
|
1d28c: 7ebbc3c1 c5314040 c58e4c93 b3132033 ...~@@1..L..3 ..
|
|
1d29c: acc3e10d e4606060 c1c1e4e4 171494fe ....```.........
|
|
1d2ac: c6de17de 5ec6c4c6 387474bb f880bb38 .......^.tt88...
|
|
1d2bc: 8ddec6c6 65fb7c27 148a4171 b927f956 ....'|.eqA..V.'.
|
|
1d2cc: 94ace4be 4b5d4131 26264b4b 55554b4b ....1A]KKK&&KKUU
|
|
1d2dc: 9ccc0455 7d49494b 0e05057d 13dc13e8 U...KII}}.......
|
|
1d2ec: 79676767 c8c87979 76131331 7459b246 gggyyy..1..vF.Yt
|
|
1d2fc: 7070fcb4 44bb3600 70367070 69e97070 ..pp.6.Dpp6ppp.i
|
|
1d30c: 0f64ab0c 2b205b4c 77777777 411379c8 ..d.L[ +wwww.y.A
|
|
1d31c: 0d76130e 31790d0d 79797931 79797979 ..v...y11yyyyyyy
|
|
1d32c: 40767931 40e2e2e2 5f117e7e 60c35a02 1yv@...@~~._.Z.`
|
|
1d33c: 1a1a1aac 1afefe1a 94c1c142 0f3331b2 ........B....13.
|
|
1d34c: 13e8b137 13131313 e4ab76b3 6060fe1a 7........v....``
|
|
1d35c: 4260e460 7ae6c1c1 de17de27 f4c4c6c6 `.`B...z'.......
|
|
1d36c: 7474bb80 5ebb3838 dec6c6d0 5221268d ..tt88.^.....&!R
|
|
1d37c: 8ae8d1af 273a56cc ac60ac30 5ddc31be .....V:'0.`..1.]
|
|
1d38c: 264b4b4b 554b4b26 f9e75555 49a2d5e7 KKK&&KKUUU.....I
|
|
1d39c: 8e35057d 131313dc 67677913 c8797967 }.5......ygggyy.
|
|
1d3ac: afafc579 596876d7 70fcb474 70007070 y....vhYt..ppp.p
|
|
1d3bc: 703638e9 36704870 af2b1e69 b320c5ce .86ppHp6i.+... .
|
|
1d3cc: 777777c8 1379c877 7613c50e 79400d0d .wwww.y....v..@y
|
|
1d3dc: 79793131 79767979 76793179 e2e2e240 11yyyyvyy1yv@...
|
|
1d3ec: 117e7e40 c3e17ee2 1a1aac60 1a1a1a1a @~~..~..`.......
|
|
1d3fc: c156fe1a 37c572c1 313113af 13135e31 ..V..r.7..111^..
|
|
1d40c: 465eb35e 60ace494 e4e46060 c1c1c360 ^.^F...```..`...
|
|
1d41c: 17de178c c4c6c6de 7419b9f4 74383874 ...........tt88t
|
|
1d42c: c6c61d5e b6c2eede 5eb35e41 3a86cc49 ^.......A^.^I..:
|
|
1d43c: ace4c527 dc452c1a 4b4b4b5d 4b4b2626 '....,E.]KKK&&KK
|
|
1d44c: e755554b 49a255e7 35350549 1313dc35 KUU..U.II.555...
|
|
1d45c: 79797913 79797979 7d255ec8 4613af8e .yyyyyyy.^%}...F
|
|
1d46c: fcd85959 36000070 cf3669bb e9367070 YY..p..6.i6.pp6.
|
|
1d47c: d1abe936 b320afce 77777777 7976c877 6..... .wwwww.vy
|
|
1d48c: 13d7d713 400d0d76 79793179 76c87976 ....v..@y1yyvy.v
|
|
1d49c: 79797979 e2e24076 7e7e40e2 727ee240 yyyyv@...@~~@.~r
|
|
1d4ac: 1aac6042 1a1a1a1a e41a1a1a e542c1c1 B`............B.
|
|
1d4bc: 11e25f31 135e5f11 b3b35e13 2e42b440 1_..._^..^..@.B.
|
|
1d4cc: 606060fe c16060e4 deb060c1 c6c6de17 .```.``..`......
|
|
1d4dc: 1950f4c4 38387474 c6f7b374 9ec2adf4 ..P.tt88t.......
|
|
1d4ec: b35e8016 863a495e 42be053a e8d8ac6a ..^.^I:.:..Bj...
|
|
1d4fc: 4b4b5d41 4b26264b 554b4b4b a24b5555 A]KKK&&KKKKUUUK.
|
|
1d50c: 35350549 13e89f8e 79793113 79797979 I.55.....1yyyyyy
|
|
1d51c: a233c82b 138e8e7d d8595946 707070a6 +.3.}...FYY..ppp
|
|
1d52c: 361e6900 70707070 ab1e0ccd 1320b137 .i.6pppp....7. .
|
|
1d53c: 77c877c8 b3b3c877 13137979 0d0dc831 .w.ww...yy..1...
|
|
1d54c: 7979790d 76767979 79797976 e2407979 .yyyyyvvvyyyyy@.
|
|
1d55c: 7e40e2e2 7ee2117e 1ae442e5 1a1a1aac ..@~~..~.B......
|
|
1d56c: fe1a1a1a c1c1e41a 4011342e 5e5f1111 .........4.@.._^
|
|
1d57c: 79b3135e 60193179 6060ac1a 60e46060 ^..yy1.`..````.`
|
|
1d58c: 32c1c142 c6deb506 50f4c6c6 38747476 B..2.......Pvtt8
|
|
1d59c: 80b37438 9e99adc6 5ef78b27 f96e5eb3 8t......'..^.^n.
|
|
1d5ac: a6a03aa7 132e6ae4 4b5d0edc 26264b4b .:...j....]KKK&&
|
|
1d5bc: 4b4b4b4b 47855555 35350549 139f3535 KKKKUU.GI.5555..
|
|
1d5cc: 76791313 79797976 05797679 af8e8ed5 ..yvvyyyyvy.....
|
|
1d5dc: 7454685e e970a6b4 703644bb cf707036 ^hTt..p..D6p6pp.
|
|
1d5ec: bb6d4836 d164fb53 c8ab772b b379c8c8 6Hm.S.d.+w....y.
|
|
1d5fc: 5e792b79 77c8795e 2b760d0d 79797979 y+y^^y.w..v+yyyy
|
|
1d60c: 79767679 40797979 40e2e2e2 e2117e7e yvvyyyy@...@~~..
|
|
1d61c: e460ab11 acacac1a 1a1a1a1a e41a1a1a ..`.............
|
|
1d62c: 025ac1c1 5f11115f b313b331 465e7679 ..Z._.._1...yv^F
|
|
1d63c: fe2ee466 60606060 c1566060 b5b54dc1 f...``````V..M..
|
|
1d64c: f4c6c6c6 74bb5ec6 64bb3838 7b99add7 .....^.t88.d...{
|
|
1d65c: f78b2626 5d5eb35e a3f9a704 666a1a60 &&..^.^]....`.jf
|
|
1d66c: 0e0e4131 264b4b47 4b4b4b26 4b55554b 1A..GKK&&KKKKUUK
|
|
1d67c: 353549a2 dc35350e 79311313 79797676 .I55.55...1yvvyy
|
|
1d68c: 33767979 258e8ed5 59597413 0065f574 yyv3...%.tYYt.e.
|
|
1d69c: bbbb0c48 707070cf 2a0c0ccf ab4d104d H....ppp...*M.M.
|
|
1d6ac: c8ab77ab 7979c8c8 2bc8c879 c82b7979 .w....yyy..+yy+.
|
|
1d6bc: c80d7777 79792bc8 76767979 76797979 ww...+yyyyvvyyyv
|
|
1d6cc: e2e24040 117e7e40 ac77115f acacfe42 @@..@~~._.w.B...
|
|
1d6dc: acacacac 1a1a1a1a c1c142fe 5fe2a4f5 .........B....._
|
|
1d6ec: 135e315f 797679b3 6ae47240 6060601a _1^..yvy@r.j.```
|
|
1d6fc: 60fe6060 33acc1c1 c6c6c6b5 bb80f4f4 ``.`...3........
|
|
1d70c: 77383874 bcbde3d8 8b2627c4 5eb35e80 t88w.....'&..^.^
|
|
1d71c: 8da7ee5d 1a6a4271 0e414553 4b4b470e ]...qBj.SEA..GKK
|
|
1d72c: 4b4b2626 85554b4b 35354947 0e0e0e0e &&KKKKU.GI55....
|
|
1d73c: 793113dc 2b797676 2b2b2b2b 8e9fc520 ..1yvvy+++++ ...
|
|
1d74c: 74590dc5 65f53859 70000048 7036e969 ..YtY8.eH..pi.6p
|
|
1d75c: d3367070 ab5337ab 2bab77ab c8c82b79 pp6..7S..w.+y+..
|
|
1d76c: 77770dc8 c82b792b 0d770dc8 7979c8c8 ..ww+y+...w...yy
|
|
1d77c: 76797979 79797979 40404076 7e7e40e2 yyyvyyyyv@@@.@~~
|
|
1d78c: 34e25f11 acfe4294 acacacac 1aacacac ._.4.B..........
|
|
1d79c: 42fe1a1a 7ee5c1c1 5e315f5f 7679b35e ...B...~__1^^.yv
|
|
1d7ac: febb5f76 60962eac 60606060 c1c142fe v_.....`````.B..
|
|
1d7bc: c6f4168c b9c4f4c6 38387419 6b26e3e5 .........t88..&k
|
|
1d7cc: 2727c4c4 b35e808b 148df65e 9442a609 ..''..^.^.....B.
|
|
1d7dc: 0ee85b1a 4b47350e 2626264b 554b4b4b .[...5GKK&&&KKKU
|
|
1d7ec: 35354785 9f0e0e0e 31e8dc9f 79797679 .G55.......1yvyy
|
|
1d7fc: c8c8c879 13c8c8c8 747479dc f538a959 y........yttY.8.
|
|
1d80c: 0c44446f 48700070 0c693670 03e32cab oDD.p.pHp6i..,..
|
|
1d81c: 2b7777ab c82b3333 7777770d 79792bab .ww+33+..www.+yy
|
|
1d82c: 0d0dc82b 7976c80d 79797976 79797976 +.....vyvyyyvyyy
|
|
1d83c: 40407679 7e40e240 11e2117e fe42e134 yv@@@.@~~...4.B.
|
|
1d84c: acacacac acacacac 1a1a1a1a 42c1c3fe ...............B
|
|
1d85c: 5e311164 79b35e5e 465e7676 1a941a57 d.1^^^.yvv^FW...
|
|
1d86c: 60606060 c160fe60 f43342c1 c4f4c6c6 `````.`..B3.....
|
|
1d87c: 3874c98b 35d5102f 27c4c61d b35e8b27 ..t8/..5...''.^.
|
|
1d88c: 92f65eb3 fefe71cc 8713ac57 49350e0e .^...q..W.....5I
|
|
1d89c: 26264b4b 554b4b26 0e4b5555 dcdc410e KK&&&KKUUUK..A..
|
|
1d8ac: 33dcdcdc 79767613 c82b7913 7777c8c8 ...3.vvy.y+...ww
|
|
1d8bc: 1274c80d bb3b5459 0c36bebe 7036e944 ..t.YT;...6.D.6p
|
|
1d8cc: 69707070 2cced144 2b1e77ab c86705a0 pppiD..,.w.+..g.
|
|
1d8dc: 1e1277c8 792bab77 0dc82b79 79c80d0d .w..w.+yy+.....y
|
|
1d8ec: 79767979 79767676 40767979 40e24040 yyvyvvvyyyv@@@.@
|
|
1d8fc: e2117e7e 427240e2 acacac60 acacacac ~~...@rB`.......
|
|
1d90c: 1aacacac c3feac1a 11b38fc1 b35e5e5e ............^^^.
|
|
1d91c: 5e767679 941ae146 6060feac fefefefe yvv^F.....``....
|
|
1d92c: 5ac1c142 c6c6c6b9 745ec4c4 c553a6b4 B..Z......^t..S.
|
|
1d93c: c4c68013 5e8b2717 f65eb3b3 42bef992 .....'.^..^....B
|
|
1d94c: 13a694ac 35350e41 264b476e 4b4b2626 ....A.55nGK&&&KK
|
|
1d95c: 4b55554b 45e8e80e 13131345 76763113 KUUK...EE....1vv
|
|
1d96c: 2b791379 77c8c8c8 54597474 543b0854 y.y+...wttYTT.;T
|
|
1d97c: 00b46f64 36367000 70707070 cefbbf69 do...p66ppppi...
|
|
1d98c: 771eabd1 ab670533 127777ab 2b77771e ...w3.g..ww..ww+
|
|
1d99c: c8797979 760d0d0d 79797979 76767676 yyy....vyyyyvvvv
|
|
1d9ac: 76797979 e2e24040 e27e7e40 72d73131 yyyv@@..@~~.11.r
|
|
1d9bc: acace460 acacacac acacacac ac1a1aac `...............
|
|
1d9cc: 8fc1c3fe 5e5ee2b3 767679b3 fe2f405e ......^^.yvv^@/.
|
|
1d9dc: fe1a6a94 fefefefe c1c1fefe c6c65ee4 .j...........^..
|
|
1d9ec: 80dedec6 bbb4a6b4 c65e1964 8b2717c4 ........d.^...'.
|
|
1d9fc: 5eb3b35e a6842630 66ac9442 350e0e45 ^..^0&..B..fE..5
|
|
1da0c: 4b476e35 4b262626 5555554b 45e86e4b 5nGK&&&KKUUUKn.E
|
|
1da1c: 13311345 76791313 31137976 77c82b79 E.1...yvvy.1y+.w
|
|
1da2c: 74597474 12595974 646fb459 00007036 ttYttYY.Y.od6p..
|
|
1da3c: 70707000 d2bf4469 1e1e64b1 ab2b67ab .pppiD...d...g+.
|
|
1da4c: 777777ab c8771e12 7979792b 0d0d4076 .www..w.+yyyv@..
|
|
1da5c: 79797976 76767679 79797676 e2404076 vyyyyvvvvvyyv@@.
|
|
1da6c: 407e4011 4c8ec531 ace46a4d acacac2e .@~@1..LMj......
|
|
1da7c: acacacac acacacac c3feacac 5fb38fc1 ..............._
|
|
1da8c: 7679b313 bf765e5f ac94941a fefe1afe ..yv_^v.........
|
|
1da9c: 421afefe 50e1c1c1 b5dec6c6 38b4a647 ...B...P....G..8
|
|
1daac: c9191938 2717c650 5eb35e16 a326305e 8...P..'.^.^^0&.
|
|
1dabc: 1ae660fe 350e8753 a2493535 2626264b .`..S..555I.K&&&
|
|
1dacc: 55554b4b dc0e4b55 313145e8 79317979 KKUUUK...E11yy1y
|
|
1dadc: 13797676 2b791313 c8127777 74591279 vvy...y+ww..y.Yt
|
|
1daec: bebe7412 cbe9e9bb 70707070 53d36970 .t......pppppi.S
|
|
1dafc: 1eabd1ea 7777771e 7777abab 77771277 .....www..www.ww
|
|
1db0c: 13792bc8 40763113 7979c80d 76797979 .+y..1v@..yyyyyv
|
|
1db1c: 797676c8 40407679 76e2e211 8e4c7d13 .vvyyv@@...v.}L.
|
|
1db2c: 42e60de8 2e2e2eac acacac2e acacacac ...B............
|
|
1db3c: acacacac 42c1c3fe 795e76d8 5f5e5f76 .......B.v^yv_^_
|
|
1db4c: 94942ebb fe1a1aac fefefefe fec156fe .............V..
|
|
1db5c: dec6c65e 745bba9e 19193838 17c6f719 ^.....[t88......
|
|
1db6c: b35e1627 17305e5e e6ace471 0e0eaf1a '.^.^^0.q.......
|
|
1db7c: 49053535 264b4749 854b4b26 35475555 55.IIGK&&KK.UUG5
|
|
1db8c: 45dc0e0e 79793113 76c8c879 13137979 ...E.1yyy..vyy..
|
|
1db9c: 7474c879 54747479 10193ba9 697038f5 y.ttyttT.;...8pi
|
|
1dbac: 367036cd 44e90ce9 1eab2c10 77777712 .6p6...D.,...www
|
|
1dbbc: 77777777 771e7777 792bc877 31e8d713 wwwwww.ww.+y...1
|
|
1dbcc: 79c84076 79797979 7676c876 40767679 v@.yyyyyv.vvyvv@
|
|
1dbdc: d71331e2 dc8e3c8e 0b7ee231 2e2e1a42 .1...<..1.~.B...
|
|
1dbec: 2e2e2e2e acac2e2e acacacac c31aacac ................
|
|
1dbfc: 762cc3c1 5e5f76b3 9494745f 1a1a6a57 ..,v.v_^_t..Wj..
|
|
1dc0c: 1a1a1a1a c1e41afe c4d053c1 5e7bc0ad .........S....{^
|
|
1dc1c: 19383874 f85f1919 5e1627b5 415e5e5e t88..._..'.^^^^A
|
|
1dc2c: 9442945d 6e0e9457 0535350e 4b474949 ].B.W..n.55.IIGK
|
|
1dc3c: 4b4b2626 a24b554b 0e35356e 1313dc0e &&KKKUK.n55.....
|
|
1dc4c: 0dc87979 1379c80d 74c83113 12747474 yy....y..1.tttt.
|
|
1dc5c: b4385454 00546410 00707000 d30ce969 TT8..dT..pp.i...
|
|
1dc6c: 44bf10f5 7777771e c8777777 7777c82b ...D.wwwwww.+.ww
|
|
1dc7c: 2bc87777 d7c51379 7676795e 79797979 ww.+y...^yvvyyyy
|
|
1dc8c: 76c87679 79767676 0fdc3131 3113b14c yv.vvvvy11..L..1
|
|
1dc9c: 7e404031 2efefebf 2e2e2e2e 2e2e2e2e 1@@~............
|
|
1dcac: acacacac acacacac c1c1e4ac 5e790d53 ............S.y^
|
|
1dcbc: 6a465f5e 1a6a576a 1a1a1a1a 1a1a1a1a ^_FjjWj.........
|
|
1dccc: 80fec1c1 2755baad 38387480 c9191919 ......U'.t88....
|
|
1dcdc: 1627deda 5e805e5e 60fe4141 5d6694e6 ..'.^^.^AA.`..f]
|
|
1dcec: 35350e6e 49494905 4b26264b a24b4b4b n.55.IIIK&&KKKK.
|
|
1dcfc: 3535356e dc0e0e35 767913e8 c8c8c80d n5555.....yv....
|
|
1dd0c: c879792b 74122bc8 64767454 a974be66 +yy..+.tTtvdf.t.
|
|
1dd1c: 70000000 6d360070 44e110bf c8771ee9 ...pp.6m...D..w.
|
|
1dd2c: c8c8c8c8 c8b31379 c8777777 d7137979 ....y...www.yy..
|
|
1dd3c: 767913c5 79797976 76767979 31797976 ..yvvyyyyyvvvyy1
|
|
1dd4c: 4c8e3313 40e2330f 4040e240 606a7440 .3.L.3.@@.@@@tj`
|
|
1dd5c: 2e2e2e2e 2e2e2e2e 2e6a6a2e acac6aac .........jj..j..
|
|
1dd6c: 96ac2eac 0d37c1c3 46315e31 6a576a94 ......7.1^1F.jWj
|
|
1dd7c: 1a1a1a1a 1a1a1a1a c1c1e4ac 27bcb671 ............q..'
|
|
1dd8c: 3846b926 19194638 27c45f46 808080c4 &.F88F..F_.'....
|
|
1dd9c: e4b106e8 716a321a 35350e6b 49494905 .....2jqk.55.III
|
|
1ddac: 4b4ba26e 4947474b 0e0e0e0e 0e0e0e0e n.KKKGGI........
|
|
1ddbc: 13e89f0e c80dc879 c8c8c877 74c87974 ....y...w...ty.t
|
|
1ddcc: b3c85959 54b4a6b4 700069a9 cf703636 YY.....T.i.p66p.
|
|
1dddc: bf6fe144 2b774ed3 b379b3b3 13d713b3 D.o..Nw+..y.....
|
|
1ddec: 0d7777c8 b3b379c8 79e8c5e8 79797640 .ww..y.....y@vyy
|
|
1ddfc: 76797979 13797676 7d4c8e33 7ee231c5 yyyvvvy.3.L}.1.~
|
|
1de0c: 40e2407e ed344040 a6942ee4 2e2e2e2e ~@.@@@4.........
|
|
1de1c: 6a6a6a2e 6a6a6a6a 2e2e2e6a c18fac2e .jjjjjjjj.......
|
|
1de2c: 5f11b365 57941a19 1aacac94 1a1a1a1a e.._...W........
|
|
1de3c: c11a1a1a c4411ac1 c916928a c9463838 ......A.....88F.
|
|
1de4c: 1dc94619 8030c4de 6645e830 ac322e42 .F....0.0.EfB.2.
|
|
1de5c: 350e17b1 49050535 496e3549 0e6e4949 ...55..II5nIIIn.
|
|
1de6c: 4545e841 e8e84545 dc0edcdc c87913e8 A.EEEE........y.
|
|
1de7c: 77c8c8c8 77677777 c874592b bb6fbed1 ...wwwgw+Yt...o.
|
|
1de8c: 700c4f08 70cb0ccb e16f780c 2b1e2dd3 .O.p...p.xo..-.+
|
|
1de9c: d1b3b3b3 d720d1d1 0d77c813 135e76c8 ...... ...w..v^.
|
|
1deac: e8d71313 79764079 79767979 13797676 ....y@vyyyvyvvy.
|
|
1debc: c5fb37af 40e23113 e2400d0d 7e404040 .7...1.@..@.@@@~
|
|
1decc: 94ac6072 a6a69494 6a6a2e2e 6a6a6a6a r`........jjjjjj
|
|
1dedc: 6a6a6a6a 2e2e2e2e 538fc196 326a5146 jjjj.......SFQj2
|
|
1deec: acac9457 acacacac 6a1a1aac 20c3c142 W..........jB..
|
|
1defc: 6b9227c4 467474c9 191919c9 7cc41d5f .'.k.ttF...._..|
|
|
1df0c: 13303030 6694e41a 0e1735a6 05050535 000....f.5..5...
|
|
1df1c: 35354949 0e353535 45e8dc41 31313131 II55555.A..E1111
|
|
1df2c: e8133131 3113e8e8 c82b7679 2b7477c8 11.....1yv+..wt+
|
|
1df3c: 7459c8c8 b4eb7119 364fa954 6de96970 ..Yt.q..T.O6pi.m
|
|
1df4c: a6ae0c36 770c2dae d1b3b32b d7201320 6....-.w+... . .
|
|
1df5c: 77c813d7 13c8c8c8 e813e8d7 764076e8 ...w.........v@v
|
|
1df6c: 76797979 33797979 13b137fb 4040e231 yyyvyyy3.7..1.@@
|
|
1df7c: 400d0d40 404040e2 1a1aab40 94949494 @..@.@@@@.......
|
|
1df8c: 949494a6 6a949494 946a6a6a 2e2e2e6a .......jjjj.j...
|
|
1df9c: e4ac2e2e 94fefec3 6a6a9457 acacacac ........W.jj....
|
|
1dfac: acacacac c1c11a6a 8d271d5a 74745f17 ....j...Z.'.._tt
|
|
1dfbc: 46c9c946 b95f7619 30b9b962 32fee45b F..F.v_.b..0[..2
|
|
1dfcc: 496e9494 0505350e 35494905 0e0e0e35 ..nI.5...II55...
|
|
1dfdc: dcdc410e 313145e8 31793131 13133131 .A...E1111y111..
|
|
1dfec: 13133131 74c87979 54591238 10ead174 11..yy.t8.YTt...
|
|
1dffc: a94fa9bb 0ccf7070 240c69e9 69e92feb ..O.pp...i.$./.i
|
|
1e00c: b32bc81e 201313d1 7713c520 c82b7977 ..+.... ..wwy+.
|
|
1e01c: d7c5d7b3 4076e8d7 76797976 b1136779 ......v@vyyvyg..
|
|
1e02c: 13330f4c e2404079 7e0d40e2 4040e240 L.3.y@@..@.~@.@@
|
|
1e03c: e6344040 94949460 94949494 94949494 @@4.`...........
|
|
1e04c: 94949494 a6949494 a62e2e2e 6060ac6a ............j.``
|
|
1e05c: acfe6060 6a6a6a6a 6a6a6a6a 426a6a6a ``..jjjjjjjjjjjB
|
|
1e06c: b5e8fec1 745e1792 c9c94674 76761946 ......^ttF..F.vv
|
|
1e07c: 7c7c7c80 ace4be06 17716a5a 05350e6e .|||....Zjq.n.5.
|
|
1e08c: 49050505 0e0e0e35 0edc0e0e e8dc410e ...I5........A..
|
|
1e09c: 76313145 79797979 dc133179 2b870edc E11vyyyyy1.....+
|
|
1e0ac: 5974c874 eb2c5954 3ba9cdb4 3670703b t.tYTY,....;;pp6
|
|
1e0bc: d3cb0ccf 6db4d210 c81e0ccf 13d1b32b .......m....+...
|
|
1e0cc: 13d72020 797977c8 c513792b 79e84141 ...wyy+y..AA.y
|
|
1e0dc: 79797640 37af1379 3113c5fb 40767679 @vyyy..7...1yvv@
|
|
1e0ec: 7e40e2e2 40e2407e 7e404040 942e600b ..@~~@.@@@@~.`..
|
|
1e0fc: 94949494 94949494 94949494 94949494 ................
|
|
1e10c: a6a6a694 949494a6 2eacac6a 6a6a6a6a ........j...jjjj
|
|
1e11c: 6a6a6a6a 946a6a6a 5bc1c31a 7517926b jjjjjjj....[k..u
|
|
1e12c: c9467446 761919c9 41305e76 602ee87c FtF....vv^0A|..`
|
|
1e13c: b1ac2494 35353517 35050505 0e0e3505 .$...555...5.5..
|
|
1e14c: dc87870e 41410e0e e8e84141 76793131 ......AAAA..11yv
|
|
1e15c: 13767676 dcb56edc 74797779 a6bb5459 vvv..n..ywytYT..
|
|
1e16c: 3ba9386f 70703b3b 69cbcf36 2f6fa678 o8.;;;pp6..ix.o/
|
|
1e17c: e90c69e9 b32bc877 2020d1d1 7977c813 .i..w.+... ..wy
|
|
1e18c: 137979b3 d74141d7 31764031 4cfb3313 .yy..AA.1@v1.3.L
|
|
1e19c: 797913b1 40767979 40e24040 e2e2407e ..yyyyv@@@.@~@..
|
|
1e1ac: 40404040 ac1aab40 94949494 94949494 @@@@@...........
|
|
1e1bc: 94949494 94949494 94949494 94949494 ................
|
|
1e1cc: 94949494 6a6a6a94 6a6a6a6a 6a6a6a6a .....jjjjjjjjjjj
|
|
1e1dc: c1e46a94 17264166 46461980 c9c9c9c9 .j..fA&...FF....
|
|
1e1ec: 5e5e7676 96c57c06 2e3266fe 0e0e178e vv^^.|...f2.....
|
|
1e1fc: 35050535 0e353535 dcdc870e 0e0e0edc 5..5555.........
|
|
1e20c: 350e4141 dc9f0e35 76767913 6eb5e879 AA.55....yvvy..n
|
|
1e21c: c8777933 71385412 543b2feb 0c3b3bcd 3yw..T8q./;T.;;.
|
|
1e22c: 0070cb0c 51a6892d 0c690cd3 2bc81ee9 ..p.-..Q..i....+
|
|
1e23c: 13b3b32b 0d792020 7979b3c8 41d7e8b3 +... y...yy...A
|
|
1e24c: 67795e30 0f4cb133 76791333 76797979 0^yg3.L.3.yvyyyv
|
|
1e25c: e2404040 e2404040 4040e2e2 e634e240 @@@.@@@...@@@.4.
|
|
1e26c: 949494fe 94949494 57575757 94575757 ........WWWWWWW.
|
|
1e27c: 94949494 94949494 94949494 94949494 ................
|
|
1e28c: 94949494 6a6a6a6a fe576a6a 263396c1 ....jjjjjjW...3&
|
|
1e29c: c9c9f727 c9c9c946 31767676 7180e831 '...F...vvv11..q
|
|
1e2ac: 5732ace4 0e6e0ea6 0505350e 35353535 ..2W..n..5..5555
|
|
1e2bc: dcdc870e 0e0edcdc 6b5d4141 a2a2a26e ........AA]kn...
|
|
1e2cc: 13dc35a2 6b5d7979 742b7913 b4595438 .5..yy]k.y+t8TY.
|
|
1e2dc: 3bb3e3eb 3b3bcd54 48700c44 a60bec48 ...;T.;;D.pHH...
|
|
1e2ec: cf36ecae 771e0c69 2b2b2bc8 b32013b3 ..6.i..w.+++.. .
|
|
1e2fc: 79790d0d e8137979 20c54130 af3737af ..yyyy..0A. .77.
|
|
1e30c: 76767913 79797676 40e24076 e21140e2 .yvvvvyyv@.@.@..
|
|
1e31c: 40e23131 40404040 9494600b 94949494 11.@@@@@.`......
|
|
1e32c: 57575757 57575757 94945757 94949494 WWWWWWWWWW......
|
|
1e33c: 94949494 94949494 94579494 94949494 ..........W.....
|
|
1e34c: 57949494 f1c3c3ac 5fb92727 c9c9c95f ...W....''.__...
|
|
1e35c: 317676c9 31e8e85e 2494e4a6 0e0e6f6a .vv1^..1...$jo..
|
|
1e36c: 35350e0e 35353535 dcdc0e0e 0edcdcdc ..555555........
|
|
1e37c: de0e410e d5a2496b a2d58585 5de8e835 .A..kI......5..]
|
|
1e38c: c8c82b79 bb597474 79f26510 08080854 y+..ttY..e.yT...
|
|
1e39c: 70706908 e12d7036 0cd3aea6 1e69cbcf .ipp6p-.......i.
|
|
1e3ac: c8c87777 13b3b3c8 c877c8b3 79797979 ww........w.yyyy
|
|
1e3bc: 8e25c513 20b14c93 76797967 79767676 ..%..L. gyyvvvvy
|
|
1e3cc: 40407679 e240e240 e23131e2 e2404040 yv@@@.@..11.@@@.
|
|
1e3dc: ac1a64e2 57949457 57575757 57575757 .d..W..WWWWWWWWW
|
|
1e3ec: 57575757 94949494 94949494 57575757 WWWW........WWWW
|
|
1e3fc: 57575757 57575757 94949457 c1e49457 WWWWWWWWW...W...
|
|
1e40c: b94b355a 5f5f7575 5e76c95f 31dc35dc Z5K.uu___.v^.5.1
|
|
1e41c: 5796965b 0e712e24 350e0e0e 35353535 [..W$.q....55555
|
|
1e42c: dc0e3535 dcdcdcdc 6b410e0e a2490e6b 55........Akk.I.
|
|
1e43c: 858585d5 dc35a2d5 c8767913 77c8c877 ......5..yv.w..w
|
|
1e44c: b371eb53 0808a946 36cb0808 2d707048 S.q.F......6Hpp-
|
|
1e45c: d872a651 69cb0c64 bb771ee9 b32bc8c8 Q.r.d..i..w...+.
|
|
1e46c: 77c879b3 7979c877 93c51379 13c585b6 .y.ww.yyy.......
|
|
1e47c: 79797979 76404076 40767979 e2404040 yyyyv@@vyyv@@@@.
|
|
1e48c: 3131e2e2 e2404040 e64031e2 575757fe ..11@@@..1@..WWW
|
|
1e49c: 57575757 575757e6 57575757 57575757 WWWW.WWWWWWWWWWW
|
|
1e4ac: 57575757 57575757 57575757 57575757 WWWWWWWWWWWWWWWW
|
|
1e4bc: 57575757 96575757 4b1bacc1 80b975b9 WWWWWWW....K.u..
|
|
1e4cc: 5e5f5e5e e87dd533 1ae47131 afac3232 ^^_^3.}.1q..22..
|
|
1e4dc: 0e0e0e35 3535350e 0e353535 dcdcdcdc 5....555555.....
|
|
1e4ec: 414141dc 490e0e5d 8585d5a2 9f8e7dd5 .AAA]..I.....}..
|
|
1e4fc: 5e13c5dc 7720c879 d1e365e5 54125976 ...^y. w.e..vY.T
|
|
1e50c: 693b0808 48480069 ae659069 69e9d1e5 ..;ii.HHi.e....i
|
|
1e51c: 1e1e0c69 c8c8bb77 c8c82b2b 2bc87777 i...w...++..ww.+
|
|
1e52c: 933320b3 13258521 79797979 40407679 . 3.!.%.yyyyyv@@
|
|
1e53c: 76797976 40404040 31e2e2e2 40404031 vyyv@@@@...11@@@
|
|
1e54c: e23131e2 5794fed8 57e65757 e6e6e6e6 .11....WWW.W....
|
|
1e55c: e6e6e6e6 57e6e6e6 57e6e6e6 57575757 .......W...WWWWW
|
|
1e56c: 57575757 57575757 57575757 57575757 WWWWWWWWWWWWWWWW
|
|
1e57c: b08fc31a 62757c4b 5e5e8062 dc923c13 ....K|ubb.^^.<..
|
|
1e58c: e4a631e8 a666242e 0e0e35c5 35350e0e .1...$f..5....55
|
|
1e59c: 35353535 dcdcdc0e 4141e8e8 0e0e4187 5555......AA.A..
|
|
1e5ac: d5d5a249 dc25a2d5 9f9fdcd7 13c85e33 I.....%.....3^..
|
|
1e5bc: b4eb6f64 795477b3 3b080819 690c6969 do...wTy...;ii.i
|
|
1e5cc: fcf56948 0c440cae 0c0c6969 bb77771e Hi....D.ii...ww.
|
|
1e5dc: c82bc8ab c8777777 4cafd1b3 41f32537 ..+.www....L7%.A
|
|
1e5ec: 7679795e 40767676 79797676 40404076 ^yyvvvv@vvyyv@@@
|
|
1e5fc: 4040e240 4040e2e2 3131e240 ac2ec831 @.@@..@@@.111...
|
|
1e60c: e6e657e6 e6e6e6e6 e6e6e6e6 e6e6e6e6 .W..............
|
|
1e61c: e6e6e6e6 e6e6e6e6 e6e6e6e6 575757e6 .............WWW
|
|
1e62c: 57575757 57575757 c1426ae6 753d4924 WWWWWWWW.jB.$I=u
|
|
1e63c: 5e7ce062 dc05dc31 fed13113 94249496 b.|^1....1....$.
|
|
1e64c: 0e35dc66 350e0e0e 35353535 dcdc0e35 f.5....555555...
|
|
1e65c: 41e8e8dc 41dcdcdc a2a2490e dc8ea2a2 ...A...A.I......
|
|
1e66c: 9fdc1313 c813c59f 53eb7120 3838b377 ........ q.Sw.88
|
|
1e67c: 0808c8b3 6944cb3b 4d693648 692d7152 ....;.DiH6iMRq-i
|
|
1e68c: 44e96969 771ee96d c8ab7777 c87777c8 ii.Dm..www...ww.
|
|
1e69c: 4cb1d179 301320b1 7979e841 76767679 y..L. .0A.yyyvvv
|
|
1e6ac: 79767640 e2e27679 40404040 40e2e240 @vvyyv..@@@@@..@
|
|
1e6bc: 31e24040 e1403131 e6e657fe e6e6e6e6 @@.111@..W......
|
|
1e6cc: e6e6e6e6 3281e6e6 e6323232 e6e6e6e6 .......2222.....
|
|
1e6dc: e6e6e6e6 e6e6e6e6 e6e6e6e6 57575757 ............WWWW
|
|
1e6ec: e457e657 3d3510c1 7f7f6280 3113e830 W.W...5=.b..0..1
|
|
1e6fc: 53313131 2432fee4 0e877194 0e0e0e0e 111S..2$.q......
|
|
1e70c: 35353535 dc0e3535 e8e8e8dc e8e8dcdc 555555..........
|
|
1e71c: a2490e41 9f35a2a2 dc1313e8 13c59f9f A.I...5.........
|
|
1e72c: 10ebb1c8 547459bb 0838b377 6969a554 .....YtTw.8.T.ii
|
|
1e73c: 0ccb69cb ca66521b e9690c0c 6d6dbfbf .i...Rf...i...mm
|
|
1e74c: 7777bb77 c877c877 4cfb5b2b 767967af w.www.w.+[.L.gyv
|
|
1e75c: 31307ce8 76767979 76764076 40767979 .|01yyvvv@vvyyv@
|
|
1e76c: 4040e2e2 e2e24040 e24040e2 e23131e2 ..@@@@...@@..11.
|
|
1e77c: 322eac2b e6e6e6e6 e6e6e6e6 578181e6 +..2...........W
|
|
1e78c: e6575757 32323232 e6e6e632 e6e6e6e6 WWW.22222.......
|
|
1e79c: e6e6e6e6 57e6e6e6 e6e65757 35acc196 .......WWW.....5
|
|
1e7ac: 7f62807f 31e86e6b e2313131 32ac6094 ..b.kn.1111..`.2
|
|
1e7bc: 0eb16a24 0e0e0e0e 3535350e 0e353535 $j.......555555.
|
|
1e7cc: 45e8dcdc e8dcdce8 490edce8 9f35a2a2 ...E.......I..5.
|
|
1e7dc: 131333dc 209f9fdc 6565d179 a554775b .3..... y.ee[wT.
|
|
1e7ec: 59797754 0054a508 cb36e90c a6711b43 TwyY..T...6.C.q.
|
|
1e7fc: 690c0c78 44e5440c 77bb77e9 2b777777 x..i.D.D.w.wwww+
|
|
1e80c: 0fe32c64 c879d15b 41415e0d 76797913 d,..[.y..^AA.yyv
|
|
1e81c: 76407676 76797979 e2e2e240 40407e40 vv@vyyyv@...@~@@
|
|
1e82c: 404040e2 31314040 fee17e31 323232e6 .@@@@@111~...222
|
|
1e83c: 81323232 e6e68181 9778781c 81e6e68c 222......xx.....
|
|
1e84c: 81818181 81818181 81818181 e6e6e681 ................
|
|
1e85c: 575757e6 96c31ae6 7c807f9f 4517276b .WWW.......|k'.E
|
|
1e86c: 31313131 94fefeb3 c52e3224 0e870e0e 1111....$2......
|
|
1e87c: 350e0e0e 0e353535 e8dcdc0e e8dce845 ...5555.....E...
|
|
1e88c: 0edce845 0e7da249 1313e8dc c59fdc13 E...I.}.........
|
|
1e89c: ebe3d1b3 5474772c 54547438 3ba53b54 ....,wtT8tTTT;.;
|
|
1e8ac: 69704870 ae0c2a6d 0c44e165 bfe969cb pHpim*..e.D..i..
|
|
1e8bc: bb1ee944 2b7777bb 53e3b103 797967d1 D....ww+...S.gyy
|
|
1e8cc: 30790dc8 76791341 40767676 79797676 ..y0A.yvvvv@vvyy
|
|
1e8dc: 76407679 7e7e40e2 40e2e240 e2404011 yv@v.@~~@..@.@@.
|
|
1e8ec: 64e23131 32322eac 81818132 e6818181 11.d..222.......
|
|
1e8fc: a91f0091 9078543b 818181e6 81818181 ....;Tx.........
|
|
1e90c: 81818181 81818181 e6e6e681 c32ee6e6 ................
|
|
1e91c: 807fafe4 6e27177c 31313145 1ae4f1e2 ....|.'nE111....
|
|
1e92c: 94662466 870e0ee8 0e0e0e0e 35353535 f$f.........5555
|
|
1e93c: e8dc0e0e dce84545 dce845e8 35a2350e ....EE...E...5.5
|
|
1e94c: 1333e8dc 9f331313 3f3713c5 54597453 ..3...3...7?StYT
|
|
1e95c: 3820d174 543b5408 36000054 48cb6d44 t. 8.T;TT..6Dm.H
|
|
1e96c: 2fa6102d 0c69690c 1ee94444 64ab1e1e -../.ii.DD.....d
|
|
1e97c: 5be3fbd1 79797967 400dc879 791341e8 ...[gyyyy..@.A.y
|
|
1e98c: 76797676 79767676 40767979 7e40e276 vvyvvvvyyyv@v.@~
|
|
1e99c: e2e2407e 40404040 31e231e2 e6fe2440 ~@..@@@@.1.1@$..
|
|
1e9ac: 81813232 81818181 367036ed a93bcd4f 22.......6p6O.;.
|
|
1e9bc: e681784f 81818181 81818181 81818181 Ox..............
|
|
1e9cc: e6818181 94e6e6e6 6bb14242 17b85d30 ........BB.k0]..
|
|
1e9dc: 3131805d 60667e31 942432ac 0e0ee871 ].111~f`.2$.q...
|
|
1e9ec: 0e0e8787 0e350e0e dc0e0e0e 454545e8 ......5......EEE
|
|
1e9fc: 4545e8e8 35350edc 13dcdc35 33133113 ..EE..555....1.3
|
|
1ea0c: 3ffbc59f 7459bb37 b3d12b77 3b543854 ...?7.Ytw+..T8T;
|
|
1ea1c: 70703808 69367070 eb0b6936 69690cbe .8pppp6i6i....ii
|
|
1ea2c: 0c0c6d0c 64441e1e d1fb37b0 792b2b2b .m....Dd.7..+++y
|
|
1ea3c: 0dc82b79 13d75e0d 79767679 76767676 y+...^..yvvyvvvv
|
|
1ea4c: 40767979 40e27640 e2e24040 404040e2 yyv@@v.@@@...@@@
|
|
1ea5c: e2e2e240 ac03e231 81328194 81818181 @...1.....2.....
|
|
1ea6c: 70362281 4f4f361f ec1f4f4f 81ed81ed ."6p.6OOOO......
|
|
1ea7c: edededed 81818181 81818181 e6e6e681 ................
|
|
1ea8c: 71c3e457 1717416e 31807f17 1a793131 W..qnA.....111y.
|
|
1ea9c: 24246afe 0edc2c94 41410e0e 0e0e0e0e .j$$.,....AA....
|
|
1eaac: 410e0e0e 454545dc 4545e845 0e41e845 ...A.EEEE.EEE.A.
|
|
1eabc: dc9f0e0e 13131313 3ffb9f33 38382be3 ........3..?.+88
|
|
1eacc: 202b2b5b 54191212 7077083b 6dcb0070 [++ ...T;.wpp..m
|
|
1eadc: 69cb360c cf723f24 690c0c69 d864e90c .6.i$?r.i..i..d.
|
|
1eaec: 03b1e32c 2bc8c82b c82b7979 13790d0d ,...+..+yy+...y.
|
|
1eafc: 76767931 76767676 76767976 e2e24076 1yvvvvvvvyvvv@..
|
|
1eb0c: e24040e2 40e23131 e2e24040 7e31e2e2 .@@.11.@@@....1~
|
|
1eb1c: 81e61a8c 81818181 709081ed 361f7070 ...........ppp.6
|
|
1eb2c: 36363636 81ed6970 edededed edededed 6666pi..........
|
|
1eb3c: 818181ed e6818181 c36057e6 6e5d5d37 .........W`.7]]n
|
|
1eb4c: 067f476e b4e23131 24661a60 87339432 nG..11..`.f$2.3.
|
|
1eb5c: 41870e0e 0e0e0e41 0e0e0e0e e845e8dc ...AA.........E.
|
|
1eb6c: 45e84545 41e84531 dc0e0e0e 131313dc EE.E1E.A........
|
|
1eb7c: 3ffb3313 747403fc 2b77d1b3 74775474 .3.?..tt..w+tTwt
|
|
1eb8c: 773b3b54 0c007070 3636366d 2e6f2d70 T;;wpp..m666p-o.
|
|
1eb9c: 690ccd78 d8d30c69 032ce30f c8c877c8 x..ii.....,..w..
|
|
1ebac: 2b797979 0d0d0dc8 76797979 76767676 yyy+....yyyvvvvv
|
|
1ebbc: 79797676 31e27676 e2e23131 e2456e45 vvyyvv.111..EnE.
|
|
1ebcc: e24040e2 31e23131 946aabe2 eded81ed .@@.11.1..j.....
|
|
1ebdc: 7381eded 1f707070 1f1f1f1f ec007070 ...sppp.....pp..
|
|
1ebec: ededed81 edededed edededed 81818181 ................
|
|
1ebfc: 96e632e6 5d0e10c3 6e475d06 7e313106 .2.....].]Gn.11~
|
|
1ec0c: 24ace4be e866328c 87410e0e 0e414187 ...$.2f...A..AA.
|
|
1ec1c: 0e0e0e0e e8dcdc0e e8e845e8 e8453145 .........E..E1E.
|
|
1ec2c: 0e0e0e41 1313dc5d 3fb11313 7477b065 A...]......?e.wt
|
|
1ec3c: 2bd1f22b 38593877 cd543b12 70707038 +..+w8Y8.;T.8ppp
|
|
1ec4c: 70704870 d3693670 6978a6a6 bfd30c69 pHppp6i...xii...
|
|
1ec5c: 64d8e3fb c8c877c8 797979c8 0dc8c82b ...d.w...yyy+...
|
|
1ec6c: 79760d0d 76767976 79767676 31317931 ..vyvyvvvvvy1y11
|
|
1ec7c: 31313131 456b2745 e2e23131 31313131 1111E'kE11..1111
|
|
1ec8c: 90343131 eded811a edededed 70007073 114.........sp.p
|
|
1ec9c: 701f7070 70707070 ed819100 edededed pp.ppppp........
|
|
1ecac: edededed 8181eded e6e68181 87fcc360 ............`...
|
|
1ecbc: 475d3130 3131806e 6afeac76 be578c24 01]Gn.11v..j$.W.
|
|
1eccc: 410e0e45 41418787 0e0e0e0e 410e0e0e E..A..AA.......A
|
|
1ecdc: 454545e8 31311345 5d0edce8 13135dde .EEEE.11...].]..
|
|
1ecec: ebf27913 192b2cd2 d15b2b74 74d17777 .y...,+.t+[.ww.t
|
|
1ecfc: 54545454 707054cd 70000070 44697070 TTTT.Tppp..pppiD
|
|
1ed0c: a6a6d3e9 bfd36978 bfe566be 77771ebb ....xi...f....ww
|
|
1ed1c: 79792bc8 0dc87979 760d0d0d 79797679 .+yyyy.....vyvyy
|
|
1ed2c: 76404076 31313179 45453131 06271745 v@@vy11111EEE.'.
|
|
1ed3c: 31313145 313131e2 e2e23131 ed6a5777 E111.11111..wWj.
|
|
1ed4c: edededed 004822ed 70707070 70707070 ....."H.pppppppp
|
|
1ed5c: 97707070 222222ed eded2222 81ededed ppp.."""""......
|
|
1ed6c: 97e68181 a6c372e9 30314531 3180416e .....r..1E10nA.1
|
|
1ed7c: 1a60d8e2 94242457 0e0ee853 41414141 ..`.W$$.S...AAAA
|
|
1ed8c: 0e0e0e41 0e0e0e0e 1345e8dc 31134513 A.........E..E.1
|
|
1ed9c: 41e84531 13dcde6b ea337931 2bb30fd2 1E.Ak...1y3....+
|
|
1edac: b37477c8 2b77bb2b 54545474 704ecdcd .wt.+.w+tTTT..Np
|
|
1edbc: 70697070 69487070 2d0ce92d aee12e5a ppipppHi-..-Z...
|
|
1edcc: 78bf24be 1e1e1ebb 7979c877 c8797979 .$.x....w.yyyyy.
|
|
1eddc: 0d0d0dc8 76767676 76407676 31317976 ....vvvvvv@vvy11
|
|
1edec: 87414531 87174145 31314545 31313131 1EA.EA..EE111111
|
|
1edfc: e2313131 1aae40e2 ededed32 cbededed 111..@..2.......
|
|
1ee0c: 70707000 70707070 00707070 9090edec .pppppppppp.....
|
|
1ee1c: 22222290 ededed22 ca8181ed 6059081f ."""".........Y`
|
|
1ee2c: 3131402e 31068745 60be4031 24e1321a .@11E..11@.`.2.$
|
|
1ee3c: 41875b94 8787410e 0e0e4187 0e0e410e .[.A.A...A...A..
|
|
1ee4c: 1345dc0e 31131313 45453131 e85dde41 ..E....111EEA.].
|
|
1ee5c: 52333113 b3330fd2 7477192b 382bbb38 .13R..3.+.wt8.+8
|
|
1ee6c: 54543838 1e543bcd 0c007048 36366944 88TT.;T.Hp..Di66
|
|
1ee7c: 69cbcf36 a6e1e9cf 44ae6feb 1e1ebbe9 6..i.....o.D....
|
|
1ee8c: 2bc8771e 7979b379 0d0d0dc8 7679760d .w.+y.yy.....vyv
|
|
1ee9c: 40767676 13133176 6e17e813 450645e8 vvv@v1.....n.E.E
|
|
1eeac: 3145e845 31e23131 e2e2e231 b330e2e2 E.E111.11.....0.
|
|
1eebc: ededaced edededed 7070004a 70707070 ........J.pppppp
|
|
1eecc: 70700000 22ff7070 90909090 22222290 ..pppp."....."""
|
|
1eedc: 9181eded 5954a900 31402e96 31313131 ......TY..@11111
|
|
1eeec: ac763131 e124acfe 87135732 87414141 11v...$.2W..AAA.
|
|
1eefc: 0e418787 4141410e 45e8410e 13131313 ..A..AAA.A.E....
|
|
1ef0c: 31313131 dc0e4145 e33313dc 33330fd2 1111EA....3...33
|
|
1ef1c: 772b2bb3 b3777777 541212bb 54cdcd54 .++wwww....TT..T
|
|
1ef2c: 707048cd 0c446900 3636cb69 72446936 .Hpp.iD.i.666iDr
|
|
1ef3c: a6106610 bf72f5be c8772bbb 7979792b .f....r..+w.+yyy
|
|
1ef4c: 0d0dc8c8 13790d0d 20136713 afaf9f5b ......y..g. [...
|
|
1ef5c: aa17dc9f 31454587 3106f631 e2e2e231 .....EE11..11...
|
|
1ef6c: e2e231e2 e8e2e2e2 5757e5f3 22eded22 .1........WW".."
|
|
1ef7c: 700063ed 00000000 00000000 07007000 .c.p.........p..
|
|
1ef8c: 73737322 22909073 73ed2222 3ba97070 "ssss..""".spp.;
|
|
1ef9c: 40a69659 31313131 d8e24531 e1941afe Y..@11111E......
|
|
1efac: 45be32e1 41414141 41878787 41410e41 .2.EAAAA...AA.AA
|
|
1efbc: e8dc4141 13131313 31313113 dce83131 AA.......11111..
|
|
1efcc: 52c5e8dc 3313b1d2 2b2bb333 c8c87777 ...R...33.++ww..
|
|
1efdc: 12e87974 cdcd5454 0069e9cd 36007070 ty..TT....i.pp.6
|
|
1efec: cb6d0cd3 aed36936 e5ae53a6 a6102472 ..m.6i...S..r$..
|
|
1effc: 0fe3e310 afb1b1b1 5bf2f2af 0faff2f2 ...........[....
|
|
1f00c: 0f0f0f93 c5afb10f aa6ee833 3145450e ........3.n..EE1
|
|
1f01c: 3106f645 40403131 e2e2e240 e2e2e2e2 E..111@@@.......
|
|
1f02c: ae413031 ed2281ac 48902222 00000000 10A..."."".H....
|
|
1f03c: 00000000 00707070 73737315 90737373 ....ppp..ssssss.
|
|
1f04c: ed222290 1f7000ec 6660593b 31313140 .""...p.;Y`f@111
|
|
1f05c: 11454531 321afe24 535724e1 41418745 1EE.$..2.$WSE.AA
|
|
1f06c: 87878741 87414141 dc414141 134545e8 A...AAA.AAA..EE.
|
|
1f07c: 31131313 13313131 529fdce8 b3790fd2 ...1111....R..y.
|
|
1f08c: 2bb33333 2b7777c8 796bc82b cdcd5454 33.+.ww++.kyTT..
|
|
1f09c: 36e94ecd 70707000 2d2d3600 aed3cb2d .N.6.ppp.6---...
|
|
1f0ac: e5ae24a6 44e9e9ab 715372bf cecee337 .$.....D.rSq7...
|
|
1f0bc: 37e3cece 0ffbfb37 9f8e930f 79796733 ...77.......3gyy
|
|
1f0cc: 27e87979 1313135d e2314531 40403131 yy.']...1E1.11@@
|
|
1f0dc: e2e24040 e2e2e2e2 5de24040 8c2e222c @@......@@.],"..
|
|
1f0ec: ed902222 000000ca 00000000 00000000 ""..............
|
|
1f0fc: 731c7000 73737373 ed907373 70700089 .p.sssssss....pp
|
|
1f10c: e4123b1f 31314071 45313131 acfe6a40 .;..q@11111E@j..
|
|
1f11c: 9424e124 4187455b 06874141 dc878787 $.$.[E.AAA......
|
|
1f12c: dcdc87e8 4545e8dc 87454545 31313145 ......EEEEE.E111
|
|
1f13c: 52c51331 79130fd2 b32020b3 7777bb2b 1..R...y. .+.ww
|
|
1f14c: dcdcb3b3 cd544e12 cfe9cdcd 70707048 .....NT.....Hppp
|
|
1f15c: cb007070 782d2d69 bf782466 6dd3bbe5 pp..i--xf$x....m
|
|
1f16c: 1ee92de9 d12b1e1e d1202020 79797967 .-....+. .gyyy
|
|
1f17c: e8c51379 40767679 e8797976 313113e8 y...yvv@vyy...11
|
|
1f18c: 40403131 40e231e2 e2404040 e2e2e231 11@@.1.@@@@.1...
|
|
1f19c: 9fe240e2 e6bf854c 90909094 00707390 .@..L........sp.
|
|
...
|
|
1f1b4: 63000000 73739773 73737373 7000eced ...cs.ssssss...p
|
|
1f1c4: bb081f70 31e22c42 45313131 1a1ad131 p...B,.1111E1...
|
|
1f1d4: 24e1e194 e8061357 87414187 e8870606 ...$W....AA.....
|
|
1f1e4: dcdce8e8 4545dc41 5d454545 76314516 ....A.EEEEE].E1v
|
|
1f1f4: e3137676 79130fd2 1313b379 7777bb79 vv.....yy...y.ww
|
|
1f204: 7979b3bb 544e4e1e cd0ccdcd 48487069 ..yy.NNT....ipHH
|
|
1f214: 48707070 782d3648 d3786671 bb444444 pppHH6-xqfx.DDD.
|
|
1f224: 6d6d2d44 bb1ee9e9 79b379c8 0d0dc879 D-mm.....y.yy...
|
|
1f234: dc13760d 79793113 79797976 31313179 .v...1yyvyyyy111
|
|
1f244: 40403131 e2e24040 e2e2e240 40e23131 11@@@@..@...11.@
|
|
1f254: 3cdc31e2 870e354c 73e69478 fa907390 .1.<L5..x..s.s..
|
|
...
|
|
1f270: 97977307 73737397 70707390 081f7070 .s...sss.spppp..
|
|
1f280: 3167420b 31313131 fee1e245 e1dbe61a .Bg11111E.......
|
|
1f290: 06315a32 8787dce8 06060606 e8e8e8e8 2Z1.............
|
|
1f2a0: e8dc4141 f6454545 7631f6de e3797676 AA..EEE...1vvvy.
|
|
1f2b0: 7979b1eb b3b37979 7777c8b3 772b7777 ..yyyy....wwww+w
|
|
1f2c0: 77384e1e cfcdcd54 48700c69 70707048 .N8wT...i.pHHppp
|
|
1f2d0: d3cb692d d3aee3db 6444440c d36dd364 -i.......DDdd.m.
|
|
1f2e0: 77e9e96d b32b2b2b 0dc82b79 e8790dc8 m..w+++.y+....y.
|
|
1f2f0: 79e8e8d7 76767676 79797979 40e27679 ...yvvvvyyyyyv.@
|
|
1f300: e2404040 314531e2 40e23131 953c3340 @@@..1E111.@@3<.
|
|
1f310: 0e87dc7d 6a897e45 737373ed 0000ec73 }...E~.j.ssss...
|
|
...
|
|
1f328: ff974a00 73979797 00639073 1f707070 .J.....ss.c.ppp.
|
|
1f338: 401a9408 31313131 94764531 e124ac1a ...@11111Ev...$.
|
|
1f348: 31e157e1 87e8e806 e8e806dc e8e8e830 .W.1........0...
|
|
1f358: 4141dce8 41e845e8 7945dede e3794076 ..AA.E.A..Eyv@y.
|
|
1f368: 7679b1eb 792b2b76 7477c82b 77777777 ..yvv++y+.wtwwww
|
|
1f378: 1ee93877 cfcfe964 700c0ccf 48704848 w8..d......pHHpH
|
|
1f388: ec6d0c70 780b1089 bf446969 bb6d44bf p.m....xiiD..Dm.
|
|
1f398: e9e96dab 2b2b64bb c82b7979 790dc8c8 .m...d++yy+....y
|
|
1f3a8: 138741e8 76767979 76767676 76767679 .A..yyvvvvvvyvvv
|
|
1f3b8: 407e7e40 874531e2 e2e2e231 4c527d13 @~~@.1E.1....}RL
|
|
1f3c8: 0e87139f 6811e213 73226aff 15737373 .......h.j"ssss.
|
|
...
|
|
1f3e0: 97ec0000 9797ff1c 4a907373 70707000 ........ss.J.ppp
|
|
1f3f0: 53e44e1f 313113e2 d1311331 8c6a1a6a .N.S..111.1.j.j.
|
|
1f400: b49424e1 e8e8e831 e80687dc e8e8e8e8 .$..1...........
|
|
1f410: dce84545 4545e8dc 3141de16 e3790d79 EE....EE..A1y.y.
|
|
1f420: 76762ceb 7777c8c8 74777777 77777774 .,vv..wwwwwttwww
|
|
1f430: e91ebb74 cf0c64e9 690ccfcf 48483648 t....d.....iH6HH
|
|
1f440: 0c364848 782424ca d369692d 44e9d3bf HH6..$$x-ii....D
|
|
1f450: e91e64d1 2b2b77e9 2b2bb32b 0d0dc8c8 .d...w+++.++....
|
|
1f460: 13414131 76767979 76764076 79797676 1AA.yyvvv@vvvvyy
|
|
1f470: 7e7e4079 4545e240 1331e231 3595527d y@~~@.EE1.1.}R.5
|
|
1f480: 8745e213 4040e231 94736811 97739773 ..E.1.@@.hs.s.s.
|
|
1f490: 00001597 00000000 ec000000 971c1c97 ................
|
|
1f4a0: 73739797 707000cb e4e17070 31313176 ..ss..pppp..v111
|
|
1f4b0: e2453131 e6ac1af5 9424e1db e8453ed1 11E.......$..>E.
|
|
1f4c0: e887dce8 06e845e8 4545e8e8 45e8dce8 .....E....EE...E
|
|
1f4d0: 13f6de87 37797679 0d0db0fc 7774740d ....yvy7.....ttw
|
|
1f4e0: 74777777 77777474 bbbb77bb 69e90c38 wwwtttww.w..8..i
|
|
1f4f0: 0ccfcfcf 483648cf cbcb48cb 89579169 .....H6H.H..i.W.
|
|
1f500: 69690c2d e944bf44 1ebb6444 771e1e1e -.iiD.D.Dd.....w
|
|
1f510: 79792b77 0dc8c82b 4141e876 76797913 w+yy+...v.AA.yyv
|
|
1f520: 76404040 79797676 40763131 e2e24040 @@@vvvyy11v@@@..
|
|
1f530: 7d333140 13a09552 31e23131 404040e2 @13}R...11.1.@@@
|
|
1f540: 12114011 ff735722 4a979797 00000000 .@.."Ws....J....
|
|
1f550: 00000000 1c1c97ec 739797ff 70704897 ...........s.Hpp
|
|
1f560: 60cf7070 31134066 45313131 acace640 pp.`f@.1111E@...
|
|
1f570: 32e1db24 4545e2e6 87dce8e8 4545e806 $..2..EE......EE
|
|
1f580: 45e8e8e8 e8e8e845 13e80645 e3677631 ...EE...E...1vg.
|
|
1f590: 7774b0fc 74747477 77777777 38747474 ..twwtttwwwwttt8
|
|
1f5a0: bb772b77 cde9bbab cfcfcf69 366969cf w+w.....i....ii6
|
|
1f5b0: 6d69cbcb e61c6969 6969ec91 d1e5780c ..imii....ii.x..
|
|
1f5c0: 1e6d6dab 1e1e6464 792b771e c8c82b2b .mm.dd...w+y++..
|
|
1f5d0: 5d30790d 76791341 40404076 79767676 .y0]A.yvv@@@vvvy
|
|
1f5e0: 79313179 31404040 523c9f13 e2319f4c y11y@@@1..<RL.1.
|
|
1f5f0: 40313131 e2404040 40401131 57221211 111@@@@.1.@@.."W
|
|
1f600: 1cff1c73 00156397 70000000 1c1c4a00 s....c.....p.J..
|
|
1f610: 97ff1c1c 70489773 90007070 31312b42 ....s.Hppp..B+11
|
|
1f620: 31313131 ac6ab331 e1dbe16a 45112457 11111.j.j...W$.E
|
|
1f630: dce84545 45e80687 e8e84545 e8e81345 EE.....EEE..E...
|
|
1f640: 313113e8 e367765e c80d5bfc 770dc8c8 ..11^vg..[.....w
|
|
1f650: 77777777 77747777 bb2b7777 1ebb6477 wwwwwwtwww+.wd..
|
|
1f660: cfcfcd0c cb69cfcf 43ec6948 97eccb2a ......i.Hi.C*...
|
|
1f670: 69d378ed e5bf6969 e9bbc55b 1e64d1bb .x.iii..[.....d.
|
|
1f680: 2b771ee9 c8797979 415ec80d 761341f3 ..w+yyy...^A.A.v
|
|
1f690: 40404076 79764040 79793131 c5794040 v@@@@@vy11yy@@y.
|
|
1f6a0: 7d95957d 404079dc 313131e2 e2404040 }..}.y@@.111@@@.
|
|
1f6b0: 40114545 12114040 1c975773 1c1c1c1c EE.@@@..sW......
|
|
1f6c0: 0048ec91 1c910000 1c1c1c89 701c971c ..H............p
|
|
1f6d0: 91007070 317e5a42 31313131 1af5e231 pp..BZ~111111...
|
|
1f6e0: dbdb57ac e2f1948c e8454531 e88741e8 .W......1EE..A..
|
|
1f6f0: 45453145 133145e8 31311313 e3207631 E1EE.E1...111v .
|
|
1f700: c846b0fc c8c8c8c8 77c8c8c8 38777777 ..F........wwww8
|
|
1f710: 77bb2b77 bbbb7477 cf69e913 d3694fcf w+.wwt....i..Oi.
|
|
1f720: 430c0c48 eccb694d 0c2d9097 d32d780c H..CMi....-..x-.
|
|
1f730: 2025d8e5 abd1bb1e 77e94ee9 79797979 ..% .....N.wyyyy
|
|
1f740: 5e760dc8 1341f37c 40407676 76404040 ..v^|.A.vv@@@@@v
|
|
1f750: 79767979 950f3313 878e4c52 407e7e45 yyvy.3..RL..E~~@
|
|
1f760: 31e24040 407e40e2 404031e2 40404040 @@.1.@~@.1@@@@@@
|
|
1f770: e6ff12e2 891c1c73 631c1c89 89074afa ....s......c.J..
|
|
1f780: 1c898989 1c971c1c 07700070 31741a1a ........p.p...t1
|
|
1f790: 31313131 66403131 db24acac d16a24db 111111@f..$..$j.
|
|
1f7a0: 45313131 e8d7e8e8 314545e8 3145e831 111E.....EE11.E1
|
|
1f7b0: 795e5e5e fc5b7676 7446d852 c8c84674 ^^^yvv[.R.FttF..
|
|
1f7c0: c8c8c8c8 77777777 772bbb74 77747777 ....wwwwt.+wwwtw
|
|
1f7d0: cf1edcdc 694fcfcf 2d690cd3 cbcb2d4d ......Oi..i-M-..
|
|
1f7e0: d3e197ec bfae0c69 af2f642d bb1e6425 ....i...-d/.%d..
|
|
1f7f0: 1ee9e91e 13797977 760d7913 7cf37c5e ....wyy..y.v^|.|
|
|
1f800: 40767913 400d0d0d 5b137640 ce6c520f .yv@...@@v.[.Rl.
|
|
1f810: 871333b1 7e7ee287 76404040 7e4040e2 .3....~~@@@v.@@~
|
|
1f820: 7e404040 40404040 68e24040 89738191 @@@~@@@@@@.h..s.
|
|
1f830: 63891c1c 63636363 1c898963 1c1c1c1c ...cccccc.......
|
|
1f840: 89cbcb97 117860e6 31313131 b3313131 .....`x.1111111.
|
|
1f850: 8c6a6a6a 9432dbdb 31313179 d7e8e845 jjj...2.y111E...
|
|
1f860: 454545e8 5e313131 5e5e5e31 655b7679 .EEE111^1^^^yv[e
|
|
1f870: 46c820e3 77747474 77c8c8c8 bb747477 . .Ftttw...wwtt.
|
|
1f880: bb7774bb 74771e77 64bb0e79 36cfcf0c .tw.w.wty..d...6
|
|
1f890: 36486969 48cbd32a 241c6948 786d6978 iiH6*..HHi.$ximx
|
|
1f8a0: e5bf0cd3 6dd8255b e90ce9e9 dc79771e ....[%.m.....wy.
|
|
1f8b0: 0d79e85d 3d415ec8 4076e85d 400d0d40 ].y..^A=].v@@..@
|
|
1f8c0: 52fbf279 5b935265 e8407e79 40403187 y..ReR.[y~@..1@@
|
|
1f8d0: 4040407e 7e404040 40407e7e 4040407e ~@@@@@@~~~@@~@@@
|
|
1f8e0: 40404040 73d33411 07fa6373 2d2dcaca @@@@.4.ssc....--
|
|
1f8f0: ca2d2d2d 6363faca 739773ff 3497fe22 ---...cc.s.s"..4
|
|
1f900: 31313131 e2313131 946aacb4 57dbdbdb 1111111...j....W
|
|
1f910: 313111e6 e8453131 45e8e8e8 31313145 ..1111E....EE111
|
|
1f920: 5e313131 65f27979 7676b337 747474c8 111^yy.e7.vv.ttt
|
|
1f930: 74747474 38383838 7438bbbb c8c87477 tttt8888..8twt..
|
|
1f940: 0c1e2b77 cfcfbb44 480c0c36 48cb0c69 w+..D...6..Hi..H
|
|
1f950: 89cb4848 0c6991e6 440c6978 c55b5be5 HH....i.xi.D.[[.
|
|
1f960: e90c0cbb 33ab1ee9 7979416b 7ce87679 .......3kAyyyv.|
|
|
1f970: 79e8f33d af337979 ce52cefb 76315b0f =..yyy3...R..[1v
|
|
1f980: e27e7e40 4040e213 407e7e40 40404040 @~~...@@@~~@@@@@
|
|
1f990: 407e7e7e 7e7e7e7e 40404040 597e11e2 ~~~@~~~~@@@@..~Y
|
|
1f9a0: 7438d369 68684646 02020202 744646dd i.8tFFhh.....FFt
|
|
1f9b0: fffacae9 68901a22 3131e2e2 45313131 ...."..h..11111E
|
|
1f9c0: acac5a40 e1dbf132 3111e194 45313131 @Z..2......1111E
|
|
1f9d0: e8e8e8e8 3131315e 5e313131 65b179b3 ....^111111^.y.e
|
|
1f9e0: c8c87671 7446c8c8 38747474 77773838 qv....Ftttt888ww
|
|
1f9f0: 38777738 87c8771e 0ce91e2b 0c44690c 8ww8.w..+....iD.
|
|
1fa00: 2d69cbcb 6948480c 70704848 ae5a5aca ..i-.HHiHHpp.ZZ.
|
|
1fa10: 0c69780c 5b5be544 1e6dd1c5 1377771e .xi.D.[[..m..ww.
|
|
1fa20: 79135d6b 41e83179 93287f3d e3e3fb0f k].yy1.A=.(.....
|
|
1fa30: 13f2fbe3 40407679 347e4076 7e40407e ....yv@@v@~4~@@~
|
|
1fa40: 7e7e7e7e 407e4040 7e7e7e40 7e7e7e40 ~~~~@@~@@~~~@~~~
|
|
1fa50: 40407e7e 12120de2 1246dd46 cfcdcd54 ~~@@....F.F.T...
|
|
1fa60: 4f4fcfcf 5954cd4f c95fdd46 341c8938 ..OOO.TYF._.8..4
|
|
1fa70: 31e240e2 31313131 6a6a7631 dbf1246a .@.111111vjjj$..
|
|
1fa80: e2b46a8c 31313131 e8e8e8e8 3131315e .j..1111....^111
|
|
1fa90: 79313131 65fb1379 c8c8c82c 46c8c8c8 111yy..e,......F
|
|
1faa0: 74774646 77383874 381e381e 0e771e38 FFwtt88w.8.88.w.
|
|
1fab0: 0ce91e0e 6969690c cbcbcb69 480c69bb .....iiii....i.H
|
|
1fac0: 70700ccb edca6970 69ca9065 d1d1440c ..pppi..e..i.D..
|
|
1fad0: bbc525d8 13b32bbb 67131616 28252067 .%...+.....gg %(
|
|
1fae0: f0f0b6ad af7d4c21 0d0d79d1 7979760d ....!L}..y...vyy
|
|
1faf0: 0d407676 40400d34 7e7e7e7e 4040407e vv@.4.@@~~~~~@@@
|
|
1fb00: 7e404040 7e7e7e7e 407e7e7e dd7468e2 @@@~~~~~~~~@.ht.
|
|
1fb10: cf4e74dd cfcfcfcf 3636cfcf a9a9a936 .tN.......666...
|
|
1fb20: 544fa9a9 745fc974 e2e23412 31313131 ..OTt._t.4..1111
|
|
1fb30: acd8e231 f1db946a b39424db 31313131 1...j....$..1111
|
|
1fb40: e8e83131 31315ee8 79313131 fc371376 11...^11111yv.7.
|
|
1fb50: c8c876f2 77c8c8c8 77467774 38383874 .v.....wtwFwt888
|
|
1fb60: 38383838 13383838 e96d2bb5 69690c0c 8888888..+m...ii
|
|
1fb70: cbcbcbcf 69cb44cb 701ebbe9 36697070 .....D.i...pppi6
|
|
1fb80: 5a5af16d b0a02ce1 28c7b4e5 5bb4e55b m.ZZ.,.....([..[
|
|
1fb90: 8e8e6b6e 214c4c93 28adb6b6 1341f37f nk...LL!...(..A.
|
|
1fba0: 0d0d0d40 76760d0d 40767679 400d340d @.....vvyvv@.4.@
|
|
1fbb0: 7e7e7e40 4040407e 40404040 7e7e4040 @~~~~@@@@@@@@@~~
|
|
1fbc0: 7e7e7e7e 744e117e 5454cd12 cfcfcdcd ~~~~~.Nt..TT....
|
|
1fbd0: 4f4f4fcf a9a9a91f 3b3ba9a9 12543b3b .OOO......;;;;T.
|
|
1fbe0: 34195e76 3131e2e2 5a403131 f1e66a6a v^.4..1111@Zjj..
|
|
1fbf0: 6632dbdb 5f313176 5e313131 31315ee8 ..2fv11_111^.^11
|
|
1fc00: 76765f31 10e32076 c8c8765b 77c8c8c8 1_vvv ..[v.....w
|
|
1fc10: 74747474 12387474 4e38384e 7738384e tttttt8.N88NN88w
|
|
1fc20: 441e336e 440c0ce9 cbcbcbe9 48e936cb n3.D...D.....6.H
|
|
1fc30: 44e96948 36707070 cbd3d348 4c3c5378 Hi.Dppp6H...xS<L
|
|
1fc40: f0e3be71 713721f0 8e8e6e8e c7930f0f q....!7q.n......
|
|
1fc50: 7c7c4125 41f3f37c 0d0d7613 400d0d0d %A|||..A.v.....@
|
|
1fc60: 76767976 0d347e40 7e7e4040 407e7e7e vyvv@~4.@@~~~~~@
|
|
1fc70: 40404040 40404040 7e7e7e7e 40407e7e @@@@@@@@~~~~~~@@
|
|
1fc80: 54cdcf4f cdcdcd4e 4f4fcfcf a9a9a9a9 O..TN.....OO....
|
|
1fc90: 08a9a9a9 54543b08 5e461259 31317e76 .....;TTY.F^v~11
|
|
1fca0: 76313131 246a6a6a 94dbdbf1 5f311124 111vjjj$....$.1_
|
|
1fcb0: 31315f5f 5e5e135e 76765f31 37105b76 __11^.^^1_vvv[.7
|
|
1fcc0: c82b76d1 c8c8c8c8 38747477 38387438 .v+.....wtt88t88
|
|
1fcd0: 54545412 38384e54 bbe9132b d30c0c6d .TTTTN88+...m...
|
|
1fce0: cbcf6d44 0c36cbcb cb697070 70704838 Dm....6.ppi.8Hpp
|
|
1fcf0: 36367070 03abcb48 5bbfaebf afafaf8e pp66H......[....
|
|
1fd00: ab2b2bd1 41d720b3 5e315ed7 f37c41e8 .++.. .A.^1^.A|.
|
|
1fd10: 4031d741 0d0d0d0d 76767640 340d4076 A.1@....@vvvv@.4
|
|
1fd20: 7e404034 7e7e4040 40404040 e2404040 4@@~@@~~@@@@@@@.
|
|
1fd30: 7e7e7e40 407e7e7e cd4f0d40 cd541254 @~~~~~~@@.O.T.T.
|
|
1fd40: 4fcfcfcd a9a9a9a9 a9a9a9a9 543b0808 ...O..........;T
|
|
1fd50: 74685954 314074c9 e2313131 6a94acd8 TYht.t@1111....j
|
|
1fd60: e1dbf1db 3111b46a 5f5f5f5f 5e135e31 ....j..1____1^.^
|
|
1fd70: 76767631 0ffcaf76 c8767679 19c8c8c8 1vvvv...yvv.....
|
|
1fd80: 74747477 38747474 54545412 38545454 wtttttt8.TTTTTT8
|
|
1fd90: 0ce91e1e 69690c6d cb690c0c 36cbcbcb ....m.ii..i....6
|
|
1fda0: 4870700c 00cbe9cb 69697070 2d0c6948 .ppH....ppiiHi.-
|
|
1fdb0: 1ebf6d2d bb1e64b3 77c86464 205ec877 -m...d..dd.ww.^
|
|
1fdc0: 0dc8b313 d731760d e8417c7c 0d0d4076 .....v1.||A.v@..
|
|
1fdd0: 7640400d 0d407676 40403434 7e404040 .@@vvv@.44@@@@@~
|
|
1fde0: 7e40407e 407e7e7e 7e404040 7e7e7e7e ~@@~~~~@@@@~~~~~
|
|
1fdf0: 34117e40 1e4e4ecf cfcdcd4e a9a9a94f @~.4.NN.N...O...
|
|
1fe00: a9a9a9a9 080808a9 68595454 e26838dd ........TTYh.8h.
|
|
1fe10: 313131e2 6a6ae140 dbf1f157 5fb36a24 .111@.jjW...$j._
|
|
1fe20: 5f5f5f31 5e5e315f 7676315e b1fcb176 1____1^^^1vvv...
|
|
1fe30: 76797679 464619c8 38747474 38747438 yvyv..FFttt88tt8
|
|
1fe40: 54545412 54545454 0c0ce94e 6969690c .TTTTTTTN....iii
|
|
1fe50: cf0c6969 cbcbcbcb 70704436 360c7070 ii......6Dpppp.6
|
|
1fe60: 2d707000 0cd3cb0c 780ccb69 6d6dd1bb .pp-....i..x..mm
|
|
1fe70: c8771e44 2bc8c8c8 7477c82b 760d3468 D.w....++.wth4.v
|
|
1fe80: 417c4131 0d7631d7 400d0d0d 40404040 1A|A.1v....@@@@@
|
|
1fe90: 4034340d 40407e40 40407e7e 7e7e7e7e .44@@~@@~~@@~~~~
|
|
1fea0: 40404040 7e7e7e7e e240407e 674e0d31 @@@@~~~~~@@.1.Ng
|
|
1feb0: cdcd3867 a9a94fcf a9a9a9a9 0808a9a9 g8...O..........
|
|
1fec0: 68545408 e2685446 313131e2 94944031 .TThFTh..1111@..
|
|
1fed0: f1f1246a 769432db 5f5f5f5f 5e315f5f j$...2.v______1^
|
|
1fee0: 765e5e5e 5b10fb5e 795e7976 7446c879 ^^^v^..[vy^yy.Ft
|
|
1fef0: 74747474 38381238 54545412 5454cd54 tttt8.88.TTTT.TT
|
|
1ff00: 0c0c4e4e 690c6969 440c6969 cbcb360c NN..ii.iii.D.6..
|
|
1ff10: 00bbcbcb 0c000000 70707036 d3cb0c2d ........6ppp-...
|
|
1ff20: 0c69692d 4441bb0c 1e1e6de9 77c82b1e -ii...AD.m...+.w
|
|
1ff30: 12772bc8 34681212 41e8760d 31e84141 .+w...h4.v.AAA.1
|
|
1ff40: 0d0d0d76 40404040 34343440 7e7e7e7e v...@@@@@444~~~~
|
|
1ff50: 7e7e7e7e 7e7e7e7e 40407e7e 7e347e7e ~~~~~~~~~~@@~~4~
|
|
1ff60: 31407e34 dc314545 544e2b17 a94fcdcd 4~@1EE1..+NT..O.
|
|
1ff70: a9a9a9a9 08a9a9a9 b2540808 e23454b2 ..........T..T4.
|
|
1ff80: 31e2e2e2 6ad1e231 f1db6a57 5a32dbf1 ...11..jWj....2Z
|
|
1ff90: 5f5f5fdd 5f5f5f5f 5f5e5e31 20e3e313 ._______1^^_...
|
|
1ffa0: 79797676 c8c87679 74747446 12123838 vvyyyv..Fttt88..
|
|
1ffb0: 12545459 cdcdcd54 0c4e54cd 0ce96969 YTT.T....TN.ii..
|
|
1ffc0: cb696969 cbcbcbcb 446936cb 00000070 iii......6iDp...
|
|
1ffd0: 4870360c 360c2d70 6969e96d f3200c69 .6pHp-.6m.iii. .
|
|
1ffe0: e90ce9d1 64bb1e1e c8b3771e 12121212 .......d.w......
|
|
1fff0: 310d0d34 d7414141 0d407913 400d0d0d 4..1AAA..y@....@
|
|
20000: 34340d40 347e7e34 34347e34 407e7e7e @.444~~44~44~~~@
|
|
20010: 34347e7e 3434347e e27e347e 87e84145 ~~44~444~4~.EA..
|
|
20020: 12e933b5 4fcdcd54 a9a9a9a9 a9a9a9a9 .3..T..O........
|
|
20030: 23540808 11111254 e2e21111 e1403131 ..T#T.......11@.
|
|
20040: f157946a 94dbdbf1 5f317ef5 5f5f5f5f j.W......~1_____
|
|
20050: 315e315f 5e37fcc5 76767676 19c87676 _1^1..7^vvvvvv..
|
|
20060: 747477c8 59383838 38545959 cdcdcd54 .wtt888YYYT8T...
|
|
20070: cd54cdcd 0c696969 69696969 690c6969 ..T.iii.iiiiii.i
|
|
20080: 0c48cbcb 00704844 48360c00 cbcb4848 ..H.DHp...6HHH..
|
|
20090: 696dd3cb 44693669 e964c520 1ee91ee9 ..mii6iD .d.....
|
|
200a0: 2babab2b 121274b3 0d776812 4141e879 +..+.t...hw.y.AA
|
|
200b0: 7631e8d7 0d0d0d40 340d400d 0d0d3434 ..1v@....@.444..
|
|
200c0: 34343434 7e0d7e34 347e407e 34343434 44444~.~~@~44444
|
|
200d0: 407e7e34 0e5d06e2 4ee25db5 cdcd5454 4~~@..]..].NTT..
|
|
200e0: a9a94f4f a9a9a9a9 a5a50808 11e2676d OO..........mg..
|
|
200f0: 11111111 4031e2e2 246a5757 dbdbf10b ......1@WWj$....
|
|
20100: 5f11d86a 765f5f5f 315f5f76 790feab1 j..____vv__1...y
|
|
20110: 76767676 19c81976 74747419 59123838 vvvvv....ttt88.Y
|
|
20120: 54545959 cdcdcd54 cdcdcdcd cf6969cd YYTTT........ii.
|
|
20130: 696969cf 0c696969 48cb3669 4870440c .iiiiii.i6.H.DpH
|
|
20140: 48cb7070 48cbcb48 4444cb70 6d36690c pp.HH..Hp.DD.i6m
|
|
20150: d7d16d2d e91e6dbb 2bdc671e 1277c8bb -m...m...g.+..w.
|
|
20160: 74121212 e879760d 13e8d7d7 40404079 ...t.vy.....y@@@
|
|
20170: 7e407e7e 407e3434 3434347e 407e7e34 ~~@~44~@~4444~~@
|
|
20180: 1268347e 347e3468 407e3434 5d41e831 ~4h.h4~444~@1.A]
|
|
20190: e2316bb5 cd54cd34 4f4f4fcd a9a9a9a9 .k1.4.T..OOO....
|
|
201a0: 080808a9 13051843 11111111 e2e21111 ....C...........
|
|
201b0: 94e66a64 dbf10bdb 5f19948c 765f5f5f dj.........____v
|
|
201c0: 31767676 76af65fb 76767676 1919c876 vvv1.e.vvvvvv...
|
|
201d0: 74741919 12383838 54545454 cdcdcdcd ..tt888.TTTT....
|
|
201e0: cdcdcdcd 0c0c0ccd 690c69cb 69cbcbcf .........i.i...i
|
|
201f0: cbcb0c0c 00d30c48 48484870 cb6d69cb ....H...pHHH.im.
|
|
20200: 6dcb4848 cbcb690c 4469d36d 1e1ed120 HH.m.i..m.iD ...
|
|
20210: 336e2be9 1e777777 12121212 0d0d0d68 .+n3www.....h...
|
|
20220: e8e81379 0d7931e8 12541268 54545459 y....1y.h.T.YTTT
|
|
20230: 7e343468 4040347e dd466812 68546846 h44~~4@@.hF.FhTh
|
|
20240: 4034347e 5df34131 e2e86b6b cdcd4040 ~44@1A.]kk..@@..
|
|
20250: 4f4fcdcd a9a94f3b 08080808 9a187a6d ..OO;O......mz..
|
|
20260: 111131a0 e2111111 e66af57e f10b0b57 .1......~.j.W...
|
|
20270: 346624db 5f5f5f5f 5e407676 7633fce3 .$f4____vv@^..3v
|
|
20280: 76767676 c80dc876 7419c876 12383838 vvvvv...v..t888.
|
|
20290: cd545454 cd3b3b3b cdcdcdcd e90ccdcd TTT.;;;.........
|
|
202a0: cbcbcb0c 0c69cbcb 36692d2d 2d0c4836 ......i.--i66H.-
|
|
202b0: 48487070 2ab02dcb 703636cb 36363648 ppHH.-.*.66pH666
|
|
202c0: 690c0c69 bbd1ab0c 33dc1ee9 1e771e77 i..i.......3w.w.
|
|
202d0: 124e4e12 0d341212 13790d0d 68c813e8 .NN...4...y....h
|
|
202e0: a1a1dd46 a1d9d9d9 6802dda1 407e6812 F..........h.h~@
|
|
202f0: 75a15959 d95858df 7e7e1259 f3f306e2 YY.u.XX.Y.~~....
|
|
20300: 31e85d5d 547e4040 4fcdcdcd 4f3b3b4f ]].1@@~T...OO;;O
|
|
20310: 3b08a53b 7ad43b54 e2dc9a18 11111111 ;..;T;.z........
|
|
20320: 94e67ee2 72723257 e1e60bf1 765f5fa4 .~..W2rr.....__v
|
|
20330: 20407676 7613e310 0d0d7676 0d0d7676 vv@ ...vvv..vv..
|
|
20340: 77c87676 12121274 cd545454 4f4f3bcd vv.wt...TTT..;OO
|
|
20350: cdcdcd3b e9cdcd0c cfcb2d6d cbcb6969 ;.......m-..ii..
|
|
20360: 6969cbcb 69483636 48484869 011b6936 ..ii66HiiHHH6i..
|
|
20370: 3636cb2d 36487048 0c69cb36 646d0c0c -.66HpH66.i...md
|
|
20380: 2b774e77 1e1e1eab 4e4e121e 68121212 wNw+......NN...h
|
|
20390: 400d0d0d a168120d df5858df dfdfdfdf ...@..h..XX.....
|
|
203a0: 58585858 5902d958 2323a5a9 df75a1a4 XXXXX..Y..##..u.
|
|
203b0: 6868d9df f3f34511 3131e841 12407e40 ..hh.E..A.11@~@.
|
|
203c0: cdcd5459 3b543b4f 54a53b3b 43a5543b YT..O;T;;;.T;T.C
|
|
203d0: 619a187a 1111e231 6a2b1111 72db5732 z..a1.....+j2W.r
|
|
203e0: 940bf172 765fddd8 af407676 76760f65 r....._vvv@.e.vv
|
|
203f0: 0d767676 0d464646 46c8760d 59123874 vvv.FFF..v.Ft8.Y
|
|
20400: 54545454 4f4f3bcd cd4f4f4f cdcd0ccd TTTT.;OOOOO.....
|
|
20410: cf6d0c0c cbcb0c0c 696969cb 483636cb ..m......iii.66H
|
|
20420: 48486936 8a43cb48 36cb6943 69707048 6iHHH.C.Ci.6Hppi
|
|
20430: d3690c0c e90c44d3 4e4e77bb 1e1e2b1e ..i..D...wNN.+..
|
|
20440: 12121e1e 12124e4e 0d343474 f7a15412 ....NN..t44..T..
|
|
20450: dfdff7da d9757575 a1a1a1d9 58dfd90a ....uuu........X
|
|
20460: a90802d9 a102b723 a1d9dfdf 6e413159 ....#.......Y1An
|
|
20470: 40e23141 68407e40 cd546859 54544fcd A1.@@~@hYhT..OTT
|
|
20480: 54cdcdcd 59cdcd54 187ad459 11e2dc01 ...TT..YY.z.....
|
|
20490: 727e1111 7257326a dbf1722f 7611c86a ..~rj2Wr/r..j..v
|
|
204a0: 0f764076 7640f265 76767676 4646460d v@v.e.@vvvvv.FFF
|
|
204b0: 0d190d46 12387474 54545454 4f4fcdcd F...tt8.TTTT..OO
|
|
204c0: cf4f4fa9 cd0ccdcd 69cbcfcd cbcb69cb .OO........i.i..
|
|
204d0: cbcb6969 48483669 48cbcb48 050ccb48 ii..i6HHH..HH...
|
|
204e0: cbcb6961 cb704848 0c0ce9d3 0c446dd3 ai..HHp......mD.
|
|
204f0: 4e771ee9 1e64bb0c 381e1e1e 12544e12 ..wN..d....8.NT.
|
|
20500: 0d777774 dadf744e 5f7575df a1a1a1a1 tww.Nt...uu_....
|
|
20510: 0202a4a1 29a40202 df58d9a1 b2a5a9b2 .......)..X.....
|
|
20520: d9dfa102 3d13b2a1 4040310e 0d407e7e .......=.1@@~~@.
|
|
20530: 54590254 59a9cdcd cdcd5459 cd545954 T.YT...YYT..TYT.
|
|
20540: a877b254 e21b8218 02111111 323294ed T.w...........22
|
|
20550: 0b722fe5 11469424 e35edd40 76dd1310 ./r.$.F.@.^....v
|
|
20560: 76767640 46464676 0d464646 12387446 @vvvvFFFFFF.Ft8.
|
|
20570: 54545454 4fcdcdcd 4f4fa9a9 cfcdcdcf TTTT...O..OO....
|
|
20580: cbcfcfcf 6969cb36 cbcbcbcb cb696969 ....6.ii....iii.
|
|
20590: 48cb4848 43cb4848 cbcb6da0 70484836 HH.HHH.C.m..6HHp
|
|
205a0: e9e9d369 446d0c69 77e90c0c ab2b4e4e i...i.mD...wNN+.
|
|
205b0: 77771e1e 54121e1e c8771212 d9da46cd ..ww...T..w..F..
|
|
205c0: 59b246dd a5a5a559 a5a5a5a5 23a5a5a5 .F.YY..........#
|
|
205d0: a1a4b723 a5a1dfd9 a1a4b208 79b2a1d9 #..............y
|
|
205e0: 7e40455d 0d403434 54b20254 a94fcd54 ]E@~44@.T..TT.O.
|
|
205f0: cd5459b2 54595454 025954cd 1b82a8e5 .YT.TTYT.TY.....
|
|
20600: 1111e231 32325777 0b2fe5db a45a320b 1...wW22../..2Z.
|
|
20610: 655b4040 40dd7637 7676760d 46460d76 @@[e7v.@.vvvv.FF
|
|
20620: 74747474 38747474 54545459 4fcdcdcd ttttttt8YTTT...O
|
|
20630: 4f1fa94f 4fcfcf4f cbcb4f4f 69cbcb36 O..OO..OOO..6..i
|
|
20640: cbcbcbcb 0c0c0c69 48367036 69484870 ....i...6p6HpHHi
|
|
20650: cb366d43 70484848 1e697070 e90c69e9 Cm6.HHHpppi..i..
|
|
20660: e90c0ce9 2b1e4e77 ab7777bb 121e1e77 ....wN.+.ww.w...
|
|
20670: 7712124e ddf7464e 545959b2 a9a90808 N..wNF...YYT....
|
|
20680: a9a9a9a9 a50808a9 23a5a5a5 d92902b7 ...........#..).
|
|
20690: 23a546df 02a1d929 7e403112 68407e34 .F.#)....1@~4~@h
|
|
206a0: 2302dd3b 1fcd5454 5459b254 59545454 ;..#TT..T.YTTTTY
|
|
206b0: 59545459 824dddb2 e2e2311b ed6aae7e YTTY..M..1..~.j.
|
|
206c0: 2fe57232 b494720b 650f7602 dddd40af 2r./.r...v.e.@..
|
|
206d0: 0dc9c946 b2684646 687474b2 12126868 F...FFh..tthhh..
|
|
206e0: 54545412 cfcdcdcd 1f1fa94f cfcf4f4f .TTT....O...OO..
|
|
206f0: 36cbcf1f 69cb3636 696969cb 696969cb ...666.i.iii.iii
|
|
20700: 48484836 70004848 4848cb36 70484848 6HHHHH.p6.HHHHHp
|
|
20710: cf707070 e90c0c44 0ccd0cd3 1e387738 ppp.D.......8w8.
|
|
20720: 771e1e77 77777764 744e1212 4675121e w..wdwww..Nt..uF
|
|
20730: a9085459 59a508a9 020202b2 08a559b2 YT.....Y.....Y..
|
|
20740: 08a9a9a9 23a5a5a5 d9d929b7 a10259b2 .......#.)...Y..
|
|
20750: 7e68b2a4 4f683434 2302a13b 3b5454a5 ..h~44hO;..#.TT;
|
|
20760: 59b2b21f 54545454 5454b259 a102b754 ...YTTTTY.TTT...
|
|
20770: 11316143 572268e2 e5e58ced 94727272 Ca1..h"W....rrr.
|
|
20780: fcea25d1 dd407e13 464646dd 80d7e876 .%...~@..FFFv...
|
|
20790: b2685f5e 59595968 54545459 cfcdcdcd ^_h.hYYYYTTT....
|
|
207a0: 1fa94f4f cf4f1f1f cbcf1fcf 36363636 OO....O.....6666
|
|
207b0: 6969cb36 3636cbcb 48484848 00484848 6.ii..66HHHHHHH.
|
|
207c0: 48707000 70704848 1f1f7070 0ccf0c36 .ppHHHpppp..6...
|
|
207d0: cde9bf6d 381e4e0c 1e4e4e4e ab772b2b m....N.8NNN.++w.
|
|
207e0: 54121277 465f4e68 081fa954 58dfa1b2 w..ThN_FT......X
|
|
207f0: 58585858 58585858 02a1d958 a5a9a9a5 XXXXXXXXX.......
|
|
20800: 02232323 b2a1d9a4 a9235459 1fa95454 ###.....YT#.TT..
|
|
20810: 2302d959 54a5a5a5 59b23ba9 543b5454 Y..#...T.;.YTT;T
|
|
20820: 59b25954 b723543b 79775fdd 571e11e2 TY.Y;T#.._wy...W
|
|
20830: bf51eded 517272e5 f0d6afe6 40dd3425 ..Q..rrQ....%4.@
|
|
20840: 5e466846 e0e0e062 b9c6c6f4 59595968 FhF^b.......hYYY
|
|
20850: 54545459 cfcdcdcd 4f4f4fcf 4f1f1f1f YTTT.....OOO...O
|
|
20860: cb1fcbcf cbcb3636 69cbcb36 36cbcb69 ....66..6..ii..6
|
|
20870: 48484848 48484848 00000000 70707000 HHHHHHHH.....ppp
|
|
20880: 1f707070 cf363636 cd44d30c 4e4e0ccd ppp.666...D...NN
|
|
20890: 4e544e12 bbbbab1e 121e742b 68545454 .NTN....+t..TTTh
|
|
208a0: dd54a9a9 dff7f775 a1a1d975 a1a1a1a1 ..T.u...u.......
|
|
208b0: 88d90a0a 02d95858 a508a908 a4b72323 ....XX......##..
|
|
208c0: 02a429a1 b25423b2 23b2d9d9 a5a5a5a5 .)...#T....#....
|
|
208d0: b2b21f54 0854a559 5959a5a5 a5a554b2 T...Y.T...YY.T..
|
|
208e0: 75ddb7b7 787e3446 2f8c8c57 4d72e5bf ...uF4~xW../..rM
|
|
208f0: 216f5a8c 345e3d7c 625e0234 3d3df4f4 .Zo!|=^44.^b..==
|
|
20900: 5062623d 5959da50 54545459 4fcdcdcd =bbPP.YYYTTT...O
|
|
20910: cf4f4f4f 1f1f364f 7036cf1f cb363648 OOO.O6....6pH66.
|
|
20920: cb36cbcb 36cb6969 48483636 70707048 ..6.ii.666HHHppp
|
|
20930: 00007048 70000000 70707070 cf361f1f Hp.....ppppp..6.
|
|
20940: 0c6d0c0c cd5454cd 544e4e54 77777712 ..m..TT.TNNT.www
|
|
20950: 771277c8 3b545974 df5f54a9 a1d975df .w.wtYT;.T_..u..
|
|
20960: 29a1a1a1 a1a12929 2929a1a1 d9a1a129 ...)))....)))...
|
|
20970: b2dddf58 a5a5a523 a5080808 a1ddb259 X...#.......Y...
|
|
20980: a523a4d9 a5a5a5a5 02a5a9a5 54a523b2 ..#..........#.T
|
|
20990: 23a5a508 08b2b7b2 b7b723a5 08ddf7dd ...#.....#......
|
|
209a0: 908c3273 72bfbfbf 20e132e5 465e80d7 s2.....r.2. ..^F
|
|
209b0: f4625fb7 3d3d62c6 50626262 c950da50 ._b..b==bbbPP.P.
|
|
209c0: 54545454 cfcdcdcd cf4f4f4f 1f364fcf TTTT....OOO..O6.
|
|
209d0: 701f1f1f 36363670 363636cb cbcbcbcb ...pp666.666....
|
|
209e0: 48363636 48704848 7070fafd 00000000 666HHHpH..pp....
|
|
209f0: 70707000 4f1f1f1f cdcd0c0c 4e5454cd .ppp...O.....TTN
|
|
20a00: 5454cd54 2b2b7454 74127777 12741277 T.TTTt++ww.tw.t.
|
|
20a10: 75df46a9 dda1a1d9 02dda1dd 02020202 .F.u............
|
|
20a20: a402b702 a12929a4 d90aa1a1 a1d9d9d9 .....)).........
|
|
20a30: dddddda1 a1a1a1a1 a5a52302 a5a5a5a5 .........#......
|
|
20a40: 02a9a5a5 a5a52302 a5540823 b259b2a5 .....#..#.T...Y.
|
|
20a50: 23230859 daddb7b7 908c2274 bfbfab0b Y.##....t"......
|
|
20a60: e5e6ae2f 23027640 f4f43002 62626262 /...@v.#.0..bbbb
|
|
20a70: 50b95062 dff75050 545454a1 4fcdcdcd bP.PPP...TTT...O
|
|
20a80: 4f4f4f4f 3636364f 1f1f1f1f 36cb1f70 OOOOO666....p..6
|
|
20a90: 36363636 36cbcb36 36cbcb36 48484848 66666..66..6HHHH
|
|
20aa0: 0063fafd 00000070 70700000 1f1f1f70 ..c.p.....ppp...
|
|
20ab0: cdcdcf4f 5454cdcd 3b545454 2b12543b O.....TTTTT;;T.+
|
|
20ac0: 74c8b3b3 74121277 7575a174 a1a1a15f ...tw..tt.uu_...
|
|
20ad0: 23b202dd 080808a5 a5a50808 b7b723a5 ...#.........#..
|
|
20ae0: a402b7b7 a1a1dda4 a1a1a1a1 b7b7a429 ............)...
|
|
20af0: a5a5a523 a5a5a5a5 021fa5a5 a52323a4 #............##.
|
|
20b00: a50823a5 b223a5a5 a9b2a423 b7b72323 .#....#.#...##..
|
|
20b10: 9081d3a4 bfbbae9b e6aeaebf 0223b274 ............t.#.
|
|
20b20: 62f46280 b9505062 6262b9b9 a175f750 .b.bbPP...bbP.u.
|
|
20b30: 543bb2dd 3bcdcdcd 364f4f4f 36363636 ..;T...;OOO66666
|
|
20b40: 1f1f1f36 36367070 69364848 36363669 6...pp66HH6ii666
|
|
20b50: cbcb3636 48484836 fdfa0715 70707000 66..6HHH.....ppp
|
|
20b60: 70000070 1f1f7070 cdcdcfa9 54cd4ee9 p..ppp.......N.T
|
|
20b70: cd545454 123b3b3b b3d1c877 1274c879 TTT.;;;.w...y.t.
|
|
20b80: 5f75d946 a15fdda1 0808a5b2 08080808 F.u_.._.........
|
|
20b90: a5080808 a5a5a5a5 232323a5 b7b72323 .........#####..
|
|
20ba0: 23b7b7b7 a5a5a523 a5a5a5a5 a5a5a5a5 ...##...........
|
|
20bb0: b2a9a5a5 2323b2a1 0823a5a5 a5a5a5a5 ......##..#.....
|
|
20bc0: a123b2b2 23230868 ed63a5b7 bbbf9797 ..#.h.##..c.....
|
|
20bd0: 72bfbfbf 305f6832 b97c6262 f7f7b9b9 ...r2h_0bb|.....
|
|
20be0: b950b9f7 02dd5f80 3b23b2b2 cdcd3b3b ..P.._....#;;;..
|
|
20bf0: 4f4f4f4f 36363636 1f701f36 4870701f OOOO66666.p..ppH
|
|
20c00: 48483648 36483636 cbcb3636 cbcbcbcb H6HH66H666......
|
|
20c10: fd630715 70700015 00007000 1f707070 ..c...pp.p..ppp.
|
|
20c20: 4fcfa91f cdcde9cd 54544e54 54545454 ...O....TNTTTTTT
|
|
20c30: 2b771e54 771379b3 a15f7546 dda1dda1 T.w+.y.wFu_.....
|
|
20c40: 08080823 08080808 08080808 08080808 #...............
|
|
20c50: 08080808 a5a5a508 a5a5a5a5 a5a5a5a5 ................
|
|
20c60: a5a5a5a5 a5a5a5a5 02a9a5a5 232302d9 ..............##
|
|
20c70: 59a508a5 a5a5a5a9 b2b223a5 a5a1a123 ...Y.....#..#...
|
|
20c80: 733b23a5 44979773 78bfbf44 f4f79090 .#;ss..DD..x....
|
|
20c90: f7b9b962 daf7f7f7 75f7dada b2b234c9 b..........u.4..
|
|
20ca0: a5b2b2b2 3b3b3b08 4f4f4f4f 3636364f .....;;;OOOOO666
|
|
20cb0: 701f3636 70483670 48487070 48484848 66.pp6HpppHHHHHH
|
|
20cc0: cbcbcb36 1e0ccbcb 4a63faec 00000048 6.........cJH...
|
|
20cd0: 70000070 70707000 4f4f4fcf cde94e4f p..p.ppp.OOOON..
|
|
20ce0: 4e4e5454 54545454 12125454 2b2bbb77 TTNNTTTTTT..w.++
|
|
20cf0: a1d97546 a1a1a1a1 0808a5b2 08a9a908 Fu..............
|
|
20d00: 0808a908 08080808 08080808 a508a508 ................
|
|
20d10: a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 ................
|
|
20d20: dd08a9a5 2323a4df 23a5a523 a5a508b2 ......###..#....
|
|
20d30: b7a5a5a5 a1b7b702 2da502d9 891c9722 ...........-"...
|
|
20d40: 7844441e f772ed44 f7f7f7b9 dadab9f7 .DDxD.r.........
|
|
20d50: a4a1d9df 59686868 23235959 3b3b3b08 ....hhhYYY##.;;;
|
|
20d60: 4f4f4f3b 36363636 70363636 70367070 ;OOO6666666ppp6p
|
|
20d70: 70707070 48484870 69cb3648 3e0c6969 pppppHHHH6.iii.>
|
|
20d80: 4a6391ab 00000048 00000000 70700000 ..cJH.........pp
|
|
20d90: cf4fcfcf cd4ecd4f 545454cd cd54544e ..O.O.N..TTTNTT.
|
|
20da0: 4e54543b 12771212 46a1df68 cd545459 ;TTN..w.h..FYTT.
|
|
20db0: 232354cd a9a9a9a5 a9a9a9a9 080808a9 .T##............
|
|
20dc0: 08080808 08080808 a5a5a508 a5a5a5a5 ................
|
|
20dd0: a5a5a5a5 08a5a5a5 d9b2a9a9 2323a4df ..............##
|
|
20de0: a5a52323 a5a90223 a5a5a5a5 b202b7a5 ##..#...........
|
|
20df0: a4d9ddb7 89897391 4444e978 44ed4444 .....s..x.DDDD.D
|
|
20e00: f7f7b975 5f75dff7 b702a4a1 59b2b2b7 u.....u_.......Y
|
|
20e10: 54a55459 3b3ba93b 4f4fcdcd 1f4f3636 YT.T;.;;..OO66O.
|
|
20e20: 1f363636 701f1f70 48707070 70707070 666.p..ppppHpppp
|
|
20e30: cb364848 79690c69 ec89aef6 00000048 HH6.i.iy....H...
|
|
20e40: 00000000 70000000 cd1fcd1f 4ecdcdcd .......p.......N
|
|
20e50: 5454cdcd 54545454 54543b54 12124e54 ..TTTTTTT;TTTN..
|
|
20e60: a968d959 1f1f1f1f 701f1f1f a9a5a5a9 Y.h........p....
|
|
20e70: a9a9a9a9 a9a9a9a9 0808a908 08080808 ................
|
|
20e80: a5080808 a5a5a5a5 a9a908a5 08a9a9a9 ................
|
|
20e90: dfd90254 2323a4d9 a5a52323 08a423a5 T.....####...#..
|
|
20ea0: a5a5a508 b7a5a5a5 02b7b2b2 89971c59 ............Y...
|
|
20eb0: 6de96d89 2278d344 dd02dd74 a1a1a1a1 .m.mD.x"t.......
|
|
20ec0: a4a4dda1 b2020202 54a55459 3ba90854 ........YT.TT..;
|
|
20ed0: 4f3bcd3b 36361f4f 3636361f 361f1f70 ;.;OO.66.666p..6
|
|
20ee0: 70707036 70707070 36cb3670 770c69cb 6pppppppp6.6.i.w
|
|
20ef0: ec91338b 00000048 00007000 70000000 .3..H....p.....p
|
|
20f00: 364fcf70 4e4fcdcd 54cd3b38 544e4e54 p.O6..ON8;.TTNNT
|
|
20f10: 54545454 12545454 1f3bdd54 1f1f1f1f TTTTTTT.T.;.....
|
|
20f20: 1f1f1f1f 0870701f a9a9a9a5 a9a9a9a9 .....pp.........
|
|
20f30: a9a9a9a9 08080808 08080808 08a50808 ................
|
|
20f40: b2a5a9a9 d9a1a1dd d95858d9 2323a4a1 .........XX...##
|
|
20f50: a5232323 a4a5a5a5 a5a5a959 a5a5a5a5 ###.....Y.......
|
|
20f60: b2b223a5 89970cb7 e9e97889 89e9d36d .#.......x..m...
|
|
20f70: dfda021c 2323b2a1 23b7b7b7 54232323 ......##...####T
|
|
20f80: 3b545454 3ba93b3b 4f3b3b3b 1f1f1f4f TTT;;;.;;;;OO...
|
|
20f90: 361f1f36 3670701f 48707036 70707070 6..6.pp66ppHpppp
|
|
20fa0: cb707048 6d69cf69 6944f606 00007036 Hpp.i.im..Di6p..
|
|
20fb0: 00700000 00000000 36cd7000 cdcdcd1f ..p......p.6....
|
|
20fc0: 4ecd4ee9 545454cd 54545454 54545454 .N.N.TTTTTTTTTTT
|
|
20fd0: 1f3b5954 1f1f1fa9 1f1f1f1f 1f1f1f1f TY;.............
|
|
20fe0: a9a5a970 a9a9a9a9 a9a9a9a9 0808a9a9 p...............
|
|
20ff0: 08080808 a9080808 d9a10208 58585858 ............XXXX
|
|
21000: d9d9dfdf 2323a4a1 a5232323 a508a5a5 ......#####.....
|
|
21010: a51f0202 a5a5a5a5 23a5a5a5 97fae546 ...........#F...
|
|
21020: e9788989 e96de9e9 2308911c a1d9a102 ..x...m....#....
|
|
21030: a523b2a4 080808a5 cd54543b a93b3b3b ..#.....;TT.;;;.
|
|
21040: 1f4f3b3b 4fa91f1f 1f70704f 70707070 ;;O....OOpp.pppp
|
|
21050: 70707036 70707070 70363670 d30c6936 6pppppppp66p6i..
|
|
21060: 69798b67 007048cb 00000000 00000000 g.yi.Hp.........
|
|
21070: 4f700000 cdcd4f1f 543bcd1e 545438e9 ..pO.O....;T.8TT
|
|
21080: 5454544e 54545454 a9545459 1f1f1fa9 NTTTTTTTYTT.....
|
|
21090: 1f1f1f1f 1f1f1f1f a9701f1f a9a9a9a5 ..........p.....
|
|
210a0: a9a9a9a9 a9a9a9a9 0808a9a9 08a90808 ................
|
|
210b0: d9d9d9dd d9dfdfdf a1d9d9d9 23b702a1 ...............#
|
|
210c0: a5232323 08a5a5a5 a9a10223 a5a5a508 ###.....#.......
|
|
210d0: a5a5a5a5 6389e644 2d898989 6de90c0c ....D..c...-...m
|
|
210e0: 0a1effe9 b7b2dda1 020202b2 02a4a402 ................
|
|
210f0: 3ba559b2 3ba9a908 543ba9a9 d9a1ddb2 .Y.;...;..;T....
|
|
21100: 4f298888 70701f70 48707070 70707070 ..)Op.pppppHpppp
|
|
21110: cb487070 78693636 0c3e06e5 7048cb69 ppH.66ix..>.i.Hp
|
|
...
|
|
21128: 70700000 4f4f7070 cdcd1e4e bbbb4e4e ..ppppOON...NN..
|
|
21138: 54544e54 54545454 08545454 1f1f1fa9 TNTTTTTTTTT.....
|
|
21148: 1f1f1f1f 1f1f1f1f 1f1f1f1f a908a91f ................
|
|
21158: a9a9a9a9 a9a9a9a9 a9a9a9a9 591f08a9 ...............Y
|
|
21168: d9a1a1d9 dfdfdfdf a1d9d9d9 23b70229 ............)..#
|
|
21178: a5232323 a5a5a5a5 a1b22308 08a5a9b2 ###......#......
|
|
21188: 54a5a5a5 69bfe651 918991ff 2d0c0c0c ...TQ..i.......-
|
|
21198: 741c6d2d 58585888 0a0a8858 b202dda1 -m.t.XXXX.......
|
|
211a8: 88d9ddb2 d90ad9d9 88d9d9d9 88888888 ................
|
|
211b8: 88888888 701f7029 70707070 70707070 ....)p.ppppppppp
|
|
211c8: 70487070 892d6936 0ce2c889 4848cb69 ppHp6i-.....i.HH
|
|
211d8: 00000070 00000000 70000000 36707070 p..........pppp6
|
|
211e8: 3b381ecd 381eab1e 54543864 54545454 ..8;...8d8TTTTTT
|
|
211f8: cd545454 1f1fa9a9 1f1f1f1f 1f1f1f1f TTT.............
|
|
21208: 1f1f1f1f 081f1f1f a9a91f08 a9a9a9a9 ................
|
|
21218: a9a9a9a9 591f08a9 dfd9d958 d9d9df58 .......YX...X...
|
|
21228: a1a1d9d9 232302a4 a5232323 a5a5a5a5 ......#####.....
|
|
21238: b22308a5 08a9a1dd 44a508a5 08388ced ..#........D..8.
|
|
21248: 89911cca 0c0c0c91 63d30c2d d9a12923 ........-..c#)..
|
|
21258: 888888d9 58585858 59b229d9 d9d9a102 ....XXXX.).Y....
|
|
21268: 880a0ad9 0a0a0ad9 0a0a0a0a 704f0a0a ..............Op
|
|
21278: 70707070 70707070 48707070 89cacb48 pppppppppppHH...
|
|
21288: 4e0d2d91 4836cbcb 00007070 00000000 .-.N..6Hpp......
|
|
21298: 00000000 36707000 cd38cd1f bb1e7977 .....pp6..8.wy..
|
|
212a8: 54abbb1e 54545454 3b545454 a9a9083b ...TTTTTTTT;;...
|
|
212b8: 1f1f1f1f a9a91f1f 1f1f1f1f 1f1f1f1f ................
|
|
212c8: a9a90800 a9a9a9a9 a9a9a9a9 08a9a9a9 ................
|
|
212d8: 0854dd88 d9465908 a1a1a1d9 b723b7a4 ..T..YF.......#.
|
|
212e8: a5232323 a5a5a5a5 2308a5a5 b2d902b2 ###........#....
|
|
212f8: 5154081f a508bfed 918963a9 0ccdca63 ..TQ.....c..c...
|
|
21308: 910c2d0c a4a4b791 0a0aa1a1 dfd9d90a .-..............
|
|
21318: 5858dfdf 6859ddd9 a1a1a129 0a0a0a0a ..XX..Yh).......
|
|
21328: a1a10a0a cfdda1a1 70703670 70707070 ........p6pppppp
|
|
21338: 70707070 6391ec48 cdcd69ca 4836cbcb ppppH..c.i....6H
|
|
21348: 00007048 00000000 00000000 70700000 Hp............pp
|
|
21358: 4f4fcd4f 54c80e4e 641e1e1e 54545438 O.OON..T...d8TTT
|
|
21368: 54545454 a9083b3b 1f1f1fa9 1f1f1f1f TTTT;;..........
|
|
21378: 1f1fa9a9 1f1f1f1f 08a9cd1f a9a9a9a9 ................
|
|
21388: a9a9a9a9 1fa9a9a9 1f00a502 1f1f1f1f ................
|
|
21398: a1d9dda9 2323b702 a5a5a523 a5a5a5a5 ......###.......
|
|
213a8: 08a5a5a5 a1b2b223 e6d3540a 08084e90 ....#....T...N..
|
|
213b8: 91ffcb08 690c6391 0c2d0c0c a4b72d63 .....c.i..-.c-..
|
|
213c8: a1a12929 a1a1a1a1 88d9d9d9 d958dfd9 ))............X.
|
|
213d8: a42959b2 a1a129a4 dda1a1a1 6846dddd .Y)..)........Fh
|
|
213e8: 7036703b 70707070 70707070 07910769 ;p6pppppppppi...
|
|
213f8: 36484815 48483648 00707048 00000000 .HH6H6HHHpp.....
|
|
21408: 00000000 70007000 cdcd7070 12dc33cd .....p.ppp...3..
|
|
21418: 4e4e4e12 5454bbab 54545454 08543b54 .NNN..TTTTTTT;T.
|
|
21428: 1f1fa9a9 1f1f1f1f 1fa91fa9 1f1f1f1f ................
|
|
21438: 12131e1f a9a9a9a9 a9a9a9a9 1fa9a9a9 ................
|
|
21448: a9000808 a9a9a9a9 021f1fa9 2323b2a1 ..............##
|
|
21458: a5a5a523 a5a5a5a5 08a5a5a5 b2b22308 #............#..
|
|
21468: e69380a4 08080878 1c4a0808 69916391 ....x.....J..c.i
|
|
21478: 0c0c0c69 a5cf632d a40223a5 29a12929 i...-c...#..)).)
|
|
21488: a1a1a1a1 d9df88d9 cd0258df 54545968 .........X..hYTT
|
|
21498: 59595454 59595959 1f70cd54 70707070 TTYYYYYYT.p.pppp
|
|
214a8: cb707070 ec91fa4a 48707048 48484848 ppp.J...HppHHHHH
|
|
214b8: 70704848 00000000 00000000 00000000 HHpp............
|
|
214c8: 36367000 77791e4f 54e94e77 54ab1e54 .p66O.ywwN.TT..T
|
|
214d8: 54545454 54545454 1fa9a908 1f1f1f1f TTTTTTTT........
|
|
214e8: a9a9a91f 1f1f1f1f 67331e1f a9084f79 ..........3gyO..
|
|
214f8: 1fa9a9a9 a9a9a9a9 1f1fa91f 1f1f1f1f ................
|
|
21508: a9a9a91f 23dddd1f a5a52323 08a508a5 .......###......
|
|
21518: a5a5a5a5 b2230808 ceea5bb2 08a9a95e ......#..[..^...
|
|
21528: 63a90808 ca639163 0c0c6969 a963ca0c ...cc.c.ii....c.
|
|
21538: a5a508a5 a4a4b2a5 dda1dddd dfd9a1dd ................
|
|
21548: dfd9d9df b212cd68 595959b2 cdcd5454 ....h....YYYTT..
|
|
21558: 70cfcdcd 70707070 4acb7070 cbec0707 ...ppppppp.J....
|
|
21568: 70707048 48484870 48484848 00000070 HppppHHHHHHHp...
|
|
21578: 00000000 001f0000 4f700000 541ecd4f ..........pOO..T
|
|
21588: 4e4e774e 3838544e 54545454 54595454 NwNNNT88TTTTTTYT
|
|
21598: a9a90854 1f1f1f1f a9a91f1f 1f1f1fa9 T...............
|
|
215a8: 1379121f a9123113 a9a9a9a9 a9a91f1f ..y..1..........
|
|
215b8: 1fa91fa9 1f1f1f1f a91f1f1f a1a91fa9 ................
|
|
215c8: a5a5a5b2 08080808 08080808 23080808 ...............#
|
|
215d8: 5ba66619 08290aa1 3608a91f 639191ff .f.[..)....6...c
|
|
215e8: 0cec690c fa91ec2d a5a5a508 a5080808 .i..-...........
|
|
215f8: 020202b2 4646dddd d9dfd9a1 cf54d9d9 ......FF......T.
|
|
21608: 595454cd 59595959 cd545959 70707070 .TTYYYYYYYT.pppp
|
|
21618: ca154870 70cb4a07 70700000 48487070 pH...J.p..ppppHH
|
|
21628: 48484848 00007070 00000000 70000000 HHHHpp.........p
|
|
21638: 70000070 4ecf3b36 381e543b 1e544e4e p..p6;.N;T.8NNT.
|
|
21648: 54545454 59545454 08a53b59 a91f1fa9 TTTTTTTYY;......
|
|
21658: a9a91f1f 1fa9a9a9 0d34121f 79131379 ..........4.y..y
|
|
21668: a9a908a9 1f1f1fa9 a91fa9a9 1f1f1f1f ................
|
|
21678: 1f1f1f1f 1fa91f1f a5a5a454 08080808 ........T.......
|
|
21688: 08080808 cd08a508 7453a6f1 0aa12902 ..........St.)..
|
|
21698: 1f1f23a1 6391ff4a ec696991 63ec2d0c .#..J..c.ii..-.c
|
|
216a8: a5a508ca 3ba5a5a5 b2543b3b dd466802 .......;;;T..hF.
|
|
216b8: d9dd5968 a1d9d9df cdcfcfcf cdcdcdcd hY..............
|
|
216c8: 545454cd 7070704f 07ca1548 7070154a .TTTOpppH...J.pp
|
|
216d8: 70700070 70707070 48484848 00707070 p.ppppppHHHHppp.
|
|
...
|
|
216f4: 4f1f7000 38cd3b4e 544e5438 544e5454 .p.ON;.88TNTTTNT
|
|
21704: 54545454 a9595959 1fa9a908 a91f1f1f TTTTYYY.........
|
|
21714: 1fa9a9a9 686868a9 13790d34 08081279 .....hhh4.y.y...
|
|
21724: 1fa9a9a9 1f1f1f1f 1f1f1fa9 1f1f1f1f ................
|
|
21734: 1f1f1f1f b7b21fa9 080808a5 08080808 ................
|
|
21744: 44080808 596466e6 a1a40223 a4290a0a ...D.fdY#.....).
|
|
21754: 63fffaa9 69690763 0c0cecec 08086963 ...cc.ii....ci..
|
|
21764: 08080808 3b3b3b3b 6868593b 5468dd68 ....;;;;;Yhhh.hT
|
|
21774: a1d9d946 cdcb68d9 cdcdcdcd cdcdcd54 F....h......T...
|
|
21784: 36704f54 4a07caec 70704815 70007070 TOp6...J.Hpppp.p
|
|
21794: 70707070 70704848 70707070 00000000 ppppHHpppppp....
|
|
217a4: 70000000 0000701f 70707000 cd3b544f ...p.p...pppOT;.
|
|
217b4: 4e4e3838 4e4e5454 54545459 12595959 88NNTTNNYTTTYYY.
|
|
217c4: 1f1fa959 a9a91f1f a91f1f1f 68686854 Y...........Thhh
|
|
217d4: 76343468 08797979 a9a9a908 1f1f1f1f h44vyyy.........
|
|
217e4: 1f1fa91f 1f1f1f1f 1f1f1f1f 3b1fa91f ...............;
|
|
217f4: 0808a502 08080808 5154083b 23597294 ........;.TQ.rY#
|
|
21804: 02b223b2 a1a1a1a4 ffec0229 69ec631c .#......)....c.i
|
|
21814: ececec69 a5a963ca 3b3b3b08 3b3b3b3b i....c...;;;;;;;
|
|
21824: 54cdcd3b 46686868 d9745468 cfa1a1a1 ;..ThhhFhTt.....
|
|
21834: cdcdcdcf cdcdcdcd 1536cdcd cbec4aca ..........6..J..
|
|
21844: 70707070 70707070 70707000 70707070 pppppppp.ppppppp
|
|
21854: 70704870 00000070 00000000 001f7000 pHppp........p..
|
|
21864: a9700000 1f1f7070 381e38cd 3854544e ..p.pp...8.8NTT8
|
|
21874: 5454541e 12595959 3b591212 1f1f1fa9 .TTTYYY...Y;....
|
|
21884: 593ba91f 68b26868 34346868 310d0d0d ..;Yhh.hhh44...1
|
|
21894: a9a9a912 1f1fa9a9 1f081f1f 1f1f1f1f ................
|
|
218a4: 1f1f1f1f a9a91f1f 0823021f 3b080808 ..........#....;
|
|
218b4: e6783b3b a508e9ed 2323b259 a1a102b2 ;;x.....Y.##....
|
|
218c4: a5292929 699163ec ececec69 1ffa07ec )))..c.ii.......
|
|
218d4: 3b3b0808 3b3b3b4f cdcd3b3b 686854cd ..;;O;;;;;...Thh
|
|
218e4: cd6868b2 d9a1a168 cfcfcf54 cdcdcdcd .hh.h...T.......
|
|
218f4: 36cdcdcd 704815ec 70707070 70707070 ...6..Hppppppppp
|
|
21904: 70707070 70707070 70484870 00000070 pppppppppHHpp...
|
|
21914: 00000000 00707000 00000000 1f70701f .....pp......pp.
|
|
21924: 1e38cd1f 5454381e 5412bb12 59595959 ..8..8TT...TYYYY
|
|
21934: 59121259 59595959 0d741259 6868680d Y..YYYYYY.t..hhh
|
|
21944: 34346868 0d343434 a9a97931 1fa9a9a9 hh44444.1y......
|
|
21954: a91f1f1f 1f1f1fa9 1f1f1f1f a9a91f1f ................
|
|
21964: b259364f 08080808 94e1e908 3b083bae O6Y..........;.;
|
|
21974: 23b223a5 a4b259a5 29292929 ca697002 .#.#.Y..)))).pi.
|
|
21984: ecec6969 4a91ecec 08a94fa9 4f4f3b3b ii.....J.O..;;OO
|
|
21994: 3bcf4f4f 54cdcdcd 6868b2b2 a1ddcd54 OO.;...T..hhT...
|
|
219a4: cfcb46d9 cfcdcfcf cfcdcfcf 70707070 .F..........pppp
|
|
219b4: 70707070 70364848 70707070 70707070 ppppHH6ppppppppp
|
|
219c4: 70484870 00007070 00000000 00000000 pHHppp..........
|
|
219d4: 00000000 70707070 383b1f1f 544e3838 ....pppp..;888NT
|
|
219e4: 12771254 59595959 59681259 b2595959 T.w.YYYYY.hYYYY.
|
|
219f4: 683468b2 0dc82bc8 34686868 34343434 .h4h.+..hhh44444
|
|
21a04: 3b131340 a9a9a9a9 1f1f1f1f 1f1f081f @..;............
|
|
21a14: 1f1f1f1f a91f1f1f 0d1e4f4f 083b3bb2 ........OO...;;.
|
|
21a24: 90e6ae08 083b08e9 59a5a53b b723a523 ......;.;..Y#.#.
|
|
21a34: 2929a4b2 cba92929 ec6969cf 63ececec ..))))...ii....c
|
|
21a44: a94fa9ec 4f4f4f4f cf4f4f4f cdcdcfcf ..O.OOOOOOO.....
|
|
21a54: 59b259cd 546868b2 cfa14654 cfcfcfcf .Y.Y.hhTTF......
|
|
21a64: cdcfcfcf 7070001f 70707070 36363636 ......pppppp6666
|
|
21a74: 00707048 70700070 70487070 00007070 Hpp.p.ppppHppp..
|
|
...
|
|
21a90: 701f7000 a91f7070 5454543b 38121254 .p.ppp..;TTTT..8
|
|
21aa0: 12125959 68126812 34685959 0d0d6868 YY...h.hYYh4hh..
|
|
21ab0: c8c87468 68340dc8 34343434 e8314034 ht....4h44444@1.
|
|
21ac0: a9a9a912 1f1f1fa9 1f08701f 1f1f1f1f .........p......
|
|
21ad0: 4fa9a91f 161e4f4f 0854b245 78e6ed6d ...OOO..E.T.m..x
|
|
21ae0: 083b3b3b a5a53ba9 a5082359 2902b723 ;;;..;..Y#..#..)
|
|
21af0: 1fa5b729 151569cb ecececec a9a936fa )....i.......6..
|
|
21b00: 4f4f4fa9 4f4f4f4f cfcfcfcf 54cdcd4f .OOOOOOO....O..T
|
|
21b10: 36540259 54484848 cfcfcfcd cfcfcfcf Y.T6HHHT........
|
|
21b20: 707070cf 48707070 4e4f3636 0070704f .ppppppH66ONOpp.
|
|
21b30: 00000000 70707000 00000000 00000000 .....ppp........
|
|
21b40: 00000000 00007070 00000000 3b707070 ....pp......ppp;
|
|
21b50: 543ba9a9 59545454 59591259 68686868 ..;TTTTYY.YYhhhh
|
|
21b60: 0db2b268 c8683476 6868680d 34c80d0d h...v4h..hhh...4
|
|
21b70: 34340234 31403434 a9a9c813 1f1fa91f 4.4444@1........
|
|
21b80: a91f1f1f 1f1f1fa9 a9a9a9a9 06774fa9 .............Ow.
|
|
21b90: 4e23e8b5 0c51e697 3b3bcd08 a53ba93b ..#N..Q...;;;.;.
|
|
21ba0: a52323a5 b702b2a5 00000008 15360000 .##...........6.
|
|
21bb0: ecec1569 4f1ffafa a9a9a9a9 4f4f4f4f i......O....OOOO
|
|
21bc0: cfcf4f4f cf4fcfcf 483659cd 48cbcb36 OO....O..Y6H6..H
|
|
21bd0: cfcb4f36 cfcfcfcf 700036cf 36707070 6O.......6.pppp6
|
|
21be0: 404f3636 70703640 00000000 70000000 66O@@6pp.......p
|
|
21bf0: 00000070 00000000 00000000 00000000 p...............
|
|
21c00: 70000000 70700070 3b08a9a9 59125454 ...pp.pp...;TT.Y
|
|
21c10: 77123812 68746812 b2b26868 3476130d .8.w.hthhh....v4
|
|
21c20: b268c876 0d346868 34023434 40343434 v.h.hh4.44.4444@
|
|
21c30: 3b797979 1f1f1fa9 701f1f1f a91fa9a9 yyy;.......p....
|
|
21c40: 1fa9a9a9 31c8cd1f bf79f687 a9d3edbe .......1..y.....
|
|
21c50: 3bcdcd3b 3ba9083b 23a5a5a5 08022308 ;..;;..;...#.#..
|
|
...
|
|
21c68: 70700000 1f15cb70 a9a9a9a9 4fa9a9a9 ..ppp..........O
|
|
21c78: 4f4f4f4f cfcfcf4f 481f59cf 48483636 OOOOO....Y.H66HH
|
|
21c88: cf4f3648 4f4fcfcf 7070cf4f 70707070 H6O...OOO.pppppp
|
|
21c98: 344f4f36 7036129d 00000070 00000000 6OO4..6pp.......
|
|
21ca8: 00000070 70007070 00007070 70700000 p...pp.ppp....pp
|
|
21cb8: 00000000 70007070 4f1f1f70 3838593b ....pp.pp..O;Y88
|
|
21cc8: 12771212 74127477 68686868 340d68b2 ..w.wt.thhhh.h.4
|
|
21cd8: 68767634 0d68b2b2 3434340d 34343434 4vvh..h..4444444
|
|
21ce8: af79400d 1f1f08b4 1f1f1f1f 1fa91f1f .@y.............
|
|
21cf8: 701fa9a9 79311e4f e35b7976 a94fbf5a ...pO.1yvy[.Z.O.
|
|
21d08: cdcd3b3b 4f3b3bcd a508a53b 0023b2a5 ;;...;;O;.....#.
|
|
...
|
|
21d20: 70000000 701fa91f a94f1f4f a9a9a9a9 ...p...pO.O.....
|
|
21d30: 4f4f4f4f cb364f4f 481f594f 48483636 OOOOOO6.OY.H66HH
|
|
21d40: 363b4848 364fcfcf 0048cb36 70707070 HH;6..O66.H.pppp
|
|
21d50: 124fcf36 364fe29d 00000070 70000000 6.O...O6p......p
|
|
21d60: 00000000 48707000 70707048 00000070 .....ppHHpppp...
|
|
...
|
|
21d78: 1f1f7070 383854a9 77123838 59747412 pp...T8888.w.ttY
|
|
21d88: 68681268 59b26868 3468b2b2 68686834 h.hhhh.Y..h44hhh
|
|
21d98: 340dc8c8 34020234 fc37f279 a9543765 ...44..4y.7.e7T.
|
|
21da8: 1f1fa91f a91f1fa9 4f1f1fa9 7913791e ...........O.y.y
|
|
21db8: 65fbd176 3b081e0f cd3b4fa9 4f4fcdcd v..e...;.O;...OO
|
|
21dc8: a53b3b4f 00a559a5 00000000 00000000 O;;..Y..........
|
|
21dd8: 00000000 4f1f1f1f 1f361f1f 3636361f .......O..6..666
|
|
21de8: 4f4f3636 364f3636 48a95436 48484836 66OO66O66T.H6HHH
|
|
21df8: 1fcf4848 36364f36 0036cb36 70707070 HH..6O666.6.pppp
|
|
21e08: 4ecf3670 36129d3e 70007036 00000000 p6.N>..66p.p....
|
|
21e18: 70000070 48487070 48484848 00004848 p..pppHHHHHHHH..
|
|
...
|
|
21e30: 1f707000 7454a91f 12383874 74741274 .pp...Ttt88.t.tt
|
|
21e40: 68b25959 68686868 b2686868 686868b2 YY.hhhhhhhh..hhh
|
|
21e50: c8790d68 2c2b3434 fbfc2ee3 c831795b h.y.44+,....[y1.
|
|
21e60: a91f1fa9 a91f1fa9 1e4f1f1f 79314513 ..........O..E1y
|
|
21e70: e3657167 4f740dd1 3b4fa908 4fcfcdcd gqe...tO..O;...O
|
|
21e80: 3b4f4f4f 00a9233b 00000000 00000000 OOO;;#..........
|
|
21e90: 00000000 701f1f70 3670a91f 361f1f1f ....p..p..p6...6
|
|
21ea0: 36363636 364f4f36 70083b36 48484848 66666OO66;.pHHHH
|
|
21eb0: 1f364848 36364f36 00363636 70707070 HH6.6O66666.pppp
|
|
21ec0: 3b4f361f cde29d40 00004836 70007000 .6O;@...6H...p.p
|
|
21ed0: 70707000 48484848 15484848 00fd1515 .pppHHHHHHH.....
|
|
21ee0: 00007070 70000000 70707070 54a9361f pp.....ppppp.6.T
|
|
21ef0: 74747412 68121212 68595974 68686868 .ttt...htYYhhhhh
|
|
21f00: 68686868 68b26868 0d343468 fce32c79 hhhhhh.hh44.y,..
|
|
21f10: 76d153e3 79764040 1fa97745 1f1f1f1f .S.v@@vyEw......
|
|
21f20: 13c84ea9 133113e8 f2fcfcaf 0d0d0dc8 .N....1.........
|
|
21f30: a9a9a93b cfcdcd4f a9a94f4f 00a9543b ;...O...OO..;T..
|
|
...
|
|
21f48: 48151500 1f007070 1fa9701f 36361f1f ...Hpp...p....66
|
|
21f58: 36361f1f 36363636 703b3b36 48484848 ..6666666;;pHHHH
|
|
21f68: a9364848 36364f1f 70363636 70707000 HH6..O66666p.ppp
|
|
21f78: 4f363670 123e3e12 00703636 00000000 p66O.>>.66p.....
|
|
21f88: 48487070 15484848 fd151515 07074a4a ppHHHHH.....JJ..
|
|
...
|
|
21fa0: 1f700000 4f361f1f 7412543b 12681274 ..p...6O;T.tt.h.
|
|
21fb0: 5959340d 740d6868 68687434 b2686868 .4YYhh.t4thhhhh.
|
|
21fc0: c8346868 71fcfc53 34340dd1 76767676 hh4.S..q..44vvvv
|
|
21fd0: 31453131 4e541277 e8e86777 af313113 11E1w.TNwg...11.
|
|
21fe0: 79716510 0d0d0d0d a9a94e0d cfcf4fa9 .eqy.....N...O..
|
|
21ff0: a94f4fcf 001fa5a9 00000000 00000000 .OO.............
|
|
22000: cb150000 70707048 1f1f7000 1f1f70a9 ....Hppp.p...p..
|
|
22010: 1f36361f 36363636 703b4f36 48484870 .66.66666O;ppHHH
|
|
22020: 1f364848 36363648 70483636 70707070 HH6.H66666Hppppp
|
|
22030: 36367070 343e403b 7048364f 00000000 pp66;@>4O6Hp....
|
|
22040: 48484870 15151548 07074afd 4a4a0707 pHHHH....J....JJ
|
|
22050: 000000fd 00000000 70700000 361f1f1f ..........pp...6
|
|
22060: 12543b4f 68127474 b268130d 0d68b2b2 O;T.tt.h..h...h.
|
|
22070: 34346874 68686868 712b6868 79b46ffc th44hhhhhh+q.o.y
|
|
22080: 340d0d0d 76797634 31313176 13e8e813 ...44vyvv111....
|
|
22090: 1313e845 37333113 76d13765 0d0dc876 E....137e7.vv...
|
|
220a0: 4f74770d cf4fa9a9 a94fcfcf 007008a9 .wtO..O...O...p.
|
|
...
|
|
220b8: 15480000 70707015 70007070 1f70a91f ..H..ppppp.p..p.
|
|
220c8: 361f1f1f 36363636 703b3636 70007070 ...6666666;ppp.p
|
|
220d8: 36484848 48484870 00704836 70707070 HHH6pHHH6Hp.pppp
|
|
220e8: 36707070 e23e1236 704836cd 48707070 ppp66.>..6HppppH
|
|
220f8: 48484848 4afd1515 4a070707 1515fd4a HHHH...J...JJ...
|
|
22108: 00004848 00000000 00000000 1f363670 HH..........p66.
|
|
22118: 543b4f36 12747459 68c80d74 68b25959 6O;TYtt.t..hYY.h
|
|
22128: 68686868 68686834 fc53c8b2 68345b10 hhhh4hhh..S..[4h
|
|
22138: 0dc8c834 79763434 31313176 13131331 4...44vyv1111...
|
|
22148: 13131313 650f1331 76795b10 c80dc876 ....1..e.[yvv...
|
|
22158: 7474770d 4f3b1f4e 4f4fcfcf 0070a93b .wttN.;O..OO;.p.
|
|
...
|
|
22170: 15000000 700015cb 70707070 a91f0070 .......pppppp...
|
|
22180: 36363670 36363636 704f3648 70701f70 p6666666H6Opp.pp
|
|
22190: 48487070 36364870 70707048 70707070 ppHHpH66Hppppppp
|
|
221a0: 36707070 e240cf36 483636cd 48484870 ppp66.@..66HpHHH
|
|
221b0: 15484848 07074afd 15fd4a4a 48481515 HHH..J..JJ....HH
|
|
221c0: 00484848 00000000 00000000 1f700000 HHH...........p.
|
|
221d0: cd363670 59595454 74127459 68685912 p66.TTYYYt.t.Yhh
|
|
221e0: 68686868 b2683468 711053c8 34767664 hhhhh4h..S.qdvv4
|
|
221f0: 0d0d3468 0d34340d 13137676 13133131 h4...44.vv..11..
|
|
22200: 31131313 eafcaf13 797979b1 c8c8c876 ...1.....yyyv...
|
|
22210: 74770dc8 1fcf7474 3bcdcd3b 00001f3b ..wttt..;..;;...
|
|
...
|
|
2222c: 00481515 70707070 00707070 36701f1f ..H.ppppppp...p6
|
|
2223c: 48363636 70a94f36 70701f70 70707070 666H6O.pp.pppppp
|
|
2224c: 48707070 70007070 70707070 70707070 pppHpp.ppppppppp
|
|
2225c: 34cd3636 483636cd 48484848 4afd1548 66.4.66HHHHHH..J
|
|
2226c: fd4a074a 48151515 48484848 00707048 J.J....HHHHHHpp.
|
|
2227c: 00000000 70000000 70000000 4f367070 .......p...ppp6O
|
|
2228c: 5454cdcd 12125959 68685974 0d686868 ..TTYY..tYhhhhh.
|
|
2229c: 77b26868 2b241053 0d346868 34683434 hh.wS.$+hh4.44h4
|
|
222ac: 34343434 31404034 31313113 13131313 44444@@1.111....
|
|
222bc: 0f65e35b 79797967 c8c8c82b 777777c8 [.e.gyyy+....www
|
|
222cc: 74383874 4f4f7070 0000701f 00000000 t88tppOO.p......
|
|
...
|
|
222e4: 48151548 70707000 70707070 00707070 H..H.pppppppppp.
|
|
222f4: 361f7070 701fa936 70707070 70707070 pp.66..ppppppppp
|
|
22304: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
22314: cf364870 48cbcbcf 15484848 074afd15 pH6....HHHH...J.
|
|
22324: 1515fd4a 48484815 70484848 00000070 J....HHHHHHpp...
|
|
...
|
|
2233c: 70000070 4f487070 121254cf 12125959 p..pppHO.T..YY..
|
|
2234c: 68595974 68343434 f1746868 b2c85310 tYYh444hhht..S..
|
|
2235c: 68686868 34343468 34686868 400d3434 hhhhh444hhh444.@
|
|
2236c: 31311331 33313131 33e365fb 76797979 1.111113.e.3yyyv
|
|
2237c: c8c8c876 797977c8 38387477 00000038 v....wyywt888...
|
|
...
|
|
2239c: 15154800 70700000 70707070 70707070 .H....pppppppppp
|
|
223ac: 70000070 70707070 70707070 70707070 p..ppppppppppppp
|
|
223bc: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
223cc: 36487070 cbcbcb36 fd151515 fd4a074a ppH66.......J.J.
|
|
223dc: 48481515 48484848 00707048 00000000 ..HHHHHHHpp.....
|
|
...
|
|
223f4: 70000000 36707070 0d12cdcd 59595968 ...pppp6....hYYY
|
|
22404: 59595959 34686868 66e56868 34682bbe YYYYhhh4hh.f.+h4
|
|
22414: 68686868 34686868 34686834 34343434 hhhhhhh44hh44444
|
|
22424: 31317634 b1133131 79f210fc 76767979 4v1111.....yyyvv
|
|
22434: c8c8c8c8 45c877c8 381e74c8 00006938 .....w.E.t.88i..
|
|
22444: 00707070 00000000 00000000 00000000 ppp.............
|
|
22454: 15150000 70000015 70707070 70707070 .......ppppppppp
|
|
22464: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
22474: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
22484: 48487070 cbcbcbcb 074aec15 15fd4a07 ppHH......J..J..
|
|
22494: 48484848 00704848 00000000 00000000 HHHHHHp.........
|
|
...
|
|
224b0: 70707070 4554cd4f 59595976 59595959 ppppO.TEvYYYYYYY
|
|
224c0: 68685959 66be2b68 0d6868e5 68683434 YYhhh+.f.hh.44hh
|
|
224d0: 68686868 34686868 34460d34 76763434 hhhhhhh44.F444vv
|
|
224e0: e3f27940 7967b1fc c8767679 c8c8c8c8 @y....gyyvv.....
|
|
224f0: 77777777 381e1e77 00483838 70707000 wwwww..888H..ppp
|
|
...
|
|
2250c: 15700000 00004815 70707070 70707070 ..p..H..pppppppp
|
|
2251c: 70707070 701f7070 70707070 70707070 pppppp.ppppppppp
|
|
2252c: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
2253c: 48484848 15cb4848 ca91074a 4815694a HHHHHH..J...Ji.H
|
|
2254c: 70484848 00000000 00000000 00000000 HHHp............
|
|
...
|
|
22568: 70700000 ab4f3636 59126887 59595959 ..pp66O..h.YYYYY
|
|
22578: 68685959 dba6f174 6868b274 68340d0d YYhht...t.hh..4h
|
|
22588: 68686868 34686868 0d0d3434 40343446 hhhhhhh444..F44@
|
|
22598: e3372c79 764067b1 c8c8c876 77c8c8c8 y,7..g@vv......w
|
|
225a8: 77777777 1e1e1e1e 000c3838 70000000 wwww....88.....p
|
|
...
|
|
225c4: 48000000 00701515 70707000 70707070 ...H..p..ppppppp
|
|
225d4: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
225e4: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
225f4: 48484848 ca15cbcb eccafa91 4815e969 HHHH........i..H
|
|
22604: 00004848 00000000 00000000 00000000 HH..............
|
|
...
|
|
2261c: 70000000 70007070 0c363636 121277dc ...ppp.p666..w..
|
|
2262c: 59595959 68595959 646666d1 68686868 YYYYYYYh.ffdhhhh
|
|
2263c: 68680d68 68686868 34686868 46346834 h.hhhhhhhhh44h4F
|
|
2264c: 2b34460d f27171f1 76767679 c8c8c876 .F4+.qq.yvvvv...
|
|
2265c: 7777c8c8 77777777 381e1e1e cb384e38 ..wwwwww...88N8.
|
|
2266c: 00000000 00000070 00000000 00000000 ....p...........
|
|
2267c: 00000000 00151515 70700000 70707070 ..........pppppp
|
|
2268c: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
2269c: 70707070 70707070 4f367070 48707070 pppppppppp6OpppH
|
|
226ac: 48cb4848 6307fd48 15154a91 48e9e9cb HH.HH..c.J.....H
|
|
226bc: 00007048 00000000 00000000 00000000 Hp..............
|
|
...
|
|
226d4: 00007000 70707070 36cfcf1f 4e6979ab .p..pppp...6.yiN
|
|
226e4: 54545454 12595959 74f16553 68686868 TTTTYYY.Se.thhhh
|
|
226f4: 68686868 68686868 34686868 6868340d hhhhhhhhhhh4.4hh
|
|
22704: b02b4634 0d67f153 4076400d c80d0d0d 4F+.S.g..@v@....
|
|
22714: 7777c8c8 1e1e7777 381e1e1e e94ee938 ..wwww.....88.N.
|
|
22724: 00000048 00007000 00000000 00000000 H....p..........
|
|
22734: 00000000 1548fd00 70000000 70707070 ......H....ppppp
|
|
22744: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
22754: 70707070 70707070 594f7070 4848703b ppppppppppOY;pHH
|
|
22764: 48cbcb48 9163faec 15cb154a 691e69cb H..H..c.J....i.i
|
|
22774: 00007048 00000000 00000000 00000000 Hp..............
|
|
...
|
|
2278c: 00707000 70700000 4f367070 cf691e0c .pp...pppp6O..i.
|
|
2279c: 54cdcdcf bb545954 682b5a66 68686868 ...TTYT.fZ+hhhhh
|
|
227ac: 68686834 34686868 68686834 340d0d68 4hhhhhh44hhhh..4
|
|
227bc: b0640d68 34462bb0 0d0d0d34 0d0d0d0d h.d..+F44.......
|
|
227cc: 7777c8c8 1e1e1e77 381e1e1e 4ee9e9e9 ..www......8...N
|
|
227dc: 0000000c 00700000 00000000 00000000 ......p.........
|
|
227ec: 00000000 15fd4800 70000048 70707070 .....H..H..ppppp
|
|
227fc: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
2280c: 70707070 70707070 59367070 48483659 pppppppppp6YY6HH
|
|
2281c: ec4848cb 4a631c63 cbcb1515 124ecbcb .HH.c.cJ......N.
|
|
2282c: 00007036 00000000 00000000 00000000 6p..............
|
|
...
|
|
22844: 70700000 70707070 36367070 cfcfcf36 ..pppppppp666...
|
|
22854: 59cdcfcf 2f545459 59597294 68686812 ...YYTT/.rYY.hhh
|
|
22864: 68346868 34686868 6874460d 0d466868 hh4hhhh4.FthhhF.
|
|
22874: 2b2bc80d 46464646 0d343446 0d0d0d0d ..++FFFFF44.....
|
|
22884: 7777c80d 1e1e7777 e91e3838 4ee9e9e9 ..wwww..88.....N
|
|
22894: 0000cb4e 70000000 00000000 00000000 N......p........
|
|
228a4: 00000000 15150000 00007015 70707070 .........p..pppp
|
|
228b4: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
228c4: 48707070 70707048 cf487070 cb483654 pppHHpppppH.T6H.
|
|
228d4: 631548cb 154a6397 484815cb 12693648 .H.c.cJ...HHH6i.
|
|
228e4: 0070703b 00000000 00000000 00000000 ;pp.............
|
|
...
|
|
228fc: 70700000 70707070 4f707070 3636364f ..pppppppppOO666
|
|
2290c: 544fcf4f 0b545968 59a5bf94 74681259 O.OThYT....YY.ht
|
|
2291c: 34686868 6868400d 74460d68 74686868 hhh4.@hhh.Fthhht
|
|
2292c: 74460d0d 46746868 46746874 0d0d3434 ..FthhtFthtF44..
|
|
2293c: c80dc80d 1e1e7779 e9e9381e 4ee9e9e9 ....yw...8.....N
|
|
2294c: 00480c0c 00000000 00000070 00000000 ..H.....p.......
|
|
2295c: 00000000 fd000000 00001548 70707000 ........H....ppp
|
|
2296c: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
2297c: 361f7070 70363636 36707070 15cb36cf pp.6666pppp6.6..
|
|
2298c: 73071548 48154a1c 48484848 4e484848 H..s.J.HHHHHHHHN
|
|
2299c: 00703612 00000000 00000000 00000000 .6p.............
|
|
...
|
|
229b4: 70700000 70707070 70707070 36364f4f ..ppppppppppOO66
|
|
229c4: cfcf3636 24387454 54541e94 12595959 66..Tt8$..TTYYY.
|
|
229d4: 68687474 6831f640 68686868 74686874 tthh@.1hhhhhthht
|
|
229e4: 68747474 68687468 74686868 0d464646 ttthhthhhhhtFFF.
|
|
229f4: 79c80d0d 387731f6 e9e9e938 0c0ce9e9 ...y.1w88.......
|
|
22a04: 0069cdcd 00000000 00007000 00000000 ..i......p......
|
|
...
|
|
22a1c: 001548fd 70700000 70707070 70707070 .H....pppppppppp
|
|
22a2c: 70707070 70707070 36367070 4f543636 pppppppppp6666TO
|
|
22a3c: 48707070 15cb3636 73ff4acb 48481507 pppH66...J.s..HH
|
|
22a4c: 48484848 cb484848 70704f12 00000000 HHHHHHH..Opp....
|
|
...
|
|
22a6c: 70000000 70707070 701f1f70 36361f70 ...pppppp..pp.66
|
|
22a7c: cf363636 5a4ecdcf cd3b38e6 5959593b 666...NZ.8;.;YYY
|
|
22a8c: 68747412 3487f634 68686834 74747468 .tth4..44hhhhttt
|
|
22a9c: 74747474 68687474 74746868 46467468 tttttthhhhtthtFF
|
|
22aac: 31c8c80d 1ec8f616 e9e9e91e cd0ce9e9 ...1............
|
|
22abc: cbcdcdcd 00000000 00000000 00000000 ................
|
|
22acc: 70700000 00000070 4848fd48 48000000 ..ppp...H.HH...H
|
|
22adc: 70707070 70707070 70707070 70707070 pppppppppppppppp
|
|
22aec: 36367070 59684f36 48484836 cb15cb36 pp666OhY6HHH6...
|
|
22afc: 63736315 48154815 48484848 48484848 .csc.H.HHHHHHHHH
|
|
22b0c: 7070cdcd 00000000 00000000 00000000 ..pp............
|
|
...
|
|
22b28: 361f1f70 36361f1f 1f1f1f1f cf363636 p..6..66....666.
|
|
22b38: 32e9cfcf cd54e932 59543b3b 74746859 ...22.T.;;TYYhtt
|
|
22b48: 34877968 68686868 74746868 68686868 hy.4hhhhhhtthhhh
|
|
22b58: 68686874 74746868 74747468 79c80d74 thhhhhtthtttt..y
|
|
22b68: 7479165d e9e9e91e cd0c0c0c cdcdcdcd ].yt............
|
|
22b78: 00000048 00000000 70000000 36363636 H..........p6666
|
|
22b88: 00363636 48151500 00000000 70707048 666....H....Hppp
|
|
22b98: 70707070 70707070 70707070 36484870 pppppppppppppHH6
|
|
22ba8: 34684f36 4848484f 15151548 4aff73ca 6Oh4OHHHH....s.J
|
|
22bb8: 48481548 70704848 48487070 0048cd36 H.HHHHppppHH6.H.
|
|
...
|
|
22be0: 361f1f00 36363636 36363636 36363636 ...6666666666666
|
|
22bf0: e66dcfcb 59544e5a 543b3b54 74125959 ..m.ZNTYT;;TYY.t
|
|
22c00: 34406874 68686868 68686868 68686868 th@4hhhhhhhhhhhh
|
|
22c10: 68121268 74741212 74686874 c80d7474 h..h..ttthhttt..
|
|
22c20: 77e816f6 0ce9e91e cd0c0c0c cfcdcdcd ...w............
|
|
22c30: 00007069 00000000 cb000000 36cbcfcf ip.............6
|
|
22c40: 48703636 48fd0070 00000015 70704800 66pHp..H.....Hpp
|
|
22c50: 70707070 70707070 70707070 36487070 ppppppppppppppH6
|
|
22c60: 7e593636 48363654 fdcb1548 15fa901c 66Y~T66HH.......
|
|
22c70: 48481515 70704848 70707070 00363648 ..HHHHppppppH66.
|
|
...
|
|
22c98: 1f1f0000 3636361f 36363636 36363636 .....66666666666
|
|
22ca8: 576d4f36 54cf4e24 3b3b5974 12595954 6OmW$N.TtY;;TYY.
|
|
22cb8: 68747474 68686868 12686812 12747474 ttthhhhh.hh.ttt.
|
|
22cc8: 12121274 74121212 12127474 c8747412 t......ttt...tt.
|
|
22cd8: c8871606 0ce9381e cdcdcd0c cfcfcfcd .....8..........
|
|
22ce8: 0000cbcf 00000000 36000000 36cbcfcf ...........6...6
|
|
22cf8: 48363636 fd707048 00004848 70700000 666HHpp.HH....pp
|
|
22d08: 70707070 70487070 48707070 48487048 ppppppHppppHHpHH
|
|
22d18: 7e543636 cb36cf68 071515cb 484aff73 66T~h.6.....s.JH
|
|
22d28: 48484815 70707048 70707070 70707070 .HHHHppppppppppp
|
|
...
|
|
22d50: 1f000000 361f1f1f 36363636 36363636 .......666666666
|
|
22d60: 57e93636 cfcd548c cd5454cf 59543b4f 66.W.T...TT.O;TY
|
|
22d70: 74747459 12686868 12686812 38743812 Yttthhh..hh..8t8
|
|
22d80: 12121212 12121212 12383812 74741212 .........88...tt
|
|
22d90: c8f61613 0ce9381e cfcdcdcd cfcfcfcf .....8..........
|
|
22da0: 0048cfcf 00000000 70000000 cbcbcfcf ..H........p....
|
|
22db0: 483636cb 48704848 007048fd 70000000 .66HHHpH.Hp....p
|
|
22dc0: 70707070 70707070 70707070 48484870 pppppppppppppHHH
|
|
22dd0: 343b3636 cbcbcd68 1cfd4815 1515fa22 66;4h....H.."...
|
|
22de0: 48484815 70707048 70707070 00707070 .HHHHpppppppppp.
|
|
...
|
|
22e0c: 1f36361f 3636361f 36363636 e60c3636 .66..666666666..
|
|
22e1c: cdcfcded cfcfcfcf 3b4f4fcf 38121254 .........OO;T..8
|
|
22e2c: 12121238 12686812 12121212 12121212 8....hh.........
|
|
22e3c: 12121212 12125959 12121212 c8f6f60d ....YY..........
|
|
22e4c: 0ce93838 cfcfcdcd cfcfcfcf 70cfcfcf 88.............p
|
|
...
|
|
22e64: cbcbcfcb 363636cb 70484848 004815fd .....666HHHp..H.
|
|
22e74: 00000000 70707070 70707070 70707070 ....pppppppppppp
|
|
22e84: 48487070 68cf3648 cbcb5402 7307cbcb ppHHH6.h.T.....s
|
|
22e94: 1548fdff 70484848 70707070 70707070 ..H.HHHppppppppp
|
|
22ea4: 00707070 00000000 00000000 00000000 ppp.............
|
|
...
|
|
22ec4: 36363600 1f36361f 36361f1f edcd3636 .666.66...6666..
|
|
22ed4: cf4f0c32 cfcfcfcf 3b4f54cf 12593b3b 2.O......TO;;;Y.
|
|
22ee4: 12121212 12681212 12121259 12123838 ......h.Y...88..
|
|
22ef4: 59121212 59595912 59595959 77310d12 ...Y.YYYYYYY..1w
|
|
22f04: 0ce94e12 cfcfcfcd cfcfcfcf 36cfcfcf .N.............6
|
|
...
|
|
22f1c: cbcfcf70 36363636 48484848 4848fd70 p...6666HHHHp.HH
|
|
22f2c: 00000000 70707000 48707070 70707070 .....ppppppHpppp
|
|
22f3c: 48707070 59364848 69695402 226315cb pppHHH6Y.Tii..c"
|
|
22f4c: 151515fa 70484848 70707070 70707070 ....HHHppppppppp
|
|
22f5c: 70707070 00000000 00000000 00000000 pppp............
|
|
...
|
|
22f7c: 1f1f0000 1f361f1f 1f1f1f36 9bcf3636 ......6.6...66..
|
|
22f8c: cf366d57 cfcfcfcf 3636cfcf 593b4f36 Wm6.......666O;Y
|
|
22f9c: 59121212 59125959 12121212 12121212 ...YYY.Y........
|
|
22fac: 59121212 54595959 54545454 4e125454 ...YYYYTTTTTTT.N
|
|
22fbc: cd0c4e4e cfcfcfcf cfcfcfcf cb3636cb NN...........66.
|
|
22fcc: 00000048 00000000 cbcfcb00 483636cb H............66H
|
|
22fdc: 48484848 48fd4870 00000048 70700000 HHHHpH.HH.....pp
|
|
22fec: 70707070 70707048 70707070 cd484848 ppppHpppppppHHH.
|
|
22ffc: 69695968 7397eccb 4815484a 70704848 hYii...sJH.HHHpp
|
|
2300c: 70707070 70707070 70707070 00000070 ppppppppppppp...
|
|
...
|
|
23034: 1f000000 1f1f1f1f 361f1f1f 891f361f ...........6.6..
|
|
23044: cb1f7857 cdcfcbcf 54cfcfcf 3b3b4fcd Wx.........T.O;;
|
|
23054: 59121259 59595959 59126812 59595959 Y..YYYYY.h.YYYYY
|
|
23064: 54595959 54545454 54545454 54545454 YYYTTTTTTTTTTTTT
|
|
23074: cdcdcd54 cfcfcfcf cbcbcbcf 363636cb T............666
|
|
23084: 00007036 00000000 cbcf7000 703636cb 6p.......p...66p
|
|
23094: 48487070 15157048 00007048 70000000 ppHHHp..Hp.....p
|
|
230a4: 70707070 70707070 70707070 36484870 pppppppppppppHH6
|
|
230b4: 15695454 6373cacb 48484815 70484848 TTi...sc.HHHHHHp
|
|
230c4: 70707070 70707070 00000070 00000000 ppppppppp.......
|
|
...
|
|
230f0: 70707070 1f707070 2d1f361f 364f9781 ppppppp..6.-..O6
|
|
23100: cd4f3636 cf69cfcd 4f4f4fcd 125959cd 66O...i..OOO.YY.
|
|
23110: 59595959 59121259 54545959 54545454 YYYYY..YYYTTTTTT
|
|
23120: 54545454 54545454 cdcd5454 cfcdcdcd TTTTTTTTTT......
|
|
23130: 4f4fcfcf 36363636 36363636 00003636 ..OO6666666666..
|
|
23140: 00000000 cb360000 483636cb 48707048 ......6..66HHppH
|
|
23150: fd704848 00004848 00000000 70707070 HHp.HH......pppp
|
|
23160: 70707070 70707070 48487070 cbcbcf36 ppppppppppHH6...
|
|
23170: ca736315 48481548 70707048 70707070 .cs.H.HHHppppppp
|
|
23180: 70707070 00000070 00000000 00000000 ppppp...........
|
|
...
|
|
231a8: 70707000 70707070 cf1f1f70 1f692273 .pppppppp...s"i.
|
|
231b8: 36363636 cd69cf4f 36cf4e0c 5954cf36 6666O.i..N.66.TY
|
|
231c8: 54595959 54545459 54545454 54544e54 YYYTYTTTTTTTTNTT
|
|
231d8: 54545454 54545454 3bcdcd3b 4f4f3b3b TTTTTTTT;..;;;OO
|
|
231e8: 364f4f4f 36363636 36363636 00703636 OOO66666666666p.
|
|
231f8: 00000000 36000000 483636cb 48484848 .......6.66HHHHH
|
|
23208: 48484848 0048484a 00000000 70707000 HHHHJHH......ppp
|
|
23218: 70707070 70707070 48707070 cbcbcb48 pppppppppppHH...
|
|
23228: fd1c1cec 48481548 70707070 70707070 ....H.HHpppppppp
|
|
23238: 00707070 00000070 00000000 00000000 ppp.p...........
|
|
...
|
|
23260: 70700000 70707070 1f707070 7091ed91 ..ppppppppp....p
|
|
23270: 36361f70 0ccdcf36 cd2b2b0c cdcf4fcf p.666....++..O..
|
|
23280: 54545454 54545454 54545454 54545454 TTTTTTTTTTTTTTTT
|
|
23290: 54545454 3b54cd54 4fa9a9a9 1f1fa91f TTTTT.T;...O....
|
|
232a0: 1f1f701f 361f1f1f 36361f1f 00701f36 .p.....6..666.p.
|
|
232b0: 00000000 70000000 48363636 48704848 .......p666HHHpH
|
|
232c0: 70484848 4848fd48 00000000 70480000 HHHpH.HH......Hp
|
|
232d0: 70707048 70707070 48707070 cbcb4848 HppppppppppHHH..
|
|
232e0: 15631c4a 48484848 70707070 70707070 J.c.HHHHpppppppp
|
|
232f0: 00000000 70007000 00000000 00000000 .....p.p........
|
|
...
|
|
23318: 70000000 70707070 70707070 361cff69 ...pppppppppi..6
|
|
23328: 36707070 cdcd3636 1e6eab0c 4f3636cf ppp666....n..66O
|
|
23338: 545454cf 54545454 54545454 54545454 .TTTTTTTTTTTTTTT
|
|
23348: 3b3b3b3b a93b3b3b 701f1f1f 70707070 ;;;;;;;....ppppp
|
|
23358: 70707070 701f1f70 70707070 70707070 ppppp..ppppppppp
|
|
...
|
|
23370: 36367070 48484870 48487070 4815fd70 pp66pHHHppHHp..H
|
|
23380: 00000070 70000000 70707070 70707070 p......ppppppppp
|
|
23390: 48707070 48cb4848 48071c4a 70484848 pppHHH.HJ..HHHHp
|
|
233a0: 00000070 00007000 00000000 00007000 p....p.......p..
|
|
...
|
|
233d4: 70707070 70707070 4affca70 70707070 ppppppppp..Jpppp
|
|
233e4: cf363636 0e6ee9cd 3636cf0c 54544f36 666...n...666OTT
|
|
233f4: 3bcdcd54 cdcdcdcd 3b54cd3b 3b3b3b3b T..;....;.T;;;;;
|
|
23404: 1f3b3b3b 7070701f 70707070 00007000 ;;;..ppppppp.p..
|
|
23414: 70700000 70707070 00707070 00000000 ..ppppppppp.....
|
|
23424: 00000000 48707000 70484848 48484848 .....ppHHHHpHHHH
|
|
23434: 48fd0048 00000048 70000000 70707070 H..HH......ppppp
|
|
23444: 70700070 48707070 48484848 484a634a p.pppppHHHHHJcJH
|
|
23454: 70704848 00000070 00007070 00000070 HHppp...pp..p...
|
|
23464: 00707000 00000000 00000000 00000000 .pp.............
|
|
...
|
|
2348c: 70707000 70707070 91633670 70707036 .pppppppp6c.6ppp
|
|
2349c: 36367070 b5670ccf 36cdcdab 3b4f3636 pp66..g....666O;
|
|
234ac: 3b3b3bcd 3b3b3b3b 4f3b3b3b 1f1fa94f .;;;;;;;;;;OO...
|
|
234bc: 701fa9a9 70707070 00707070 00000000 ...pppppppp.....
|
|
234cc: 00000000 00707000 00700000 00000000 .....pp...p.....
|
|
234dc: 00000000 70700000 70704870 70487070 ......pppHppppHp
|
|
234ec: 4a707048 00004848 00000000 00707000 HppJHH.......pp.
|
|
234fc: 00000000 70707000 48484848 48fd634a .....pppHHHHJc.H
|
|
2350c: 70704848 00007070 00000000 00000000 HHpppp..........
|
|
2351c: 70700000 00000070 00000000 00000000 ..ppp...........
|
|
...
|
|
23544: 70700000 70707070 63ec7000 707070ec ..pppppp.p.c.ppp
|
|
23554: 36707070 6e4e4f36 cf690c87 4f1f7036 ppp66ONn..i.6p.O
|
|
23564: 3b3b3b3b a9080808 70a9a91f 1f707070 ;;;;.......pppp.
|
|
23574: 7070701f 00707070 00000070 00000000 .pppppp.p.......
|
|
...
|
|
23598: 70000000 70707070 70707070 48007070 ...ppppppppppp.H
|
|
235a8: 007070fd 00000000 00700000 00000000 .pp.......p.....
|
|
235b8: 70700000 48484848 4815fa4a 00704848 ..ppHHHHJ..HHHp.
|
|
235c8: 00007000 00000000 00000000 70700000 .p............pp
|
|
235d8: 00007036 00000000 00000000 00000000 6p..............
|
|
...
|
|
235fc: 70000000 00707070 4a700000 000036fa ...pppp...pJ.6..
|
|
2360c: 70700000 2a363670 4f4f1e6e 70707036 ..ppp66*n.OO6ppp
|
|
2361c: 1f4f4f1f 1f1fa91f 70700070 70707070 .OO.....p.pppppp
|
|
2362c: 70707070 00707070 00000000 00000000 ppppppp.........
|
|
2363c: 00000000 00007000 00000000 00000000 .....p..........
|
|
...
|
|
23654: 70707000 70707070 00707070 00701515 .pppppppppp...p.
|
|
...
|
|
23670: 70700000 48484848 48154a4a 00704848 ..ppHHHHJJ.HHHp.
|
|
...
|
|
2368c: 70700000 00704f36 00000000 00000000 ..pp6Op.........
|
|
...
|
|
236b8: 00007070 70000000 00704a4a 70000000 pp.....pJJp....p
|
|
236c8: 36367070 4f4fab67 70703636 1f1f7070 pp66g.OO66pppp..
|
|
236d8: 00707070 70707000 70707070 70707070 ppp..ppppppppppp
|
|
236e8: 70707070 00000000 00000000 00000000 pppp............
|
|
236f8: 00700000 00000000 00000000 00000000 ..p.............
|
|
23708: 00000000 70000000 00007070 00000000 .......ppp......
|
|
23718: 70481500 00000000 00000000 00000000 ..Hp............
|
|
23728: 70000000 48484848 48484afd 00007048 ...pHHHH.JHHHp..
|
|
...
|
|
23744: 70000000 00363b70 00000000 00000000 ...pp;6.........
|
|
...
|
|
23770: 00707000 00000000 70154a70 00000000 .pp.....pJ.p....
|
|
23780: 70707000 36364e4f 70703636 70707070 .pppON6666pppppp
|
|
23790: 70707070 00000070 70707000 70707070 ppppp....ppppppp
|
|
237a0: 00707070 00000000 00000000 00000000 ppp.............
|
|
...
|
|
237d0: 00150000 00000000 00000000 00000000 ................
|
|
237e0: 70000000 48484870 4848fdfd 00007048 ...ppHHH..HHHp..
|
|
...
|
|
237fc: 70000000 703b4f70 00000000 00000000 ...ppO;p........
|
|
...
|
|
23830: cb4a4800 00000000 70700000 36707070 .HJ.......ppppp6
|
|
23840: 7070701f 70707070 70707070 00007070 .ppppppppppppp..
|
|
23850: 00000000 70000000 00000000 00000000 .......p........
|
|
...
|
|
23888: 48700000 00000000 00000000 00000000 ..pH............
|
|
23898: 00000000 48484870 4848fdfd 00007048 ....pHHH..HHHp..
|
|
...
|
|
238b8: 364f1f70 00000070 00000000 00000000 p.O6p...........
|
|
...
|
|
238e8: fd480000 00000048 00000000 70707070 ..H.H.......pppp
|
|
238f8: 70707070 70000070 70707070 00707070 ppppp..pppppppp.
|
|
...
|
|
23954: 48487070 48481515 00000070 00000000 ppHH..HHp.......
|
|
...
|
|
23970: 4f4f7000 00000070 00000000 00000000 .pOOp...........
|
|
...
|
|
239a0: 48000000 00004848 00000000 70000000 ...HHH.........p
|
|
239b0: 70707070 00000070 70707000 00000070 ppppp....pppp...
|
|
...
|
|
23a0c: 48487000 48481515 00000070 00000000 .pHH..HHp.......
|
|
...
|
|
23a28: 4f1f0000 0000001f 00000000 00000000 ...O............
|
|
...
|
|
23a58: 70000000 70484848 00000000 00000000 ...pHHHp........
|
|
23a68: 70000000 00000000 70000000 00000070 ...p.......pp...
|
|
...
|
|
23ac4: 48700000 48481515 00000070 00000000 ..pH..HHp.......
|
|
...
|
|
23ae0: 36700000 00007036 00000000 00000000 ..p66p..........
|
|
...
|
|
23b14: 48484870 00000000 00000000 00000000 pHHH............
|
|
...
|
|
23b7c: 70000000 70481548 00000070 00000000 ...pH.Hpp.......
|
|
...
|
|
23b98: 70000000 00007036 00000000 00000000 ...p6p..........
|
|
...
|
|
23bc8: 6c6c6548 6f57206f 00646c72 Hello World.
|
|
|
|
00023bd4 <__func__.9536>:
|
|
23bd4: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s
|
|
23be4: 00007274 tr..
|
|
|
|
00023be8 <hex.9544>:
|
|
23be8: 33323130 37363534 42413938 46454443 0123456789ABCDEF
|
|
23bf8: 00000000 ....
|
|
|
|
00023bfc <__func__.9554>:
|
|
23bfc: 645f766c 67756265 676f6c5f 7272655f lv_debug_log_err
|
|
23c0c: 0000726f 742f2e2e 64726968 74726170 or..../thirdpart
|
|
23c1c: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co
|
|
23c2c: 6c2f6572 65645f76 2e677562 00000063 re/lv_debug.c...
|
|
23c3c: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s
|
|
23c4c: 203a7274 6f6e2061 53412d6e 20494943 tr: a non-ASCII
|
|
23c5c: 72616863 73616820 70657220 65746165 char has repeate
|
|
23c6c: 6f6d2064 74206572 206e6168 445f564c d more than LV_D
|
|
23c7c: 47554245 5254535f 58414d5f 5045525f EBUG_STR_MAX_REP
|
|
23c8c: 20544145 656d6974 00002973 645f766c EAT times)..lv_d
|
|
23c9c: 67756265 6568635f 735f6b63 203a7274 ebug_check_str:
|
|
23cac: 61766e69 2064696c 72616863 206e6920 invalid char in
|
|
23cbc: 20656874 69727473 2820676e 3031203c the string (< 10
|
|
23ccc: 6c617620 00296575 645f766c 67756265 value).lv_debug
|
|
23cdc: 6568635f 735f6b63 203a7274 69727473 _check_str: stri
|
|
23cec: 6920676e 6f6c2073 7265676e 61687420 ng is longer tha
|
|
23cfc: 564c206e 4245445f 535f4755 4d5f5254 n LV_DEBUG_STR_M
|
|
23d0c: 4c5f5841 54474e45 00000048 AX_LENGTH...
|
|
|
|
00023d18 <__func__.9507>:
|
|
23d18: 645f766c 5f707369 5f746567 5f726373 lv_disp_get_scr_
|
|
23d28: 00746361 act.
|
|
|
|
00023d2c <__func__.9515>:
|
|
23d2c: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye
|
|
23d3c: 6f745f72 00000070 r_top...
|
|
|
|
00023d44 <__func__.9519>:
|
|
23d44: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye
|
|
23d54: 79735f72 00000073 r_sys...
|
|
|
|
00023d5c <__func__.9524>:
|
|
23d5c: 645f766c 5f707369 69737361 735f6e67 lv_disp_assign_s
|
|
23d6c: 65657263 0000006e creen...
|
|
|
|
00023d74 <__func__.9529>:
|
|
23d74: 645f766c 5f707369 5f746567 63616e69 lv_disp_get_inac
|
|
23d84: 65766974 6d69745f 00000065 tive_time...
|
|
|
|
00023d90 <__func__.9539>:
|
|
23d90: 645f766c 5f707369 67697274 7463615f lv_disp_trig_act
|
|
23da0: 74697669 00000079 ivity...
|
|
|
|
00023da8 <__func__.9543>:
|
|
23da8: 5f766c5f 70736964 7465675f 6665725f _lv_disp_get_ref
|
|
23db8: 61745f72 00006b73 742f2e2e 64726968 r_task..../third
|
|
23dc8: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l
|
|
23dd8: 6f635f76 6c2f6572 69645f76 632e7073 v_core/lv_disp.c
|
|
23de8: 00000000 735f766c 615f7263 203a7463 ....lv_scr_act:
|
|
23df8: 64206f6e 6c707369 72207961 73696765 no display regis
|
|
23e08: 65726574 6f742064 74656720 73746920 tered to get its
|
|
23e18: 74636120 6373202e 6e656572 00000000 act. screen....
|
|
23e28: 6c5f766c 72657961 706f745f 6f6e203a lv_layer_top: no
|
|
23e38: 73696420 79616c70 67657220 65747369 display registe
|
|
23e48: 20646572 67206f74 69207465 74207374 red to get its t
|
|
23e58: 6c20706f 72657961 00000000 6c5f766c op layer....lv_l
|
|
23e68: 72657961 7379735f 6f6e203a 73696420 ayer_sys: no dis
|
|
23e78: 79616c70 67657220 65747369 20646572 play registered
|
|
23e88: 67206f74 69207465 73207374 202e7379 to get its sys.
|
|
23e98: 6579616c 00000072 645f766c 5f707369 layer...lv_disp_
|
|
23ea8: 69737361 735f6e67 65657263 74203a6e assign_screen: t
|
|
23eb8: 74207972 7361206f 6e676973 6e206120 ry to assign a n
|
|
23ec8: 732d6e6f 65657263 626f206e 7463656a on-screen object
|
|
23ed8: 00000000 645f766c 5f707369 5f746567 ....lv_disp_get_
|
|
23ee8: 63616e69 65766974 6d69745f 6e203a65 inactive_time: n
|
|
23ef8: 6964206f 616c7073 65722079 74736967 o display regist
|
|
23f08: 64657265 00000000 645f766c 5f707369 ered....lv_disp_
|
|
23f18: 67697274 7463615f 74697669 6e203a79 trig_activity: n
|
|
23f28: 6964206f 616c7073 65722079 74736967 o display regist
|
|
23f38: 64657265 00000000 645f766c 5f707369 ered....lv_disp_
|
|
23f48: 5f746567 72666572 7361745f 6e203a6b get_refr_task: n
|
|
23f58: 6964206f 616c7073 65722079 74736967 o display regist
|
|
23f68: 64657265 00000000 ered....
|
|
|
|
00023f70 <__func__.9740>:
|
|
23f70: 675f766c 70756f72 6572635f 00657461 lv_group_create.
|
|
|
|
00023f80 <__func__.9754>:
|
|
23f80: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj
|
|
23f90: 00000000 742f2e2e 64726968 74726170 ....../thirdpart
|
|
23fa0: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co
|
|
23fb0: 6c2f6572 72675f76 2e70756f 00000063 re/lv_group.c...
|
|
23fc0: 2074754f 6d20666f 726f6d65 00000079 Out of memory...
|
|
23fd0: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj
|
|
23fe0: 6874203a 626f2065 7463656a 20736920 : the object is
|
|
23ff0: 65726c61 20796461 65646461 6f742064 already added to
|
|
24000: 69687420 72672073 0070756f 675f766c this group.lv_g
|
|
24010: 70756f72 6464615f 6a626f5f 7361203a roup_add_obj: as
|
|
24020: 6e676973 6a626f20 20746365 61206f74 sign object to a
|
|
24030: 746f206e 20726568 756f7267 00000070 n other group...
|
|
|
|
00024040 <__func__.9914>:
|
|
24040: 695f766c 0074696e lv_init.
|
|
|
|
00024048 <__func__.9921>:
|
|
24048: 645f766c 696e6965 00000074 lv_deinit...
|
|
|
|
00024054 <__func__.9946>:
|
|
24054: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async
|
|
24064: 00000000 ....
|
|
|
|
00024068 <__func__.10139>:
|
|
24068: 6f5f766c 735f6a62 615f7465 5f6f7475 lv_obj_set_auto_
|
|
24078: 6c616572 006e6769 realign.
|
|
|
|
00024080 <__func__.10148>:
|
|
24080: 6f5f766c 735f6a62 655f7465 635f7478 lv_obj_set_ext_c
|
|
24090: 6b63696c 6572615f 00000061 lick_area...
|
|
|
|
0002409c <__func__.10276>:
|
|
2409c: 6f5f766c 735f6a62 615f7465 685f7664 lv_obj_set_adv_h
|
|
240ac: 65747469 00007473 ittest..
|
|
|
|
000240b4 <__func__.10282>:
|
|
240b4: 6f5f766c 735f6a62 635f7465 6b63696c lv_obj_set_click
|
|
240c4: 00000000 ....
|
|
|
|
000240c8 <__func__.10288>:
|
|
240c8: 6f5f766c 735f6a62 745f7465 0000706f lv_obj_set_top..
|
|
|
|
000240d8 <__func__.10294>:
|
|
240d8: 6f5f766c 735f6a62 645f7465 00676172 lv_obj_set_drag.
|
|
|
|
000240e8 <__func__.10300>:
|
|
240e8: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_
|
|
240f8: 00726964 dir.
|
|
|
|
000240fc <__func__.10306>:
|
|
240fc: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_
|
|
2410c: 6f726874 00000077 throw...
|
|
|
|
00024114 <__func__.10312>:
|
|
24114: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_
|
|
24124: 65726170 0000746e parent..
|
|
|
|
0002412c <__func__.10322>:
|
|
2412c: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren
|
|
2413c: 76655f74 00746e65 t_event.
|
|
|
|
00024144 <__func__.10333>:
|
|
24144: 6f5f766c 615f6a62 705f6464 65746f72 lv_obj_add_prote
|
|
24154: 00007463 ct..
|
|
|
|
00024158 <__func__.10339>:
|
|
24158: 6f5f766c 635f6a62 7261656c 6f72705f lv_obj_clear_pro
|
|
24168: 74636574 00000000 tect....
|
|
|
|
00024170 <__func__.10390>:
|
|
24170: 6f5f766c 735f6a62 655f7465 746e6576 lv_obj_set_event
|
|
24180: 0062635f _cb.
|
|
|
|
00024184 <__func__.10406>:
|
|
24184: 655f766c 746e6576 6e65735f 75665f64 lv_event_send_fu
|
|
24194: 0000636e nc..
|
|
|
|
00024198 <__func__.10397>:
|
|
24198: 655f766c 746e6576 6e65735f 00000064 lv_event_send...
|
|
|
|
000241a8 <__func__.10419>:
|
|
241a8: 6f5f766c 735f6a62 735f7465 616e6769 lv_obj_set_signa
|
|
241b8: 62635f6c 00000000 l_cb....
|
|
|
|
000241c0 <__func__.10431>:
|
|
241c0: 6f5f766c 735f6a62 645f7465 67697365 lv_obj_set_desig
|
|
241d0: 62635f6e 00000000 n_cb....
|
|
|
|
000241d8 <__func__.10437>:
|
|
241d8: 6f5f766c 615f6a62 636f6c6c 5f657461 lv_obj_allocate_
|
|
241e8: 5f747865 72747461 00000000 ext_attr....
|
|
|
|
000241f4 <__func__.10443>:
|
|
241f4: 6f5f766c 725f6a62 65726665 655f6873 lv_obj_refresh_e
|
|
24204: 645f7478 5f776172 00646170 xt_draw_pad.
|
|
|
|
00024210 <__func__.10471>:
|
|
24210: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren
|
|
24220: 00000074 t...
|
|
|
|
00024224 <__func__.10448>:
|
|
24224: 6f5f766c 675f6a62 735f7465 65657263 lv_obj_get_scree
|
|
24234: 0000006e n...
|
|
|
|
00024238 <__func__.10457>:
|
|
24238: 6f5f766c 675f6a62 645f7465 00707369 lv_obj_get_disp.
|
|
|
|
00024248 <__func__.10477>:
|
|
24248: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child
|
|
24258: 00000000 ....
|
|
|
|
0002425c <__func__.10328>:
|
|
2425c: 6f5f766c 735f6a62 625f7465 5f657361 lv_obj_set_base_
|
|
2426c: 00726964 dir.
|
|
|
|
00024270 <__func__.10484>:
|
|
24270: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child
|
|
24280: 6361625f 0000006b _back...
|
|
|
|
00024288 <__func__.10490>:
|
|
24288: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi
|
|
24298: 6572646c 0000006e ldren...
|
|
|
|
000242a0 <__func__.10500>:
|
|
242a0: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi
|
|
242b0: 6572646c 65725f6e 73727563 00657669 ldren_recursive.
|
|
|
|
000242c0 <__func__.10511>:
|
|
242c0: 6f5f766c 675f6a62 635f7465 64726f6f lv_obj_get_coord
|
|
242d0: 00000073 s...
|
|
|
|
000242d4 <__func__.10524>:
|
|
242d4: 6f5f766c 675f6a62 785f7465 00000000 lv_obj_get_x....
|
|
|
|
000242e4 <__func__.10531>:
|
|
242e4: 6f5f766c 675f6a62 795f7465 00000000 lv_obj_get_y....
|
|
|
|
000242f4 <__func__.10538>:
|
|
242f4: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width
|
|
24304: 00000000 ....
|
|
|
|
00024308 <__func__.10543>:
|
|
24308: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh
|
|
24318: 00000074 t...
|
|
|
|
0002431c <__func__.10588>:
|
|
2431c: 6f5f766c 675f6a62 615f7465 5f6f7475 lv_obj_get_auto_
|
|
2432c: 6c616572 006e6769 realign.
|
|
|
|
00024334 <__func__.10593>:
|
|
24334: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c
|
|
24344: 6b63696c 6461705f 66656c5f 00000074 lick_pad_left...
|
|
|
|
00024354 <__func__.10598>:
|
|
24354: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c
|
|
24364: 6b63696c 6461705f 6769725f 00007468 lick_pad_right..
|
|
|
|
00024374 <__func__.10603>:
|
|
24374: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c
|
|
24384: 6b63696c 6461705f 706f745f 00000000 lick_pad_top....
|
|
|
|
00024394 <__func__.10608>:
|
|
24394: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c
|
|
243a4: 6b63696c 6461705f 746f625f 006d6f74 lick_pad_bottom.
|
|
|
|
000243b4 <__func__.10613>:
|
|
243b4: 6f5f766c 675f6a62 655f7465 645f7478 lv_obj_get_ext_d
|
|
243c4: 5f776172 00646170 raw_pad.
|
|
|
|
000243cc <__func__.10162>:
|
|
243cc: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty
|
|
243dc: 6c5f656c 00747369 le_list.
|
|
|
|
000243e4 <__func__.10700>:
|
|
243e4: 6f5f766c 675f6a62 6c5f7465 6c61636f lv_obj_get_local
|
|
243f4: 7974735f 0000656c _style..
|
|
|
|
000243fc <__func__.10200>:
|
|
243fc: 6f5f766c 725f6a62 766f6d65 74735f65 lv_obj_remove_st
|
|
2440c: 5f656c79 61636f6c 72705f6c 0000706f yle_local_prop..
|
|
|
|
0002441c <__func__.10706>:
|
|
2441c: 6f5f766c 675f6a62 685f7465 65646469 lv_obj_get_hidde
|
|
2442c: 0000006e n...
|
|
|
|
00024430 <__func__.9962>:
|
|
24430: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat
|
|
24440: 72615f65 00006165 e_area..
|
|
|
|
00024448 <__func__.9977>:
|
|
24448: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat
|
|
24458: 00000065 e...
|
|
|
|
0002445c <__func__.9995>:
|
|
2445c: 6f5f766c 6d5f6a62 5f65766f 65726f66 lv_obj_move_fore
|
|
2446c: 756f7267 0000646e ground..
|
|
|
|
00024474 <__func__.10001>:
|
|
24474: 6f5f766c 6d5f6a62 5f65766f 6b636162 lv_obj_move_back
|
|
24484: 756f7267 0000646e ground..
|
|
|
|
0002448c <__func__.10009>:
|
|
2448c: 6f5f766c 735f6a62 705f7465 0000736f lv_obj_set_pos..
|
|
|
|
0002449c <__func__.10018>:
|
|
2449c: 6f5f766c 735f6a62 785f7465 00000000 lv_obj_set_x....
|
|
|
|
000244ac <__func__.10024>:
|
|
244ac: 6f5f766c 735f6a62 795f7465 00000000 lv_obj_set_y....
|
|
|
|
000244bc <__func__.10082>:
|
|
244bc: 6f5f766c 615f6a62 6e67696c 00000000 lv_obj_align....
|
|
|
|
000244cc <__func__.10096>:
|
|
244cc: 6f5f766c 615f6a62 6e67696c 69726f5f lv_obj_align_ori
|
|
244dc: 00006f67 go..
|
|
|
|
000244e0 <__func__.10133>:
|
|
244e0: 6f5f766c 725f6a62 696c6165 00006e67 lv_obj_realign..
|
|
|
|
000244f0 <__func__.10207>:
|
|
244f0: 6f5f766c 725f6a62 65726665 735f6873 lv_obj_refresh_s
|
|
24500: 656c7974 00000000 tyle....
|
|
|
|
00024508 <__func__.10156>:
|
|
24508: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style
|
|
24518: 00000000 ....
|
|
|
|
0002451c <__func__.10269>:
|
|
2451c: 6f5f766c 735f6a62 685f7465 65646469 lv_obj_set_hidde
|
|
2452c: 0000006e n...
|
|
|
|
00024530 <__func__.10711>:
|
|
24530: 6f5f766c 675f6a62 615f7465 685f7664 lv_obj_get_adv_h
|
|
24540: 65747469 00007473 ittest..
|
|
|
|
00024548 <__func__.10716>:
|
|
24548: 6f5f766c 675f6a62 635f7465 6b63696c lv_obj_get_click
|
|
24558: 00000000 ....
|
|
|
|
0002455c <__func__.10721>:
|
|
2455c: 6f5f766c 675f6a62 745f7465 0000706f lv_obj_get_top..
|
|
|
|
0002456c <__func__.10726>:
|
|
2456c: 6f5f766c 675f6a62 645f7465 00676172 lv_obj_get_drag.
|
|
|
|
0002457c <__func__.10731>:
|
|
2457c: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_
|
|
2458c: 00726964 dir.
|
|
|
|
00024590 <__func__.10736>:
|
|
24590: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_
|
|
245a0: 6f726874 00000077 throw...
|
|
|
|
000245a8 <__func__.10747>:
|
|
245a8: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren
|
|
245b8: 76655f74 00746e65 t_event.
|
|
|
|
000245c0 <__func__.10752>:
|
|
245c0: 6f5f766c 675f6a62 625f7465 5f657361 lv_obj_get_base_
|
|
245d0: 00726964 dir.
|
|
|
|
000245d4 <__func__.9928>:
|
|
245d4: 6f5f766c 635f6a62 74616572 00000065 lv_obj_create...
|
|
|
|
000245e4 <__func__.9985>:
|
|
245e4: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren
|
|
245f4: 00000074 t...
|
|
|
|
000245f8 <__func__.10031>:
|
|
245f8: 6f5f766c 735f6a62 735f7465 00657a69 lv_obj_set_size.
|
|
|
|
00024608 <__func__.10043>:
|
|
24608: 6f5f766c 735f6a62 775f7465 68746469 lv_obj_set_width
|
|
24618: 00000000 ....
|
|
|
|
0002461c <__func__.10049>:
|
|
2461c: 6f5f766c 735f6a62 685f7465 68676965 lv_obj_set_heigh
|
|
2462c: 00000074 t...
|
|
|
|
00024630 <__func__.10757>:
|
|
24630: 6f5f766c 675f6a62 705f7465 65746f72 lv_obj_get_prote
|
|
24640: 00007463 ct..
|
|
|
|
00024644 <__func__.10763>:
|
|
24644: 6f5f766c 695f6a62 72705f73 6365746f lv_obj_is_protec
|
|
24654: 00646574 ted.
|
|
|
|
00024658 <__func__.10769>:
|
|
24658: 6f5f766c 675f6a62 735f7465 65746174 lv_obj_get_state
|
|
24668: 00000000 ....
|
|
|
|
0002466c <__func__.10548>:
|
|
2466c: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width
|
|
2467c: 7469665f 00000000 _fit....
|
|
|
|
00024684 <__func__.10555>:
|
|
24684: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh
|
|
24694: 69665f74 00000074 t_fit...
|
|
|
|
0002469c <__func__.10517>:
|
|
2469c: 6f5f766c 675f6a62 695f7465 72656e6e lv_obj_get_inner
|
|
246ac: 6f6f635f 00736472 0000ffff _coords.....
|
|
|
|
000246b8 <__func__.10345>:
|
|
246b8: 6f5f766c 735f6a62 735f7465 65746174 lv_obj_set_state
|
|
246c8: 00000000 ....
|
|
|
|
000246cc <__func__.11002>:
|
|
246cc: 6e617274 72635f73 65746165 00000000 trans_create....
|
|
|
|
000246dc <__func__.10368>:
|
|
246dc: 6f5f766c 615f6a62 735f6464 65746174 lv_obj_add_state
|
|
246ec: 00000000 ....
|
|
|
|
000246f0 <__func__.10375>:
|
|
246f0: 6f5f766c 635f6a62 7261656c 6174735f lv_obj_clear_sta
|
|
24700: 00006574 te..
|
|
|
|
00024704 <__func__.10775>:
|
|
24704: 6f5f766c 675f6a62 735f7465 616e6769 lv_obj_get_signa
|
|
24714: 62635f6c 00000000 l_cb....
|
|
|
|
0002471c <__func__.10780>:
|
|
2471c: 6f5f766c 675f6a62 645f7465 67697365 lv_obj_get_desig
|
|
2472c: 62635f6e 00000000 n_cb....
|
|
|
|
00024734 <__func__.10785>:
|
|
24734: 6f5f766c 675f6a62 655f7465 746e6576 lv_obj_get_event
|
|
24744: 0062635f _cb.
|
|
|
|
00024748 <__func__.10790>:
|
|
24748: 6f5f766c 675f6a62 655f7465 615f7478 lv_obj_get_ext_a
|
|
24758: 00727474 ttr.
|
|
|
|
0002475c <__func__.10796>:
|
|
2475c: 6f5f766c 675f6a62 745f7465 00657079 lv_obj_get_type.
|
|
|
|
0002476c <__func__.10811>:
|
|
2476c: 6f5f766c 675f6a62 675f7465 70756f72 lv_obj_get_group
|
|
2477c: 00000000 ....
|
|
|
|
00024780 <__func__.9935>:
|
|
24780: 6f5f766c 645f6a62 00006c65 lv_obj_del..
|
|
|
|
0002478c <__func__.10901>:
|
|
2478c: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async
|
|
2479c: 0062635f _cb.
|
|
|
|
000247a0 <__func__.9951>:
|
|
247a0: 6f5f766c 635f6a62 6e61656c 00000000 lv_obj_clean....
|
|
|
|
000247b0 <__func__.10816>:
|
|
247b0: 6f5f766c 695f6a62 6f665f73 65737563 lv_obj_is_focuse
|
|
247c0: 00000064 742f2e2e 64726968 74726170 d...../thirdpart
|
|
247d0: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co
|
|
247e0: 6c2f6572 626f5f76 00632e6a 695f766c re/lv_obj.c.lv_i
|
|
247f0: 3a74696e 726c6120 79646165 696e6920 nit: already ini
|
|
24800: 00646574 695f766c 2074696e 64616572 ted.lv_init read
|
|
24810: 00000079 645f766c 696e6965 6f642074 y...lv_deinit do
|
|
24820: 0000656e 4c4c554e 696f7020 7265746e ne..NULL pointer
|
|
24830: 00000000 735f766c 675f7263 645f7465 ....lv_scr_get_d
|
|
24840: 3a707369 72637320 206e6565 20746f6e isp: screen not
|
|
24850: 6e756f66 00000064 6f5f766c 735f6a62 found...lv_obj_s
|
|
24860: 625f7465 5f657361 3a726964 766e6920 et_base_dir: inv
|
|
24870: 64696c61 73616220 69642065 00000072 alid base dir...
|
|
24880: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty
|
|
24890: 6c5f656c 3a747369 6e616320 66207427 le_list: can't f
|
|
248a0: 20646e69 6c797473 69772065 60206874 ind style with `
|
|
248b0: 74726170 00000060 6f5f766c 735f6a62 part`...lv_obj_s
|
|
248c0: 705f7465 203a736f 20746f6e 6e616863 et_pos: not chan
|
|
248d0: 676e6967 736f7020 6f697469 666f206e ging position of
|
|
248e0: 72637320 206e6565 656a626f 00007463 screen object..
|
|
248f0: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style
|
|
24900: 6163203a 2074276e 646e6966 79747320 : can't find sty
|
|
24910: 7720656c 20687469 70797460 00006065 le with `type`..
|
|
24920: 6f5f766c 635f6a62 74616572 6e203a65 lv_obj_create: n
|
|
24930: 6420746f 6c707369 63207961 74616572 ot display creat
|
|
24940: 74206465 6f73206f 72616620 6f4e202e ed to so far. No
|
|
24950: 616c7020 74206563 7361206f 6e676973 place to assign
|
|
24960: 65687420 77656e20 72637320 006e6565 the new screen.
|
|
24970: 656a624f 63207463 74616572 65722065 Object create re
|
|
24980: 00796461 276e6143 65732074 68742074 ady.Can't set th
|
|
24990: 61702065 746e6572 20666f20 63732061 e parent of a sc
|
|
249a0: 6e656572 00000000 276e6143 65732074 reen....Can't se
|
|
249b0: 61702074 746e6572 203d3d20 4c4c554e t parent == NULL
|
|
249c0: 206f7420 6f206e61 63656a62 00000074 to an object...
|
|
249d0: 6f5f766c 00006a62 lv_obj..
|
|
|
|
000249d8 <__func__.9738>:
|
|
249d8: 725f766c 5f726665 61657261 00000000 lv_refr_area....
|
|
249e8: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv
|
|
249f8: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l
|
|
24a08: 65725f76 632e7266 00000000 276e6143 v_refr.c....Can'
|
|
24a18: 65732074 44562074 65682042 74686769 t set VDB height
|
|
24a28: 69737520 7420676e 72206568 646e756f using the round
|
|
24a38: 6e756620 6f697463 28202e6e 6e6f7257 function. (Wron
|
|
24a48: 6f722067 5f646e75 6f206263 6f742072 g round_cb or to
|
|
24a58: 616d7320 56206c6c 00294244 small VDB).
|
|
|
|
00024a64 <__func__.9549>:
|
|
24a64: 5f766c5f 6c797473 696c5f65 725f7473 _lv_style_list_r
|
|
24a74: 766f6d65 74735f65 00656c79 emove_style.
|
|
|
|
00024a80 <__func__.9532>:
|
|
24a80: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a
|
|
24a90: 735f6464 656c7974 00000000 dd_style....
|
|
|
|
00024a9c <__func__.9777>:
|
|
24a9c: 5f746567 6f6c6c61 6f6c5f63 5f6c6163 get_alloc_local_
|
|
24aac: 6c797473 00000065 style...
|
|
|
|
00024ab4 <__func__.9583>:
|
|
24ab4: 5f766c5f 6c797473 65735f65 6e695f74 _lv_style_set_in
|
|
24ac4: 00000074 t...
|
|
|
|
00024ac8 <__func__.9597>:
|
|
24ac8: 5f766c5f 6c797473 65735f65 6f635f74 _lv_style_set_co
|
|
24ad8: 00726f6c lor.
|
|
|
|
00024adc <__func__.9611>:
|
|
24adc: 5f766c5f 6c797473 65735f65 706f5f74 _lv_style_set_op
|
|
24aec: 00000061 a...
|
|
|
|
00024af0 <__func__.9625>:
|
|
24af0: 5f766c5f 6c797473 65735f65 74705f74 _lv_style_set_pt
|
|
24b00: 00000072 r...
|
|
|
|
00024b04 <__func__.9673>:
|
|
24b04: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a
|
|
24b14: 745f6464 736e6172 7974735f 0000656c dd_trans_style..
|
|
24b24: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv
|
|
24b34: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l
|
|
24b44: 74735f76 2e656c79 00000063 735f766c v_style.c...lv_s
|
|
24b54: 656c7974 73696c5f 65725f74 65766f6d tyle_list_remove
|
|
24b64: 7974735f 203a656c 6c756f63 74276e64 _style: couldn't
|
|
24b74: 61657220 636f6c6c 20657461 73616c63 reallocate clas
|
|
24b84: 696c2073 00007473 735f766c 656c7974 s list..lv_style
|
|
24b94: 73696c5f 64615f74 74735f64 3a656c79 _list_add_style:
|
|
24ba4: 756f6320 276e646c 64612074 68742064 couldn't add th
|
|
24bb4: 6c632065 00737361 5f746567 61636f6c e class.get_loca
|
|
24bc4: 74735f6c 3a656c79 756f6320 276e646c l_style: couldn'
|
|
24bd4: 72632074 65746165 636f6c20 73206c61 t create local s
|
|
24be4: 656c7974 00000000 735f766c 656c7974 tyle....lv_style
|
|
24bf4: 73696c5f 64615f74 72745f64 5f736e61 _list_add_trans_
|
|
24c04: 6c797473 63203a65 646c756f 2074276e style: couldn't
|
|
24c14: 61657263 74206574 736e6172 6f697469 create transitio
|
|
24c24: 7473206e 00656c79 n style.
|
|
|
|
00024c2c <__func__.9728>:
|
|
24c2c: 6c6c6966 656c625f 6465646e 00000000 fill_blended....
|
|
|
|
00024c3c <__func__.9860>:
|
|
24c3c: 5f70616d 6e656c62 00646564 742f2e2e map_blended.../t
|
|
24c4c: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s
|
|
24c5c: 6c2f6372 72645f76 6c2f7761 72645f76 rc/lv_draw/lv_dr
|
|
24c6c: 625f7761 646e656c 0000632e 6c6c6966 aw_blend.c..fill
|
|
24c7c: 656c625f 6465646e 6e75203a 70707573 _blended: unsupp
|
|
24c8c: 6574726f 6c622064 20646e65 65646f6d orted blend mode
|
|
24c9c: 00000000 0000ffff ........
|
|
|
|
00024ca4 <__func__.9554>:
|
|
24ca4: 645f766c 5f776172 00676d69 lv_draw_img.
|
|
|
|
00024cb0 <__func__.9618>:
|
|
24cb0: 695f766c 645f676d 5f776172 65726f63 lv_img_draw_core
|
|
24cc0: 00000000 742f2e2e 64726968 74726170 ....../thirdpart
|
|
24cd0: 766c2f79 732f6c67 6c2f6372 72645f76 y/lvgl/src/lv_dr
|
|
24ce0: 6c2f7761 72645f76 695f7761 632e676d aw/lv_draw_img.c
|
|
24cf0: 00000000 67616d49 72642065 203a7761 ....Image draw:
|
|
24d00: 20637273 4e207369 004c4c55 640a6f4e src is NULL.No.d
|
|
24d10: 00617461 67616d49 72642065 65207761 ata.Image draw e
|
|
24d20: 726f7272 00000000 67616d49 72642065 rror....Image dr
|
|
24d30: 63207761 74276e61 61657220 68742064 aw can't read th
|
|
24d40: 696c2065 0000656e e line..
|
|
|
|
00024d48 <_lv_bpp1_opa_table>:
|
|
24d48: 0000ff00 ....
|
|
|
|
00024d4c <_lv_bpp2_opa_table>:
|
|
24d4c: ffaa5500 .U..
|
|
|
|
00024d50 <_lv_bpp4_opa_table>:
|
|
24d50: 33221100 77665544 bbaa9988 ffeeddcc .."3DUfw........
|
|
|
|
00024d60 <_lv_bpp8_opa_table>:
|
|
24d60: 03020100 07060504 0b0a0908 0f0e0d0c ................
|
|
24d70: 13121110 17161514 1b1a1918 1f1e1d1c ................
|
|
24d80: 23222120 27262524 2b2a2928 2f2e2d2c !"#$%&'()*+,-./
|
|
24d90: 33323130 37363534 3b3a3938 3f3e3d3c 0123456789:;<=>?
|
|
24da0: 43424140 47464544 4b4a4948 4f4e4d4c @ABCDEFGHIJKLMNO
|
|
24db0: 53525150 57565554 5b5a5958 5f5e5d5c PQRSTUVWXYZ[\]^_
|
|
24dc0: 63626160 67666564 6b6a6968 6f6e6d6c `abcdefghijklmno
|
|
24dd0: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~.
|
|
24de0: 83828180 87868584 8b8a8988 8f8e8d8c ................
|
|
24df0: 93929190 97969594 9b9a9998 9f9e9d9c ................
|
|
24e00: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac ................
|
|
24e10: b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc ................
|
|
24e20: c3c2c1c0 c7c6c5c4 cbcac9c8 cfcecdcc ................
|
|
24e30: d3d2d1d0 d7d6d5d4 dbdad9d8 dfdedddc ................
|
|
24e40: e3e2e1e0 e7e6e5e4 ebeae9e8 efeeedec ................
|
|
24e50: f3f2f1f0 f7f6f5f4 fbfaf9f8 fffefdfc ................
|
|
|
|
00024e60 <__func__.9614>:
|
|
24e60: 645f766c 5f776172 7474656c 00007265 lv_draw_letter..
|
|
|
|
00024e70 <__func__.9696>:
|
|
24e70: 77617264 74656c5f 5f726574 70627573 draw_letter_subp
|
|
24e80: 00000078 x...
|
|
|
|
00024e84 <__func__.9641>:
|
|
24e84: 77617264 74656c5f 5f726574 6d726f6e draw_letter_norm
|
|
24e94: 00006c61 al..
|
|
|
|
00024e98 <_lv_bpp3_opa_table>:
|
|
24e98: 6d492400 ffdbb692 742f2e2e 64726968 .$Im....../third
|
|
24ea8: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l
|
|
24eb8: 72645f76 6c2f7761 72645f76 6c5f7761 v_draw/lv_draw_l
|
|
24ec8: 6c656261 0000632e 645f766c 5f776172 abel.c..lv_draw_
|
|
24ed8: 7474656c 203a7265 746e6f66 20736920 letter: font is
|
|
24ee8: 4c4c554e 00000000 645f766c 5f776172 NULL....lv_draw_
|
|
24ef8: 7474656c 203a7265 70796c67 73642068 letter: glyph ds
|
|
24f08: 6e202e63 6620746f 646e756f 00000000 c. not found....
|
|
24f18: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter:
|
|
24f28: 72616863 65746361 20732772 6d746962 character's bitm
|
|
24f38: 6e207061 6620746f 646e756f 00000000 ap not found....
|
|
24f48: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter:
|
|
24f58: 61766e69 2064696c 20707062 20746f6e invalid bpp not
|
|
24f68: 6e756f66 00000064 645f766c 5f776172 found...lv_draw_
|
|
24f78: 7474656c 203a7265 61766e69 2064696c letter: invalid
|
|
24f88: 00707062 bpp.
|
|
|
|
00024f8c <wcorr.10369>:
|
|
24f8c: 81808080 83828281 87868584 8d8c8a89 ................
|
|
24f9c: 9593918f 9e9b9997 a7a5a2a0 b2afadaa ................
|
|
24fac: 000000b5 ....
|
|
|
|
00024fb0 <__func__.9580>:
|
|
24fb0: 645f766c 5f776172 6b73616d 6464615f lv_draw_mask_add
|
|
24fc0: 00000000 ....
|
|
|
|
00024fc4 <__func__.9645>:
|
|
24fc4: 645f766c 5f776172 6b73616d 676e615f lv_draw_mask_ang
|
|
24fd4: 695f656c 0074696e 742f2e2e 64726968 le_init.../third
|
|
24fe4: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l
|
|
24ff4: 72645f76 6c2f7761 72645f76 6d5f7761 v_draw/lv_draw_m
|
|
25004: 2e6b7361 00000063 6d5f766c 5f6b7361 ask.c...lv_mask_
|
|
25014: 3a646461 206f6e20 63616c70 6f742065 add: no place to
|
|
25024: 64646120 65687420 73616d20 0000006b add the mask...
|
|
25034: 78656e55 74636570 73206465 74726174 Unexpected start
|
|
25044: 676e615f 0000656c 78656e55 74636570 _angle..Unexpect
|
|
25054: 65206465 615f646e 656c676e 00000000 ed end_angle....
|
|
25064: 0000ffff ....
|
|
|
|
00025068 <__func__.9886>:
|
|
25068: 77617264 7461705f 6e726574 00000000 draw_pattern....
|
|
25078: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv
|
|
25088: 732f6c67 6c2f6372 72645f76 6c2f7761 gl/src/lv_draw/l
|
|
25098: 72645f76 725f7761 2e746365 00000063 v_draw_rect.c...
|
|
250a8: 77617264 676d695f 6163203a 2074276e draw_img: can't
|
|
250b8: 20746567 67616d69 6e692065 00006f66 get image info..
|
|
250c8: 695f766c 645f676d 67697365 69203a6e lv_img_design: i
|
|
250d8: 6567616d 756f7320 20656372 65707974 mage source type
|
|
250e8: 20736920 6e6b6e75 006e776f 33221100 is unknown..."3
|
|
250f8: 77665544 bbaa9988 ffeeddcc DUfw........
|
|
|
|
00025104 <__func__.7156>:
|
|
25104: 695f766c 625f676d 735f6675 705f7465 lv_img_buf_set_p
|
|
25114: 74656c61 00006574 alette..
|
|
|
|
0002511c <__func__.9528>:
|
|
2511c: 5f766c5f 5f676d69 68636163 706f5f65 _lv_img_cache_op
|
|
2512c: 00006e65 en..
|
|
|
|
00025130 <__func__.9548>:
|
|
25130: 695f766c 635f676d 65686361 7465735f lv_img_cache_set
|
|
25140: 7a69735f 00000065 742f2e2e 64726968 _size...../third
|
|
25150: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l
|
|
25160: 72645f76 6c2f7761 6d695f76 61635f67 v_draw/lv_img_ca
|
|
25170: 2e656863 00000063 695f766c 635f676d che.c...lv_img_c
|
|
25180: 65686361 65706f5f 74203a6e 63206568 ache_open: the c
|
|
25190: 65686361 7a697320 73692065 00003020 ache size is 0..
|
|
251a0: 67616d69 72642065 203a7761 68636163 image draw: cach
|
|
251b0: 696d2065 202c7373 736f6c63 6e612065 e miss, close an
|
|
251c0: 65722064 20657375 65206e61 7972746e d reuse an entry
|
|
251d0: 00000000 67616d69 72642065 203a7761 ....image draw:
|
|
251e0: 68636163 696d2065 202c7373 68636163 cache miss, cach
|
|
251f0: 74206465 6e61206f 706d6520 65207974 ed to an empty e
|
|
25200: 7972746e 00000000 67616d49 72642065 ntry....Image dr
|
|
25210: 63207761 6f6e6e61 706f2074 74206e65 aw cannot open t
|
|
25220: 69206568 6567616d 73657220 6372756f he image resourc
|
|
25230: 00000065 e...
|
|
|
|
00025234 <__func__.9619>:
|
|
25234: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b
|
|
25244: 746c6975 5f6e695f 6f666e69 00000000 uilt_in_info....
|
|
|
|
00025254 <__func__.9626>:
|
|
25254: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b
|
|
25264: 746c6975 5f6e695f 6e65706f 00000000 uilt_in_open....
|
|
|
|
00025274 <__func__.9673>:
|
|
25274: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b
|
|
25284: 746c6975 5f6e695f 656e696c 7572745f uilt_in_line_tru
|
|
25294: 6f635f65 00726f6c 33221100 77665544 e_color..."3DUfw
|
|
252a4: bbaa9988 ffeeddcc ........
|
|
|
|
000252ac <__func__.9656>:
|
|
252ac: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b
|
|
252bc: 746c6975 5f6e695f 64616572 6e696c5f uilt_in_read_lin
|
|
252cc: 00000065 e...
|
|
|
|
000252d0 <__func__.9588>:
|
|
252d0: 695f766c 645f676d 646f6365 635f7265 lv_img_decoder_c
|
|
252e0: 74616572 00000065 reate...
|
|
|
|
000252e8 <__func__.9550>:
|
|
252e8: 5f766c5f 5f676d69 6f636564 5f726564 _lv_img_decoder_
|
|
252f8: 74696e69 00000000 742f2e2e 64726968 init....../third
|
|
25308: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l
|
|
25318: 72645f76 6c2f7761 6d695f76 65645f67 v_draw/lv_img_de
|
|
25328: 65646f63 00632e72 67616d49 65672065 coder.c.Image ge
|
|
25338: 6e692074 67206f66 72207465 20646165 t info get read
|
|
25348: 656c6966 61656820 00726564 67616d49 file header.Imag
|
|
25358: 65672065 6e692074 66206f66 646e756f e get info found
|
|
25368: 6b6e7520 6e776f6e 63727320 70797420 unknown src typ
|
|
25378: 00000065 006e6962 6c697542 6e692d74 e...bin.Built-in
|
|
25388: 616d6920 64206567 646f6365 63207265 image decoder c
|
|
25398: 74276e61 65706f20 6874206e 69662065 an't open the fi
|
|
253a8: 0000656c 5f676d69 6f636564 5f726564 le..img_decoder_
|
|
253b8: 6c697562 6e695f74 65706f5f 6f203a6e built_in_open: o
|
|
253c8: 6f207475 656d2066 79726f6d 00000000 ut of memory....
|
|
253d8: 67616d49 65642065 65646f63 706f2072 Image decoder op
|
|
253e8: 203a6e65 6e6b6e75 206e776f 6f6c6f63 en: unknown colo
|
|
253f8: 6f662072 74616d72 00000000 6c697542 r format....Buil
|
|
25408: 6e692d74 616d6920 64206567 646f6365 t-in image decod
|
|
25418: 73207265 206b6565 6c696166 00006465 er seek failed..
|
|
25428: 6c697542 6e692d74 616d6920 64206567 Built-in image d
|
|
25438: 646f6365 72207265 20646165 6c696166 ecoder read fail
|
|
25448: 00006465 6c697542 6e692d74 616d6920 ed..Built-in ima
|
|
25458: 64206567 646f6365 72207265 20646165 ge decoder read
|
|
25468: 20746f6e 70707573 7374726f 65687420 not supports the
|
|
25478: 6c6f6320 6620726f 616d726f 00000074 color format...
|
|
25488: 695f766c 645f676d 646f6365 695f7265 lv_img_decoder_i
|
|
25498: 3a74696e 74756f20 20666f20 6f6d656d nit: out of memo
|
|
254a8: 00007972 ry..
|
|
|
|
000254ac <__func__.9652>:
|
|
254ac: 665f766c 5f746e6f 5f746567 6d746962 lv_font_get_bitm
|
|
254bc: 665f7061 745f746d 00007478 742f2e2e ap_fmt_txt..../t
|
|
254cc: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s
|
|
254dc: 6c2f6372 6f665f76 6c2f746e 6f665f76 rc/lv_font/lv_fo
|
|
254ec: 665f746e 745f746d 632e7478 00000000 nt_fmt_txt.c....
|
|
|
|
000254fc <kern_classes>:
|
|
254fc: 0002550c 00026158 000260bc 0000313d .U..Xa...`..=1..
|
|
|
|
0002550c <kern_class_values>:
|
|
2550c: 00000100 00000000 00000100 00000003 ................
|
|
2551c: 00000200 00000000 00000000 00000000 ................
|
|
2552c: 00010000 00000000 00000000 00000000 ................
|
|
2553c: 000c0100 0000fa07 f1f20000 04060c02 ................
|
|
2554c: 010d02f6 0008030b 00000000 00000000 ................
|
|
2555c: 020f0000 000000fe 00000000 00000000 ................
|
|
2556c: f8000500 00000000 0504fb00 00fd0000 ................
|
|
2557c: fd0003fe fbfffd00 00000000 fd0000fd ................
|
|
2558c: fd0000fc 0000fb00 00000000 fd000000 ................
|
|
2559c: 00fc00fd 00e100f9 0500fb00 fb000008 ................
|
|
255ac: 05080303 000005fc 000000f1 00000000 ................
|
|
255bc: 00000000 000000f7 00000000 00000000 ................
|
|
255cc: f9000000 f600f3fd 000000fe 000a0100 ................
|
|
255dc: 01fffef8 0000fc00 0000edfe 00000000 ................
|
|
255ec: 00000000 0afeec00 00000000 00000000 ................
|
|
255fc: 00000000 000000f6 00000000 08000000 ................
|
|
2560c: 00000300 000000fb 00000000 00000000 ................
|
|
2561c: 00000000 020a0000 00000001 00000000 ................
|
|
...
|
|
2564c: 000000f7 00000000 00000000 00000000 ................
|
|
2565c: 00000000 02000000 fd080305 fd050000 ................
|
|
2566c: 0702ddf8 00fd0105 00080009 00e80008 ................
|
|
2567c: 080008fd 000305fd 00fd0100 0014fc00 ................
|
|
2568c: 00080014 0804030b f7000000 00000000 ................
|
|
2569c: 0200fe01 02fbfdfb 0000fd00 0000f600 ................
|
|
...
|
|
256b4: 0000ef00 00000000 00000000 00000000 ................
|
|
256c4: 00f20100 000000f0 1900fe00 0303fdfd ................
|
|
256d4: 03fd00fe 00f20000 00000000 00000000 ................
|
|
256e4: 00e70000 00000003 00000000 00000000 ................
|
|
256f4: 0f00f000 00f70000 e7ef0008 0008fbef ................
|
|
25704: 0300ef00 00fc00fa 00000000 00000000 ................
|
|
25714: 07000000 0000e108 00000000 00000000 ................
|
|
25724: 000c0000 00000002 02020000 ff00fbfd ................
|
|
25734: 0000fdff 000000fe 00fe00fb fa00fbfa ................
|
|
25744: 00fbf8f8 00fb00fb fe000000 00030000 ................
|
|
25754: 0100fd02 03000000 000000fe ff0303fe ................
|
|
25764: fb000000 0000ff00 01000000 00fe0300 ................
|
|
25774: 00fc00fd 0800fe00 00fd0000 00000000 ................
|
|
25784: fefe01ff 00fd0000 000000fd 00000000 ................
|
|
25794: ffff0000 00fdfd00 00000000 fe000001 ................
|
|
257a4: fdfdfd00 00000000 00000000 0000fe00 ................
|
|
257b4: fdfe0000 f800fc00 0005f8fe 0503fb00 ................
|
|
257c4: fffa0007 f4ff00fd f202fe03 01000003 ................
|
|
257d4: fef200f3 f300feea 00070500 00000003 ................
|
|
257e4: fb000100 00f800fd 00fd0000 00fd0000 ................
|
|
257f4: 00000000 ff00ffff 000000fd 00000000 ................
|
|
25804: fe00fdfd 0000fefd 000000fd 00000000 ................
|
|
25814: 00000000 fd00fefe fb00fe00 fd000003 ................
|
|
25824: 00030301 00000000 0000fe00 02000000 ................
|
|
25834: 00fd0000 00fdfefd 00000000 00020000 ................
|
|
25844: 000000fe 00fcfd00 fe0800fb 0000f801 ................
|
|
25854: f5f3f307 fe0003fb fb00fbef fb04fb00 ................
|
|
25864: 00f900f0 02ff0100 000300fe f300f6f8 ................
|
|
25874: f8fafbfa fbfff9fd 010002f9 0000fd00 ................
|
|
25884: 03000200 00000000 00000000 fd000000 ................
|
|
25894: ff00ff00 fafc00fd f800fffa 00000000 ................
|
|
258a4: 00fe0000 01000000 000000fe 00000003 ................
|
|
258b4: 00000000 00000c00 00000000 00000002 ................
|
|
258c4: 000000fd 00000000 00000000 000300fb ................
|
|
...
|
|
258e0: 000000fe 000000fb 00f8f300 f3fc0000 ................
|
|
258f0: 03fd0000 0000f900 00000000 00000000 ................
|
|
25900: fb0000fc 00000000 00000000 00000000 ................
|
|
25910: 00fb0003 03000000 fbfb0200 fdfdfd00 ................
|
|
25920: 00000000 00f80000 fdfc00fd f8fafa00 ................
|
|
25930: 00fb00fe 000000f8 00001400 fd000001 ................
|
|
25940: f5000300 00000000 08fbe800 00f5fe08 ................
|
|
25950: f300fc03 ee03fdff 040003fd f8f7fcf7 ................
|
|
25960: f10000f5 00000f00 000000ff f9fdffff ................
|
|
25970: 00e8fff8 00000000 00000000 00000001 ................
|
|
...
|
|
2598c: ff00fd00 0000fcfd 00fd00fb 00000000 ................
|
|
...
|
|
259a4: 00ff0000 050000fb fa0003ff f9fffe03 ................
|
|
259b4: fdfd00fd fcfc00fe fffe0000 00fdfcfe ................
|
|
259c4: 0300fd00 00fa00fe 00fb0000 fcfc00fc ................
|
|
259d4: 00000003 00000000 0003fb00 fdfe00fc ................
|
|
259e4: fefefef8 fffdfeff 00000000 fefefd00 ................
|
|
259f4: 00000000 fe00fe03 fe000000 fdfefefd ................
|
|
25a04: 0a0200fe 00f900ff fd0005fe 0004fdf5 ................
|
|
25a14: 03fcf400 fe0002fc fc00f8fe fc000001 ................
|
|
25a24: 03000000 00fbfb03 fdfcfdfc 01fc00fd ................
|
|
25a34: 0008fcfb 00000000 00000000 00000003 ................
|
|
...
|
|
25a58: 000000fc 00000000 00000000 00000000 ................
|
|
...
|
|
25a84: 000000fe 00000000 00000000 00000000 ................
|
|
...
|
|
25aa0: fdfe0000 00000000 00000000 00000000 ................
|
|
25ab0: fd0000fc fdfd0000 00000000 000000fd ................
|
|
25ac0: 0000ff00 fe000000 00000000 00fb00fc ................
|
|
25ad0: 00f80000 0105fa02 0000f4fe f600fdfa ................
|
|
25ae0: 0000f9fa f6f6fdf5 00f900f4 00fd1102 ................
|
|
25af0: fdfffdfa f7fbf9fc 00fdfaf6 0100fe00 ................
|
|
25b00: feee0000 f7fa0608 00f80100 05fdfef3 ................
|
|
25b10: 0001fde8 f3fdef00 0000edfd 010f00ee ................
|
|
25b20: 0000fe00 feff0000 ef00fef6 00000000 ................
|
|
25b30: 00fe00f8 00f4f9ff f8fcff00 00fe00fd ................
|
|
25b40: f4000000 fef8f8fd fcfdfafc f8fefb00 ................
|
|
25b50: fbfd00fc 0100fbfd 00f8fe00 00fb0005 ................
|
|
25b60: 03000000 0afb0200 fdfdfd00 00000000 ................
|
|
25b70: 00f80000 fdfc00fd f8fafa00 02fb00fe ................
|
|
25b80: 0000000a 00001400 fd000001 00000300 ................
|
|
25b90: 00000000 00ff0000 00000000 0000fbfe ................
|
|
25ba0: ff000000 fd000000 fb0000fd fb0000fd ................
|
|
25bb0: 00ff0400 00000000 00000100 05040000 ................
|
|
25bc0: f800fe02 f80800fc 0afbfbf8 feea0305 ................
|
|
25bd0: fd00fd05 00f7fd03 fefd03fd 0000fef8 ................
|
|
25be0: f9000508 07fdf200 fd01f6fd 0afdf8f8 ................
|
|
25bf0: 00fc0003 080200f9 faf6f7fa ed010008 ................
|
|
25c00: fefc03fe f7fa00fa 00fefcfc fdfbfa00 ................
|
|
25c10: fd060800 fcf200f2 fff1f700 f9f8fcf8 ................
|
|
25c20: fd000007 00fefb00 0400fbfd 000003f8 ................
|
|
25c30: fafd00f2 faf8fefc f800faf8 f8fbfafd ................
|
|
25c40: 010000fd f800fc0c fbfd00fd f6f9f9fa ................
|
|
25c50: 0005fbfd fdf300fc f7f80502 fd08f8fb ................
|
|
25c60: 05fbe801 00f7fcfa fdfdf5f8 f8fbfdfe ................
|
|
25c70: 080000ff 00effe07 f606faf1 f5f7fbef ................
|
|
25c80: 0005f8f3 fd000000 fd030000 05fb0205 ................
|
|
25c90: fff80000 0100ff00 0000fe01 00000000 ................
|
|
25ca0: 000000fd 01080200 0000fd00 fefe0000 ................
|
|
25cb0: 000000fd 00000201 00020000 000a00fe ................
|
|
25cc0: fd010105 00000500 00000200 00000000 ................
|
|
25cd0: 00000000 07000800 00000000 00000000 ................
|
|
25ce0: 00000000 00f10000 080004fd 03190000 ................
|
|
25cf0: 0303fbfb 00f301fe 00f10c00 00000000 ................
|
|
25d00: 00000000 0aef0000 00000024 00000000 ........$.......
|
|
25d10: 00000000 0000f100 00000000 00000000 ................
|
|
...
|
|
25d30: fb0000fc 000000fe 00000000 00000000 ................
|
|
...
|
|
25d48: 00f900fe 00000100 fefb2103 03f90708 .........!......
|
|
25d58: 03030000 000000fd 00000000 00000000 ................
|
|
25d68: 000007df 00000000 00000000 00000000 ................
|
|
25d78: f9000000 f9000000 00000000 0000fffa ................
|
|
25d88: fd00fa00 0000f400 00000000 00000000 ................
|
|
25d98: 0000ef00 00010000 00000000 0000fd00 ................
|
|
25da8: 00fc00fb 000000f9 00fd03fc fafdf900 ................
|
|
25db8: 00f90000 00f400fd eb0000fd f7fdf6fb ................
|
|
25dc8: 00ef0000 0000fff9 00000000 fbfc0000 ................
|
|
25dd8: 0000fcfe 00fa0000 05fd03fa fefafe00 ................
|
|
25de8: fd00fbfc f902feff 000000ff 00fcfee9 ................
|
|
25df8: f4fe00fa fe0000fe 000000fe fe000200 ................
|
|
25e08: 0004fefc 00000000 00000000 00000000 ................
|
|
...
|
|
25e34: 00030000 00000000 fe00fa00 fb000000 ................
|
|
25e44: 00000003 00fbfdf9 fd00f900 0000f400 ................
|
|
25e54: 00e70000 00f3f7fb fe00ef00 000000fc ................
|
|
25e64: 00000000 fffcfd00 000001fc 0800fd04 ................
|
|
25e74: f8fdfd0d 06040d03 030b03f9 00070607 ................
|
|
...
|
|
25e8c: 0c100000 fe00fdfb 00140b14 00030000 ................
|
|
25e9c: 00000900 000000fc 00000000 00fe0000 ................
|
|
25eac: 00000000 04000000 00000000 f6fefdea ................
|
|
25ebc: ef0000f3 00000000 00000000 00000000 ................
|
|
25ecc: 00000000 0000fc00 00000000 fe000000 ................
|
|
...
|
|
25ee4: 00000004 fefdea00 0000f3f6 000000f6 ................
|
|
...
|
|
25f04: 000000fe fd0003fa f8030502 03feff00 ................
|
|
25f14: 00000200 00fa0000 00fbfefe 1000f6fe ................
|
|
25f24: fefa00fd 00fcfe00 fdfbf9fd fc000000 ................
|
|
...
|
|
25f3c: 0000fe00 00000000 00040000 ea000000 ................
|
|
25f4c: f3f6fefd 00ef0000 00000000 00000d00 ................
|
|
...
|
|
25f64: fdf800fc fdfe08fe 01fe01f6 0601f9fe ................
|
|
25f74: 02010201 00fdf6fa f5f9fbf6 fbfc00f6 ................
|
|
25f84: fefefdfd fe00fefd 040004ff 000800fe ................
|
|
...
|
|
25f9c: fe000000 0000fdfd 00ff00f9 000000fc ................
|
|
...
|
|
25fb4: 000000f1 00000000 00000000 fd00fdfd ................
|
|
25fc4: 00000000 fc0000fe fc0003fd f900fefb ................
|
|
25fd4: fdfefafe 0000fc00 00000000 00000000 ................
|
|
25fe4: 0800ef00 00fb0000 fd000000 0000fd00 ................
|
|
25ff4: fe0000ff 0000fa00 f8f8fd0b ff030302 ................
|
|
26004: 020402f9 fe080208 f60000f9 f9f80000 ................
|
|
26014: 00fb0000 fc00fcfd fe00fc00 f8fe0004 ................
|
|
26024: 000009fd 00fb00fe 00fa0300 0002fd03 ................
|
|
26034: fe00f800 03fd00ff 000000fe 00fafdf6 ................
|
|
26044: f40000f8 00fd0900 000200fb f8fd00fd ................
|
|
26054: 0003fd00 fe000000 fd030000 fd000001 ................
|
|
26064: 00fd00fe 00000000 00000000 00000000 ................
|
|
26074: 00000000 000600f0 0000fe00 00010000 ................
|
|
26084: 0000fdfd 06000500 00000000 01f1f000 ................
|
|
26094: f604080b 09000b02 00000500 00000000 ................
|
|
260a4: 00000000 00000e00 00000000 00000000 ................
|
|
...
|
|
|
|
000260bc <kern_right_class_mapping>:
|
|
260bc: 02010000 05040300 08070602 0a090a09 ................
|
|
260cc: 0e0d0c0b 0c11100f 15141312 00000015 ................
|
|
260dc: 19181716 19191917 1a191917 19191919 ................
|
|
260ec: 19171917 1d1c1b03 201f1e1d 00232221 ........... !"#.
|
|
260fc: 26250024 00272727 29282627 2a2a2626 $.%&'''.'&()&&**
|
|
2610c: 2a272a27 2e2d2c2b 302e2f2e 09230000 '*'*+,-../.0..#.
|
|
2611c: 00000931 00000000 00000000 00000000 1...............
|
|
...
|
|
|
|
00026158 <kern_left_class_mapping>:
|
|
26158: 02010000 05040300 08070602 0a090a09 ................
|
|
26168: 0d000c0b 11100f0e 140c1312 00000014 ................
|
|
26178: 18171615 1b1a1619 1e1d1d1c 1d1d201f ............. ..
|
|
26188: 23222116 251e2403 28272625 002b2a29 .!"#.$.%%&'()*+.
|
|
26198: 2e2d002c 3231302f 34342d33 2d2d3035 ,.-./0123-4450--
|
|
261a8: 37362e2e 3a333938 3c3a3b3a 09000029 ..67893::;:<)...
|
|
261b8: 0000093d 00000000 00000000 00000000 =...............
|
|
...
|
|
|
|
000261f4 <cmaps>:
|
|
261f4: 00000020 0001005f 00000000 00000000 ..._...........
|
|
26204: 00000000 000000b0 0060f7f3 0002621c ..........`..b..
|
|
26214: 00000000 0002003b ....;...
|
|
|
|
0002621c <unicode_list_1>:
|
|
2621c: 1f720000 ef58ef51 ef5cef5b ef61ef5d ..r.Q.X.[.\.].a.
|
|
2622c: ef65ef63 ef6cef69 ef76ef71 ef78ef77 c.e.i.l.q.v.w.x.
|
|
2623c: ef98ef8e ef9cef9b efa1ef9d efa3efa2 ................
|
|
2624c: efb7efa4 efbeefb8 efc1efc0 efc7efc4 ................
|
|
2625c: efc9efc8 efe3efcb f014efe5 f017f015 ................
|
|
2626c: f03af037 f06cf043 f0abf074 f190f13b 7.:.C.l.t...;...
|
|
2627c: f192f191 f194f193 f1e3f1d7 f254f23d ............=.T.
|
|
2628c: f712f4aa 0000f7f2 ........
|
|
|
|
00026294 <glyph_dsc>:
|
|
...
|
|
2629c: 04500000 00000000 04500000 00010c03 ..P.......P.....
|
|
262ac: 06400012 07010505 0b40001f 00000c0b ..@.......@.....
|
|
262bc: 09f00061 fe00100a 0d8000b1 00000c0d a...............
|
|
262cc: 0b0000ff ff000d0b 03600147 07010502 ........G.`.....
|
|
262dc: 0560014c fd010f04 0570016a fd000f04 L.`.....j.p.....
|
|
262ec: 06600188 05000707 095001a1 02010808 ..`.......P.....
|
|
262fc: 03a001c1 fe000503 062001c9 03000306 .......... .....
|
|
2630c: 03a001d2 00000303 05a001d7 feff1008 ................
|
|
2631c: 0ab00217 00000c0a 05f00253 00000c05 ........S.......
|
|
2632c: 09300271 00000c09 092002a7 00000c09 q.0....... .....
|
|
2633c: 0ab002dd 00000c0b 0930031f 00000c09 ..........0.....
|
|
2634c: 09e00355 00000c0a 09900391 00000c09 U...............
|
|
2635c: 0a5003c7 00000c0a 09e00403 00000c0a ..P.............
|
|
2636c: 03a0043f 00000903 03a0044d fd000c03 ?.......M.......
|
|
2637c: 0950045f 02010808 0950047f 03010608 _.P.......P.....
|
|
2638c: 09500497 02010808 093004b7 00000c09 ..P.......0.....
|
|
2639c: 109004ed fd000f10 0bb00565 00ff0c0d ........e.......
|
|
263ac: 0c2005b3 00010c0b 0b9005f5 00000c0b .. .............
|
|
263bc: 0d300637 00010c0c 0ac0067f 00010c09 7.0.............
|
|
263cc: 0a3006b5 00010c09 0c6006eb 00000c0c ..0.......`.....
|
|
263dc: 0d000733 00010c0b 04f00775 00010c03 3.......u.......
|
|
263ec: 08300787 00ff0c08 0b8007b7 00010c0b ..0.............
|
|
263fc: 098007f9 00010c09 0f40082f 00010c0d ......../.@.....
|
|
2640c: 0d00087d 00010c0b 0d7008bf 00000c0d }.........p.....
|
|
2641c: 0b90090d 00010c0a 0d700949 fd000f0e ........I.p.....
|
|
2642c: 0ba009b2 00010c0a 09f009ee 00000c0a ................
|
|
2643c: 09600a2a 00000c0a 0ca00a66 00010c0b *.`.....f.......
|
|
2644c: 0b600aa8 00ff0c0d 12000af6 00000c12 ..`.............
|
|
2645c: 0ac00b62 00000c0b 0a600ba4 00ff0c0c b.........`.....
|
|
2646c: 0a800bec 00000c0b 05500c2e fd010f05 ..........P.....
|
|
2647c: 05a00c54 feff1008 05500c94 fd000f04 T.........P.....
|
|
2648c: 09500cb2 02010708 08000cce fe000208 ..P.............
|
|
2649c: 09a00cd6 0a010205 09900cdb 00000909 ................
|
|
264ac: 0af00d04 00010c0a 09200d40 00000909 ........@. .....
|
|
264bc: 0af00d69 00000c0a 09d00da5 0000090a i...............
|
|
264cc: 05a00dd2 00000c07 0b100dfc fd000c0a ................
|
|
264dc: 0ae00e38 00010c09 04700e6e 00010c03 8.......n.p.....
|
|
264ec: 04900e80 fdfe0f06 09e00ead 00010c09 ................
|
|
264fc: 04700ee3 00010c02 10f00eef 0001090f ..p.............
|
|
2650c: 0ae00f33 00010909 0a300f5c 0000090a 3.......\.0.....
|
|
2651c: 0af00f89 fd010c0a 0af00fc5 fd000c0a ................
|
|
2652c: 06901001 00010906 0800101c 00000908 ................
|
|
2653c: 06a01040 00000b07 0ad01067 00010909 @.......g.......
|
|
2654c: 08f01090 00ff090a 0e6010bd 0000090f ..........`.....
|
|
2655c: 08d01101 00000909 08f0112a fdff0c0a ........*.......
|
|
2656c: 08501166 00000908 05a0118a fd000f06 f.P.............
|
|
2657c: 04d011b7 fd010f03 05a011ce fd000f05 ................
|
|
2658c: 095011f4 04000509 06b0120b 06000606 ..P.............
|
|
2659c: 0500121d 03010403 10001223 fe001110 ........#.......
|
|
265ac: 100012ab 00000c10 1000130b ff000e10 ................
|
|
265bc: 1000137b 00000c10 0b0013db 00000c0b {...............
|
|
265cc: 1000141d fe001010 1000149d fe001010 ................
|
|
265dc: 1200151d ff000e12 1000159b fe001010 ................
|
|
265ec: 1200161b 00000c12 10001687 fe001010 ................
|
|
265fc: 08001707 ff000e08 0c00173f ff000e0c ........?.......
|
|
2660c: 12001793 fe001012 10001823 00000c10 ........#.......
|
|
2661c: 0e001883 fe02100a 0e0018d3 fd00120e ................
|
|
2662c: 0e001951 ff000f0e 0e0019ba ff000e0e Q...............
|
|
2663c: 0e001a1c fe02100a 0e001a6c ffff0e10 ........l.......
|
|
2664c: 0a001adc ff000e0a 0a001b22 ff000e0a ........".......
|
|
2665c: 0e001b68 ff000e0e 0e001bca 0400040e h...............
|
|
2666c: 12001be6 00000c12 14001c52 fe001014 ........R.......
|
|
2667c: 12001cf2 feff1014 10001d92 fe001010 ................
|
|
2668c: 0e001e12 01000a0e 0e001e58 01000a0e ........X.......
|
|
2669c: 14001e9e ff000e14 10001f2a 00000c10 ........*.......
|
|
266ac: 10001f8a fe001010 1000200a feff1111 ......... ......
|
|
266bc: 0e00209b ff000e0f 0e002104 fe00100e . .......!......
|
|
266cc: 0e002174 ff000e0e 0a0021d6 feff100c t!.......!......
|
|
266dc: 0e002236 fe00100e 0e0022a6 fe00100e 6"......."......
|
|
266ec: 12002316 00000c12 10002382 fdff1212 .#.......#......
|
|
266fc: 0c002424 fe00100c 14002484 ff000f14 $$.......$......
|
|
2670c: 1400251a 01000a14 1400257e 01000a14 .%......~%......
|
|
2671c: 140025e2 01000a14 14002646 01000a14 .%......F&......
|
|
2672c: 140026aa 01000a14 1400270e ff000e15 .&.......'......
|
|
2673c: 0e0027a1 fe01100c 0e002801 fe00100e .'.......(......
|
|
2674c: 10002871 fdff1111 14002902 00000c14 q(.......)......
|
|
2675c: 0c00297a fe00100c 102029da 01000b11 z).......) .....
|
|
|
|
0002676c <gylph_bitmap>:
|
|
2676c: aff00bbf 089ee00a c0078cd0 bf100000 ................
|
|
2677c: 1ff5e01a e4f3513f f2403e0f 00100872 ....?Q...>@.r...
|
|
2678c: e003c005 007a0000 0900005c 01a00780 ......z.\.......
|
|
2679c: ffffffff 733e03fd 0030833c 00c500f2 ......>s<.0.....
|
|
267ac: 0e100f00 f0020030 9f00f200 ffffffff ....0...........
|
|
267bc: 36c33841 890030e3 00005c00 a007700a A8.6.0...\...p..
|
|
267cc: 79000000 00000000 00000079 20e9ff5c ...y....y...\..
|
|
267dc: 9ebcfc06 79b00e90 800f1000 0d000079 .......y....y...
|
|
267ec: 000079f5 50fdef03 cf060000 000040fe .y.....P.....@..
|
|
267fc: 00f15e79 f3057900 07790007 bce92ff1 y^...y....y../..
|
|
2680c: ae03a0af 0000d7ff 00007900 00790000 .........y....y.
|
|
2681c: 80de0300 00d00500 01500ce4 004c00e3 ..........P...L.
|
|
2682c: 00a9005a c004a006 4c00004e 500d5a00 Z.......N..L.Z.P
|
|
2683c: 1ce40000 0000a058 e173ce03 0000e93c ....X.....s.<...
|
|
2684c: 400ed600 7c0000a8 d003c003 3c202e00 ...@...|...... <
|
|
2685c: 0b003d00 09e20070 00d00680 00a0dd04 .=..p...........
|
|
2686c: 00b1ef09 3ce40900 d90000a0 00007d00 .......<.....}..
|
|
2687c: a01cc00c ae3f0000 010000c1 0000c0df ......?.........
|
|
2688c: 708feb03 00db0018 3ff0657f ea8f0040 ...p.....e.?@...
|
|
2689c: 0000f703 f90b70cf 40bfcf66 30eadf08 .....p..f..@...0
|
|
268ac: 000000a5 f5000000 72e4e4f5 f205da00 ...........r....
|
|
268bc: 700fc00b 205f403f 007f106f 205f106f ...p?@_ o...o._
|
|
268cc: 700f403f f205c00b 303fda00 f106b00c ?@.p......?0....
|
|
268dc: e900f601 ad00bc00 ad00ae00 e900bc00 ................
|
|
268ec: f106f601 303fb00c 06004a00 2ba0a474 ......?0.J..t..+
|
|
268fc: 7f00e5ff 6b7b20fb a004008d 00130000 ..... {k........
|
|
2690c: 10050000 500f0000 500f0000 511f0100 .......P...P...Q
|
|
2691c: ffffef10 744f34f3 500f0040 500f0000 .....4Ot@..P...P
|
|
2692c: fd520900 0fc5a00b 10110100 04f3ff1f ..R.............
|
|
2693c: 12034044 00901efc 00f10500 00b00a00 D@..............
|
|
2694c: 00600f00 00105f00 0000ab00 0000f600 ..`.._..........
|
|
2695c: 0000f105 0000b00a 0000600f 0000104f .........`..O...
|
|
2696c: 000000ac 040000f6 0a0000f1 0e0000c0 ................
|
|
2697c: 4f000060 00000010 00c5ef08 cfa8cf00 `..O............
|
|
2698c: 00f50770 c00df20a 1ff80100 dc000080 p...............
|
|
2699c: 0000603f 00603fbd 801fbd00 0ddc0000 ?`...?`.........
|
|
269ac: f80100c0 0a00f507 a8cf00f2 080070cf .............p..
|
|
269bc: ef00c5ef f37a36ff 05305f00 305f00f3 .....6z.._0..._0
|
|
269cc: 5f00f305 00f30530 f305305f 05305f00 ..._0..._0..._0.
|
|
269dc: fdbe04f3 98fd0770 002890cf 0000bf00 ....p.....(.....
|
|
269ec: 00f20700 00af0000 804f0000 c03f0000 ..........O...?.
|
|
269fc: c13e0000 c12e0000 d12e0000 f82e0000 ..>.............
|
|
26a0c: ff467777 6ffaffff 02ffffff b09f7777 wwF....o....ww..
|
|
26a1c: e10c0000 f3090000 f6050000 df000000 ................
|
|
26a2c: 040010e9 0000fd59 00f40600 643f0000 ....Y.........?d
|
|
26a3c: f3080040 fb8cc9bf d7ff7c00 01000000 @........|......
|
|
26a4c: 000000eb 0010be00 506f0000 2f000000 ..........oP.../
|
|
26a5c: 00000090 0000d00c 01f30800 f80300d5 ................
|
|
26a6c: 00602f00 f72322ed ffff6f21 5581ffff ./`.."#.!o.....U
|
|
26a7c: 52f95655 2f000000 00000060 0500f602 UV.R.../`.......
|
|
26a8c: 00ffffff 7077777f 0000e008 0000ad00 .....wwp........
|
|
26a9c: 10c20b00 ffdf0000 550430fb 0020ff68 .........0.Uh. .
|
|
26aac: 00f80400 920f0000 f6050050 fd8ad98f ........P.......
|
|
26abc: e9ef5b10 ce050010 9f0060fc 05708bc8 .[.......`....p.
|
|
26acc: 000000f8 0000d00c 00801f00 682f0000 ............../h
|
|
26adc: 3f10faef d08f64ee 0600f12f 00c00ef4 ...?.d../.......
|
|
26aec: f109f602 01f30600 b09f86de d8ef1900 ................
|
|
26afc: ffff8f00 77f7e8ff 008ffc77 90554f00 .......ww....OU.
|
|
26b0c: 00e00b00 00f80200 109f0000 b00f0000 ................
|
|
26b1c: f4060000 dd000000 3f000000 0a000070 ...........?p...
|
|
26b2c: 010000f1 000000f9 00d7ff5c af76fc06 ........\.....v.
|
|
26b3c: 00d00ca0 c00df109 07f20700 c05e11f7 ..............^.
|
|
26b4c: feffbf00 54f90910 802fd07e 4ff60400 .......T~./....O
|
|
26b5c: f8000050 0500a01f 76fb09f6 6c00d0af P..........v...l
|
|
26b6c: 0010d8ff 0080fd8e fc68f80c 00505f00 ..........h.._P.
|
|
26b7c: 008f703f 7fc00e00 f01f0030 cf13d41f ?p......0.......
|
|
26b8c: ffef04f1 0200f0a9 00f00a31 a00e0000 ........1.......
|
|
26b9c: 9f000000 8da70930 df0700f7 1e0040eb ....0........@..
|
|
26bac: 1003fc92 00000000 1efc1203 fc921e90 ................
|
|
26bbc: 00001003 01000000 a8d01fe9 00a0300e .............0..
|
|
26bcc: 00420000 03f37d01 bf10e89f ee0000b5 ..B..}..........
|
|
26bdc: 17000081 0000b4df 00d2af04 ef820100 ................
|
|
26bec: 45f3ffff 00515555 01000000 ef101111 ...EUUQ.........
|
|
26bfc: 34f3ffff 50404444 ef000000 06000092 ...4DD@P........
|
|
26c0c: 0000b5cf 00e29f03 02f36c00 bf20e99e .........l.... .
|
|
26c1c: 930000c6 04000000 0770fdbe a0bf77fc ..........p..w..
|
|
26c2c: cf000027 09000000 010000f0 010000ea '...............
|
|
26c3c: 000010dd 000010ce 0000603f 00003001 ........?`...0..
|
|
26c4c: 00000100 00f50600 405f0000 17000000 .........._@....
|
|
26c5c: 00b5fdce fb050000 c27d2353 406e0000 ........S#}...n@
|
|
26c6c: 8e000000 01f40210 493ffaae 1e900ab0 ..........?I....
|
|
26c7c: 40ef5be6 8f300fe3 40af0010 d9001f98 .[.@..0....@....
|
|
26c8c: 403f0000 e8003f6a 401f0000 d9001f5c ..?@j?.....@\...
|
|
26c9c: 403f0000 8f300f6a 40af0010 1e900a98 ..?@j.0....@....
|
|
26cac: a6de5ad6 01f303f2 ee16faaf 406e0050 .Z..........P.n@
|
|
26cbc: 00000000 fb060000 00752353 17000000 ........S#u.....
|
|
26ccc: 00a3fdce 02000000 000000fd f49f0000 ................
|
|
26cdc: 00000000 00b09e0f f2060000 0000207f ............. ..
|
|
26cec: f801dc00 4f000000 00e00b60 00f00b00 .......O`.......
|
|
26cfc: 0100604f ed1111fa ff8f0000 00f3ffff O`..............
|
|
26d0c: 4444c40e f406a04f af000000 0000cd10 ..DDO...........
|
|
26d1c: 5ff80200 40ebffff 5755f805 405f40df ..._...@..UW.@_@
|
|
26d2c: 05fa0100 0f0000f4 11515fa0 ff05f43a ........._Q.:...
|
|
26d3c: 00faffff 5944745f 00f405fa 5ff20800 ...._tDY......._
|
|
26d4c: 5f000040 0000f445 855ff209 05fb6a55 @.._E....._.Uj..
|
|
26d5c: d7ffffff 8d020000 0400b4fe f99db8ff ................
|
|
26d6c: 0020fd02 20bf5008 0f000000 000000a0 .. ..P. ........
|
|
26d7c: 0000f602 602f0000 00000000 000000fa ....../`........
|
|
26d8c: 00f20b00 2f000000 850000d2 89fb5f00 ......./....._..
|
|
26d9c: 290080df 5f40ebdf 30eaffff 77975f00 ...)..@_...0._.w
|
|
26dac: 5f00f89e af000040 00405f60 5fe00d00 ..._@...`_@...._
|
|
26dbc: 06000040 00405ff4 5ff60300 03000040 @...._@...._@...
|
|
26dcc: 00405ff6 5ff40600 0d000040 00405fe0 ._@...._@...._@.
|
|
26ddc: 5f60af00 f89e7797 ffff5f00 5f0030ea ..`_.w..._...0._
|
|
26dec: 95ffffff 747777f9 0000405f 0000f405 .....wwt_@......
|
|
26dfc: 11515f00 ffff0511 745fe0ff f4054444 ._Q......._tDD..
|
|
26e0c: 5f000000 05000040 000000f4 7777975f ..._@......._.ww
|
|
26e1c: ffffff65 ffff5ffd 77f995ff 405f7477 e...._.....wwt_@
|
|
26e2c: f4050000 5f000000 05000040 102222f5 ......._@...."".
|
|
26e3c: feffff5f 5555f805 00405f40 00f40500 _.....UU@_@.....
|
|
26e4c: 405f0000 f4050000 00000000 b5fe8d01 .._@............
|
|
26e5c: fb4f0000 02b0df89 060020fd 00f20b60 ..O...... ..`...
|
|
26e6c: 0f000000 000000a0 00602f00 2f000000 ........./`..../
|
|
26e7c: 09000060 00a00ff0 0bf00900 090000f2 `...............
|
|
26e8c: 20fd02f0 00f00a00 df89fb4f 8d0200c0 ... ....O.......
|
|
26e9c: 5f00c6fe 4f000040 0000f455 405ff504 ..._@..OU....._@
|
|
26eac: 554f0000 040000f4 22525ff5 ff555f22 ..OU....._R""_U.
|
|
26ebc: f5ffffff 5555855f 00f4558f 5ff50400 ...._.UU.U....._
|
|
26ecc: 4f000040 0000f455 405ff504 554f0000 @..OU....._@..OU
|
|
26edc: 040000f4 f4455ff5 5ff4455f 455ff445 ....._E._E._E._E
|
|
26eec: f4455ff4 00f4455f 00faffff 00fa7777 ._E._E......ww..
|
|
26efc: 00fa0000 00fa0000 00fa0000 00fa0000 ................
|
|
26f0c: 00fa0000 00fa0000 07f90000 0df60320 ............ ...
|
|
26f1c: 01f18ee9 5f30fbae eb020040 0100f405 ......0_@.......
|
|
26f2c: 405f00ec 0510de01 20ce00f4 bf405f00 .._@....... ._@.
|
|
26f3c: f4050030 0000909f 40efcf5f 91ff0500 0......._..@....
|
|
26f4c: 5f0010ee 00fc03a0 0600f405 405f00f8 ..._.........._@
|
|
26f5c: 05f50900 0c0000f4 00405ff2 00f40500 ........._@.....
|
|
26f6c: 405f0000 f4050000 5f000000 05000040 .._@......._@...
|
|
26f7c: 000000f4 0000405f 0000f405 00405f00 ...._@......._@.
|
|
26f8c: 00f40500 975f0000 ff257777 5ff5ffff ......_.ww%...._
|
|
26f9c: 00000040 00fc951e f9080000 0000f55f @..........._...
|
|
26fac: fd95ff02 ae0000e0 705f5ff9 955f3f00 .........__p.?_.
|
|
26fbc: 0b108ff3 315ff9c0 0ff304e9 f207f395 ......_1........
|
|
26fcc: 5ff900db 20ef0d30 00f3950f f900905f ..._0.. ...._...
|
|
26fdc: 7100305f f3950f00 00000000 00505ff9 _0.q........._P.
|
|
26fec: ff554f00 f5040020 0000fd5f f9fa554f .OU. ..._...OU..
|
|
26ffc: 5ff50400 4f00f54a f20df455 405ff504 ..._J..OU....._@
|
|
2700c: 554fd02f 946f00f4 00405ff5 f455afaf /.OU..o.._@...U.
|
|
2701c: f5df0000 0200405f 00f455ff 00f50600 ...._@...U......
|
|
2702c: b5fe8d01 ff040000 00fa9eb8 0020fd02 .............. .
|
|
2703c: bf00f908 0a000020 00a00ff2 723f0000 .... .........?r
|
|
2704c: 000000f6 602ff900 0f000000 0000fa90 ....../`........
|
|
2705c: 0bf70300 000000f2 d22f20af 908f0000 ......... /.....
|
|
2706c: 89fb4f00 0000a0ef 50ebdf28 ffff5f00 .O......(..P._..
|
|
2707c: 975f00d7 5fc0bf78 f6070040 0000405f .._.x.._@..._@..
|
|
2708c: 00405ffa 405ffa00 5ff80300 f16e2362 ._@..._@..._b#n.
|
|
2709c: fdffff5f 54855f30 405f0020 5f000000 _...0_.T ._@..._
|
|
270ac: 00000040 0000405f 8d010000 0000b5fe @..._@..........
|
|
270bc: 89fb4e00 0200a0ef 080020fd f20a00f9 .N....... ......
|
|
270cc: af000000 00a00f20 703f0000 0000602f .... .....?p/`..
|
|
270dc: 2f900f00 00000060 901f900f 2f000000 .../`........../
|
|
270ec: 00f10b70 20af0000 0010fc03 0000f907 p...... ........
|
|
270fc: df78fa6f 030000b0 00c5ffae 00000000 o.x.............
|
|
2710c: b015d43e 02000000 0080ffbf 01000000 >...............
|
|
2711c: ff5f0031 5f00d7ff c0bf7897 0700405f 1._...._.x.._@..
|
|
2712c: 00405ff6 405ffa00 5ffa0000 f8030040 ._@..._@..._@...
|
|
2713c: 6e23525f ffff5fe1 855f30fc 5f00f955 _R#n._...0_.U.._
|
|
2714c: 407f0040 0c00405f 00405fe0 5c00f902 @..@_@..._@....\
|
|
2715c: 0720d9ef 90af87fc 0100c00e 00800f10 .. .............
|
|
2716c: f50d0000 03000000 0050eaef feae0500 ..........P.....
|
|
2717c: 00000040 0000f14e 08f30500 f2080000 @...N...........
|
|
2718c: bf77fa2f ff9d02a0 ffff00c7 67f5ffff /.w............g
|
|
2719c: 7277fb78 00f70100 f7010000 01000000 x.wr............
|
|
271ac: 000000f7 0000f701 00f70100 f7010000 ................
|
|
271bc: 01000000 000000f7 0000f701 00f70100 ................
|
|
271cc: f7010000 306f0000 168f0000 080000f3 ......o0........
|
|
271dc: 00306ff1 f3168f00 f1080000 0000306f .o0.........o0..
|
|
271ec: 00f3168f 6ff10800 8f000030 0000f405 .......o0.......
|
|
271fc: 703ff009 00cd0000 5f0020de a8ff0480 ..?p..... ._....
|
|
2720c: 0300d0bf 0081fdbe 0000e00c 6f306f00 .............o0o
|
|
2721c: 0c000050 00fb00c0 00f60300 0000f209 P...............
|
|
2722c: 2f0000ae 901f0080 00ce0000 0000f207 .../............
|
|
2723c: db00f605 0e000000 00504fc0 3b8f0000 .........OP....;
|
|
2724c: 000000e0 00f8fb02 0b000000 000010ff ................
|
|
2725c: b04f0000 405f0000 00df0000 0ff50200 ..O..._@........
|
|
2726c: ff020090 f0070040 0700e00b 0c0090fe ....@...........
|
|
2727c: 00f306b0 00e0aa0c f801601f f3541f00 .........`....T.
|
|
2728c: 00106f00 107f00cd 00cc00f8 cb207f00 .o............ .
|
|
2729c: f701ad00 712f0000 265f00f6 0d0000f2 ....../q.._&....
|
|
272ac: 0f00f1c6 0000d07b 00c0fd08 0080df0b ....{...........
|
|
272bc: 70ff0300 30ff0600 ef000000 fe010020 ...p...0.... ...
|
|
272cc: 903f0000 00cd0000 7f00408f 10de0030 ..?......@..0...
|
|
272dc: 0300802f 00d00cfa f3fb0700 0c000000 /...............
|
|
272ec: 000000f8 00c0ef01 7fbf0000 6f000070 ............p..o
|
|
272fc: 0020af60 ed01b02f 00f10c00 f607f804 `. ./...........
|
|
2730c: f3090000 0000e00c f703f207 901f0000 ................
|
|
2731c: 0010af00 1f00109e 00f602a0 0bf30800 ................
|
|
2732c: 000000d0 00404fec fb5f0000 00000000 .....O@..._.....
|
|
2733c: 0000f20c f0090000 00000000 0000f009 ................
|
|
2734c: f0090000 00000000 0000f009 ffffff3f ............?...
|
|
2735c: 777701fd 0090bf77 c01e0000 0c000000 ..www...........
|
|
2736c: 000000f2 0000f508 00f90400 ec010000 ................
|
|
2737c: 00000000 000020cf 00508f00 904f0000 ..... ....P...O.
|
|
2738c: 1e000000 777777f8 ffffff05 ff5ff0ff .....www......_.
|
|
2739c: 5f50f705 00f30530 f305305f 05305f00 ..P_0..._0..._0.
|
|
273ac: 305f00f3 5f00f305 00f30530 f705305f .._0..._0..._0..
|
|
273bc: 00ff5f50 0000007e 0000401f 0000900c P_..~....@......
|
|
273cc: 0000e007 0000f402 0000c900 00007e00 .............~..
|
|
273dc: 00402f00 00900c00 00e00700 00f30200 ./@.............
|
|
273ec: 00d90000 007e0000 302f0000 900d0000 ......~.../0....
|
|
273fc: e0070000 ea35fabf ea00ea00 ea00ea00 ......5.........
|
|
2740c: ea00ea00 ea00ea00 ea00ea00 ea35ea00 ..............5.
|
|
2741c: 2f00fabf 9d000080 f30000e0 d00600d5 .../............
|
|
2742c: 600c007b 103f201f 009a800b ffffe004 {..`. ?.........
|
|
2743c: 1111ffff f6071111 01e70300 0080fd9e ................
|
|
2744c: 90af87ce af000002 06000000 ffbe02f2 ................
|
|
2745c: 42ec20ff 502ff227 ec207f00 02f27f42 . .B'./P.. .B...
|
|
2746c: 206ffbbf 0000008f 00008f00 008f0000 ..o ............
|
|
2747c: 8f000000 00b3fe2b ef78ec8f 00a08f30 ....+.....x.0...
|
|
2748c: 208fc01e 8ff10700 f3050000 0700208f ... ......... ..
|
|
2749c: 00a08ff1 ec8fd01e 8e30ef78 00b3fe2b ........x.0.+...
|
|
274ac: c4ef3a00 7cd84f00 00d00df4 00f61307 .:...O.|........
|
|
274bc: 304f0000 f6030000 0d000000 100600d0 ..O0............
|
|
274cc: f47cd74f c4ef3a00 00000000 0000f701 O.|..:..........
|
|
274dc: 00f70100 f7010000 a3ff3b00 87fd04f7 .........;......
|
|
274ec: d00ef7ce 3ff70b00 f7030060 0100304f .......?`...O0..
|
|
274fc: 00503ff7 c00ef703 04f70a00 f7be65fc .?P..........e..
|
|
2750c: b2ff3b00 fe3b00f7 fc0400a2 0e20ee67 .;....;.....g. .
|
|
2751c: a01e00c0 0700503f ffff4ff0 723ff1ff ....?P...O....?r
|
|
2752c: 0e202222 000200c0 af87fd04 ef3a0050 "" .........P.:.
|
|
2753c: 5d0000d6 b52f00fc 00f30470 a0ffff0c ...]../.p.......
|
|
2754c: 0053f748 0500305f 5f0000f3 f3050030 H.S._0....._0...
|
|
2755c: 305f0000 00f30500 00305f00 b2ff3b00 .._0....._0..;..
|
|
2756c: 87fe04e9 d10ef9cf 3ff90a00 f9010060 ...........?`...
|
|
2757c: 0000404f 00603ff9 d00ef901 04f90900 O@...?`.........
|
|
2758c: f8cf87fd b3ff3b00 000000f7 e909f405 .....;..........
|
|
2759c: 01b0af77 00d8ff7c 0000008f 0000f008 w...|...........
|
|
275ac: 00008f00 bff20800 fb8f10ea f808fd89 ................
|
|
275bc: 8ff40600 781f0010 f80000f0 0f00008f .......x........
|
|
275cc: 0000f088 00008ff8 00f0880f 1a9ef800 ................
|
|
275dc: f00800f2 8ff0088f 088ff008 f0088ff0 ................
|
|
275ec: 00e20700 0000f309 f1070000 00f10700 ................
|
|
275fc: 0700f107 f10700f1 00f10700 0700f107 ................
|
|
2760c: f10700f1 18f00800 fc3ec06e 00008f20 ........n.>. ...
|
|
2761c: 00f00800 008f0000 f0080000 8fd11d00 ................
|
|
2762c: 08e21d00 00e21df0 00f32d8f 70fffe08 .........-.....p
|
|
2763c: bfe28f00 01f20830 008f10ee f008fb03 ....0...........
|
|
2764c: 8ff70700 8f8f8f8f 8f8f8f8f 8e8f8f8f ................
|
|
2765c: 3b91fe3c ff08a2fe c6cf9f96 708fd08f <..;...........p
|
|
2766c: 00c09f00 00f1585f 0100f605 00008ff7 ...._X..........
|
|
2767c: 0f00404f 0400f088 f80000f4 4f00008f O@.............O
|
|
2768c: 880f0040 f40400f0 8ff80000 404f0000 @.............O@
|
|
2769c: 8e800f00 08a1fe3b d08fa6ff 6f00808f ....;..........o
|
|
276ac: 0100f148 00008ff7 00f0880f 008ff800 H...............
|
|
276bc: f0880f00 8ff80000 800f0000 c4ef3b00 .............;..
|
|
276cc: 87fd0400 d00e60cf 3ff10b00 f5030060 .....`.....?`...
|
|
276dc: 0100304f 00603ff7 d00ef503 04f10b00 O0...?`.........
|
|
276ec: 60cf77fd c4ef3b00 fe3b8e00 fb8f00b3 .w.`.;....;.....
|
|
276fc: 8f30df57 c00d0090 0700108f 00008ff1 W.0.............
|
|
2770c: 208ff305 8ff10700 d01e00a0 ef78ec8f ... ..........x.
|
|
2771c: fe2b8f30 008f00b3 8f000000 00000000 0.+.............
|
|
2772c: 0000008f ff3b0000 fd04f7a2 0ef7de87 ......;.........
|
|
2773c: f70b00d0 0300603f 00304ff7 603ff701 ....?`...O0...?`
|
|
2774c: 0ef70300 f70b00d0 ce77fd04 ff3b00f7 ..........w...;.
|
|
2775c: 0000f7a3 00f70100 f7010000 01000000 ................
|
|
2776c: f02b8ef7 8f90ed8f 208f00a0 00008f00 ..+........ ....
|
|
2777c: 8f00008f 008f0000 00008f00 91fdae02 ................
|
|
2778c: d069d71e 0000304f 0010b42f 60fdef06 ..i.O0../......`
|
|
2779c: f55b0100 f7000001 f36ba75f 40ecdf19 ..[....._.k....@
|
|
277ac: 0000f305 cf00305f 8f04faff f3053075 ...._0......u0..
|
|
277bc: 305f0000 00f30500 00305f00 0000f404 .._0....._0.....
|
|
277cc: 0080c61f ae10fc5d 5a2f0000 f50200e0 ....]...../Z....
|
|
277dc: 2f0000ae 0200e05a 0000aef5 00f0592f .../Z......./Y..
|
|
277ec: 306ff504 ee51af00 02f5bf76 503ffbbe ..o0..Q.v.....?P
|
|
277fc: 0000c00d 00f206cb f900f502 00e00900 ................
|
|
2780c: 800f009e 6f602f00 c00c0010 050000cb ...../`o........
|
|
2781c: 0000f4f6 00d0ef00 708f0000 0000bb00 ...........p....
|
|
2782c: 4f00109f 0e00f116 c00900f6 fc05600f ...O.........`..
|
|
2783c: 00f600b0 5fab00ac 05105f10 f7500ff1 ......._._....P.
|
|
2784c: 0f00b00a c009f076 ac0000f5 8f4f00ba ....v.........O.
|
|
2785c: ff040000 a0ef0040 e00e0000 00f40800 ....@...........
|
|
2786c: 00704f00 308f209f cd00505f 0200902e .Op.. .0_P......
|
|
2787c: 0000d0ff 0000f60a 00e1fd04 c00deb01 ................
|
|
2788c: 3f10be00 00406f80 c00d407f 06cb0000 ...?.o@..@......
|
|
2789c: f40200f3 0900ea00 108f00d0 1f00701f .............p..
|
|
278ac: 00107f70 00d9e00a f2f90300 cf000000 p...............
|
|
278bc: 000000b0 0000406f 0000ad00 00f5791c ....o@.......y..
|
|
278cc: 70ee1a00 ff4f0000 5515f9ff 0000f45b ...p..O....U[...
|
|
278dc: 0100804f 0b0000ec 8f0000e1 f7040040 O...........@...
|
|
278ec: e51e0000 ff5f5355 2c00fcff 61af00f5 ....US_....,...a
|
|
278fc: 0000cc00 db0000db 00db0000 1f00ea02 ................
|
|
2790c: fa0500f4 00db0000 0000db00 cc0000db ................
|
|
2791c: 61af0000 5ff52c00 155ff115 f1155ff1 ...a.,._.._.._..
|
|
2792c: 5ff1155f 155ff115 f1155ff1 80be105f _.._.._.._.._...
|
|
2793c: 0140af03 701f00f6 1f00f701 00f90070 ..@....p....p...
|
|
2794c: fb00fb0a 01701f20 701f00f7 af03f601 .... .p....p....
|
|
2795c: 0090be40 00000000 00e43d00 f5860cb5 @........=......
|
|
2796c: 03f0201e 000290ef 02001000 400d90ce . .............@
|
|
2797c: 0e003b89 0d0e003b ce028940 f8080090 .;..;...@.......
|
|
2798c: 00f7e7ef 00000000 00000000 00000000 ................
|
|
2799c: 00dc4900 16000000 00ffffbf ff8d0300 .I..............
|
|
279ac: 00ffffff ffffcf00 00ffffff ffffff00 ................
|
|
279bc: 00ffc7ff eaffff00 00ff0051 0083ff00 ........Q.......
|
|
279cc: 00ff0000 0000ff00 00ff0000 0000ff00 ................
|
|
279dc: 00ff0000 0000ff00 00ff0000 0000ff00 ................
|
|
279ec: 00ffff2b 0000ff00 2bffffdf 0000ffff +..........+....
|
|
279fc: dffdffdf 0000ffff dfb2ff2b 0000fdff ........+.......
|
|
27a0c: 2b000000 0000b2ff d0000000 ffffff0f ...+............
|
|
27a1c: ff0df0ff 8888c8ff f0ffff8c 0000800f ................
|
|
27a2c: f00ff008 0000800f ff0ff008 000080ff ................
|
|
27a3c: f0ffff08 ccccec0f f00ff0ce ccccec0f ................
|
|
27a4c: ff0ff0ce 000080ff f0ffff08 0000800f ................
|
|
27a5c: f00ff008 0000800f ff0ff008 8888c8ff ................
|
|
27a6c: d0ffff8c ffffff0f df0df0ff ffff73ff .............s..
|
|
27a7c: fffdffff ffffa5ff ffffffff ffffa5ff ................
|
|
27a8c: dfffffff ffff73ff 00fdffff 00000000 .....s..........
|
|
27a9c: df000000 ffff73ff fffdffff ffffa5ff .....s..........
|
|
27aac: ffffffff ffffa5ff dfffffff ffff73ff .............s..
|
|
27abc: 00fdffff 00000000 df000000 ffff73ff .............s..
|
|
27acc: fffdffff ffffa5ff ffffffff ffffa5ff ................
|
|
27adc: dfffffff ffff73ff 00fdffff 00000000 .....s..........
|
|
27aec: 00b10a00 00000000 00fcbf00 00000000 ................
|
|
27afc: 00fbff0b 00000000 1bc0ffbf 0b0000a0 ................
|
|
27b0c: cf00fcff bf0000fb bf00c0ff ff0bb0ff ................
|
|
27b1c: 0c0000fc ffbffbff 000000c0 fbffffcf ................
|
|
27b2c: 00000000 b0ffff0c 00000000 00fbbf00 ................
|
|
27b3c: 00000000 00b00b00 03000000 03000000 ................
|
|
27b4c: 0010fc08 fcfff81c f5ff1c10 ff2cfcff ..............,.
|
|
27b5c: ffff05f5 0500f5ff 00f5ffff fdff1d00 ................
|
|
27b6c: ff1c0010 1c10fcff fcfff9ff 05f5ff1c ................
|
|
27b7c: f5dffcff d1ff0500 040000a4 000000a1 ................
|
|
27b8c: 0000e04f 10020000 1003f16f d05f0000 O.......o....._.
|
|
27b9c: d13ff16f f1ff0300 fd5ff16f 40ff0d00 o.?.....o._....@
|
|
27bac: ff09f16f 00f74f70 cf00f16f 00f09fe0 o...pO..o.......
|
|
27bbc: 5f00f16f 00c0bff3 2f00f16f 00c0bff5 o.._....o../....
|
|
27bcc: 1f00e04f 00e0aff6 4f000000 00f46ff4 O..........O.o..
|
|
27bdc: af000000 10fe0ff0 ff050000 d3ff06a0 ................
|
|
27bec: ff7f0000 ff9f0020 f4ffbeda ff060000 .... ...........
|
|
27bfc: 30fdffff 17000000 0050cabd 00000000 ...0......P.....
|
|
27c0c: 0000b88b 00000000 0000ffff 06300000 ..............0.
|
|
27c1c: 0360ffff dffd0400 effdffff ffff0d40 ..`.........@...
|
|
27c2c: ffffffff ffff4fd0 ffff9ff9 ffff08f4 .....O..........
|
|
27c3c: ffff0220 f9ff0080 ff9f0000 f9ff0000 ...............
|
|
27c4c: ff9f0000 ffff0800 ffff0220 ffff4f80 ........ ....O..
|
|
27c5c: ffff9ff9 ffff0df4 ffffffff dffe04d0 ................
|
|
27c6c: dffdffff 06300040 0360ffff 00000000 ....@.0...`.....
|
|
27c7c: 0000ffff 00000000 0000b88b 00000000 ................
|
|
27c8c: 3f30dd03 000000f3 f5ff6f00 0000f44f ..0?.....o..O...
|
|
27c9c: 99ff0900 00f4bfff f6bf0100 f4ff6f22 ............"o..
|
|
27cac: fe2d0000 ef53ff35 ff0400f4 f8ff8fc1 ..-.5.S.........
|
|
27cbc: 7f40fe2d ffff1afa f7afa1ff ffdf82cf -.@.............
|
|
27ccc: 28fdffff ff0e14fc ffffffff 0f0041e0 ...(.........A..
|
|
27cdc: ffffffff 0000f0ff 00f9ff0f 00f0ff8f ................
|
|
27cec: f8ff0f00 f0ff8f00 ff0f0000 ff8f00f8 ................
|
|
27cfc: 0e0000f0 6f00f6ff 0000e0ff fddf0000 .......o........
|
|
27d0c: 00000000 ffff0000 00000000 ffff0000 ................
|
|
27d1c: 00000000 ffff0000 00000000 ffff0000 ................
|
|
27d2c: 00000000 ffff0000 00000000 ffffff4f ............O...
|
|
27d3c: 0000f4ff ffffff0b 0000b0ff ffffbf00 ................
|
|
27d4c: 000000fb ffff0b00 000000b0 fbbf0000 ................
|
|
27d5c: df000000 b11bfcff fffdffcf 2cc2ffff ...............,
|
|
27d6c: ffffffff ffffffff ffffffff ffffffff ................
|
|
27d7c: dfffe0f0 ffffffff 00fdffff ffffef04 ................
|
|
27d8c: 0040feff ffff1e00 e1ffffff b0af0000 ..@.............
|
|
27d9c: 0b000000 ff0500fa 00000010 1e50ff01 ..............P.
|
|
27dac: 000000f6 e16f0000 0000b0af 0b000000 ......o.........
|
|
27dbc: fffffffa ff080080 ffffffff 1f00f1ff ................
|
|
27dcc: ffffffff ffffffff ffffffff ffffffff ................
|
|
27ddc: ffffffff ffffffff ffffffff ff8fffff ................
|
|
27dec: ffffffff 00f8ffff dabd0600 00ff0250 ............P...
|
|
27dfc: ffffef05 00ff42fe 7ba7ff7f 05fff9ff .....B.....{....
|
|
27e0c: 0000c1ff 0effff2c 020000fc 5fffdf22 ....,.......".._
|
|
27e1c: 0f0000f2 8fffffff 0f0000b0 00ffffff ................
|
|
...
|
|
27e38: ff000000 00f0ffff fff80b00 00f0ffff ................
|
|
27e48: fff42f00 002022fd ffe0cf00 0000c2ff ./..." .........
|
|
27e58: ff40ff2c 6ab7ff9f ff00f7ff ffffdf24 ,.@....j....$...
|
|
27e68: ff0050fe dbac0520 00000060 00000000 .P.. ...`.......
|
|
27e78: 008d0000 00ff0800 dfff8f00 ffffffff ................
|
|
27e88: ffffffff ffffffff ffffffff dfffffff ................
|
|
27e98: 00ffffff 00ff8f00 00ff0800 008d0000 ................
|
|
...
|
|
27eb4: 0000008d 00ff0800 8f000000 cf0000ff ................
|
|
27ec4: 01ffffff ffffff50 fff706ff 00ffffff ....P...........
|
|
27ed4: ffffffbe ffae00ff 05ffffff ffffdff8 ................
|
|
27ee4: 006002ff 00ff9f00 09000000 000000ff ..`.............
|
|
27ef4: 009e0000 00000000 00000000 00000000 ................
|
|
27f04: 00100600 00000000 d21f0000 00000000 ................
|
|
27f14: 0300008d 000010ee 0a00ff08 00b02fb1 ............./..
|
|
27f24: 00ff8f00 f407fc05 ffffffdf 605f5002 .............P_`
|
|
27f34: fffffff9 0df706ff ffffbdc0 ae00ffff ................
|
|
27f44: ff9ff009 00ffffff 8ff009ae ffffffff ................
|
|
27f54: c00df706 ffffdfad 5f5002ff 0000e960 ..........P_`...
|
|
27f64: 0500ff8f 00f406fc 00ff0800 b02fb10a ............../.
|
|
27f74: 8d000000 ee020000 00000010 1f000000 ................
|
|
27f84: 000000d2 00000000 8f001006 ffffffff ................
|
|
27f94: fff8ffff fffffffc ffffffff ffff2f20 ............ /..
|
|
27fa4: fcffffff ffff0c00 ffffffee feff2f20 ............ /..
|
|
27fb4: ffffef22 e2fffffc ffff2e00 20fe4efe "............N.
|
|
27fc4: ffff0200 00c202e2 ffff0000 00000020 ............ ...
|
|
27fd4: ffff0000 00000000 ffff0000 ffffffff ................
|
|
27fe4: 8fffffff ffffffff 00f8ffff 00000000 ................
|
|
27ff4: 010030ff 0040ffcc 40ffff2d ffffef03 .0....@.-..@....
|
|
28004: ffff3f40 ffff44ff ff9fffff ffffffff @?...D..........
|
|
28014: ffffffff ffffffff ffffafff ff45ffff ..............E.
|
|
28024: 40ffffff ffffff4f ffef0340 2e0040ff ...@O...@....@..
|
|
28034: 0030ffff 0000cc01 00000000 00000000 ..0.............
|
|
28044: 918f0000 00000000 70ffff00 00000000 ...........p....
|
|
28054: 40fdffff ff000000 10faffff ffff0000 ...@............
|
|
28064: 00f7ffff ffffff00 00d5ffff ffffffff ................
|
|
28074: ffb2ffff ffffffff fffffdff ffffffff ................
|
|
28084: fffffffd b2ffffff ffffffff ff00d5ff ................
|
|
28094: f7ffffff ffff0000 0010faff fdffff00 ................
|
|
280a4: 00000040 0070ffff 8e000000 000000a1 @.....p.........
|
|
...
|
|
280c4: 00f8ff8f fff8ff8f ff00ffff ffffffff ................
|
|
280d4: ffff00ff ffffffff ffffff00 00ffffff ................
|
|
280e4: ffffffff ff00ffff ffffffff ffff00ff ................
|
|
280f4: ffffffff ffffff00 00ffffff ffffffff ................
|
|
28104: ff00ffff ffffffff ffff00ff ffffffff ................
|
|
28114: ffffff00 00ffffff 7fffffff 7f00f7ff ................
|
|
28124: ff8ff7ff ffffffff fffffff8 ffffffff ................
|
|
28134: ffffffff ffffffff ffffffff ffffffff ................
|
|
28144: ffffffff ffffffff ffffffff ffffffff ................
|
|
28154: ffffffff ffffffff ffffffff ffffffff ................
|
|
28164: ffffffff ffffffff ffffffff ffffffff ................
|
|
28174: ffffffff ffffffff ffffffff ffff8fff ................
|
|
28184: f8ffffff 00000000 0010cc00 d2ffff03 ................
|
|
28194: ffff0400 ff0430fe 04f4ffff ffffffff .....0..........
|
|
281a4: ffffff54 fffff9ff ffffffff ffffffff T...............
|
|
281b4: ffffffff fffffff9 ffff44ff ff04f3ff .........D......
|
|
281c4: 0430feff 00d2ffff 10ccff04 00ff0300 ..0.............
|
|
281d4: 00000000 2d000000 000000d2 ef010000 .......-........
|
|
281e4: 000010fe ff1d0000 0000d1ff ffcf0000 ................
|
|
281f4: 0000fcff ffff0b00 00b0ffff ffffaf00 ................
|
|
28204: 00faffff ffffff09 90ffffff ffffff0f ................
|
|
28214: f0ffffff ffffff08 80ffffff 00000000 ................
|
|
28224: 00000000 ffffff0c c0ffffff ffffff0f ................
|
|
28234: f0ffffff ffffff0f f0ffffff ffffff0c ................
|
|
28244: c0ffffff 1a000000 01000040 0000f0df ........@.......
|
|
28254: 00a0ff1d 00fadf01 a0ff1d00 fadf0100 ................
|
|
28264: ff0c0000 0d0000a0 000080ff 00f8df01 ................
|
|
28274: ff1d0000 01000080 0000f8df 80ff1d00 ................
|
|
28284: df010000 000000f0 a104501b 0f000000 .........P......
|
|
28294: 000010fd 00d1ff0a fdaf0000 0a000010 ................
|
|
282a4: 0000d1ff 10fdaf00 ff0a0000 080000c0 ................
|
|
282b4: 0000d0ff 0010fd8f 00d1ff08 10fd8f00 ................
|
|
282c4: d1ff0800 fd0f0000 05000010 000000b1 ................
|
|
282d4: ff040000 00000040 80ff0800 00000000 ....@...........
|
|
282e4: 0080ff08 08000000 000080ff ff080000 ................
|
|
282f4: 48000080 c8ff8c88 ffff8488 ffffffff ...H............
|
|
28304: ffffffff ffffffff ff8c8848 008488c8 ........H.......
|
|
28314: 80ff0800 00000000 0080ff08 08000000 ................
|
|
28324: 000080ff ff080000 00000080 40ff0400 ...............@
|
|
28334: 44140000 44444444 ffffef41 feffffff ...DDDDDA.......
|
|
28344: ffffffff 7bffffff bbbbbbbb 0000b7bb .......{........
|
|
28354: daffad05 00000050 88fcdf04 0040fdcf ....P.........@.
|
|
28364: 40fe7f00 f7ef0400 f4ff0700 4f809e00 ...@...........O
|
|
28374: ff4f70ff f8af00c0 dff4ff0c ff9a80ff .pO.............
|
|
28384: fdff08fe ef80ffdf ff08feff c0ff4ffd .............O..
|
|
28394: 0cf8ff8f ff07f4ff 80ee08f4 0070ff4f ............O.p.
|
|
283a4: 0040fe7f 00f8ef04 fcdf0400 40fdcf88 ..@............@
|
|
283b4: 05000000 50daffad 208c0000 00000000 .......P... ....
|
|
283c4: 00000000 0000e4df 00000000 ff1b0000 ................
|
|
283d4: fddf4980 000000a5 ffff7f00 d4ff8cd8 .I..............
|
|
283e4: 04000000 0000f8ef 0070ff4e ff1c0000 ........N.p.....
|
|
283f4: ff04e869 e30400f7 fffe9f00 40ffcf80 i..............@
|
|
28404: 0570ff0d 8fe0ffff ff0dd0ff ff2d00f7 ..p...........-.
|
|
28414: d0ff8fe0 00fcff04 cff8af00 7f0030ff .............0..
|
|
28424: 060040ff 00f7ffff f4ff0800 ff3e0000 .@............>.
|
|
28434: 000000a0 82c8ff4d 00f7bf01 5a000000 ....M..........Z
|
|
28444: 0810fcdf 0000a0ff 00000000 fd4e0000 ..............N.
|
|
...
|
|
2845c: 0000c802 d22d0000 00000000 00000000 ......-.........
|
|
2846c: 0000fbbf 00000000 ffff0500 00000050 ............P...
|
|
2847c: 0d000000 00d0ffff 00000000 ffff7f00 ................
|
|
2848c: 000000f7 ff010000 10ff8dd8 00000000 ................
|
|
2849c: 0aa0ff0a 0000a0ff ff3f0000 f3ff0bb0 ..........?.....
|
|
284ac: 00000000 0cc0ffcf 0000fcff ffff0500 ................
|
|
284bc: ffff0dd0 0e000050 9ff9ffff 00e0ffff ....P...........
|
|
284cc: ffff8f00 ffff2ee2 ff0200f8 0990ffff ................
|
|
284dc: 10ffffff ffffff0a ffff3ee3 ff0fa0ff .........>......
|
|
284ec: ffffffff f0ffffff ffffff08 ffffffff ................
|
|
284fc: 000080ff 00000000 00000000 00000000 ................
|
|
2850c: 000000d8 00000000 ffff80ff ff070070 ............p...
|
|
2851c: fffff8ff ff6f00f6 8e78fdff e8ff15ff ......o...x.....
|
|
2852c: 0200e2ff 20fe4fe5 000020fe 00f3ff13 .....O. . ......
|
|
2853c: 00000052 0031ff3f 02000052 205ef4ef R...?.1.R.....^
|
|
2854c: 8e7820fe e8ff51ff ffffe2ff ff6f00f6 . x..Q........o.
|
|
2855c: fffffdff ff070070 0000f8ff 00000000 ....p...........
|
|
2856c: 000080ff 00000000 000000d8 00000000 ................
|
|
...
|
|
28584: 01000000 000010dd ff1d0000 000000d1 ................
|
|
28594: fdffdf01 1d000010 d1ff99ff f9df0100 ................
|
|
285a4: 10fd9f00 0090ff1d bfd1ff09 000000f9 ................
|
|
285b4: 905ffb9f 09000000 000000f5 00000000 .._.............
|
|
285c4: 00000000 5f000000 00000090 f9bff509 ......._........
|
|
285d4: 9f000000 90ff1dfb d1ff0900 00f9df01 ................
|
|
285e4: 0010fd9f ff99ff1d 010000d1 10fdffdf ................
|
|
285f4: 1d000000 0000d1ff dd010000 00000010 ................
|
|
...
|
|
28614: 00d11d00 00000000 df010000 ffef10fd ................
|
|
28624: 00d0ffff d1ffff1d ffffffaf cfcf00f0 ................
|
|
28634: 0000fcfc 00f00f00 b6f11f6b 0f000000 ........k.......
|
|
28644: 0f0000f0 000000f0 00f00f00 00f00f00 ................
|
|
28654: 0f000000 0f0000f0 000000f0 b6f11f6b ............k...
|
|
28664: 00f00f00 cfcf0000 0f00fcfc faffffff ................
|
|
28674: d1ffff1d ffff0d00 df01feff 000010fd ................
|
|
28684: 00000000 00d11d00 00000000 00000000 ................
|
|
28694: ff8f0000 0000e2ff ffff0000 0020feff .............. .
|
|
286a4: ffff0000 ffffffff fffff8ff ffffffff ................
|
|
286b4: ffffffff ffffffff ffffffff ffffffff ................
|
|
286c4: ffffffff ffffffff ffffffff ffffffff ................
|
|
286d4: ffffffff ffffffff ffffffff ffffffff ................
|
|
286e4: ffffffff ffffffff ff8fffff ffffffff ................
|
|
286f4: 0000f8ff 00b00b00 00000000 00fbbf00 ................
|
|
28704: 00000000 b0ffff0b 00000000 fbffffbf ................
|
|
28714: 0b000000 ffffffff 4f0000b0 ffffffff ...........O....
|
|
28724: 000000f4 00ffff00 00000000 00ffff00 ................
|
|
28734: 00000000 00ffff00 00000000 00ffff00 ................
|
|
28744: 00000000 00ffff00 ffdf0000 0ffddff0 ................
|
|
28754: fffffdff 9f0000f9 ffffffff ffffffff ................
|
|
28764: ffffffff f0ffffff ffdfffe0 ffffffff ................
|
|
28774: 0000fdff 00000000 00000000 00000000 ................
|
|
28784: 0062ea0a 00000000 f0ffff02 00000000 ..b.............
|
|
28794: ffff9f00 00000000 ffff0f00 000000d0 ................
|
|
287a4: ffff0200 000000fb ef030000 000070ff .............p..
|
|
287b4: 04000000 0000f2ff 00000000 0000fbbf ................
|
|
287c4: 00000000 0030ff6f 00000200 0090ff4f ....o.0.....O...
|
|
287d4: 00f38f02 00d0ff6f e4ffff0a 00d1ffbf ....o...........
|
|
287e4: ffffef00 00d1ffff ffff0a00 0090ffff ................
|
|
287f4: ff6f0000 0030fbff ff020000 000072db ..o...0......r..
|
|
28804: 08000000 000080ee ff086106 2d0080ff .........a.....-
|
|
28814: 33efd0ff ff2e00fe 3ff30ef3 f3ff2ee0 ...3.......?....
|
|
28824: ffff8f00 00f3ff6e ffff8e00 0000f3ff ....n...........
|
|
28834: ffef0200 000000f3 ffff2e00 08000030 ............0...
|
|
28844: ffffffef ff080030 ffeff6ff 33ef0030 ....0.......0..3
|
|
28854: ffef02fe 3ff30e30 ffef02e0 f8ff8f30 ....0..?....0...
|
|
28864: fddf0200 00e88e00 10660000 ffdf0000 ..........f.....
|
|
28874: 00200dff ffffff00 0000e20f 0fffffff .. .............
|
|
28884: fff0dffd 0020ffff fffff0ff ffffffff ...... .........
|
|
28894: fffffff0 f0ffffff ffffffff fff0ffff ................
|
|
288a4: ffffffff fffff0ff ffffffff fffffff0 ................
|
|
288b4: f0ffffff ffffffff fff0ffff ffffffff ................
|
|
288c4: ffdff0ff fffdffff 000000f9 ffff0000 ................
|
|
288d4: 00ffffff ffffdf00 0000fdff ffffff8f ................
|
|
288e4: ff00c2ff ffffffff 00ff20fe ff010000 ......... ......
|
|
288f4: 0000ffe2 fcff0000 000000ff ffffff00 ................
|
|
28904: 00000000 ffffffff ffffffff ffffffff ................
|
|
28914: ffffffff 11fbffff ffffffbf 1f00f1ff ................
|
|
28924: ffffffff ff1f00f1 fbffffff ffffbf11 ................
|
|
28934: ffffffff 8fffffff ffffffff df00f8ff ................
|
|
28944: 0000fdff fcffff01 ff030000 0000f7ff ................
|
|
28954: f2ffff06 ff080000 0000d0ff ffffff0a ................
|
|
28964: ff0cd0ff a0ffffff ffffff0e ff0d20ff ............. ..
|
|
28974: 00f8ffff ff0a0000 000000e0 0050ff0e ..............P.
|
|
28984: fc2f0000 00000000 0000f35f a09f0000 ../....._.......
|
|
28994: 00000000 000010df 00d70000 04000000 ................
|
|
289a4: 000040ee 99ffdf00 0000fdff ff99ffff .@..............
|
|
289b4: ff0000ff ffffffff ffff0000 00000090 ................
|
|
289c4: 0dffff00 200dffff ff0fffff ffe20fff ....... ........
|
|
289d4: ffff0fff fffffd0f 20ffff0f 0fffff00 ........... ....
|
|
289e4: ffffffff ff0fffff ffffffff ffff0fff ................
|
|
289f4: ffdfffff ffffff0f 0f0000ff ffffffff ................
|
|
28a04: ff0f0000 00ffffff ffff0d00 0000fdff ................
|
|
28a14: 0000cc00 02000000 000030ff ffbf0100 .........0......
|
|
28a24: 000020fc ffffff1e 9f0000e1 f8ffffff . ..............
|
|
28a34: ffef0000 00fdffff ffffff00 0100ffff ................
|
|
28a44: ffffffff ff0300ff ffffffff ffff0830 ............0...
|
|
28a54: 80ffffff ffffff1e cfe1ffff ffffffff ................
|
|
28a64: ffcffcff ffffffff 000000fc 00000000 ................
|
|
28a74: ff0e0000 000000e0 40ee0400 ff8f0000 ...........@....
|
|
28a84: ffffffff fff8ffff ffffffff ffffffff ................
|
|
28a94: 0ff000ff 000ff000 f000ffff 0ff0000f ................
|
|
28aa4: ffffff00 ffffffff ffffffff 888008f8 ................
|
|
28ab4: ff8f8008 8008f8ff 8f800888 ffffffff ................
|
|
28ac4: ffffffff 00ffffff 000000f0 ffff000f ................
|
|
28ad4: 0000f000 ff000f00 ffffffff ffffffff ................
|
|
28ae4: ffff8fff ffffffff 0000f8ff 00000000 ................
|
|
...
|
|
28afc: 70af0300 00000000 ffcf0400 000000f0 ...p............
|
|
28b0c: ffdf0600 0000a0ff ffef1700 0030ffff ..............0.
|
|
28b1c: ffff1800 00fcffff ffff2a00 f4ffffff .........*......
|
|
28b2c: ffff0800 ffffffff ff0f00d0 ffffffff ................
|
|
28b3c: 080060ff ffffffff 0000feff 00000000 .`..............
|
|
28b4c: 00f7ffff 00000000 f1ffff00 00000000 ................
|
|
28b5c: ffff0000 00000080 ff000000 000010ff ................
|
|
28b6c: 00000000 0000faff 00000000 00f2ff00 ................
|
|
28b7c: 00000000 808f0000 00000000 00000000 ................
|
|
28b8c: 00000000 f0ffffdf ffff00d2 20fef0ff ...............
|
|
28b9c: f0ffffff ffffe2ff fdfff0ff f2ffffff ................
|
|
28bac: ffff0000 ffffffff ffffffff ffffffff ................
|
|
28bbc: ffffffff ffffffff ffffffff ffffffff ................
|
|
28bcc: ffffffff ffffffff ffffffff ffffffff ................
|
|
28bdc: ffffffff ffffffff ffffffff ffdfffff ................
|
|
28bec: fdffffff 00000000 00000000 00000000 ................
|
|
28bfc: feef9c04 000040c9 ffef0700 feffffff .....@..........
|
|
28c0c: df040070 8aa8fcff 40fdffcf 00d5ff6f p..........@o...
|
|
28c1c: 5d000000 f6cff6ff 00000000 fc6f0000 ...]..........o.
|
|
28c2c: 5a00301a 00a5fddf 0000a103 ffffff4d .0.Z........M...
|
|
28c3c: 0000d4ff feff0500 ffef8aa8 01000050 ............P...
|
|
28c4c: 000070df 0010fd07 00120000 21000000 .p.............!
|
|
28c5c: 00000000 e44e0000 00000000 00000000 ......N.........
|
|
28c6c: 0000feef 00000000 feef0000 00000000 ................
|
|
28c7c: 00000000 0000e44e ff8f0000 ffffffff ....N...........
|
|
28c8c: 80ffffff ffffffff ffffffff 00fff0ff ................
|
|
28c9c: 00000000 fd0f0000 ffff0fff ffffffff ................
|
|
28cac: 0fffff0f ffffffff ff00ffff ffff0fff ................
|
|
28cbc: ffffffff 0fffff00 ffffffff ff0fffff ................
|
|
28ccc: 000000ff 00000000 fffffd0f ffffffff ................
|
|
28cdc: f0ffffff ffffff8f ffffffff ff8f80ff ................
|
|
28cec: ffffffff 80ffffff ffffffff ffffffff ................
|
|
28cfc: 00fff0ff 00000000 fd0f0000 ffff0fff ................
|
|
28d0c: 00f0ffff 0fffff0f ffffffff ff0000f0 ................
|
|
28d1c: ffff0fff 00f0ffff 0fffff00 ffffffff ................
|
|
28d2c: ff0f00f0 000000ff 00000000 fffffd0f ................
|
|
28d3c: ffffffff f0ffffff ffffff8f ffffffff ................
|
|
28d4c: ff8f80ff ffffffff 80ffffff ffffffff ................
|
|
28d5c: ffffffff 00fff0ff 00000000 fd0f0000 ................
|
|
28d6c: ffff0fff 000000ff 0fffff0f 00ffffff ................
|
|
28d7c: ff000000 ffff0fff 000000ff 0fffff00 ................
|
|
28d8c: 00ffffff ff0f0000 000000ff 00000000 ................
|
|
28d9c: fffffd0f ffffffff f0ffffff ffffff8f ................
|
|
28dac: ffffffff ff8f80ff ffffffff 80ffffff ................
|
|
28dbc: ffffffff ffffffff 00fff0ff 00000000 ................
|
|
28dcc: fd0f0000 f0ff0fff 00000000 0fffff0f ................
|
|
28ddc: 0000f0ff ff000000 f0ff0fff 00000000 ................
|
|
28dec: 0fffff00 0000f0ff ff0f0000 000000ff ................
|
|
28dfc: 00000000 fffffd0f ffffffff f0ffffff ................
|
|
28e0c: ffffff8f ffffffff ff8f80ff ffffffff ................
|
|
28e1c: 80ffffff ffffffff ffffffff 00fff0ff ................
|
|
28e2c: 00000000 fd0f0000 000000ff 00000000 ................
|
|
28e3c: 00ffff0f 00000000 ff000000 000000ff ................
|
|
28e4c: 00000000 00ffff00 00000000 ff0f0000 ................
|
|
28e5c: 000000ff 00000000 fffffd0f ffffffff ................
|
|
28e6c: f0ffffff ffffff8f ffffffff 000080ff ................
|
|
28e7c: 01000000 00000000 00000000 10fd0700 ................
|
|
28e8c: 00000000 cf010000 0000f5ff 00000000 ................
|
|
28e9c: fe29b900 00000010 3f000000 00000210 ..)........?....
|
|
28eac: df030000 00900a80 70030000 77ffdf00 ...........p...w
|
|
28ebc: 555555f7 0fd38f55 dfccfdff cdccccdc .UUUU...........
|
|
28ecc: fe8fb0ff 00aa0010 404d0000 00104600 ..........M@.F..
|
|
28edc: 3302f201 00000010 09000000 00f9cfb1 ...3............
|
|
28eec: 00000000 ff0a0000 000090ff 00000000 ................
|
|
28efc: f9bf0000 00000000 00000000 00002201 ............."..
|
|
28f0c: df180000 020092fd ffeffbef faff0d30 ............0...
|
|
28f1c: 4fe0ff2e ff03faff fafa9ff5 cffa4f35 ...O........5O..
|
|
28f2c: 0b3d8ac0 03fbeffd fffe8f12 ff06b0ff ..=.............
|
|
28f3c: d1ffffff efffff08 9f1011fd 59d1dfff ...............Y
|
|
28f4c: affd0b3b 1d38fad7 faff5ffb 0df7df01 ;.....8.._......
|
|
28f5c: ff1dfaff fcef03f1 0050ffdf a3fedf18 ..........P.....
|
|
28f6c: 7f000000 0000f7ff ffffffef effeffff ................
|
|
28f7c: ffffffff 0000feff 00000000 ffff0f00 ................
|
|
28f8c: f0ffffff ffffff0f 0ff0ffff f9999ff9 ................
|
|
28f9c: f80ff09f 8ff8888f 8ff80ff0 f08ff888 ................
|
|
28fac: 888ff80f 0ff08ff8 f8888ff8 f80ff08f ................
|
|
28fbc: 8ff8888f 8ff80ff0 f08ff888 999ff90f ................
|
|
28fcc: 0ff09ff9 ffffffff ff08f0ff ffffffff ................
|
|
28fdc: 00000080 7f000000 000000a0 8f000000 ................
|
|
28fec: 0000b0ff 0d000000 00a0ffff 8a000000 ................
|
|
28ffc: 00ffff1d 8f000000 70ff1dfa 8f000000 ...........p....
|
|
2900c: 801dfaff 8f000000 00faffff 8f000000 ................
|
|
2901c: 80ffffff 8f000000 80ffffff 8f000000 ................
|
|
2902c: 80ffffff 8f000000 80ffffff 6f000000 ...............o
|
|
2903c: 80ffffff 0b000000 80ffffff 00000000 ................
|
|
2904c: 80ffffdf 00000000 80ffff0e 00000000 ................
|
|
2905c: 60dbde00 00000000 00000000 00000000 ...`............
|
|
2906c: 00000000 ffffff1b e4ffffff ffdf0100 ................
|
|
2907c: ffffffff 1d00feff effaffff ffffaffe ................
|
|
2908c: ffffdf01 0ae22ea0 ff1dffff 02e2ffff ................
|
|
2909c: ffff2e20 ffffffcf ef0220fe ffcfffff ........ ......
|
|
290ac: 20feffff ffffef02 ffffff1d 2e2002e2 ... .......... .
|
|
290bc: df01ffff 2ea0ffff ffff0ae2 ffff1d00 ................
|
|
290cc: affeeffa 0100ffff ffffffdf feffffff ................
|
|
290dc: ff1b0000 ffffffff 0800e4ff e4ffffff ................
|
|
290ec: ffff8f00 f808feff ff400b0f 0b0ff88f ..........@.....
|
|
290fc: f8ffff40 ff400b0f ffffffff ffffffff @.....@.........
|
|
2910c: ffffffff ffffffff ffffffff ffffffff ................
|
|
2911c: ffffffff ffffffff ffffffff ffffffff ................
|
|
2912c: ffffffff ffffffff ffffffff ffefffff ................
|
|
2913c: feffffff ffffff4e 0000e4ff 00000000 ....N...........
|
|
2914c: 00000100 00000000 00e00300 00001000 ................
|
|
2915c: 10ef0200 0000bf00 f17f0000 00f1cf00 ................
|
|
2916c: ff070000 77ffcf11 bf777777 ffffcff1 .......wwww.....
|
|
2917c: ffffffff ffff17ff ffffffff ff07e0ff ................
|
|
2918c: 000000f1 06000000 000010ff 00000000 ................
|
|
2919c: 0000a005 00000000 ........
|
|
|
|
000291a4 <__func__.9667>:
|
|
291a4: 645f766c 5f707369 5f767264 69676572 lv_disp_drv_regi
|
|
291b4: 72657473 00000000 742f2e2e 64726968 ster....../third
|
|
291c4: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l
|
|
291d4: 61685f76 766c2f6c 6c61685f 7369645f v_hal/lv_hal_dis
|
|
291e4: 00632e70 p.c.
|
|
|
|
000291e8 <lv_anim_path_def>:
|
|
291e8: 00011069 00000000 i.......
|
|
|
|
000291f0 <__func__.9543>:
|
|
291f0: 615f766c 5f6d696e 72617473 00000074 lv_anim_start...
|
|
29200: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv
|
|
29210: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l
|
|
29220: 6e615f76 632e6d69 00000000 v_anim.c....
|
|
|
|
0002922c <__func__.9631>:
|
|
2922c: 665f766c 72645f73 65725f76 74736967 lv_fs_drv_regist
|
|
2923c: 00007265 er..
|
|
|
|
00029240 <__func__.9538>:
|
|
29240: 665f766c 706f5f73 00006e65 lv_fs_open..
|
|
|
|
0002924c <__func__.9602>:
|
|
2924c: 665f766c 69645f73 706f5f72 00006e65 lv_fs_dir_open..
|
|
2925c: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv
|
|
2926c: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l
|
|
2927c: 73665f76 0000632e v_fs.c..
|
|
|
|
00029284 <sin0_90_table>:
|
|
29284: 023c0000 06b30478 0b2808ee 0f990d61 ..<.x.....(.a...
|
|
29294: 140611d0 186c163a 1ccb1a9d 21211ef7 ....:.l.......!!
|
|
292a4: 256c2348 29ac278e 2ddf2bc7 32032ff3 H#l%.'.).+.-./.2
|
|
292b4: 36183410 3a1c381c 3e0e3c17 41ec3fff .4.6.8.:.<.>.?.A
|
|
292c4: 45b643d4 496a4793 4d084b3c 508d4ecd .C.E.GjI<K.M.N.P
|
|
292d4: 53f95246 574b55a5 5a8258ea 5d9c5c13 FR.S.UKW.X.Z.\.]
|
|
292e4: 609a5f1f 6379620d 663964dd 68d9678d ._.`.byc.d9f.g.h
|
|
292f4: 6b596a1d 6db76c8c 6ff36ed9 720c7104 .jYk.l.m.n.o.q.r
|
|
29304: 7401730b 75d274ee 777f76ad 79067847 .s.t.t.u.v.wGx.y
|
|
29314: 7a6779bb 7ba27b0a 7cb77c32 7da57d33 .ygz.{.{2|.|3}.}
|
|
29324: 7e6c7e0d 7f0b7ec0 7f827f4b 7fd27faf .~l~.~..K.......
|
|
29334: 7ffa7feb 00007fff ........
|
|
|
|
0002933c <__func__.7222>:
|
|
2933c: 6d5f766c 615f6d65 636f6c6c 00000000 lv_mem_alloc....
|
|
|
|
0002934c <__func__.7297>:
|
|
2934c: 5f766c5f 5f6d656d 5f667562 656c6572 _lv_mem_buf_rele
|
|
2935c: 00657361 ase.
|
|
|
|
00029360 <__func__.7240>:
|
|
29360: 6d5f766c 725f6d65 6c6c6165 0000636f lv_mem_realloc..
|
|
|
|
00029370 <__func__.7283>:
|
|
29370: 5f766c5f 5f6d656d 5f667562 00746567 _lv_mem_buf_get.
|
|
29380: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv
|
|
29390: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l
|
|
293a0: 656d5f76 00632e6d 6c756f43 74276e64 v_mem.c.Couldn't
|
|
293b0: 6c6c6120 7461636f 656d2065 79726f6d allocate memory
|
|
293c0: 00000000 6d5f766c 625f6d65 725f6675 ....lv_mem_buf_r
|
|
293d0: 61656c65 203a6573 73692070 746f6e20 elease: p is not
|
|
293e0: 6b206120 6e776f6e 66756220 00726566 a known buffer.
|
|
293f0: 6d5f766c 625f6d65 675f6675 203a7465 lv_mem_buf_get:
|
|
29400: 2074754f 6d20666f 726f6d65 63202c79 Out of memory, c
|
|
29410: 74276e61 6c6c6120 7461636f 20612065 an't allocate a
|
|
29420: 2077656e 66756220 20726566 636e6928 new buffer (inc
|
|
29430: 73616572 6f792065 4c207275 454d5f56 rease your LV_ME
|
|
29440: 49535f4d 682f455a 20706165 657a6973 M_SIZE/heap size
|
|
29450: 00000029 6d5f766c 625f6d65 675f6675 )...lv_mem_buf_g
|
|
29460: 203a7465 66206f6e 20656572 66667562 et: no free buff
|
|
29470: 202e7265 72636e49 65736165 5f564c20 er. Increase LV_
|
|
29480: 57415244 4655425f 58414d5f 4d554e5f DRAW_BUF_MAX_NUM
|
|
29490: 0000002e ....
|
|
|
|
00029494 <__func__.9561>:
|
|
29494: 745f766c 5f6b7361 61657263 625f6574 lv_task_create_b
|
|
294a4: 63697361 00000000 asic....
|
|
|
|
000294ac <__func__.9574>:
|
|
294ac: 745f766c 5f6b7361 61657263 00006574 lv_task_create..
|
|
294bc: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv
|
|
294cc: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l
|
|
294dc: 61745f76 632e6b73 00000000 v_task.c....
|
|
|
|
000294e8 <__func__.6088>:
|
|
294e8: 5f766c5f 5f747874 5f746567 657a6973 _lv_txt_get_size
|
|
294f8: 00000000 3b2e2c20 005f2d3a 742f2e2e .... ,.;:-_.../t
|
|
29508: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s
|
|
29518: 6c2f6372 696d5f76 6c2f6373 78745f76 rc/lv_misc/lv_tx
|
|
29528: 00632e74 745f766c 675f7478 735f7465 t.c.lv_txt_get_s
|
|
29538: 3a657a69 746e6920 72656765 65766f20 ize: integer ove
|
|
29548: 6f6c6672 68772077 20656c69 636c6163 rflow while calc
|
|
29558: 74616c75 20676e69 74786574 69656820 ulating text hei
|
|
29568: 00746867 0000ffff 00008410 008c80ef ght.............
|
|
|
|
00029578 <__func__.9965>:
|
|
29578: 695f766c 645f676d 67697365 0000006e lv_img_design...
|
|
|
|
00029588 <__func__.9838>:
|
|
29588: 695f766c 735f676d 615f7465 5f6f7475 lv_img_set_auto_
|
|
29598: 657a6973 00000000 size....
|
|
|
|
000295a0 <__func__.9845>:
|
|
295a0: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse
|
|
295b0: 00785f74 t_x.
|
|
|
|
000295b4 <__func__.9852>:
|
|
295b4: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse
|
|
295c4: 00795f74 t_y.
|
|
|
|
000295c8 <__func__.9888>:
|
|
295c8: 695f766c 675f676d 735f7465 00006372 lv_img_get_src..
|
|
|
|
000295d8 <__func__.9894>:
|
|
295d8: 695f766c 675f676d 665f7465 5f656c69 lv_img_get_file_
|
|
295e8: 656d616e 00000000 name....
|
|
|
|
000295f0 <__func__.9900>:
|
|
295f0: 695f766c 675f676d 615f7465 5f6f7475 lv_img_get_auto_
|
|
29600: 657a6973 00000000 size....
|
|
|
|
00029608 <__func__.9817>:
|
|
29608: 695f766c 735f676d 735f7465 00006372 lv_img_set_src..
|
|
|
|
00029618 <__func__.9808>:
|
|
29618: 695f766c 635f676d 74616572 00000065 lv_img_create...
|
|
|
|
00029628 <__func__.9906>:
|
|
29628: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse
|
|
29638: 00785f74 t_x.
|
|
|
|
0002963c <__func__.9912>:
|
|
2963c: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse
|
|
2964c: 00795f74 t_y.
|
|
|
|
00029650 <__func__.9919>:
|
|
29650: 695f766c 675f676d 705f7465 746f7669 lv_img_get_pivot
|
|
29660: 00000000 ....
|
|
|
|
00029664 <__func__.9925>:
|
|
29664: 695f766c 675f676d 615f7465 656c676e lv_img_get_angle
|
|
29674: 00000000 ....
|
|
|
|
00029678 <__func__.9931>:
|
|
29678: 695f766c 675f676d 7a5f7465 006d6f6f lv_img_get_zoom.
|
|
|
|
00029688 <__func__.9937>:
|
|
29688: 695f766c 675f676d 615f7465 6169746e lv_img_get_antia
|
|
29698: 7361696c 00000000 742f2e2e 64726968 lias....../third
|
|
296a8: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l
|
|
296b8: 69775f76 74656764 766c2f73 676d695f v_widgets/lv_img
|
|
296c8: 0000632e 695f766c 735f676d 735f7465 .c..lv_img_set_s
|
|
296d8: 203a6372 6e6b6e75 206e776f 65707974 rc: unknown type
|
|
296e8: 00000000 695f766c 735f676d 735f7465 ....lv_img_set_s
|
|
296f8: 203a6372 6e6b6e75 206e776f 67616d69 rc: unknown imag
|
|
29708: 79742065 00006570 695f766c 735f676d e type..lv_img_s
|
|
29718: 735f7465 203a6372 564c6020 474d495f et_src: `LV_IMG
|
|
29728: 4352535f 5241565f 4c424149 74206045 _SRC_VARIABLE` t
|
|
29738: 20657079 6e756f66 00000064 67616d69 ype found...imag
|
|
29748: 72632065 65746165 00000064 695f766c e created...lv_i
|
|
29758: 0000676d mg..
|
|
|
|
0002975c <__func__.10208>:
|
|
2975c: 6c5f766c 6c656261 7465735f 746f645f lv_label_set_dot
|
|
2976c: 706d745f 00000000 _tmp....
|
|
|
|
00029774 <__func__.9902>:
|
|
29774: 6c5f766c 6c656261 7465735f 696c615f lv_label_set_ali
|
|
29784: 00006e67 gn..
|
|
|
|
00029788 <__func__.9923>:
|
|
29788: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex
|
|
29798: 65735f74 74735f6c 00747261 t_sel_start.
|
|
|
|
000297a4 <__func__.9929>:
|
|
297a4: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex
|
|
297b4: 65735f74 6e655f6c 00000064 t_sel_end...
|
|
|
|
000297c0 <__func__.9934>:
|
|
297c0: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex
|
|
297d0: 00000074 t...
|
|
|
|
000297d4 <__func__.9940>:
|
|
297d4: 6c5f766c 6c656261 7465675f 6e6f6c5f lv_label_get_lon
|
|
297e4: 6f6d5f67 00006564 g_mode..
|
|
|
|
000297ec <__func__.9946>:
|
|
297ec: 6c5f766c 6c656261 7465675f 696c615f lv_label_get_ali
|
|
297fc: 00006e67 gn..
|
|
|
|
00029800 <__func__.9953>:
|
|
29800: 6c5f766c 6c656261 7465675f 6365725f lv_label_get_rec
|
|
29810: 726f6c6f 00000000 olor....
|
|
|
|
00029818 <__func__.9959>:
|
|
29818: 6c5f766c 6c656261 7465675f 696e615f lv_label_get_ani
|
|
29828: 70735f6d 00646565 m_speed.
|
|
|
|
00029830 <__func__.9967>:
|
|
29830: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let
|
|
29840: 5f726574 00736f70 ter_pos.
|
|
|
|
00029848 <__func__.9996>:
|
|
29848: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let
|
|
29858: 5f726574 00006e6f ter_on..
|
|
|
|
00029860 <__func__.9865>:
|
|
29860: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex
|
|
29870: 00000074 t...
|
|
|
|
00029874 <__func__.9876>:
|
|
29874: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex
|
|
29884: 6d665f74 00000074 t_fmt...
|
|
|
|
0002988c <__func__.9888>:
|
|
2988c: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex
|
|
2989c: 74735f74 63697461 00000000 t_static....
|
|
|
|
000298a8 <__func__.9895>:
|
|
298a8: 6c5f766c 6c656261 7465735f 6e6f6c5f lv_label_set_lon
|
|
298b8: 6f6d5f67 00006564 g_mode..
|
|
|
|
000298c0 <__func__.9909>:
|
|
298c0: 6c5f766c 6c656261 7465735f 6365725f lv_label_set_rec
|
|
298d0: 726f6c6f 00000000 olor....
|
|
|
|
000298d8 <__func__.9854>:
|
|
298d8: 6c5f766c 6c656261 6572635f 00657461 lv_label_create.
|
|
|
|
000298e8 <__func__.9916>:
|
|
298e8: 6c5f766c 6c656261 7465735f 696e615f lv_label_set_ani
|
|
298f8: 70735f6d 00646565 m_speed.
|
|
|
|
00029900 <__func__.10033>:
|
|
29900: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex
|
|
29910: 65735f74 74735f6c 00747261 t_sel_start.
|
|
|
|
0002991c <__func__.10038>:
|
|
2991c: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex
|
|
2992c: 65735f74 6e655f6c 00000064 t_sel_end...
|
|
|
|
00029938 <__func__.10044>:
|
|
29938: 6c5f766c 6c656261 5f73695f 72616863 lv_label_is_char
|
|
29948: 646e755f 705f7265 0000736f _under_pos..
|
|
|
|
00029954 <__func__.10089>:
|
|
29954: 6c5f766c 6c656261 736e695f 7865745f lv_label_ins_tex
|
|
29964: 00000074 t...
|
|
|
|
00029968 <__func__.10102>:
|
|
29968: 6c5f766c 6c656261 7475635f 7865745f lv_label_cut_tex
|
|
29978: 00000074 742f2e2e 64726968 74726170 t...../thirdpart
|
|
29988: 766c2f79 732f6c67 6c2f6372 69775f76 y/lvgl/src/lv_wi
|
|
29998: 74656764 766c2f73 62616c5f 632e6c65 dgets/lv_label.c
|
|
299a8: 00000000 6c696146 74206465 6c61206f ....Failed to al
|
|
299b8: 61636f6c 6d206574 726f6d65 6f662079 locate memory fo
|
|
299c8: 6f642072 6d745f74 74705f70 00000072 r dot_tmp_ptr...
|
|
299d8: 74786554 00000000 6562616c 7263206c Text....label cr
|
|
299e8: 65746165 00000064 6c5f766c 6c656261 eated...lv_label
|
|
299f8: 00000000 ....
|
|
|
|
000299fc <_init>:
|
|
299fc: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
299fe: bf00 nop
|
|
29a00: bcf8 pop {r3, r4, r5, r6, r7}
|
|
29a02: bc08 pop {r3}
|
|
29a04: 469e mov lr, r3
|
|
29a06: 4770 bx lr
|
|
|
|
00029a08 <__init_array_start>:
|
|
29a08: 00000289 .word 0x00000289
|
|
|
|
00029a0c <_fini>:
|
|
29a0c: b5f8 push {r3, r4, r5, r6, r7, lr}
|
|
29a0e: bf00 nop
|
|
29a10: bcf8 pop {r3, r4, r5, r6, r7}
|
|
29a12: bc08 pop {r3}
|
|
29a14: 469e mov lr, r3
|
|
29a16: 4770 bx lr
|
|
|
|
00029a18 <__fini_array_start>:
|
|
29a18: 00000265 .word 0x00000265
|