Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::glui::AbstractButton Class Referenceabstract

glui::Element representing a generic button More...

#include <modules/userinterfacegl/glui/widgets/abstractbutton.h>

+ Inheritance diagram for inviwo::glui::AbstractButton:

Public Member Functions

 AbstractButton (std::string_view label, Processor &processor, Renderer &uiRenderer, const ivec2 &extent=ivec2(100, 24))
 
- Public Member Functions inherited from inviwo::glui::Element
 Element (std::string_view label, Processor &processor, Renderer &uiRenderer, UIOrientation orientation=UIOrientation::Horizontal)
 
virtual std::string_view getClassIdentifier () const =0
 
const ivec2 & getExtent ()
 return extent of the element, including both widget and label, and considering scaling
 
int getFontSize () const
 
const std::string & getLabel () const
 
UIOrientation getOrientation () const
 
double getScalingFactor () const
 
const ivec2 & getWidgetExtent () const
 
ivec2 getWidgetExtentScaled () const
 returns the true widget extent including scaling
 
bool isChecked () const
 
bool isDirty () const
 
bool isEnabled () const
 
bool isHovered () const
 
bool isLabelBold () const
 
bool isLabelVisible () const
 
bool isPushed () const
 
bool isVisible () const
 
void render (const ivec2 &origin, const size2_t &canvasDim)
 render the widget and its label at the given position
 
void setAction (const std::function< void()> &action)
 sets the callback action when the user releases the mouse button
 
void setChecked (bool checked)
 
void setEnabled (bool enable=true)
 
void setFontSize (int size)
 
void setHoverState (bool enable)
 
void setLabel (std::string_view str)
 
void setLabelBold (bool bold)
 
void setLabelVisible (bool visible=true)
 
void setOrientation (UIOrientation orientation)
 
void setPickingEventAction (std::function< void(PickingEvent *e)> pickingAction)
 
void setPushedState (bool pushed)
 
void setScalingFactor (double factor)
 
void setVisible (bool visible=true)
 
void setWidgetExtent (const ivec2 &extent)
 sets the extent of the widget
 
void setWidgetExtentScaled (const ivec2 &extent)
 sets the extent of the widget
 

Protected Member Functions

virtual ivec2 computeLabelPos (int descent) const override
 
virtual vec2 marginScale () const override
 
virtual void renderWidget (const ivec2 &origin, const size2_t &canvasDim) override=0
 
virtual UIState uiState () const override
 
- Protected Member Functions inherited from inviwo::glui::Element
TextRenderergetCurrentTextRenderer () 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
 
void handlePickingEvent (PickingEvent *e)
 
bool moveAction (const dvec2 &delta)
 gets called on mouse move events
 
virtual void pushStateChanged ()
 It is called by setPushState after the internal push state has been updated.
 
void renderLabel (const ivec2 &origin, const size2_t &canvasDim)
 
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.
 
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 updateExtent ()
 
void updateLabel ()
 
void updateLabelPos ()
 
virtual void updateState ()
 is called before the action is triggered to update the internal UI state
 

Protected Attributes

std::array< int, 9 > uiTextureMap_
 
Texture2DArrayuiTextures_
 
- Protected Attributes inherited from inviwo::glui::Element
std::function< void()> action_
 
bool boldLabel_
 
bool checked_
 
size_t currentPickingID_
 
bool enabled_
 
ivec2 extent_ = ivec2(0)
 
bool hovered_
 
bool labelDirty_
 
ivec2 labelExtent_ = ivec2(0)
 
int labelFontSize_
 
ivec2 labelPos_ = ivec2(0)
 
std::string labelStr_
 
std::shared_ptr< Texture2DlabelTexture_
 
bool labelVisible_
 
std::function< bool(const dvec2 &) moveAction_ )
 is called by mouseMoved()
 
UIOrientation orientation_
 
std::function< void(PickingEvent *e) pickingAction_ )
 
PickingMapper pickingMapper_
 
Processorprocessor_
 
bool pushed_
 
double scalingFactor_
 
RendereruiRenderer_
 
bool visible_
 
ivec2 widgetExtent_ = ivec2(0)
 
ivec2 widgetPos_ = ivec2(0)
 

Additional Inherited Members

- Public Types inherited from inviwo::glui::Element
enum class  UIState { Normal , Pressed , Checked }
 
- Static Protected Member Functions inherited from inviwo::glui::Element
static vec4 adjustColor (const vec4 &color)
 

Detailed Description

glui::Element representing a generic button

Member Function Documentation

◆ computeLabelPos()

virtual ivec2 inviwo::glui::AbstractButton::computeLabelPos ( int descent) const
overrideprotectedvirtual

Implements inviwo::glui::Element.

◆ marginScale()

virtual vec2 inviwo::glui::AbstractButton::marginScale ( ) const
overrideprotectedvirtual

Reimplemented from inviwo::glui::Element.

◆ renderWidget()

virtual void inviwo::glui::AbstractButton::renderWidget ( const ivec2 & origin,
const size2_t & canvasDim )
overrideprotectedpure virtual

Implements inviwo::glui::Element.

◆ uiState()

virtual UIState inviwo::glui::AbstractButton::uiState ( ) const
overrideprotectedvirtual

Reimplemented from inviwo::glui::Element.


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