graphical UI element for use in combination with Layout
More...
#include <element.h>
|
| enum | UIState { Normal,
Pressed,
Checked
} |
| |
|
|
virtual std::string | getClassIdentifier () const =0 |
| |
|
| Element (const std::string &label, Processor &processor, Renderer &uiRenderer, UIOrientation orientation=UIOrientation::Horizontal) |
| |
|
void | setVisible (bool visible=true) |
| |
|
bool | isVisible () const |
| |
|
void | setEnabled (bool enable=true) |
| |
|
bool | isEnabled () const |
| |
|
void | setLabel (const std::string &str) |
| |
|
const std::string & | getLabel () const |
| |
|
void | setFontSize (int size) |
| |
|
int | getFontSize () const |
| |
|
void | setLabelBold (bool bold) |
| |
|
bool | isLabelBold () const |
| |
|
void | setLabelVisible (bool visible=true) |
| |
|
bool | isLabelVisible () const |
| |
|
void | setScalingFactor (double factor) |
| |
|
double | getScalingFactor () const |
| |
|
void | setOrientation (UIOrientation orientation) |
| |
|
UIOrientation | getOrientation () const |
| |
|
bool | isDirty () const |
| |
| void | setWidgetExtent (const ivec2 &extent) |
| | sets the extent of the widget More...
|
| |
|
const ivec2 & | getWidgetExtent () const |
| |
| void | setWidgetExtentScaled (const ivec2 &extent) |
| | sets the extent of the widget More...
|
| |
| ivec2 | getWidgetExtentScaled () const |
| | returns the true widget extent including scaling More...
|
| |
| const ivec2 & | getExtent () |
| | return extent of the element, including both widget and label, and considering scaling More...
|
| |
| void | render (const ivec2 &origin, const size2_t &canvasDim) |
| | render the widget and its label at the given position More...
|
| |
|
void | setHoverState (bool enable) |
| |
|
bool | isHovered () const |
| |
|
void | setPushedState (bool pushed) |
| |
|
bool | isPushed () const |
| |
|
void | setChecked (bool checked) |
| |
|
bool | isChecked () const |
| |
|
void | setAction (const std::function< void()> &action) |
| | sets the callback action when the user releases the mouse button
|
| |
| void | setPickingEventAction (std::function< void(PickingEvent *e)> pickingAction) |
| |
|
| void | triggerAction () |
| | updates the UI state and triggers the callback action set by setAction(). This function is called when the user releases the mouse button. More...
|
| |
| void | setMouseMoveAction (const std::function< bool(const dvec2 &)> &action) |
| | set callback function for handling mouse movements based on a delta position. This callback gets called on mouse move events. More...
|
| |
| bool | moveAction (const dvec2 &delta) |
| | gets called on mouse move events More...
|
| |
|
void | updateExtent () |
| |
|
void | updateLabelPos () |
| |
|
void | updateLabel () |
| |
|
virtual ivec2 | computeLabelPos (int descent) const =0 |
| |
|
virtual UIState | uiState () const |
| |
|
virtual vec2 | marginScale () const |
| |
| virtual void | updateState () |
| | is called before the action is triggered to update the internal UI state More...
|
| |
|
virtual void | pushStateChanged () |
| | It is called by setPushState after the internal push state has been updated.
|
| |
|
virtual void | renderWidget (const ivec2 &origin, const size2_t &canvasDim)=0 |
| |
|
void | renderLabel (const ivec2 &origin, const size2_t &canvasDim) |
| |
|
void | handlePickingEvent (PickingEvent *e) |
| |
| TextRenderer & | getCurrentTextRenderer () const |
| | set up text renderer for rendering the label using current settings, i.e. font size, widget scaling, and whether it should be rendered bold More...
|
| |
|
|
static vec4 | adjustColor (const vec4 &color) |
| |
|
|
std::function< void()> | action_ |
| |
|
std::function< bool(const dvec2 &)> | moveAction_ |
| | is called by mouseMoved()
|
| |
|
std::function< void(PickingEvent *e)> | pickingAction_ |
| |
|
bool | hovered_ |
| |
|
bool | pushed_ |
| |
|
bool | checked_ |
| |
|
bool | visible_ |
| |
|
bool | enabled_ |
| |
|
bool | boldLabel_ |
| |
|
bool | labelVisible_ |
| |
|
int | labelFontSize_ |
| |
|
UIOrientation | orientation_ |
| |
|
ivec2 | extent_ = ivec2(0) |
| |
|
ivec2 | widgetPos_ = ivec2(0) |
| |
|
ivec2 | widgetExtent_ = ivec2(0) |
| |
|
ivec2 | labelPos_ = ivec2(0) |
| |
|
ivec2 | labelExtent_ = ivec2(0) |
| |
|
double | scalingFactor_ |
| |
|
std::string | labelStr_ |
| |
|
bool | labelDirty_ |
| |
|
std::shared_ptr< Texture2D > | labelTexture_ |
| |
|
Processor * | processor_ |
| |
|
Renderer * | uiRenderer_ |
| |
|
PickingMapper | pickingMapper_ |
| |
|
size_t | currentPickingID_ |
| |
graphical UI element for use in combination with Layout
Layout of a UI element: extent +-------------------------------------------------—+ | | | widgetExtent | | +-------—+ labelExtent | | | rendered | +--------------—+ | | | textures | | label | | | | + | +--------------—+ | | | picking | labelPos | | +-------—+ | | widgetPos | | | +-------------------------------------------------—+ (0,0)
- See also
- Layout, Renderer
◆ getCurrentTextRenderer()
| TextRenderer & inviwo::glui::Element::getCurrentTextRenderer |
( |
| ) |
const |
|
protected |
set up text renderer for rendering the label using current settings, i.e. font size, widget scaling, and whether it should be rendered bold
- Returns
- reference to the set-up text renderer
◆ getExtent()
| const ivec2 & inviwo::glui::Element::getExtent |
( |
| ) |
|
return extent of the element, including both widget and label, and considering scaling
- Returns
- total element extent
◆ getWidgetExtentScaled()
| ivec2 inviwo::glui::Element::getWidgetExtentScaled |
( |
| ) |
const |
returns the true widget extent including scaling
- Returns
- widget extent
◆ moveAction()
| bool inviwo::glui::Element::moveAction |
( |
const dvec2 & |
delta | ) |
|
|
protected |
gets called on mouse move events
- Parameters
-
| delta | delta mouse position in screen coord, i.e. pixels, relative to pressed position |
- Returns
- true if the movement triggers an update of the element
◆ render()
| void inviwo::glui::Element::render |
( |
const ivec2 & |
origin, |
|
|
const size2_t & |
canvasDim |
|
) |
| |
render the widget and its label at the given position
- Parameters
-
| origin | defines the lower left corner where the widget is positioned |
| canvasDim | dimensions of the output canvas |
◆ setMouseMoveAction()
| void inviwo::glui::Element::setMouseMoveAction |
( |
const std::function< bool(const dvec2 &)> & |
action | ) |
|
|
protected |
set callback function for handling mouse movements based on a delta position. This callback gets called on mouse move events.
- Parameters
-
| action | function taking one argument (2D delta position in screen coords) returning true if the movement triggers an update of the element |
◆ setPickingEventAction()
| void inviwo::glui::Element::setPickingEventAction |
( |
std::function< void(PickingEvent *e)> |
pickingAction | ) |
|
Sets a callback function for picking events to enable custom behaviors This function is called (if set) in the picking event handling after the internal event handling is done.
◆ setWidgetExtent()
| void inviwo::glui::Element::setWidgetExtent |
( |
const ivec2 & |
extent | ) |
|
sets the extent of the widget
- Parameters
-
| extent | new extent of the widget |
◆ setWidgetExtentScaled()
| void inviwo::glui::Element::setWidgetExtentScaled |
( |
const ivec2 & |
extent | ) |
|
sets the extent of the widget
- Parameters
-
| extent | new extent of the widget (including scaling) |
◆ triggerAction()
| void inviwo::glui::Element::triggerAction |
( |
| ) |
|
|
protected |
updates the UI state and triggers the callback action set by setAction(). This function is called when the user releases the mouse button.
- See also
- setAction
◆ updateState()
| virtual void inviwo::glui::Element::updateState |
( |
| ) |
|
|
inlineprotectedvirtual |
The documentation for this class was generated from the following files: