BuGUI
BUtton Grid User Interface
Loading...
Searching...
No Matches
bugui::ctrlr_shifter< T > Struct Template Reference

Basic wrapper to handle user defined on_Shift function. More...

#include <ctrlr_shifter.hpp>

Inheritance diagram for bugui::ctrlr_shifter< T >:
bugui::ctrlr_deleter< T > bugui::ctrlr_deleter< T > bugui::base_controller bugui::base_controller bugui::base_controller bugui::base_controller bugui::base_container_widget bugui::base_container_widget bugui::base_container_widget bugui::base_container_widget bugui::base_widget bugui::base_widget bugui::base_widget bugui::base_widget bugui::rectangle bugui::rectangle bugui::rectangle bugui::rectangle bugui::controller< T >

Public Member Functions

void on_Shift (auto &p)
 Empty funciton acting as a workaround, ensuring it is always defined in the controller.
Public Member Functions inherited from bugui::ctrlr_deleter< T >
 base_controller (std::unique_ptr< base_hardware > &&hardware)
void on_Delete (button_presser &p)
 Handles presses on buttons labeled Delete.
Public Member Functions inherited from bugui::base_controller
void local_repaint (base_widget *widget)
 Triggers the painting of the widget pointed to by the parameter.
double get_horizontal_scale () const noexcept
 Retrieves the horizontal scale value.
double get_vertical_scale () const noexcept
 Retrieves the vertical scale value.
bool handle_Delete () override final
Public Member Functions inherited from bugui::base_container_widget
 base_container_widget (base_container_widget *parent)
virtual void add_held (base_widget *widget)=0
virtual void remove_held (base_widget *widget)=0
virtual bool handle_child_Delete ()=0
const std::vector< base_widget * > & get_held () const
 Retrieves all held widgets, including duplicates.
std::vector< base_widget * > get_unique_held () const
 Retrieves held widgets, filtering out duplicates.
std::vector< base_widget * > get_deepest_held ()
 Retrieves all held items that do not have child held widgets i.e. the deepest held widget in the hierarchy.
void remove_widget (base_widget *widget)
 Removes a child widget.
Public Member Functions inherited from bugui::base_widget
virtual void repaint ()
 Calls for this widget to be repainted.
virtual void update ()=0
virtual void handle_painter (painter &painter) const =0
virtual bool handle_presser (presser &presser)=0
base_container_widgetget_parent () const
 Retrieves the parent widget.
base_controllerget_root () const
 Retrieves the root widget.
Public Member Functions inherited from bugui::rectangle
int get_x () const
int get_y () const
void set_x (int new_x)
void set_y (int new_y)
int get_width () const
int get_height () const
void set_width (int new_width)
void set_height (int new_height)
void set_size (int new_size)
void set (int new_x, int new_y)
void set (int new_x, int new_y, int new_width, int new_height)
const pointget_top_left () const
const pointget_bottom_right () const
void set_top_left (point &&new_top_left)
void set_bottom_right (point &&new_bottom_right)

Additional Inherited Members

Protected Member Functions inherited from bugui::base_controller
 base_controller (std::unique_ptr< base_hardware > &&hardware)
void increment_horizontal_scale (double scale_inc)
 Increments the horizontal scale value.
void increment_vertical_scale (double scale_inc)
 Increments the vertical scale value.
void set_horizontal_scale (double scale)
 Set the horizontal scale value.
void set_vetical_scale (double scale)
 Set the vertical scale value.
Protected Member Functions inherited from bugui::base_container_widget
template<typename T, typename ... Args>
requires std::derived_from<T, base_widget>
base_widget * add_widget (Args &...args)
 Create and add a child widget.
template<typename T, typename ... Args>
requires std::derived_from<T, base_widget>
base_widget * add_widget (Args &&...args)
 Create and add a child widget.
template<class Pred>
requires (!std::derived_from<std::remove_pointer_t<Pred> , base_widget>)
base_widget * remove_widget (Pred pred)
 Removes a child widget.
Protected Member Functions inherited from bugui::base_widget
 base_widget (base_container_widget *parent)
Protected Member Functions inherited from bugui::rectangle
virtual bool overlap (rectangle &other) const
 Checks whether this rectangle overlaps with another. This funciton is the bassis for handling inputs on the grid. The presser object also inherits from rectangle, and this function is called to check if a press event overlaps with a widget. If so, we can determine that this particular widget is pressed. Custom widgets can override this funciton for a more fine grained handling of presses.
Protected Attributes inherited from bugui::base_controller
std::unique_ptr< base_hardwarehdw
painter paint
Protected Attributes inherited from bugui::base_container_widget
std::vector< base_widget * > held
std::vector< std::unique_ptr< base_widget > > children
Protected Attributes inherited from bugui::base_widget
base_container_widgetparent {nullptr}
base_controllerroot {nullptr}

Detailed Description

template<has_Shift T>
struct bugui::ctrlr_shifter< T >

Basic wrapper to handle user defined on_Shift function.


The documentation for this struct was generated from the following file: