main_view.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. //canvas_draw_str_aligned(canvas, 3, 3, AlignLeft, AlignTop, APP_NAME);
  9. switch(main_view->menu_index) {
  10. case SCAN_VIEW:
  11. canvas_set_color(canvas, ColorBlack);
  12. canvas_draw_str_aligned(
  13. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  14. canvas_draw_str_aligned(
  15. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  16. canvas_draw_rbox(canvas, 80, SCAN_MENU_Y - 2, 43, 13, 3);
  17. canvas_set_color(canvas, ColorWhite);
  18. canvas_draw_str_aligned(
  19. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  20. break;
  21. case SNIFF_VIEW:
  22. canvas_set_color(canvas, ColorBlack);
  23. canvas_draw_str_aligned(
  24. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  25. canvas_draw_str_aligned(
  26. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  27. canvas_draw_rbox(canvas, 80, SNIFF_MENU_Y - 2, 43, 13, 3);
  28. canvas_set_color(canvas, ColorWhite);
  29. canvas_draw_str_aligned(
  30. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  31. break;
  32. case SEND_VIEW:
  33. canvas_set_color(canvas, ColorBlack);
  34. canvas_draw_str_aligned(
  35. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  36. canvas_draw_str_aligned(
  37. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  38. canvas_draw_rbox(canvas, 80, SEND_MENU_Y - 2, 43, 13, 3);
  39. canvas_set_color(canvas, ColorWhite);
  40. canvas_draw_str_aligned(
  41. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  42. break;
  43. default:
  44. break;
  45. }
  46. }
  47. i2cMainView* i2c_main_view_alloc() {
  48. i2cMainView* main_view = malloc(sizeof(i2cMainView));
  49. main_view->menu_index = SCAN_VIEW;
  50. main_view->current_view = MAIN_VIEW;
  51. return main_view;
  52. }
  53. void i2c_main_view_free(i2cMainView* main_view) {
  54. furi_assert(main_view);
  55. free(main_view);
  56. }