power_unplug_usb.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "power_unplug_usb.h"
  2. #include <furi.h>
  3. #include <gui/elements.h>
  4. #include <assets_icons.h>
  5. struct PowerUnplugUsb {
  6. View* view;
  7. };
  8. static void power_unplug_usb_draw_callback(Canvas* canvas, void* _model) {
  9. UNUSED(_model);
  10. canvas_set_color(canvas, ColorBlack);
  11. canvas_draw_icon(canvas, 0, 0, &I_Unplug_bg_top_128x14);
  12. canvas_draw_box(canvas, 0, 14, 128, (64 - 10 - 14));
  13. canvas_draw_icon(canvas, 0, (64 - 10), &I_Unplug_bg_bottom_128x10);
  14. canvas_set_color(canvas, ColorWhite);
  15. canvas_set_font(canvas, FontPrimary);
  16. elements_multiline_text_aligned(
  17. canvas, 64, 32, AlignCenter, AlignCenter, "It's now safe to unplug\nthe USB cable");
  18. }
  19. PowerUnplugUsb* power_unplug_usb_alloc() {
  20. PowerUnplugUsb* power_unplug_usb = malloc(sizeof(PowerUnplugUsb));
  21. power_unplug_usb->view = view_alloc();
  22. view_set_context(power_unplug_usb->view, power_unplug_usb);
  23. view_set_draw_callback(power_unplug_usb->view, power_unplug_usb_draw_callback);
  24. view_set_input_callback(power_unplug_usb->view, NULL);
  25. return power_unplug_usb;
  26. }
  27. void power_unplug_usb_free(PowerUnplugUsb* power_unplug_usb) {
  28. furi_assert(power_unplug_usb);
  29. view_free(power_unplug_usb->view);
  30. free(power_unplug_usb);
  31. }
  32. View* power_unplug_usb_get_view(PowerUnplugUsb* power_unplug_usb) {
  33. furi_assert(power_unplug_usb);
  34. return power_unplug_usb->view;
  35. }