C++ DevKit
C++ set of OOP library
WidgetHorizontalBargraph Class Reference

the widget that display an horizontal bargraph More...

#include <widget_bargraph.h>

Inheritance diagram for WidgetHorizontalBargraph:
Inheritance graph
Collaboration diagram for WidgetHorizontalBargraph:
Collaboration graph

Public Member Functions

void draw ()
 the function that draw the widget
virtual void get_value_of_interest ()
 A pure virtual method that results in the transfer of the displayed values of the displayed model to the widget.
 WidgetHorizontalBargraph (ModelBargraph *bargraph_model, GraphicDisplayDevice *graphic_display_screen, struct_ConfigGraphicWidget graph_cfg, CanvasFormat format, uint8_t bar_spacing=1)
 Construct a new Widget Horizontal Bargraph object.
 ~WidgetHorizontalBargraph ()
 Destroy the GraphicWidget Horizontal Bargraph object.
Public Member Functions inherited from GraphicWidget
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.
virtual ~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 ;
Public Member Functions inherited from Widget
 Widget (Model *actual_displayed_model, DisplayDevice *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.

Protected Attributes

std::vector< int > values
 the set of values for the bargraph
uint8_t number_of_bar
 number of values in the bargraph
Protected Attributes inherited from GraphicWidget
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
Protected Attributes inherited from Widget
Modelactual_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.

Private Member Functions

uint8_t convert_level_value_to_px (int level)
 the value to pixel x-coordinate converter
void draw_bar (uint8_t bin_index)
 the function that draw a bar in the widget

Private Attributes

uint8_t bar_spacing
 the number of pixel that separates each bar (usually 1 pixel)
uint8_t bar_height
 the computed height of each bar, according to the widget height, the number of bar and the space between bars
uint8_t bar_width
 the computed bar width. Usually the widget width.
uint8_t px_max
 the computed equivalent of max level value of the bar in x-coordinate
uint8_t px_min
 the computed equivalent of min level value of the bar in x-coordinate
float level_coef
 the computed proportional coeficient of the value to pixel converter
int level_offset
 the computed offset of the value to pixel converter

Additional Inherited Members

Public Attributes inherited from GraphicWidget
Canvascanvas
 the associated canvas in which the widget writes text and draws graphics
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
Public Attributes inherited from Widget
DisplayDevicedisplay_device {nullptr}
 the display device where the attached to the frame buffer
Protected Member Functions inherited from GraphicWidget
void clear_widget ()
 fill the graphic pixel buffer with 0x00.

Detailed Description

the widget that display an horizontal bargraph

Constructor & Destructor Documentation

◆ WidgetHorizontalBargraph()

WidgetHorizontalBargraph::WidgetHorizontalBargraph ( ModelBargraph * bargraph_model,
GraphicDisplayDevice * graphic_display_screen,
struct_ConfigGraphicWidget graph_cfg,
CanvasFormat format,
uint8_t bar_spacing = 1 )

Construct a new Widget Horizontal Bargraph object.

Parameters
bargraph_modela pointer to the mactual displayed model
graphic_display_screena pointer to the display device on which the widget is drawn
graph_cfgthe configuration data structure of the graphic framebuffer
formatthe format of the associated canvas
bar_spacingthe number of pixel between each bar. Default to 1.
Here is the call graph for this function:

Member Function Documentation

◆ convert_level_value_to_px()

uint8_t WidgetHorizontalBargraph::convert_level_value_to_px ( int level)
private

the value to pixel x-coordinate converter

Parameters
levelthe input value
Returns
the x-coordinate
Here is the caller graph for this function:

◆ draw()

void WidgetHorizontalBargraph::draw ( )
virtual

the function that draw the widget

Implements Widget.

Here is the call graph for this function:

◆ draw_bar()

void WidgetHorizontalBargraph::draw_bar ( uint8_t bin_index)
private

the function that draw a bar in the widget

Parameters
bin_indexthe rank of the bar
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_value_of_interest()

void WidgetHorizontalBargraph::get_value_of_interest ( )
virtual

A pure virtual method that results in the transfer of the displayed values of the displayed model to the widget.

Implements GraphicWidget.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: