[FL-3621] Fix double arrows and add proper indication (#3146)

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Astra 2023-10-13 05:48:16 +09:00 committed by GitHub
parent 9d6352e92f
commit e664159188
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 54 additions and 36 deletions

View File

@ -226,16 +226,33 @@ static void byte_input_draw_input(Canvas* canvas, ByteInputModel* model) {
canvas_invert_color(canvas);
}
} else {
canvas_draw_glyph(
canvas,
text_x + 2 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], true));
canvas_draw_glyph(
canvas,
text_x + 8 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], false));
if(model->first_visible_byte > 0 && i == model->first_visible_byte) {
canvas_draw_icon(
canvas,
text_x + 2 + byte_position * 14,
text_y - 7,
&I_More_data_placeholder_5x7);
} else {
canvas_draw_glyph(
canvas,
text_x + 2 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], true));
}
if(model->bytes_count - model->first_visible_byte > max_drawable_bytes &&
i == model->first_visible_byte + MIN(model->bytes_count, max_drawable_bytes) - 1) {
canvas_draw_icon(
canvas,
text_x + 8 + byte_position * 14,
text_y - 7,
&I_More_data_placeholder_5x7);
} else {
canvas_draw_glyph(
canvas,
text_x + 8 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], false));
}
}
if(draw_index_line) {
@ -260,14 +277,6 @@ static void byte_input_draw_input(Canvas* canvas, ByteInputModel* model) {
snprintf(str, 20, "%u", (model->selected_byte + 1));
canvas_draw_str(canvas, text_x + 75, text_y2, str);
}
if(model->bytes_count - model->first_visible_byte > max_drawable_bytes) {
canvas_draw_icon(canvas, 123, 21, &I_ButtonRightSmall_3x5);
}
if(model->first_visible_byte > 0) {
canvas_draw_icon(canvas, 1, 21, &I_ButtonLeftSmall_3x5);
}
}
/** Draw input box (selected view)
@ -306,27 +315,36 @@ static void byte_input_draw_input_selected(Canvas* canvas, ByteInputModel* model
byte_input_get_nibble_text(model->bytes[i], false));
canvas_invert_color(canvas);
} else {
canvas_draw_glyph(
canvas,
text_x + 2 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], true));
canvas_draw_glyph(
canvas,
text_x + 8 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], false));
if(model->first_visible_byte > 0 && i == model->first_visible_byte) {
canvas_draw_icon(
canvas,
text_x + 2 + byte_position * 14,
text_y - 7,
&I_More_data_placeholder_5x7);
} else {
canvas_draw_glyph(
canvas,
text_x + 2 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], true));
}
if(model->bytes_count - model->first_visible_byte > max_drawable_bytes &&
i == model->first_visible_byte + MIN(model->bytes_count, max_drawable_bytes) - 1) {
canvas_draw_icon(
canvas,
text_x + 8 + byte_position * 14,
text_y - 7,
&I_More_data_placeholder_5x7);
} else {
canvas_draw_glyph(
canvas,
text_x + 8 + byte_position * 14,
text_y,
byte_input_get_nibble_text(model->bytes[i], false));
}
}
}
if(model->bytes_count - model->first_visible_byte > max_drawable_bytes) {
canvas_draw_icon(canvas, 123, 21, &I_ButtonRightSmall_3x5);
}
if(model->first_visible_byte > 0) {
canvas_draw_icon(canvas, 1, 21, &I_ButtonLeftSmall_3x5);
}
canvas_invert_color(canvas);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 B