annotate Discovery/Inc/gfx_engine.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 1c95f811967c
children 028d8f3a9410
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Inc/gfx_engine.h
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief DATA INPUT POSITION structure definition
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 07-April-2014
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 /* Define to prevent recursive inclusion -------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28 #ifndef GFX_ENGINE_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 #define GFX_ENGINE_H
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
30
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
31 /* Includes ------------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32 #include "stm32f4xx_hal.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33 #include "gfx.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 /* Exported types ------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 /**
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
38 * @brief DATA INPUT POSITION structure definition
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
39 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 uint32_t FBStartAdress; /*!< Configures the color frame buffer address */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
44 uint16_t ImageWidth; /*!< Configures the color frame buffer line length.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
45 This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x1FFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46 uint16_t ImageHeight; /*!< Specifies the number of line in frame buffer.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0x7FF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48 uint8_t LayerIndex;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49 } GFX_DrawCfgScreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54 uint16_t WindowX0; /*!< Configures the Window vertical Start Position.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 uint16_t WindowX1; /*!< Configures the Window vertical Stop Position.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 uint16_t WindowY0; /*!< Configures the Window Horizontal Start Position.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60 uint16_t WindowY1; /*!< Configures the Window Horizontal Stop Position.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61 This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63 uint16_t WindowTab; /*!< Configures the Window Horizontal Absolute Tab Position.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
64 This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
66 uint16_t WindowNumberOfTextLines; /*!< Configures the Number of Text Lines.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
68
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
69 uint16_t WindowLineSpacing; /*!< Configures the Number of Text Lines.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70 This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF. */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
71 GFX_DrawCfgScreen *Image;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
72 } GFX_DrawCfgWindow;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
73
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
74 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
75 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
76 int left;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77 int right;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 int top;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79 int bottom;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80 } SWindowGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
81
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82 /* Exported variables --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
83
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84 /**
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
85 * \001 center
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
86 * \002 right
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87 * \003 doubleSize
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 * \004 NOP
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89 * \005 checkbox checked
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90 * \006 checkbox unchecked
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
91 * \007 invert \a
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 * \010 use color \b
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
93 * \011 tab \t
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94 * \012 line feed \n
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95 * \014 top align \f
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
96 * \015 carriage return \r
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
97 * \016 O:o O.o style
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98 * \017 back to O font
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
99 * \020 color 0
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
100 * ...
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
101 * \027 color 8
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
102 * \026 color 11
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
103 * \033 UNUSED \c ESC
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
104 * \034 monospaced space large size mode
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
105 * \035 standard space size mode
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
106 * \040 space == begin of text
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
107 * ...
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
108 * \x7F = \177 del = space with size of next char
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
109 * \x7F\x7F = \177\177 del del = space with size of next byte
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
110 * \x80 begin of TXT_Substring with Language support
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
111 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
112
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
113 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
114
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
115 void GFX_init(uint32_t * pDestinationOut);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
116
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
117 void GFX_helper_font_memory_list(const tFont *Font);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
118
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
119 void GFX_start_VSYNC_IRQ(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120 void GFX_change_LTDC(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
121
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
122 void GFX_SetFrameTop(uint32_t pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
123 void GFX_SetFrameBottom(uint32_t pDestination, uint32_t x0, uint32_t y0, uint32_t width, uint32_t height);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
124 void GFX_SetFramesTopBottom(uint32_t pTop, uint32_t pBottom, uint32_t heightBottom);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
125
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
126 void GFX_SetWindowLayer0(uint32_t pDestination, int16_t XleftGimpStyle, int16_t XrightGimpStyle, int16_t YtopGimpStyle, int16_t YbottomGimpStyle);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
127 void change_CLUT_entry(uint8_t entryToChange, uint8_t entryUsedForChange);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
128
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
129 uint16_t GFX_return_offset(const tFont *Font, char *pText, uint8_t position);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131 void GFX_VGA_transform(uint32_t pSource, uint32_t pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 HAL_StatusTypeDef GFX_SetBackgroundColor(uint32_t LayerIdx, uint8_t red, uint8_t green, uint8_t blue);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135 void GFX_LTDC_LayerTESTInit(uint16_t LayerIndex, uint32_t FB_Address);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 void GFX_fill_buffer(uint32_t pDestination, uint8_t alpha, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
138
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139 void GFX_clear_window_immediately(GFX_DrawCfgWindow* hgfx);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
140
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 //void GFX_draw_circle_with_MEMORY(uint8_t use_memory, GFX_DrawCfgScreen *hgfx, point_t center, uint8_t radius, int8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
142 void GFX_draw_circle(GFX_DrawCfgScreen *hgfx, point_t center, uint8_t radius, int8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143 void GFX_draw_colorline(GFX_DrawCfgScreen *hgfx, point_t start, point_t stop, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
144 void GFX_draw_thick_line(uint8_t thickness, GFX_DrawCfgScreen *hgfx, point_t start, point_t stop, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
145 void GFX_draw_line(GFX_DrawCfgScreen *hgfx, point_t start, point_t stop, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
146 void GFX_draw_box2(GFX_DrawCfgScreen *hgfx, point_t start, point_t stop, uint8_t color, uint8_t roundCorners);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
147 void GFX_draw_box(GFX_DrawCfgScreen *hgfx, point_t LeftLow, point_t WidthHeight, uint8_t Style, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
148 void GFX_draw_header(GFX_DrawCfgScreen *hgfx, uint8_t colorId);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
149 void GFX_clean_line(GFX_DrawCfgWindow* hgfx, uint32_t line_number);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
150 void GFX_clean_area(GFX_DrawCfgScreen *tMscreen, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, uint16_t YBottomGimpStyle);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
151
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
152 uint32_t GFX_write_string(const tFont *Font, GFX_DrawCfgWindow* hgfx, const char *pText, uint32_t line_number);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
153 uint32_t GFX_write_string_color(const tFont *Font, GFX_DrawCfgWindow* hgfx, const char *pText, uint32_t line_number, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
154 uint32_t GFX_write_label(const tFont *Font, GFX_DrawCfgWindow* hgfx, const char *pText, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155 void Gfx_write_label_var(GFX_DrawCfgScreen *screenInput, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const uint8_t color, const char *text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
156 void GFX_LTDC_Init(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157 void GFX_VGA_LTDC_Init(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
158 void GFX_LTDC_LayerDefaultInit(uint16_t LayerIndex, uint32_t FB_Address);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
159 void GFX_VGA_LTDC_LayerDefaultInit(uint16_t LayerIndex, uint32_t FB_Address);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
160 void GFX_LTDC_LayerMenuBackgroundInit(uint32_t FB_Address);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
161 //void GFX_ResetLayer(uint32_t LayerIdx);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
162
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
163 //void GFX_fill_full_image_ARGB8888_alternating_lines(GFX_DrawCfgWindow* hgfx, uint32_t color1, uint32_t color2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
164 //void GFX_fill_window_ARGB8888(GFX_DrawCfgWindow* hgfx, uint32_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
165
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
166 //void GFX_copy_full_image_ARGB8888_to_RGB888(GFX_DrawCfgWindow* hgfx, uint32_t FBdestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
167
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
168 void GFX_graph_print(GFX_DrawCfgScreen *hgfx, const SWindowGimpStyle *window, int16_t drawVeilUntil, uint8_t Xdivide, uint16_t dataMin, uint16_t dataMax, uint16_t *data, uint16_t datalength, uint8_t color, uint8_t *colour_data);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
169 void GFX_draw_Grid(GFX_DrawCfgScreen *hgfx, SWindowGimpStyle window, int vlines, float vdeltaline, int hlines, float hdeltalines, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
170
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
171 uint32_t getFrame(uint8_t callerId);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
172 uint32_t getFrameByNumber(uint8_t ZeroToMaxFrames);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
173 uint8_t releaseFrame(uint8_t callerId, uint32_t frameStartAddress);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
174 void GFX_forceReleaseFramesWithId(uint8_t callerId);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
175 void releaseAllFramesExcept(uint8_t callerId, uint32_t frameStartAddress);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
176 void housekeepingFrame(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
177 uint16_t blockedFramesCount(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
178 uint8_t getFrameCount(uint8_t frameId);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
179
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
180 void write_content_simple(GFX_DrawCfgScreen *tMscreen, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
181 void gfx_write_topline_simple(GFX_DrawCfgScreen *tMscreen, const char *text, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
182 void gfx_write_page_number(GFX_DrawCfgScreen *tMscreen, uint8_t page, uint8_t total, uint8_t color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
183
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
184 void GFX_draw_image_monochrome(GFX_DrawCfgScreen *hgfx, SWindowGimpStyle window, const tImage *image, uint8_t color);
314
e141b571a03d Reinitialize logos after flip of display
ideenmodellierer
parents: 297
diff changeset
185 void GFX_build_logo_frame(void);
e141b571a03d Reinitialize logos after flip of display
ideenmodellierer
parents: 297
diff changeset
186 void GFX_build_hw_background_frame(void);
e141b571a03d Reinitialize logos after flip of display
ideenmodellierer
parents: 297
diff changeset
187
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
188 void GFX_logoAutoOff(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
189 uint8_t GFX_logoStatus(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
190 void GFX_hwBackgroundOn(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
191 void GFX_hwBackgroundOff(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
192
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
193 uint8_t gfx_number_to_string(uint8_t max_digits, _Bool fill, char *pText, uint32_t number);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
194
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
195 uint8_t GFX_is_colorschemeDiveStandard(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
196 void GFX_use_colorscheme(uint8_t colorscheme);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
197
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
198 void GFX_screenshot(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
199
567
1c95f811967c -Add 12HR Time Support
izzni
parents: 314
diff changeset
200 tFont* GFX_Check_Extra_Font(uint8_t character, tFont *Font);
1c95f811967c -Add 12HR Time Support
izzni
parents: 314
diff changeset
201 uint32_t GFX_Character_Width(uint8_t character, tFont *Font);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
202 #endif // GFX_ENGINE_H