C++ DevKit
C++ set of OOP library
|
A widget that show a square (it can be a rectangle) on the display. More...
#include <widget_square_led.h>
Public Member Functions | |
WidgetBlinkingSquareLed (Model *actual_displayed_model, GraphicDisplayDevice *graphic_display_screen, struct_ConfigGraphicWidget graph_cfg, CanvasFormat format) | |
Construct a new GraphicWidget Square Led object. | |
virtual void | draw () |
a pure virtual member that is called to effectively draw the widget. | |
![]() | |
WidgetSquareLed (Model *actual_displayed_model, GraphicDisplayDevice *graphic_display_screen, struct_ConfigGraphicWidget graph_cfg, CanvasFormat format) | |
Construct a new GraphicWidget Square Led object. | |
![]() | |
void | update_widget_anchor (uint8_t x, uint8_t y) |
Modify the anchor of the widget on the display screen. | |
virtual void | draw_border (ColorIndex color=ColorIndex::WHITE) |
draw a rectangle around the widget. | |
void | show () |
A short way to call GraphicDisplayDevice::show(&canvas, anchor x, anchor y) | |
GraphicWidget (GraphicDisplayDevice *graphic_display_screen, struct_ConfigGraphicWidget graph_cfg, CanvasFormat canvas_format, Model *displayed_object=nullptr) | |
Construct a new Graphic Widget object. | |
GraphicWidget (GraphicDisplayDevice *graphic_display_screen, struct_ConfigTextWidget text_cfg, CanvasFormat canvas_format, Model *displayed_object=nullptr) | |
Construct a new Graphic Widget object from the TextWidget Constructor. | |
GraphicWidget (GraphicDisplayDevice *graphic_display_screen, struct_ConfigTextWidget text_cfg, CanvasFormat canvas_format, size_t frame_width, size_t frame_height, Model *displayed_object=nullptr) | |
Construct a new Graphic Widget object from the TextWidget Constructor. | |
~GraphicWidget () | |
Destroy the Widget object. | |
struct_ConfigGraphicWidget | get_graph_frame_config () |
Get the graphic frame config object. | |
void | hline (uint8_t x, uint8_t y, size_t w, ColorIndex color=ColorIndex::WHITE) |
Draw a color horizontal line, starting at frame position (x,y), on w number of pixel. | |
void | vline (uint8_t x, uint8_t y, size_t h, ColorIndex color=ColorIndex::WHITE) |
Draw a color vertical line, starting at frame position (x,y), on w number of pixel. | |
void | line (int x0, int y0, int x1, int y1, ColorIndex color=ColorIndex::WHITE) |
Draw a color line, starting at frame position (x0,y0), ending at frame position (x1,y1) | |
void | rect (uint8_t start_x, uint8_t start_y, size_t w, size_t h, bool fill=false, ColorIndex color=ColorIndex::WHITE) |
Draw a rectangle, starting at frame position (x,y), w wide and h high. | |
void | circle (int radius, int x_center, int y_center, bool fill=false, ColorIndex color=ColorIndex::WHITE) |
draw a cercle of size radius, centered at (x_center, y_center) https://fr.wikipedia.org/wiki/Algorithme_de_trac%C3%A9_d%27arc_de_cercle_de_Bresenham https://en.wikipedia.org/wiki/Midpoint_circle_algorithm procédure tracerCercle (entier rayon, entier x_centre, entier y_centre) déclarer entier x, y, m ; x ← 0 ; y ← rayon ; // on se place en haut du cercle m ← 5 - 4*rayon ; // initialisation Tant que x <= y // tant qu'on est dans le second octant tracerPixel( x+x_centre, y+y_centre ) ; tracerPixel( y+x_centre, x+y_centre ) ; tracerPixel( -x+x_centre, y+y_centre ) ; tracerPixel( -y+x_centre, x+y_centre ) ; tracerPixel( x+x_centre, -y+y_centre ) ; tracerPixel( y+x_centre, -x+y_centre ) ; tracerPixel( -x+x_centre, -y+y_centre ) ; tracerPixel( -y+x_centre, -x+y_centre ) ; si m > 0 alors //choix du point F y ← y - 1 ; m ← m - 8*y ; fin si ; x ← x + 1 ; m ← m + 8*x + 4 ; fin tant que ; fin de procédure ; | |
![]() | |
Widget (Model *actual_displayed_model, DisplayDevice *graphic_display_device=nullptr) | |
contructor for generic widget | |
void | add_widget (Widget *_sub_widget) |
add sub_widget to the current widget | |
void | set_display_device (DisplayDevice *_new_display_device) |
Set the display screen object. | |
![]() | |
void | set_blink_us (uint32_t blink_period=1000000) |
Set the blink period in microseconds. | |
bool | has_blinking_changed () |
return the status of the flag blink_phase_changed | |
void | clear_blinking_phase_change () |
set blink_phase_changed = False | |
virtual void | compute_blinking_phase () |
compute if the system clock divided by the blink_period is odd or even and if this has changed since the last cycle. | |
Protected Attributes | |
LEDStatus | led_status |
the operating status of the LED (blinking, ON, OFF) | |
![]() | |
bool | led_is_on |
the status of the led, on or off | |
![]() | |
bool | widget_with_border {false} |
if true, the widget is surrounded by a one-pixel border | |
size_t | widget_width {128} |
As a widget can be surrounded by a border, the actual widget width is not the associated framebuffer width. | |
size_t | widget_height {8} |
As a widget can be surrounded by a border, the actual widget height is not the associated framebuffer height. | |
uint8_t | widget_start_x |
this is the actual horizontal start of the widget drawing area, taken into account the presence of border. | |
uint8_t | widget_start_y |
this is the actual vertical start of the widget drawing area, taken into account the presence of border. | |
uint8_t | widget_border_width |
this is the border size of the widget. 0 if no border, 1 if border | |
![]() | |
DisplayDevice * | display_device {nullptr} |
the display device where the attached to the frame buffer | |
Model * | actual_displayed_model {nullptr} |
a pointer to the Model actually displayed by the widget | |
std::vector< Widget * > | widgets |
A widget can be composed by several widgets. | |
Additional Inherited Members | |
![]() | |
Canvas * | canvas |
the associated canvas in which the widget writes text and draws graphics | |
ColorIndex | fg_color |
the foregroung color of the graphic frame //TODO voir si fg_color n'est pas mieux dans canvas | |
ColorIndex | bg_color |
the background color of the graphic frame //TODO voir si bg_color n'est pas mieux dans canvas | |
uint8_t | widget_anchor_x |
location in x of the widget within the hosting framebuffer | |
uint8_t | widget_anchor_y |
location in y of the widget within the hosting framebuffer | |
![]() | |
void | clear_widget () |
fill the graphic pixel buffer with 0x00. | |
virtual void | get_value_of_interest ()=0 |
A pure virtual method that results in the transfer of the displayed values of the displayed model to the widget. | |
A widget that show a square (it can be a rectangle) on the display.
WidgetBlinkingSquareLed::WidgetBlinkingSquareLed | ( | Model * | actual_displayed_model, |
GraphicDisplayDevice * | graphic_display_screen, | ||
struct_ConfigGraphicWidget | graph_cfg, | ||
CanvasFormat | format ) |
Construct a new GraphicWidget Square Led object.
actual_displayed_model | the actual displayed model |
graphic_display_screen | The display device on which the widget is drawn. |
graph_cfg | the configuration data structure of the graphic framebuffer |
format | the associated canvas format |
|
virtual |
a pure virtual member that is called to effectively draw the widget.
Reimplemented from WidgetSquareLed.