graphical UI element for use in combination with Layout  
 More...
#include <element.h>
|  | 
| enum class | UIState { Normal
, Pressed
, Checked
 } | 
|  | 
| virtual std::string_view | 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 
 | 
| const ivec2 & | getWidgetExtent () const | 
| void | setWidgetExtentScaled (const ivec2 &extent) | 
|  | sets the extent of the widget 
 | 
| ivec2 | getWidgetExtentScaled () const | 
|  | returns the true widget extent including scaling 
 | 
| const ivec2 & | getExtent () | 
|  | return extent of the element, including both widget and label, and considering scaling 
 | 
| void | render (const ivec2 &origin, const size2_t &canvasDim) | 
|  | render the widget and its label at the given position 
 | 
| 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. 
 | 
| 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. 
 | 
| bool | moveAction (const dvec2 &delta) | 
|  | gets called on mouse move events 
 | 
| 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 
 | 
| 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 
 | 
|  | 
| 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 file: