Mercurial > public > ostc4
annotate Discovery/Inc/text_multilanguage.h @ 481:89f6857276f8 Improve_Button_Sleep
Bugfix calculation of string center position:
Strings shown on the right side at surface mode use special characters ('\016' and '\017') to switch font size. Headline strings like "Desaturation" could also be set to the target font directly, because they do not contain mixed font sizes, but nethertheless they are using the special characters.
The function calculating the offset needed to display the strinter with center alignment did not consider the small font size => misalignment during string display. To avoid this an evaluation of the special characters has been added to the helper function.
author | ideenmodellierer |
---|---|
date | Mon, 18 May 2020 21:51:08 +0200 |
parents | 2b31cf1ebbcc |
children | b560e474e319 |
rev | line source |
---|---|
38 | 1 /////////////////////////////////////////////////////////////////////////////// |
2 /// -*- coding: UTF-8 -*- | |
3 /// | |
4 /// \file Discovery/Inc/text_multilanguage.h | |
5 /// \brief Header file of TXT Multilanguage Support | |
6 /// \author heinrichs weikamp gmbh | |
7 /// \date 20-April-2014 | |
8 /// | |
9 /// $Id$ | |
10 /////////////////////////////////////////////////////////////////////////////// | |
11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
12 /// | |
13 /// This program is free software: you can redistribute it and/or modify | |
14 /// it under the terms of the GNU General Public License as published by | |
15 /// the Free Software Foundation, either version 3 of the License, or | |
16 /// (at your option) any later version. | |
17 /// | |
18 /// This program is distributed in the hope that it will be useful, | |
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 /// GNU General Public License for more details. | |
22 /// | |
23 /// You should have received a copy of the GNU General Public License | |
24 /// along with this program. If not, see <http://www.gnu.org/licenses/>. | |
25 ////////////////////////////////////////////////////////////////////////////// | |
26 | |
27 /* Define to prevent recursive inclusion -------------------------------------*/ | |
28 #ifndef TEXT_MULTILINGUAGE_H | |
29 #define TEXT_MULTILINGUAGE_H | |
30 | |
31 /* Includes ------------------------------------------------------------------*/ | |
32 #include <stdint.h> | |
33 | |
34 /* Exported types ------------------------------------------------------------*/ | |
35 | |
36 enum LANGUAGES | |
37 { | |
38 LANGUAGE_English = 0, | |
39 LANGUAGE_German, | |
40 LANGUAGE_French, | |
41 LANGUAGE_Italian, | |
42 LANGUAGE_Espanol, | |
43 LANGUAGE_END | |
44 }; | |
45 #define NUMBER_OF_LANGUAGES LANGUAGE_END | |
46 | |
47 typedef struct { | |
48 const uint8_t code; | |
49 const uint8_t* text[NUMBER_OF_LANGUAGES]; | |
50 } tText; | |
51 extern const tText text_array[]; | |
52 extern const tText text_array2[]; | |
53 | |
54 /* Text codes ---------------------------------------------------------------*/ | |
55 enum TXT_MULTILANGUAGE | |
56 { | |
57 TXT_Language = '\x80', | |
58 TXT_LanguageName, | |
59 TXT_Depth, | |
60 TXT_Divetime, | |
61 TXT_MaxDepth, | |
62 TXT_AvgDepth, | |
63 TXT_Ceiling, | |
64 TXT_ActualGradient, | |
65 TXT_Stopwatch, | |
66 TXT_Decostop, | |
67 TXT_Nullzeit, | |
68 TXT_ppO2, | |
69 TXT_TTS, | |
70 TXT_CNS, | |
71 TXT_Temperature, | |
72 TXT_FutureTTS, | |
73 TXT_Gas, | |
74 TXT_Time, | |
75 TXT_Date, | |
76 TXT_Format, | |
77 TXT_Warning, | |
78 TXT_o2Sensors, | |
79 TXT_Brightness, | |
80 TXT_Cave, | |
81 TXT_Eco, | |
82 TXT_Normal, | |
83 TXT_Bright, | |
84 TXT_Ultrabright, | |
85 /* */ | |
86 TXT_OC_Gas_Edit, | |
87 TXT_Diluent_Gas_Edit, | |
88 TXT_Mix, | |
89 TXT_First, | |
90 TXT_Deco, | |
91 TXT_Travel, | |
92 TXT_Inactive, | |
93 TXT_ChangeDepth, | |
94 TXT_Active, | |
95 TXT_Default, | |
96 TXT_Type, | |
97 /* */ | |
98 TXT_Setpoint_Edit, | |
99 /* */ | |
100 TXT_DecoAlgorithm, | |
101 TXT_ZHL16GF, | |
102 TXT_aGF, | |
103 TXT_VPM, | |
104 TXT_SafetyStop, | |
105 TXT_low_high, | |
106 TXT_ppO2Name, | |
107 TXT_Minimum, | |
108 TXT_Maximum, | |
109 TXT_Minutes, | |
110 TXT_Seconds, | |
111 TXT_CCRmode, | |
112 TXT_AtemGasVorrat, | |
113 TXT_LiterproMinute, | |
114 TXT_Reserve, | |
115 TXT_Salinity, | |
116 TXT_DiveMode, | |
117 TXT_OpenCircuit, | |
118 TXT_ClosedCircuit, | |
119 TXT_Apnoe, | |
120 TXT_Gauge, | |
121 TXT_Sensor, | |
122 TXT_FixedSP, | |
123 TXT_Decoparameters, | |
124 TXT_LastDecostop, | |
125 TXT_Fallback, | |
126 /* */ | |
127 TXT_DateAndTime, | |
128 TXT_DateConfig, | |
129 TXT_TimeConfig, | |
130 TXT_Daylightsaving, | |
131 /* */ | |
132 TXT_Logbook, | |
133 TXT_LogbookEmpty, | |
134 /* */ | |
135 TXT_Start_Calculation, | |
136 /* */ | |
137 TXT_Information, | |
138 /* */ | |
139 TXT_END, | |
140 | |
141 TXT_MINIMAL = '\xFE', | |
142 TXT_2BYTE = '\xFF', | |
143 }; | |
144 | |
145 /* Text codes ---------------------------------------------------------------*/ | |
146 /* don't use the chars before as those break if(text == '\n') etc. pp.*/ | |
147 enum TXT2BYTE_MULTILANGUAGE | |
148 { | |
149 TXT2BYTE_START = '\x1F', | |
150 TXT2BYTE_ResetMenu, | |
151 TXT2BYTE_LogbookOffset, | |
152 TXT2BYTE_AreYouSure, | |
153 TXT2BYTE_Abort, | |
154 TXT2BYTE_RebootRTE, | |
155 TXT2BYTE_ResetAll, | |
156 TXT2BYTE_ResetDeco, | |
157 TXT2BYTE_ResetLogbook, | |
158 TXT2BYTE_RebootMainCPU, | |
159 TXT2BYTE_Exit, | |
160 /* */ | |
161 TXT2BYTE_ShowDebug, | |
162 TXT2BYTE_PleaseUpdate, | |
163 TXT2BYTE_RTE, | |
164 TXT2BYTE_Fonts, | |
165 /* */ | |
166 TXT2BYTE_ResetStopwatch, | |
167 TXT2BYTE_SetMarker, | |
168 TXT2BYTE_CompassHeading, | |
347
77de014928d6
Added option to manually leave dive mode to system menu
ideenmodellierer
parents:
225
diff
changeset
|
169 TXT2BYTE_EndDiveMode, |
38 | 170 /* */ |
171 TXT2BYTE_Simulator, | |
172 TXT2BYTE_StartSimulator, | |
173 TXT2BYTE_Intervall, | |
174 TXT2BYTE_SimDiveTime, | |
175 TXT2BYTE_SimMaxDepth, | |
176 TXT2BYTE_SimTravelGas, | |
177 TXT2BYTE_SimDecoGas, | |
178 TXT2BYTE_SimConsumption, | |
179 TXT2BYTE_SimSummary, | |
180 TXT2BYTE_SimDecTo, | |
181 TXT2BYTE_SimLevel, | |
182 TXT2BYTE_SimAscTo, | |
183 TXT2BYTE_SimSurface, | |
184 TXT2BYTE_CalculateDeco, | |
185 TXT2BYTE_Calculating, | |
186 TXT2BYTE_PleaseWait, | |
187 | |
188 /* */ | |
189 TXT2BYTE_Decolist, | |
190 /* */ | |
191 TXT2BYTE_Bluetooth, | |
192 TXT2BYTE_ButtonSensitivity, | |
193 TXT2BYTE_SpecialDiveGas, | |
194 TXT2BYTE_SpecialDiveGasMenu, | |
195 TXT2BYTE_SpecialDiveGasMenuCCR, | |
196 TXT2BYTE_CompassCalib, | |
197 TXT2BYTE_UseSensor, | |
198 /* */ | |
199 TXT2BYTE_WarnDecoMissed, | |
200 TXT2BYTE_WarnPPO2Low, | |
201 TXT2BYTE_WarnPPO2High, | |
202 TXT2BYTE_WarnBatteryLow, | |
203 TXT2BYTE_WarnSensorLinkLost, | |
204 TXT2BYTE_WarnFallback, | |
205 TXT2BYTE_WarnCnsHigh, | |
206 /* */ | |
207 TXT2BYTE_O2monitor, | |
208 TXT2BYTE_O2voltage, | |
209 TXT2BYTE_Tissues, | |
210 TXT2BYTE_Nitrogen, | |
211 TXT2BYTE_Helium, | |
212 TXT2BYTE_CNS, | |
213 TXT2BYTE_OTU, | |
214 TXT2BYTE_Profile, | |
215 TXT2BYTE_Compass, | |
216 TXT2BYTE_SafetyStop2, | |
217 TXT2BYTE_noFly, | |
218 TXT2BYTE_Desaturation, | |
219 TXT2BYTE_TimeSinceLastDive, | |
220 TXT2BYTE_ButtonLogbook, | |
221 TXT2BYTE_ButtonMenu, | |
222 TXT2BYTE_ButtonView, | |
223 TXT2BYTE_ButtonBack, | |
224 TXT2BYTE_ButtonEnter, | |
225 TXT2BYTE_ButtonNext, | |
226 TXT2BYTE_ButtonMinus, | |
227 TXT2BYTE_ButtonPlus, | |
228 TXT2BYTE_SimFollowDecoStops, | |
229 /* */ | |
230 TXT2BYTE_Usage_Battery, | |
231 TXT2BYTE_Usage_Dives, | |
232 TXT2BYTE_Usage_Environment, | |
233 /* */ | |
234 TXT2BYTE_ChargeCycles, | |
235 TXT2BYTE_LowestVoltage, | |
236 TXT2BYTE_HoursOfOperation, | |
237 TXT2BYTE_NumberOfDives, | |
238 TXT2BYTE_AmbientTemperature, | |
239 /* */ | |
240 TXT2BYTE_Bottle, | |
241 /* */ | |
242 TXT2BYTE_Gaslist, | |
243 TXT2BYTE_Clock, | |
244 TXT2BYTE_Sunday, | |
245 TXT2BYTE_Monday, | |
246 TXT2BYTE_Tuesday, | |
247 TXT2BYTE_Wednesday, | |
248 TXT2BYTE_Thursday, | |
249 TXT2BYTE_Friday, | |
250 TXT2BYTE_Saturday, | |
251 /* */ | |
252 TXT2BYTE_Layout, | |
253 TXT2BYTE_Units, | |
254 TXT2BYTE_Units_metric, | |
255 TXT2BYTE_Units_feet, | |
256 TXT2BYTE_Farbschema, | |
257 TXT2BYTE_Customviews, | |
258 TXT2BYTE_CViewTimeout, | |
259 TXT2BYTE_CViewStandard, | |
260 TXT2BYTE_CornerTimeout, | |
261 TXT2BYTE_CornerStandard, | |
262 TXT2BYTE_SetToMOD, | |
263 /* */ | |
264 TXT2BYTE_HUDbattery, | |
265 TXT2BYTE_LowerIsLess, | |
266 TXT2BYTE_DiveMenuQ, | |
267 TXT2BYTE_DiveQuitQ, | |
268 TXT2BYTE_DiveBearingQ, | |
269 TXT2BYTE_DiveResetAvgQ, | |
270 /* */ | |
271 TXT2BYTE_ExtraDisplay, | |
272 TXT2BYTE_ExtraBigFont, | |
273 TXT2BYTE_ExtraDecoGame, | |
274 TXT2BYTE_ExtraNone, | |
275 /* */ | |
368
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
276 TXT2BYTE_MotionCtrl, |
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
277 TXT2BYTE_MoCtrlNone, |
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
278 TXT2BYTE_MoCtrlPitch, |
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
279 TXT2BYTE_MoCtrlSector, |
373
7b981f8bdd41
Add scroll event by pitch angle detection:
ideenmodellierer
parents:
368
diff
changeset
|
280 TXT2BYTE_MoCtrlScroll, |
368
50ea68c7a153
Added menu item for motion detection. There are several possibility to use motion detection for user action input. To select of the a new menu entry has been added to the Sys2 =>Custom View Menu (Variables in german)
ideenmodellierer
parents:
225
diff
changeset
|
281 /* */ |
38 | 282 TXT2BYTE_DecoDataLost, |
283 TXT2BYTE_Info, | |
284 TXT2BYTE_Korrekturwerte, | |
285 TXT2BYTE_SetBearing, | |
286 TXT2BYTE_ResetBearing, | |
287 TXT2BYTE_Sensor, | |
288 TXT2BYTE_Maintenance, | |
289 TXT2BYTE_SetBatteryCharge, | |
290 TXT2BYTE_SetFactoryDefaults, | |
424
2b31cf1ebbcc
Added (optional) menu item to analyse log sample buffer:
ideenmodellierer
parents:
382
diff
changeset
|
291 TXT2BYTE_SetSampleIndex, |
38 | 292 TXT2BYTE_Reboot, |
293 TXT2BYTE_ButtonLeft, | |
294 TXT2BYTE_ButtonMitte, | |
295 TXT2BYTE_ButtonRight, | |
296 /* */ | |
297 TXT2BYTE_Summary, | |
376
a90100959871
Added string for Empty/ Debug custom view selection
ideenmodellierer
parents:
373
diff
changeset
|
298 TXT2BYTE_DispNoneDbg, |
38 | 299 TXT2BYTE_ApneaLast, |
300 TXT2BYTE_ApneaTotal, | |
301 TXT2BYTE_ApneaSurface, | |
302 /* */ | |
107 | 303 TXT2BYTE_FLIPDISPLAY, |
38 | 304 TXT2BYTE_END |
305 }; | |
306 | |
307 #endif /* TEXT_MULTILINGUAGE_H */ |