Mercurial > public > ostc4
annotate Discovery/Inc/tMenuEdit.h @ 623:ba83a8ef9bad
Improvment frame Handling:
In previous version, especially during fast menu operations, from time to time a flicker (in case of cyclic updated views) or corrupted menus appeared. Possible root cause is a interferance in the chain: refresh display (~100ms) => release frame (in parallel to) provide frame (~45ms) => clear frame (~45ms). to improve the behaviour the clear frame loop is not iterated until all bufferes are cleared (before one buffer every~45ms). getFrame() does now iterate through all frame buffers instead reusing the first possible (to avoid ghoust views and to provide more time to housekeeping function for cleanup)
author | Ideenmodellierer |
---|---|
date | Sun, 07 Feb 2021 22:04:43 +0100 |
parents | 830de438e0b0 |
children | b9f699d2e3d0 |
rev | line source |
---|---|
38 | 1 /////////////////////////////////////////////////////////////////////////////// |
2 /// -*- coding: UTF-8 -*- | |
3 /// | |
4 /// \file Discovery/Inc/tMenuEdit.h | |
5 /// \brief Header file for Menu Setting Modifications | |
6 /// \author heinrichs weikamp gmbh | |
7 /// \date 04-July-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 TMENU_EDIT_H | |
29 #define TMENU_EDIT_H | |
30 | |
31 /* Includes ------------------------------------------------------------------*/ | |
32 #include "tMenu.h" | |
33 | |
34 #define ME_Y_LINE1 (70) | |
35 #define ME_Y_LINE_STEP (65) | |
36 #define ME_Y_LINE_BASE (ME_Y_LINE1 - ME_Y_LINE_STEP) | |
37 #define ME_Y_LINE2 (ME_Y_LINE1 + (1 * ME_Y_LINE_STEP)) | |
38 #define ME_Y_LINE3 (ME_Y_LINE1 + (2 * ME_Y_LINE_STEP)) | |
39 #define ME_Y_LINE4 (ME_Y_LINE1 + (3 * ME_Y_LINE_STEP)) | |
40 #define ME_Y_LINE5 (ME_Y_LINE1 + (4 * ME_Y_LINE_STEP)) | |
41 #define ME_Y_LINE6 (ME_Y_LINE1 + (5 * ME_Y_LINE_STEP)) | |
42 | |
43 #define EXIT_TO_INFO_COMPASS (248) | |
44 #define EXIT_TO_MENU_WITH_LOGO (249) | |
45 #define EXIT_TO_HOME (250) | |
46 #define EXIT_TO_MENU (251) | |
47 #define UPDATE_DIVESETTINGS (252) | |
48 #define UPDATE_AND_EXIT_TO_HOME (253) | |
49 #define UPDATE_AND_EXIT_TO_MENU (255) | |
50 #define UNSPECIFIC_RETURN (254) | |
51 | |
52 void sendActionToMenuEdit(uint8_t sendAction); | |
53 | |
54 void tMenuEdit_init(void); | |
55 void resetMenuEdit(uint8_t color); | |
56 void tMenuEdit_refresh_live_content(void); | |
57 void tMenuEdit_refresh_field(uint32_t editID); | |
508 | 58 void tMenuEdit_select(uint32_t editID); |
38 | 59 |
60 void evaluateNewString (uint32_t editID, uint32_t *pNewValue1, uint32_t *pNewValue2, uint32_t *pNewValue3, uint32_t *pNewValue4); | |
61 void tMenuEdit_newInput (uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
62 void tMenuEdit_newButtonText(uint32_t editID, char *text); | |
63 void tMenuEdit_set_on_off(uint32_t editID, uint32_t int1); | |
64 | |
65 void write_label_fix(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char textId); | |
66 void write_label_var(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text); | |
67 | |
68 void clean_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font); | |
69 void write_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t color); | |
70 | |
71 void write_topline( char *text); | |
72 void write_buttonTextline( uint8_t left2ByteCode, char middle2ByteCode, char right2ByteCode); | |
73 void write_field_udigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
74 void write_field_2digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
75 void write_field_3digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
76 void write_field_select(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2, uint8_t int3, uint8_t int4); | |
77 /*void write_field_sdigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, int32_t int1, int32_t int2, int32_t int3, int32_t int4);*/ | |
78 void write_field_button(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text); | |
79 void write_field_symbol(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1); | |
80 void write_field_toggle(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2); | |
81 void write_field_on_off(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1); | |
82 void write_field_fpoint(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, float input); | |
83 | |
84 void stop_cursor_fields(void); | |
85 | |
86 void setEvent(uint32_t inputEventID, uint32_t inputFunctionCall); | |
87 void resetEnterPressedToStateBeforeButtonAction(void); | |
88 | |
89 void setBackMenu(uint32_t inputFunctionCall, uint8_t functionCallParameter, uint8_t gotoMenuEditField); | |
90 void exitMenuEdit_to_BackMenu(void); | |
91 | |
92 void startEdit(void); | |
93 void exitEditWithUpdate(void); | |
94 void exitMenuEdit_to_Home(void); | |
95 void exitMenuEdit_to_Home_with_Menu_Update(void); | |
96 void exitMenuEdit_to_Menu_with_Menu_Update(void); | |
97 void exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(void); | |
584 | 98 void exitMenuEditField(void); |
38 | 99 void tMenuEdit_writeSettingsToFlash(void); |
100 | |
552
531e7818b737
Added menu structure to acces viewport calibration:
Ideenmodellierer
parents:
508
diff
changeset
|
101 GFX_DrawCfgScreen* getMenuEditScreen(void); |
38 | 102 #endif /* TMENU_EDIT_H */ |