|
BuGUI
BUtton Grid User Interface
|
Ensures that buttons labeled Shift are registered on press and can be queried with Shift_held, event if on_Shift is not defined by the user. More...
#include <ctrlr_shifter.hpp>
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_widget * | get_parent () const |
| Retrieves the parent widget. | |
| base_controller * | get_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 point & | get_top_left () const |
| const point & | get_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_hardware > | hdw |
| 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_widget * | parent {nullptr} |
| base_controller * | root {nullptr} |
Ensures that buttons labeled Shift are registered on press and can be queried with Shift_held, event if on_Shift is not defined by the user.