class ffw::GuiSlider
Class List > ffw :: GuiSlider
Create a slider widget. More...
Inherits the following classes: ffw::GuiWidget
Inherited by the following classes: ffw::GuiScrollBar::Scroll
Classes
Type | Name |
---|---|
struct | Style |
Protected Attributes
Type | Name |
---|---|
const GuiWidget::Style * | styleButton |
const GuiWidget::Style * | styleBar |
Point< GuiUnits > | buttonSize |
Point< GuiUnits > | barSize |
Public Functions
Type | Name |
---|---|
GuiSlider (GuiWindow * context, bool vertical) | |
virtual | ~GuiSlider () = default |
bool | isVertical () const |
void | setValue (float val) |
float | getValue () const |
void | setBarSize (const Point< GuiUnits > & s) |
const Point< GuiUnits > & | getBarSize () const |
const ffw::Pointf & | getRange () const |
void | setRange (float min, float max) |
void | setButtonSize (const Point< GuiUnits > & s) |
const Point< GuiUnits > & | getButtonSize () const |
void | setInversed (bool inversed) |
bool | getInversed () const |
virtual ffw::Pointf | getMinimumWrapSize () override |
void | setBarStyleGroup (const GuiWidget::Style * style) |
const GuiWidget::Style * | getBarStyleGroup () const |
void | setButtonStyleGroup (const GuiWidget::Style * style) |
const GuiWidget::Style * | getButtonStyleGroup () const |
void | setStyle (const GuiSlider::Style * style, bool defaults = false) |
Detailed Description
auto gui = ffw::GuiWindowNanoVG(nvg);
auto root = gui.getLayout();
// To make it vertical, change the second parameter to true
auto slider = new ffw::GuiSlider(&gui, false);
slider->setSize(ffw::guiPercent(100.0f), ffw::guiPixels(30.0f));
slider->setRange(50.0f, 100.0f);
slider->setValue(75.0f); // The scroll button will be in the middle
auto value = slider->getValue(); // Returns 75.0f
slider->addEventCallback([](ffw::GuiEvent e) {
// The value is between the 50.0 and 100.0 range
std::cout << "Value changed: " << e.data.action.value << std::endl;
}, ffw::GuiEventType::ACTION);
root->addWidget(slider);
// Do not free the created widgets! They will be deleted by the gui window!
while(true){
// Render the gui
}
Protected Attributes Documentation
variable styleButton
const GuiWidget::Style* ffw::GuiSlider::styleButton;
variable styleBar
const GuiWidget::Style* ffw::GuiSlider::styleBar;
variable buttonSize
Point<GuiUnits> ffw::GuiSlider::buttonSize;
variable barSize
Point<GuiUnits> ffw::GuiSlider::barSize;
Public Functions Documentation
function GuiSlider
ffw::GuiSlider::GuiSlider (
GuiWindow * context,
bool vertical
)
function ~GuiSlider
virtual ffw::GuiSlider::~GuiSlider () = default
function isVertical
bool ffw::GuiSlider::isVertical () const
function setValue
void ffw::GuiSlider::setValue (
float val
)
function getValue
float ffw::GuiSlider::getValue () const
function setBarSize
void ffw::GuiSlider::setBarSize (
const Point< GuiUnits > & s
)
function getBarSize
const Point< GuiUnits > & ffw::GuiSlider::getBarSize () const
function getRange
const ffw::Pointf & ffw::GuiSlider::getRange () const
function setRange
void ffw::GuiSlider::setRange (
float min,
float max
)
function setButtonSize
void ffw::GuiSlider::setButtonSize (
const Point< GuiUnits > & s
)
function getButtonSize
const Point< GuiUnits > & ffw::GuiSlider::getButtonSize () const
function setInversed
void ffw::GuiSlider::setInversed (
bool inversed
)
function getInversed
bool ffw::GuiSlider::getInversed () const
function getMinimumWrapSize
virtual ffw::Pointf ffw::GuiSlider::getMinimumWrapSize ()
Implements GuiWidget::getMinimumWrapSize
function setBarStyleGroup
void ffw::GuiSlider::setBarStyleGroup (
const GuiWidget::Style * style
)
function getBarStyleGroup
const GuiWidget::Style * ffw::GuiSlider::getBarStyleGroup () const
function setButtonStyleGroup
void ffw::GuiSlider::setButtonStyleGroup (
const GuiWidget::Style * style
)
function getButtonStyleGroup
const GuiWidget::Style * ffw::GuiSlider::getButtonStyleGroup () const
function setStyle
void ffw::GuiSlider::setStyle (
const GuiSlider::Style * style,
bool defaults = false
)
The documentation for this class was generated from the following file: include/ffw/gui/guislider.h