Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::glui::RangeSlider Class Reference

glui::element representing a range slider, the label is positioned to the right. If the flipped flag is set, the range slider uses the inverted range, i.e. the positions of the min/max values are swapped. More...

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

Inheritance diagram for inviwo::glui::RangeSlider:

Public Member Functions

const ivec2 & get () const
virtual std::string_view getClassIdentifier () const override
bool getFlipped () const
double getHandleWidth () const
int getMaxValue () const
int getMinSeparation () const
int getMinValue () const
bool getShowGroove () const
 RangeSlider (const std::string &label, const ivec2 &value, int minValue, int maxValue, int minSeparation, Processor &processor, Renderer &uiRenderer, const ivec2 &extent=ivec2(100, 24), UIOrientation orientation=UIOrientation::Horizontal)
void set (const ivec2 &value)
void set (const ivec2 &value, int minValue, int maxValue, int minSeparation)
void setEnd (int stop)
void setFlipped (bool flipped)
void setMinSeparation (int sep)
void setShowGroove (bool show)
void setStart (int start)
Public Member Functions inherited from inviwo::glui::Element
 Element (const std::string &label, Processor &processor, Renderer &uiRenderer, UIOrientation orientation=UIOrientation::Horizontal)
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 (const std::string &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

Static Public Attributes

static constexpr std::string_view classIdentifier {"org.inviwo.glui.RangeSlider"}

Protected Member Functions

double convertDeltaToSlider (dvec2 delta) const
 transform mouse movements from pixel to normalized slider range while also considering the slider orientation
const ivec2 & getPreviousValue () const
virtual void renderWidget (const ivec2 &origin, const size2_t &canvasDim) 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
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

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)
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)

Detailed Description

glui::element representing a range slider, the label is positioned to the right. If the flipped flag is set, the range slider uses the inverted range, i.e. the positions of the min/max values are swapped.

Member Function Documentation

◆ convertDeltaToSlider()

double inviwo::glui::RangeSlider::convertDeltaToSlider ( dvec2 delta) const
protected

transform mouse movements from pixel to normalized slider range while also considering the slider orientation

Parameters
delta(in screen coords, i.e. pixel)
Returns
delta movement normalized to slider range

◆ getClassIdentifier()

virtual std::string_view inviwo::glui::RangeSlider::getClassIdentifier ( ) const
overridevirtual

Implements inviwo::glui::Element.

◆ renderWidget()

virtual void inviwo::glui::RangeSlider::renderWidget ( const ivec2 & origin,
const size2_t & canvasDim )
overrideprotectedvirtual

Implements inviwo::glui::Element.


The documentation for this class was generated from the following file:
  • modules/userinterfacegl/include/modules/userinterfacegl/glui/widgets/rangeslider.h