mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
BadKB optimize work view draw
This commit is contained in:
@@ -44,8 +44,6 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
|
||||
canvas_draw_str(
|
||||
canvas, 2, 8 + canvas_current_font_height(canvas), furi_string_get_cstr(disp_str));
|
||||
|
||||
furi_string_reset(disp_str);
|
||||
|
||||
canvas_draw_icon(canvas, 22, 24, &I_UsbTree_48x22);
|
||||
|
||||
if((state == BadKbStateIdle) || (state == BadKbStateDone) ||
|
||||
@@ -96,18 +94,15 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
|
||||
canvas_draw_str_aligned(canvas, 127, 43, AlignRight, AlignBottom, "ERROR");
|
||||
} else if(state == BadKbStateScriptError) {
|
||||
canvas_draw_icon(canvas, 4, 26, &I_Error_18x18);
|
||||
canvas_set_font(canvas, FontPrimary);
|
||||
canvas_draw_str_aligned(canvas, 127, 33, AlignRight, AlignBottom, "ERROR:");
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
furi_string_printf(disp_str, "line %zu", model->state.error_line);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 127, 46, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
furi_string_reset(disp_str);
|
||||
furi_string_set_str(disp_str, model->state.error);
|
||||
elements_string_fit_width(canvas, disp_str, canvas_width(canvas));
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 127, 56, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
furi_string_reset(disp_str);
|
||||
canvas_set_font(canvas, FontPrimary);
|
||||
canvas_draw_str_aligned(canvas, 127, 33, AlignRight, AlignBottom, "ERROR:");
|
||||
} else if(state == BadKbStateIdle) {
|
||||
canvas_draw_icon(canvas, 4, 26, &I_Smile_18x18);
|
||||
furi_string_printf(disp_str, "0/%zu", model->state.line_nb);
|
||||
@@ -130,7 +125,6 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
|
||||
disp_str, "%zu", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 112, 37, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
furi_string_reset(disp_str);
|
||||
canvas_draw_icon(canvas, 115, 23, &I_Percent_10x14);
|
||||
} else if(state == BadKbStateDone) {
|
||||
canvas_draw_icon(canvas, 4, 23, &I_EviSmile1_18x21);
|
||||
@@ -139,7 +133,6 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
|
||||
canvas, 124, 47, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
canvas_set_font(canvas, FontBigNumbers);
|
||||
canvas_draw_str_aligned(canvas, 112, 37, AlignRight, AlignBottom, "100");
|
||||
furi_string_reset(disp_str);
|
||||
canvas_draw_icon(canvas, 115, 23, &I_Percent_10x14);
|
||||
} else if(state == BadKbStateDelay) {
|
||||
if(model->anim_frame == 0) {
|
||||
@@ -147,6 +140,12 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
|
||||
} else {
|
||||
canvas_draw_icon(canvas, 4, 23, &I_EviWaiting2_18x21);
|
||||
}
|
||||
uint32_t delay = model->state.delay_remain / 10;
|
||||
if(delay) {
|
||||
furi_string_printf(disp_str, "Delay %lus", delay);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 4, 61, AlignLeft, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
}
|
||||
furi_string_printf(disp_str, "%zu/%zu", model->state.line_cur, model->state.line_nb);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 124, 47, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
@@ -155,20 +154,16 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
|
||||
disp_str, "%zu", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 112, 37, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
furi_string_reset(disp_str);
|
||||
canvas_draw_icon(canvas, 115, 23, &I_Percent_10x14);
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
uint32_t delay = model->state.delay_remain / 10;
|
||||
if(delay) furi_string_printf(disp_str, "Delay %lus", delay);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 4, 61, AlignLeft, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
furi_string_reset(disp_str);
|
||||
} else if((state == BadKbStatePaused) || (state == BadKbStateWaitForBtn)) {
|
||||
if(model->anim_frame == 0) {
|
||||
canvas_draw_icon(canvas, 4, 23, &I_EviWaiting1_18x21);
|
||||
} else {
|
||||
canvas_draw_icon(canvas, 4, 23, &I_EviWaiting2_18x21);
|
||||
}
|
||||
if(state != BadKbStateWaitForBtn) {
|
||||
canvas_draw_str_aligned(canvas, 4, 61, AlignLeft, AlignBottom, "Paused");
|
||||
}
|
||||
furi_string_printf(disp_str, "%zu/%zu", model->state.line_cur, model->state.line_nb);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 124, 47, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
@@ -177,13 +172,7 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
|
||||
disp_str, "%zu", ((model->state.line_cur - 1) * 100) / model->state.line_nb);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 112, 37, AlignRight, AlignBottom, furi_string_get_cstr(disp_str));
|
||||
furi_string_reset(disp_str);
|
||||
canvas_draw_icon(canvas, 115, 23, &I_Percent_10x14);
|
||||
if(state != BadKbStateWaitForBtn) {
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str_aligned(canvas, 4, 61, AlignLeft, AlignBottom, "Paused");
|
||||
}
|
||||
furi_string_reset(disp_str);
|
||||
} else {
|
||||
canvas_draw_icon(canvas, 4, 26, &I_Clock_18x18);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user