Tucano
0.1
A library for rapid prototyping with modern OpenGL and GLSL
|
Base class for all GUI elements (buttons, sliders ...) More...
#include <element.hpp>
Public Member Functions | |
Element (void) | |
Default constructor. More... | |
Eigen::Vector2i | getDimensions (void) |
Returns the element's dimensions. More... | |
Eigen::Vector2i | getPosition (void) |
Returns coordinates of elements top left corner. More... | |
void | setDimensions (const Eigen::Vector2i &dim) |
Sets the button dimensions. More... | |
void | setDimensions (int w, int h) |
Sets the button dimensions. More... | |
virtual void | setDimensionsFromHeight (int h) |
Sets the width proportinal to given height Uses texture dimensions as parameter, it must be already set. More... | |
virtual void | setTexture (string file) |
Loads the button texture file. More... | |
virtual void | setAltTexture (string file) |
Loads the button texture file. More... | |
virtual void | setModelMatrix (void) |
Sets the element model matrix. More... | |
void | setPosition (const Eigen::Vector2i &pos) |
Sets the button top left position. More... | |
void | setPosition (int x, int y) |
Sets the button top left position. More... | |
bool | isInside (int x, int y) |
Overloads the isInside method. Queries if a point is inside the button. More... | |
virtual bool | isInside (const Eigen::Vector2i &pos) |
Returns if a point is inside the element controller. More... | |
virtual void | release (void) |
Set behavior when mouse is released after clicking this element. More... | |
virtual void | cursorMove (int x, int y) |
Set behavior when mouse is released after clicking this element. More... | |
virtual int | getType (void) |
Returns the element type. More... | |
virtual void | render (Camera &camera_2d, Shader &shader) |
virtual void | setCallback (function< void()> f) |
virtual void | setCallback1i (function< void(int) > f) |
Sets the callback from an method. More... | |
virtual void | setCallback1f (function< void(float) > f) |
Sets the callback from an method. More... | |
virtual void | callback (void) |
Callback with no parameters. More... | |
virtual void | callback (int p) |
Callback with 1 integer. More... | |
virtual void | callback (float p) |
Callback with 1 integer. More... | |
void | show (void) |
Shows element. More... | |
void | hide (void) |
Hides element. More... | |
void | toggleDisplay (void) |
Toggles show/hide flag. More... | |
bool | isVisible (void) |
Return whether element is visible or not. More... | |
Protected Attributes | |
int | element_type = Tucano::GUI::NONE |
Type of element. More... | |
int | num_params = 0 |
Number of parameters for the callback. More... | |
Eigen::Affine3f | model_matrix |
Model Matrix for placing element. More... | |
Eigen::Vector2i | dimensions |
Dimensions in pixels. More... | |
Eigen::Vector2i | position |
Position of top-left corner in pixels. More... | |
Shapes::Quad | quad |
Quad to hold texture. More... | |
Tucano::Texture | texture |
Element texture. More... | |
Tucano::Texture | texture_alt |
Alternative texture (for example, on/off buttons) More... | |
Tucano::Texture | texture_alt2 |
2nd Alternative texture (for example, hover on) More... | |
bool | has_alt_texture = 0 |
Flag to define if element has alt texture. More... | |
bool | has_alt_texture2 = 0 |
Flag to define if element has second alt texture. More... | |
Eigen::Vector4f | color = Eigen::Vector4f (1.0, 1.0, 1.0, 1.0) |
Color. More... | |
function< void() > | callback_noparam |
function< void(int) > | callback_1i |
function< void(float) > | callback_1f |
bool | visible = true |
Flag to show/hide element. More... | |
bool | hover = false |
Flag to enable/disable hover on functionality. More... | |
Base class for all GUI elements (buttons, sliders ...)
This class contain the basic callback interface
|
inline |
Default constructor.
|
inlinevirtual |
Callback with no parameters.
|
inlinevirtual |
Callback with 1 integer.
|
inlinevirtual |
Callback with 1 integer.
|
inlinevirtual |
Set behavior when mouse is released after clicking this element.
x | X position of cursor |
y | Y position of cursor |
Reimplemented in Tucano::GUI::Slider.
|
inline |
Returns the element's dimensions.
|
inline |
Returns coordinates of elements top left corner.
|
inlinevirtual |
Returns the element type.
Reimplemented in Tucano::GUI::Slider, Tucano::GUI::SelectButton, Tucano::GUI::GroupBox, Tucano::GUI::Button, Tucano::GUI::SelectGroup, and Tucano::GUI::Label.
|
inline |
Hides element.
|
inline |
Overloads the isInside method. Queries if a point is inside the button.
x | X position of query point |
y | Y position of query point |
|
inlinevirtual |
Returns if a point is inside the element controller.
pos | Screen position |
Reimplemented in Tucano::GUI::Slider.
|
inline |
Return whether element is visible or not.
|
inlinevirtual |
Set behavior when mouse is released after clicking this element.
Reimplemented in Tucano::GUI::Slider.
Reimplemented in Tucano::GUI::Slider, Tucano::GUI::SelectButton, Tucano::GUI::SelectGroup, and Tucano::GUI::GroupBox.
|
inlinevirtual |
Loads the button texture file.
file | Texture path |
|
inlinevirtual |
|
inlinevirtual |
Sets the callback from an method.
|
inlinevirtual |
Sets the callback from an method.
|
inline |
Sets the button dimensions.
dim | New button dimensions |
|
inline |
Sets the button dimensions.
w | New button width |
h | New button height |
|
inlinevirtual |
Sets the width proportinal to given height Uses texture dimensions as parameter, it must be already set.
s | Given height |
|
inlinevirtual |
Sets the element model matrix.
Reimplemented in Tucano::GUI::Slider.
|
inline |
Sets the button top left position.
pos | New button position |
|
inline |
Sets the button top left position.
x | New button x position |
y | New button y position |
|
inlinevirtual |
|
inline |
Shows element.
|
inline |
Toggles show/hide flag.
|
protected |
|
protected |
|
protected |
|
protected |
Color.
|
protected |
Dimensions in pixels.
|
protected |
Type of element.
|
protected |
Flag to define if element has alt texture.
|
protected |
Flag to define if element has second alt texture.
|
protected |
Flag to enable/disable hover on functionality.
|
protected |
Model Matrix for placing element.
|
protected |
Number of parameters for the callback.
|
protected |
Position of top-left corner in pixels.
|
protected |
Quad to hold texture.
|
protected |
Element texture.
|
protected |
Alternative texture (for example, on/off buttons)
|
protected |
2nd Alternative texture (for example, hover on)
|
protected |
Flag to show/hide element.