13#include "pico/stdlib.h"
38 virtual ~DisplayDevice();
80 virtual void show(
Canvas *canvas,
const uint8_t anchor_x,
const uint8_t anchor_y) = 0;
89 size_t screen_height);
116 size_t number_of_char_hieght);
125class rtos_DisplayDevice
132 rtos_DisplayDevice();
133 ~rtos_DisplayDevice();
145class rtos_GraphicDisplayDevice :
public rtos_DisplayDevice
150 rtos_GraphicDisplayDevice();
151 ~rtos_GraphicDisplayDevice();
183 size_t number_of_char_hight);
CanvasFormat
the format of the canvas
Definition canvas.h:61
The canvas is a virtual memory in which the widget draws.
Definition canvas.h:129
virtual ~GraphicDisplayDevice()
Destroy the Display Device object.
Definition display_device.cpp:21
virtual void show(Canvas *canvas, const uint8_t anchor_x, const uint8_t anchor_y)=0
A pure virtual member function. It transfers the pixel buffer to the a part of display screen buffer ...
size_t TFT_panel_width_in_pixel
the physical width of the screen (in pixel)
Definition display_device.h:62
size_t TFT_panel_height_in_pixel
the physical height of the screen (in pixel)
Definition display_device.h:64
virtual void check_display_device_compatibility(struct_ConfigGraphicWidget framebuffer_cfg, CanvasFormat canvas_format)=0
A pure virtual member function. Each device must implement this method and check the compatibility of...
GraphicDisplayDevice(size_t screen_width, size_t screen_height)
Construct a new Display Device object.
Definition display_device.cpp:14
virtual void show()
the method that actually print the content of text_buffer on the console
Definition display_device.cpp:39
TerminalConsole(size_t number_of_char_width, size_t number_of_char_hieght)
Construct a new Terminal Console object.
Definition display_device.cpp:25
size_t number_of_line
the number of line
Definition display_device.h:106
size_t text_buffer_size
the number of characters
Definition display_device.h:108
size_t number_of_column
the size, in number of character of a line
Definition display_device.h:104
char * text_buffer
the effective character buffer
Definition display_device.h:110
The RTOS display device is the base class for all display devices that are managed by a dedicated dis...
Definition display_device.h:126
virtual void clear_device_screen_buffer()=0
Clear the device screen buffer.
virtual void show_widget(rtos_Widget *widget_to_show)=0
Show the widget on the display device.
SemaphoreHandle_t display_device_mutex
the mutex to protect the display device access
Definition display_device.h:131
The RTOS graphic display device is the base class for all graphic display devices that are managed by...
Definition display_device.h:146
virtual void check_rtos_display_device_compatibility(struct_ConfigGraphicWidget framebuffer_cfg, CanvasFormat canvas_format)=0
Check the compatibility of the framebuffer configuration with the display device physical limitations...
void send_clear_device_command(rtos_GraphicDisplayDevice *device)
Send the clear device command to the display task.
Definition display_device.cpp:107
SemaphoreHandle_t data_sent
Semaphore to signal that data has been sent to the display.
Definition display_device.h:192
void receive_widget_data(struct_WidgetDataToGateKeeper received_widget_data)
Receive the widget data from the display task.
Definition display_device.cpp:141
rtos_GraphicDisplayGateKeeper()
constructor for rtos_GraphicDisplayGateKeeper
Definition display_device.cpp:97
void send_widget_data(rtos_Widget *widget)
Send the widget data to the display task.
Definition display_device.cpp:125
QueueHandle_t graphic_widget_data
Queue to send widget data to the display task.
Definition display_device.h:195
size_t number_of_column
the size, in number of character of a line
Definition display_device.h:166
void clear_device_screen_buffer()
Clear the device screen buffer.
Definition display_device.cpp:77
size_t number_of_line
the number of line
Definition display_device.h:168
void show_widget(rtos_Widget *widget_to_show)
Construct a new rtos_TerminalConsole object.
Definition display_device.cpp:70
rtos_TerminalConsole(size_t number_of_char_width, size_t number_of_char_hight)
Construct a new rtos_TerminalConsole object.
Definition display_device.cpp:85
size_t text_buffer_size
the number of characters
Definition display_device.h:170
DisplayCommand
Enumeration of display commands for display task management.
Definition display_device.h:23
@ SHOW_IMAGE
Command to show an image.
Definition display_device.h:27
@ CLEAR_SCREEN
Command to clear the screen.
Definition display_device.h:25