Massive cleaning (#5538)
[opentx.git] / radio / src / gui / 480x272 / view_about.cpp
blob3f5e14660f15c16514565dcbac48334e6bedea45
1 /*
2 * Copyright (C) OpenTX
4 * Based on code named
5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 #include "opentx.h"
23 enum AboutScreens {
24 ABOUT_OPENTX,
25 ABOUT_HARDWARE,
26 ABOUT_BERTRAND,
27 ABOUT_ANDRE,
28 ABOUT_MIKE,
29 ABOUT_KJELL,
30 ABOUT_MARTIN,
31 ABOUT_ROMOLO,
32 ABOUT_ROB,
33 ABOUT_PARENTS,
34 ABOUT_END,
35 ABOUT_COUNT,
38 #define ABOUT_X 62
39 #define ABOUT_INDENT 16
41 bool menuAboutView(event_t event)
43 static uint8_t screenIndex = 0;
44 static uint8_t greyIndex = 0;
46 switch (event) {
47 case EVT_ENTRY:
48 screenIndex = 0;
49 greyIndex = 0;
50 break;
51 #if defined(PCBX12S)
52 case EVT_KEY_FIRST(KEY_PGDN):
53 #elif defined(PCBX10)
54 case EVT_KEY_BREAK(KEY_PGDN):
55 #endif
56 screenIndex < ABOUT_PARENTS ? screenIndex++ : screenIndex = ABOUT_OPENTX;
57 greyIndex = 0;
58 break;
59 case EVT_KEY_FIRST(KEY_PGUP):
60 #if defined(PCBX10)
61 case EVT_KEY_LONG(KEY_PGDN):
62 #endif
63 screenIndex > ABOUT_OPENTX ? screenIndex-- : screenIndex = ABOUT_PARENTS;
64 greyIndex = 0;
65 killEvents(event);
66 break;
67 case EVT_KEY_FIRST(KEY_EXIT):
68 chainMenu(menuMainView);
69 break;
72 theme->drawBackground();
73 theme->drawTopbarBackground(0);
75 uint8_t screenDuration = 150;
77 switch (screenIndex) {
78 case ABOUT_OPENTX:
79 case ABOUT_END:
80 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_OPENTX_1);
81 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP + FH, STR_ABOUT_OPENTX_2);
82 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_OPENTX_3);
83 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP + 3*FH, STR_ABOUT_OPENTX_4);
84 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP + 4*FH, STR_ABOUT_OPENTX_5);
85 screenDuration = 255;
86 break;
88 case ABOUT_BERTRAND:
89 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_BERTRAND_1, INVERS);
90 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_BERTRAND_2);
91 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_BERTRAND_3);
92 break;
94 case ABOUT_ANDRE:
95 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_ANDRE_1, INVERS);
96 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_ANDRE_2);
97 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_ANDRE_3);
98 break;
100 case ABOUT_MIKE:
101 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_MIKE_1, INVERS);
102 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_MIKE_2);
103 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_MIKE_3);
104 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 3*FH, STR_ABOUT_MIKE_4);
105 break;
107 case ABOUT_KJELL:
108 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_KJELL_1, INVERS);
109 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_KJELL_2);
110 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_KJELL_3);
111 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 3*FH, STR_ABOUT_KJELL_4);
112 break;
114 case ABOUT_MARTIN:
115 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_MARTIN_1, INVERS);
116 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_MARTIN_2);
117 break;
119 case ABOUT_ROMOLO:
120 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_ROMOLO_1, INVERS);
121 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_ROMOLO_2);
122 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_ROMOLO_3);
123 break;
125 case ABOUT_ROB:
126 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_ROB_1, INVERS);
127 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_ROB_2);
128 break;
130 case ABOUT_HARDWARE:
131 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, "FrSky", INVERS);
132 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_HARDWARE_2);
133 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_HARDWARE_3);
134 break;
136 case ABOUT_PARENTS:
137 lcdDrawText(ABOUT_X, MENU_CONTENT_TOP, STR_ABOUT_PARENTS_1, INVERS);
138 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + FH, STR_ABOUT_PARENTS_2);
139 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 2*FH, STR_ABOUT_PARENTS_3);
140 lcdDrawText(ABOUT_X+ABOUT_INDENT, MENU_CONTENT_TOP + 3*FH, STR_ABOUT_PARENTS_4);
141 screenDuration = 255;
142 break;
145 if (++greyIndex == screenDuration) {
146 greyIndex = 0;
147 if (++screenIndex == ABOUT_COUNT) {
148 chainMenu(menuMainView);
152 return true;