C++ DevKit
C++ set of OOP library
Loading...
Searching...
No Matches
display_device.h
Go to the documentation of this file.
1
11#pragma once
12
13#include "pico/stdlib.h"
14#include "sw/widget/canvas.h"
15
18class DisplayDevice
19{
20private:
21 /* data */
22public:
23 DisplayDevice(/* args */);
24 ~DisplayDevice();
25};
26
29class GraphicDisplayDevice : public DisplayDevice
30{
31protected:
32public:
37
41 virtual void check_display_device_compatibility(struct_ConfigGraphicWidget framebuffer_cfg, CanvasFormat canvas_format) = 0;
42
52 virtual void show(Canvas *canvas, const uint8_t anchor_x, const uint8_t anchor_y) = 0;
53
60 GraphicDisplayDevice(size_t screen_width,
61 size_t screen_height);
62
64 virtual ~GraphicDisplayDevice();
65};
66
74
89
94class PrinterDevice : public DisplayDevice
95{
96private:
97public:
105 char *text_buffer = nullptr;
112 PrinterDevice(size_t number_of_char_width,
113 size_t number_of_char_hight);
115
117 virtual void show();
118};
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
This is the abstract class to handle all generic behavior of physical graphic display devices (e....
Definition display_device.h:30
virtual ~GraphicDisplayDevice()
Destroy the Display Device object.
Definition display_device.cpp:11
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:34
size_t TFT_panel_height_in_pixel
the physical height of the screen (in pixel)
Definition display_device.h:36
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:4
PrinterDevice(size_t number_of_char_width, size_t number_of_char_hight)
Construct a new Printer Device object.
Definition display_device.cpp:15
size_t text_buffer_size
the number of characters
Definition display_device.h:103
char * text_buffer
the effective character buffer
Definition display_device.h:105
size_t number_of_line
the number of line
Definition display_device.h:101
virtual void show()
the method that actually print the content of text_buffer on the console
Definition display_device.cpp:29
size_t number_of_column
the size, in number of character of a line
Definition display_device.h:99
DisplayCommand
Enumeration of display commands for display task management.
Definition display_device.h:68
@ SHOW_IMAGE
Command to show an image.
Definition display_device.h:72
@ CLEAR_SCREEN
Command to clear the screen.
Definition display_device.h:70
data structure used to configure graphic framebuffer
Definition canvas.h:81
data structure used to queue data to send to the display task
Definition display_device.h:77
GraphicDisplayDevice * display
the display device
Definition display_device.h:81
Canvas * canvas
the canvas to be displayed
Definition display_device.h:83
DisplayCommand command
the command to be executed by the display task
Definition display_device.h:79
uint8_t anchor_y
the y anchor position of the canvas on the display
Definition display_device.h:87
uint8_t anchor_x
the x anchor position of the canvas on the display
Definition display_device.h:85