Magnum::Ui::ScrollArea class new in Git master

Scroll area widget.

Base classes

template<class UserInterface>
class BasicWidget<UserInterface> new in Git master
Templated abstract base for stateful widgets.

Constructors, destructors, conversion operators

ScrollArea(Anchor anchor, ScrollAreaFlags flags = {}) explicit
Constructor.
ScrollArea(NoCreateT) explicit
Construct with no underlying node.

Public functions

auto flags() const -> ScrollAreaFlags
Flags.
auto scrollPercentage() const -> Vector2
Horizontal and vertical scroll percentage.
auto scrollToPercentageX(Float percentage) -> ScrollArea&
Scroll horizontally to given percentage.
auto scrollToPercentageY(Float percentage) -> ScrollArea&
Scroll vertically to given percentage.
auto scrollToPercentage(const Vector2& percentage) -> ScrollArea&
Scroll to given percentage.
auto contents() const -> Anchor
Contents.
auto viewNode() const -> NodeHandle
View node.
auto contentsNode() const -> NodeHandle
Contents node.
auto scrollbarXNode() const -> NodeHandle
Horizontal scrollbar node or NodeHandle::Null.
auto scrollbarThumbXNode() const -> NodeHandle
Horizontal scrollbar thumb node or NodeHandle::Null.
auto scrollbarYNode() const -> NodeHandle
Vertical scrollbar node or NodeHandle::Null.
auto scrollbarThumbYNode() const -> NodeHandle
Vertical scrollbar thumb node or NodeHandle::Null.
auto scrollXStorage() const -> StorageHandle
Scroll X data storage or StorageHandle::Null.
auto scrollYStorage() const -> StorageHandle
Scroll Y data storage or StorageHandle::Null.

Function documentation

Magnum::Ui::ScrollArea::ScrollArea(Anchor anchor, ScrollAreaFlags flags = {}) explicit

Constructor.

Parameters
anchor Positioning anchor
flags Scroll area flags

Magnum::Ui::ScrollArea::ScrollArea(NoCreateT) explicit

Construct with no underlying node.

The instance is equivalent to a moved-out state, i.e. not usable for anything. Move another instance over it to make it useful.

ScrollAreaFlags Magnum::Ui::ScrollArea::flags() const

Flags.

Note that unlike with other widgets it's not possible to change the flags after construction.

Vector2 Magnum::Ui::ScrollArea::scrollPercentage() const

Horizontal and vertical scroll percentage.

Guaranteed to be between 0.0f and 100.0f in both directions. If either ScrollAreaFlag::OnlyX or OnlyY is enabled, given component is 0.0f.

ScrollArea& Magnum::Ui::ScrollArea::scrollToPercentageX(Float percentage)

Scroll horizontally to given percentage.

Returns Reference to self (for method chaining)

The percentage is clamped to a $ [0, 100] $ range. If ScrollAreaFlag::OnlyY is enabled or AbstractUserInterface::update() or draw() wasn't called yet to layout the contents, the function is a no-op.

ScrollArea& Magnum::Ui::ScrollArea::scrollToPercentageY(Float percentage)

Scroll vertically to given percentage.

Returns Reference to self (for method chaining)

The percentage is clamped to a $ [0, 100] $ range. If ScrollAreaFlag::OnlyX is enabled or AbstractUserInterface::update() or draw() wasn't called yet to layout the contents, the function is a no-op.

ScrollArea& Magnum::Ui::ScrollArea::scrollToPercentage(const Vector2& percentage)

Scroll to given percentage.

Returns Reference to self (for method chaining)

Equivalent to calling scrollToPercentageX() and scrollToPercentageY() with components of percentage.

Anchor Magnum::Ui::ScrollArea::contents() const

Contents.

Use the returned anchor to put widgets inside the scroll area.

NodeHandle Magnum::Ui::ScrollArea::viewNode() const

View node.

Exposed mainly for testing purposes, not meant to be modified directly. Use contents() for placing widgets inside.

NodeHandle Magnum::Ui::ScrollArea::contentsNode() const

Contents node.

Exposed mainly for testing purposes, not meant to be modified directly. Use contents() for placing widgets inside.

NodeHandle Magnum::Ui::ScrollArea::scrollbarXNode() const

Horizontal scrollbar node or NodeHandle::Null.

Exposed mainly for testing purposes, not meant to be modified directly.

NodeHandle Magnum::Ui::ScrollArea::scrollbarThumbXNode() const

Horizontal scrollbar thumb node or NodeHandle::Null.

Exposed mainly for testing purposes, not meant to be modified directly.

NodeHandle Magnum::Ui::ScrollArea::scrollbarYNode() const

Vertical scrollbar node or NodeHandle::Null.

Exposed mainly for testing purposes, not meant to be modified directly.

NodeHandle Magnum::Ui::ScrollArea::scrollbarThumbYNode() const

Vertical scrollbar thumb node or NodeHandle::Null.

Exposed mainly for testing purposes, not meant to be modified directly.

StorageHandle Magnum::Ui::ScrollArea::scrollXStorage() const

Scroll X data storage or StorageHandle::Null.

Exposed mainly for testing purposes, not meant to be modified directly.

StorageHandle Magnum::Ui::ScrollArea::scrollYStorage() const

Scroll Y data storage or StorageHandle::Null.

Exposed mainly for testing purposes, not meant to be modified directly.