|
| | GraphicDrawer (struct_ConfigGraphicWidget graph_cfg, CanvasFormat canvas_format) |
| | Constructor of the GraphicDrawer class.
|
| |
| | GraphicDrawer (struct_ConfigTextWidget text_cfg, CanvasFormat canvas_format) |
| | Constructor of the GraphicDrawer class.
|
| |
| | GraphicDrawer (struct_ConfigTextWidget text_cfg, CanvasFormat canvas_format, size_t frame_width, size_t frame_height) |
| | Constructor of the GraphicDrawer class.
|
| |
| void | clear_widget () |
| | fill the graphic pixel buffer with 0x00.
|
| |
| 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 ;
|
| |
| virtual void | draw_border (ColorIndex color=ColorIndex::WHITE) |
| | draw a rectangle around the widget.
|
| |
|
|
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.
|
| |
A class that implements basic graphic drawing primitives for widgets.
| void GraphicDrawer::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 ;
- Parameters
-
| radius | radius, in pixel, of the circle |
| x_center | horizontal position of the center of the cercle |
| y_center | vertical position of the center on the cercle |
| fill | if true, the circle is filled with color c |
| color | color of the border of the circle, default to WHITE |