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

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

#include <abstractbutton.h>

Inheritance diagram for inviwo::glui::AbstractButton:

Public Member Functions

 AbstractButton (const std::string &label, Processor &processor, Renderer &uiRenderer, const ivec2 &extent=ivec2(100, 24))
Public Member Functions inherited from inviwo::glui::Element
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)

Protected Member Functions

virtual void renderWidget (const ivec2 &origin, const size2_t &canvasDim) override=0
virtual ivec2 computeLabelPos (int descent) const override
virtual UIState uiState () const override
virtual vec2 marginScale () const override
Protected Member Functions inherited from inviwo::glui::Element
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 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.
void renderLabel (const ivec2 &origin, const size2_t &canvasDim)
void handlePickingEvent (PickingEvent *e)
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

Protected Attributes

Texture2DArrayuiTextures_
std::array< int, 9 > uiTextureMap_
Protected Attributes inherited from inviwo::glui::Element
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< Texture2DlabelTexture_
Processorprocessor_
RendereruiRenderer_
PickingMapper pickingMapper_
size_t currentPickingID_

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:
  • abstractbutton.h