[FL-2524] Graphics cleanup and icon rotation (#2561)
* Canvas with rotation * Full icon rotation, cleanup of unused resources * F18 API update * Bitmap draw cleanup * More cleaning up * Migrate recovery and DFU to canvas * Make the internal draw function static * Remove all calls to u8g2_DrawXBM Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -37,7 +37,7 @@ static void desktop_loader_callback(const void* message, void* context) {
|
||||
static void desktop_lock_icon_draw_callback(Canvas* canvas, void* context) {
|
||||
UNUSED(context);
|
||||
furi_assert(canvas);
|
||||
canvas_draw_icon(canvas, 0, 0, &I_Lock_8x8);
|
||||
canvas_draw_icon(canvas, 0, 0, &I_Lock_7x8);
|
||||
}
|
||||
|
||||
static void desktop_dummy_mode_icon_draw_callback(Canvas* canvas, void* context) {
|
||||
@@ -230,7 +230,7 @@ Desktop* desktop_alloc() {
|
||||
|
||||
// Lock icon
|
||||
desktop->lock_icon_viewport = view_port_alloc();
|
||||
view_port_set_width(desktop->lock_icon_viewport, icon_get_width(&I_Lock_8x8));
|
||||
view_port_set_width(desktop->lock_icon_viewport, icon_get_width(&I_Lock_7x8));
|
||||
view_port_draw_callback_set(
|
||||
desktop->lock_icon_viewport, desktop_lock_icon_draw_callback, desktop);
|
||||
view_port_enabled_set(desktop->lock_icon_viewport, false);
|
||||
|
@@ -115,16 +115,18 @@ static void desktop_view_pin_input_draw_cells(Canvas* canvas, DesktopViewPinInpu
|
||||
} else {
|
||||
switch(model->pin.data[i]) {
|
||||
case InputKeyDown:
|
||||
canvas_draw_icon(canvas, x + 3, y + 2, &I_Pin_arrow_down_7x9);
|
||||
canvas_draw_icon_ex(
|
||||
canvas, x + 3, y + 2, &I_Pin_arrow_up_7x9, IconRotation180);
|
||||
break;
|
||||
case InputKeyUp:
|
||||
canvas_draw_icon(canvas, x + 3, y + 2, &I_Pin_arrow_up_7x9);
|
||||
canvas_draw_icon_ex(canvas, x + 3, y + 2, &I_Pin_arrow_up_7x9, IconRotation0);
|
||||
break;
|
||||
case InputKeyLeft:
|
||||
canvas_draw_icon(canvas, x + 2, y + 3, &I_Pin_arrow_left_9x7);
|
||||
canvas_draw_icon_ex(
|
||||
canvas, x + 2, y + 3, &I_Pin_arrow_up_7x9, IconRotation270);
|
||||
break;
|
||||
case InputKeyRight:
|
||||
canvas_draw_icon(canvas, x + 2, y + 3, &I_Pin_arrow_right_9x7);
|
||||
canvas_draw_icon_ex(canvas, x + 2, y + 3, &I_Pin_arrow_up_7x9, IconRotation90);
|
||||
break;
|
||||
default:
|
||||
furi_assert(0);
|
||||
@@ -147,7 +149,8 @@ static void desktop_view_pin_input_draw(Canvas* canvas, void* context) {
|
||||
desktop_view_pin_input_draw_cells(canvas, model);
|
||||
|
||||
if((model->pin.length > 0) && !model->locked_input) {
|
||||
canvas_draw_icon(canvas, 4, 53, &I_Pin_back_full_40x8);
|
||||
canvas_draw_icon(canvas, 4, 53, &I_Pin_back_arrow_10x8);
|
||||
canvas_draw_str(canvas, 16, 60, "= clear");
|
||||
}
|
||||
|
||||
if(model->button_label && ((model->pin.length >= MIN_PIN_SIZE) || model->locked_input)) {
|
||||
|
Reference in New Issue
Block a user