From fc5a80339f68f372e6bd4505751d3dc425f3c6ab Mon Sep 17 00:00:00 2001 From: anod <182859762@qq.com> Date: Fri, 14 Oct 2022 12:02:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B2=8C=E4=BC=BC=E6=89=BE=E5=88=B0=E4=BA=86?= =?UTF-8?q?=E5=AE=95=E6=9C=BA=E7=9A=84=E5=9C=B0=E6=96=B9=EF=BC=8C=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/arm11/atp.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source/arm11/atp.c b/source/arm11/atp.c index b518b18..fa5d452 100644 --- a/source/arm11/atp.c +++ b/source/arm11/atp.c @@ -157,9 +157,9 @@ atp_error_t atp_show( atp_counter_t cnt, atp_lineprovider_t provider, atp_caller static atp_error_t title_paint( atp_callerdata_t datain, atp_counter_t idx, atp_linecfg_t *config ) { - void **data = (void**)datain; - atp_text_t title = *(atp_text_t*)data[0]; - uint8_t *title_offset = *(uint8_t**)data[1]; + uint8_t **data = datain; + atp_text_t title = (atp_text_t)data[0]; + uint8_t *title_offset = data[1]; for( atp_counter_t i=0; i < idx; ++i ) title += title_offset[i]; config->text = title; @@ -197,15 +197,17 @@ static void draw_options( int start_row, int start_idx, int option_cnt, int sele #define SELECTED_ROW(top, len, sel) (((top) < (len)) ? ((len)-(top)+(sel)) : ((sel)+(len)-(top))) #define REFRESH_PAGE { \ + screen_clean(); if( idx_top < title_len ) \ { \ - void *title_data[2]; \ - title_data[0] = (void*)title; \ + uint8_t* title_data[2]; \ + title_data[0] = (uint8_t*)title; \ title_data[1] = &title_offset[idx_top]; \ for( int i=0; i < idx_top; ++i ) \ { \ - title_data[0] = (void*)((atp_text_t)title_data[0] + title_offset[i]); \ + title_data[0] += title_offset[i]; \ } \ + container_paint( title_paint, (atp_callerdata_t)title_data, title_len-idx_top, idx_top ); \ draw_options( title_len - idx_top, 0, cnt, item_sel, provider, data ); \ } \ else draw_options( 0, idx_top - title_len, cnt, item_sel, provider, data ); \