Mercurial > public > ostc4
view Discovery/Inc/gfx.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 | 5f11787b4f42 |
children |
line wrap: on
line source
/////////////////////////////////////////////////////////////////////////////// /// -*- coding: UTF-8 -*- /// /// \file Discovery/Inc/gfx.h /// \brief Header file for common GFX files /// \author heinrichs weikamp gmbh /// \date 07-April-2014 /// /// $Id$ /////////////////////////////////////////////////////////////////////////////// /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh /// /// This program is free software: you can redistribute it and/or modify /// it under the terms of the GNU General Public License as published by /// the Free Software Foundation, either version 3 of the License, or /// (at your option) any later version. /// /// This program is distributed in the hope that it will be useful, /// but WITHOUT ANY WARRANTY; without even the implied warranty of /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /// GNU General Public License for more details. /// /// You should have received a copy of the GNU General Public License /// along with this program. If not, see <http://www.gnu.org/licenses/>. ////////////////////////////////////////////////////////////////////////////// /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef GFX_H #define GFX_H /* Includes ------------------------------------------------------------------*/ #include <stdint.h> /* Exported types ------------------------------------------------------------*/ typedef struct { const uint8_t *data; uint16_t width; uint16_t height; } tImage; typedef struct { long int code; const tImage *image; } tChar; typedef struct { uint32_t length; const tChar *chars; uint8_t spacesize; uint8_t spacesize2Monospaced; uint8_t height; } tFont; typedef struct { uint32_t x; uint32_t y; } point_t; typedef struct { int16_t x; int16_t y; } int16_Point_t; typedef union { uint32_t i[6]; point_t p[3]; } bezier_t; typedef struct { const bezier_t* data; uint8_t datalen; } path_t; #endif // GFX_H