main_view.c 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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_str_aligned(
  16. canvas, INFOS_MENU_X, INFOS_MENU_Y, AlignLeft, AlignTop, INFOS_MENU_TEXT);
  17. canvas_draw_rbox(canvas, 80, SCAN_MENU_Y - 2, 43, 13, 3);
  18. canvas_set_color(canvas, ColorWhite);
  19. canvas_draw_str_aligned(
  20. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  21. break;
  22. case SNIFF_VIEW:
  23. canvas_set_color(canvas, ColorBlack);
  24. canvas_draw_str_aligned(
  25. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  26. canvas_draw_str_aligned(
  27. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  28. canvas_draw_str_aligned(
  29. canvas, INFOS_MENU_X, INFOS_MENU_Y, AlignLeft, AlignTop, INFOS_MENU_TEXT);
  30. canvas_draw_rbox(canvas, 80, SNIFF_MENU_Y - 2, 43, 13, 3);
  31. canvas_set_color(canvas, ColorWhite);
  32. canvas_draw_str_aligned(
  33. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  34. break;
  35. case SEND_VIEW:
  36. canvas_set_color(canvas, ColorBlack);
  37. canvas_draw_str_aligned(
  38. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  39. canvas_draw_str_aligned(
  40. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  41. canvas_draw_str_aligned(
  42. canvas, INFOS_MENU_X, INFOS_MENU_Y, AlignLeft, AlignTop, INFOS_MENU_TEXT);
  43. canvas_draw_rbox(canvas, 80, SEND_MENU_Y - 2, 43, 13, 3);
  44. canvas_set_color(canvas, ColorWhite);
  45. canvas_draw_str_aligned(
  46. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  47. break;
  48. case INFOS_VIEW:
  49. canvas_set_color(canvas, ColorBlack);
  50. canvas_draw_str_aligned(
  51. canvas, SCAN_MENU_X, SCAN_MENU_Y, AlignLeft, AlignTop, SCAN_MENU_TEXT);
  52. canvas_draw_str_aligned(
  53. canvas, SNIFF_MENU_X, SNIFF_MENU_Y, AlignLeft, AlignTop, SNIFF_MENU_TEXT);
  54. canvas_draw_str_aligned(
  55. canvas, SEND_MENU_X, SEND_MENU_Y, AlignLeft, AlignTop, SEND_MENU_TEXT);
  56. canvas_draw_rbox(canvas, 80, INFOS_MENU_Y - 2, 43, 13, 3);
  57. canvas_set_color(canvas, ColorWhite);
  58. canvas_draw_str_aligned(
  59. canvas, INFOS_MENU_X, INFOS_MENU_Y, AlignLeft, AlignTop, INFOS_MENU_TEXT);
  60. break;
  61. default:
  62. break;
  63. }
  64. }
  65. i2cMainView* i2c_main_view_alloc() {
  66. i2cMainView* main_view = malloc(sizeof(i2cMainView));
  67. main_view->menu_index = SCAN_VIEW;
  68. main_view->current_view = MAIN_VIEW;
  69. return main_view;
  70. }
  71. void i2c_main_view_free(i2cMainView* main_view) {
  72. furi_assert(main_view);
  73. free(main_view);
  74. }