main_view.c 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include "main_view.h"
  2. void draw_main_view(Canvas* canvas, i2cMainView* main_view) {
  3. canvas_clear(canvas);
  4. canvas_set_color(canvas, ColorBlack);
  5. canvas_draw_rframe(canvas, 0, 0, 128, 64, 3);
  6. canvas_draw_icon(canvas, 2, 2, &I_i2ctools_main_76x59);
  7. canvas_set_font(canvas, FontPrimary);
  8. switch(main_view->menu_index) {
  9. case SCAN_VIEW:
  10. canvas_set_color(canvas, ColorBlack);
  11. canvas_draw_str_aligned(
  12. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  13. canvas_draw_str_aligned(
  14. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  15. canvas_draw_rbox(canvas, 80, SCAN_MENU_Y - 2, 43, 13, 3);
  16. canvas_set_color(canvas, ColorWhite);
  17. canvas_draw_str_aligned(
  18. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  19. break;
  20. case SNIFF_VIEW:
  21. canvas_set_color(canvas, ColorBlack);
  22. canvas_draw_str_aligned(
  23. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  24. canvas_draw_str_aligned(
  25. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  26. canvas_draw_rbox(canvas, 80, SNIFF_MENU_Y - 2, 43, 13, 3);
  27. canvas_set_color(canvas, ColorWhite);
  28. canvas_draw_str_aligned(
  29. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  30. break;
  31. case SEND_VIEW:
  32. canvas_set_color(canvas, ColorBlack);
  33. canvas_draw_str_aligned(
  34. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  35. canvas_draw_str_aligned(
  36. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  37. canvas_draw_rbox(canvas, 80, SEND_MENU_Y - 2, 43, 13, 3);
  38. canvas_set_color(canvas, ColorWhite);
  39. canvas_draw_str_aligned(
  40. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  41. break;
  42. default:
  43. break;
  44. }
  45. }
  46. i2cMainView* i2c_main_view_alloc() {
  47. i2cMainView* main_view = malloc(sizeof(i2cMainView));
  48. main_view->menu_index = SCAN_VIEW;
  49. main_view->current_view = MAIN_VIEW;
  50. return main_view;
  51. }
  52. void i2c_main_view_free(i2cMainView* main_view) {
  53. furi_assert(main_view);
  54. free(main_view);
  55. }