mirror of
https://gitee.com/anod/open_agb_firm.git
synced 2025-05-08 06:44:12 +08:00
貌似找到了宕机的地方,进行修改
This commit is contained in:
parent
b19ca5d6c4
commit
fc5a80339f
@ -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 )
|
static atp_error_t title_paint( atp_callerdata_t datain, atp_counter_t idx, atp_linecfg_t *config )
|
||||||
{
|
{
|
||||||
void **data = (void**)datain;
|
uint8_t **data = datain;
|
||||||
atp_text_t title = *(atp_text_t*)data[0];
|
atp_text_t title = (atp_text_t)data[0];
|
||||||
uint8_t *title_offset = *(uint8_t**)data[1];
|
uint8_t *title_offset = data[1];
|
||||||
for( atp_counter_t i=0; i < idx; ++i )
|
for( atp_counter_t i=0; i < idx; ++i )
|
||||||
title += title_offset[i];
|
title += title_offset[i];
|
||||||
config->text = title;
|
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 SELECTED_ROW(top, len, sel) (((top) < (len)) ? ((len)-(top)+(sel)) : ((sel)+(len)-(top)))
|
||||||
#define REFRESH_PAGE { \
|
#define REFRESH_PAGE { \
|
||||||
|
screen_clean();
|
||||||
if( idx_top < title_len ) \
|
if( idx_top < title_len ) \
|
||||||
{ \
|
{ \
|
||||||
void *title_data[2]; \
|
uint8_t* title_data[2]; \
|
||||||
title_data[0] = (void*)title; \
|
title_data[0] = (uint8_t*)title; \
|
||||||
title_data[1] = &title_offset[idx_top]; \
|
title_data[1] = &title_offset[idx_top]; \
|
||||||
for( int i=0; i < idx_top; ++i ) \
|
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 ); \
|
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 ); \
|
else draw_options( 0, idx_top - title_len, cnt, item_sel, provider, data ); \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user