|
| ScrollbarChildWidget (Orientation orientation=Orientation::Vertical) |
| Default constructor.
|
|
bool | isMouseDownOnThumb () const |
| Returns whether the left mouse button has been pressed on top of the thumb of the scrollbar.
|
|
void | draw (BackendRenderTarget &target, RenderStates states) const override |
| Draw the widget to a render target.
|
|
| Scrollbar (const char *typeName=StaticWidgetType, bool initRenderer=true) |
|
ScrollbarRenderer * | getSharedRenderer () override |
| Returns the renderer, which gives access to functions that determine how the widget is displayed.
|
|
const ScrollbarRenderer * | getSharedRenderer () const override |
|
ScrollbarRenderer * | getRenderer () override |
| Returns the renderer, which gives access to functions that determine how the widget is displayed.
|
|
void | setSize (const Layout2d &size) override |
| Changes the size of the scrollbar.
|
|
void | setMaximum (unsigned int maximum) |
| Sets a maximum value.
|
|
unsigned int | getMaximum () const |
| Returns the maximum value.
|
|
void | setValue (unsigned int value) |
| Changes the current value.
|
|
unsigned int | getValue () const |
| Returns the current value.
|
|
void | setViewportSize (unsigned int viewport) |
| Changes the viewport size.
|
|
unsigned int | getViewportSize () const |
| Returns the viewport size.
|
|
unsigned int | getMaxValue () const |
| Returns the maximum value that can be set with the setValue function.
|
|
void | setScrollAmount (unsigned int scrollAmount) |
| Changes how much the value changes when scrolling or pressing one of the arrows of the scrollbar.
|
|
unsigned int | getScrollAmount () const |
| Returns how much the value changes when scrolling or pressing one of the arrows of the scrollbar.
|
|
void | setAutoHide (bool autoHide) |
| Changes whether the scrollbar should hide automatically or not.
|
|
bool | getAutoHide () const |
| Returns whether the scrollbar is hiding automatically or not.
|
|
void | setPolicy (Policy policy) |
| Changes when the scrollbar should be displayed.
|
|
Scrollbar::Policy | getPolicy () const |
| Returns when the scrollbar should be displayed.
|
|
bool | isShown () const |
| Returns whether the scrollbar is currently visible.
|
|
void | setVerticalScroll (bool vertical) |
| Changes whether the scrollbar lies horizontally or vertically.
|
|
bool | getVerticalScroll () const |
| Returns whether the scrollbar lies horizontally or vertically.
|
|
void | setOrientation (Orientation orientation) |
| Changes whether the scrollbar lies horizontally or vertically.
|
|
Orientation | getOrientation () const |
| Returns whether the scrollbar lies horizontally or vertically.
|
|
float | getDefaultWidth () const |
| Returns the default width of the scrollbar.
|
|
bool | canGainFocus () const override |
| Returns whether the widget can gain focus.
|
|
bool | isMouseOnWidget (Vector2f pos) const override |
| Returns whether the mouse position (which is relative to the parent widget) lies on top of the widget.
|
|
bool | leftMousePressed (Vector2f pos) override |
| Called by the parent when the left mouse button goes down on top of the widget.
|
|
void | leftMouseReleased (Vector2f pos) override |
|
void | mouseMoved (Vector2f pos) override |
|
bool | scrolled (float delta, Vector2f pos, bool touch) override |
| Called by the parent on scroll event (either from mouse wheel of from two finger scrolling on a touchscreen)
|
|
void | leftMouseButtonNoLongerDown () override |
|
void | setSize (Layout width, Layout height) |
| Changes the size of the widget.
|
|
| Widget (const char *typeName, bool initRenderer) |
|
| Widget (const Widget &) |
| Copy constructor.
|
|
| Widget (Widget &&) noexcept |
| Move constructor.
|
|
virtual | ~Widget () |
| Destructor.
|
|
Widget & | operator= (const Widget &) |
| Overload of copy assignment operator.
|
|
Widget & | operator= (Widget &&) noexcept |
| Move assignment.
|
|
void | setRenderer (std::shared_ptr< RendererData > rendererData) |
| Sets a new renderer for the widget. The renderer determines how the widget looks.
|
|
virtual void | setPosition (const Layout2d &position) |
| sets the position of the widget
|
|
void | setPosition (Layout x, Layout y) |
| Sets the position of the widget.
|
|
Vector2f | getPosition () const |
| Gets the position of the widget.
|
|
void | setSize (Layout width, Layout height) |
| Changes the size of the widget.
|
|
void | setWidth (Layout width) |
| Changes the width of the widget.
|
|
void | setHeight (Layout height) |
| Changes the height of the widget.
|
|
Vector2f | getSize () const |
| Returns the size of the widget.
|
|
virtual Vector2f | getFullSize () const |
| Returns the entire size that the widget is using.
|
|
virtual Vector2f | getAbsolutePosition (Vector2f offset={}) const |
| Get the absolute position of the widget instead of the relative position to its parent.
|
|
virtual Vector2f | getWidgetOffset () const |
| Returns the distance between the position where the widget is drawn and where the widget is placed.
|
|
void | setAutoLayout (AutoLayout layout) |
| Sets how the position is determined compared to the other widgets in the parent.
|
|
AutoLayout | getAutoLayout () const |
| Returns how the position is determined compared to the other widgets in the parent.
|
|
void | setOrigin (float x, float y) |
| Sets the origin point on which the position, scale and rotation is based.
|
|
void | setOrigin (Vector2f origin) |
| Sets the origin point on which the position, scale and rotation is based.
|
|
Vector2f | getOrigin () const |
| Returns the relative origin point on which the position, scale and rotation is based.
|
|
void | setScale (Vector2f scaleFactors) |
| Sets the scaling to be applied to the widget.
|
|
void | setScale (Vector2f scaleFactors, Vector2f origin) |
| Sets the scaling to be applied to the widget.
|
|
void | setScale (float scaleFactor) |
| Sets the scaling to be applied to the widget.
|
|
void | setScale (float scaleFactor, Vector2f origin) |
| Sets the scaling to be applied to the widget.
|
|
Vector2f | getScale () const |
| Returns the scaling to be applied to the widget.
|
|
Vector2f | getScaleOrigin () const |
| Returns the origin used for scaling.
|
|
void | setRotation (float angle) |
| Sets the rotation to be applied to the widget.
|
|
void | setRotation (float angle, Vector2f origin) |
| Sets the rotation to be applied to the widget.
|
|
float | getRotation () const |
| Returns the rotation to be applied to the widget.
|
|
Vector2f | getRotationOrigin () const |
| Returns the origin used for rotations.
|
|
void | showWithEffect (ShowEffectType type, Duration duration) |
| Shows the widget by introducing it with an animation.
|
|
void | hideWithEffect (ShowEffectType type, Duration duration) |
| Hides the widget by making it leave with an animation.
|
|
void | moveWithAnimation (Layout2d position, Duration duration) |
| Moves the widget from its current position to the given position, over a given duration.
|
|
void | resizeWithAnimation (Layout2d size, Duration duration) |
| Resizes the widget from its current size to the given size, over a given duration.
|
|
virtual void | setVisible (bool visible) |
| Shows or hides a widget.
|
|
bool | isVisible () const |
| Returns true when the widget is visible.
|
|
virtual void | setEnabled (bool enabled) |
| Enables or disables the widget.
|
|
bool | isEnabled () const |
| Returns true when the widget is enabled.
|
|
virtual void | setFocused (bool focused) |
| Focus or unfocus the widget.
|
|
bool | isFocused () const |
| Returns true when the widget is focused and false otherwise.
|
|
const String & | getWidgetType () const |
| Returns the type of the widget.
|
|
Container * | getParent () const |
| Returns a pointer to the parent widget.
|
|
BackendGui * | getParentGui () const |
| Returns a pointer to the gui to which this widget belongs.
|
|
bool | isAnimationPlaying () const |
| Returns whether there is an active animation (started with showWithEffect or hideWithEffect)
|
|
void | moveToFront () |
| Places the widget before all other widgets.
|
|
void | moveToBack () |
| Places the widget behind all other widgets.
|
|
void | setUserData (Any userData) |
| Stores some data into the widget.
|
|
template<typename DataType > |
DataType | getUserData () const |
| Returns data stored in the widget.
|
|
bool | hasUserData () const |
| Returns whether data stored in the widget.
|
|
void | setInheritedFont (const Font &font) |
| Sets the font of the widget that is used when no font is set in the renderer.
|
|
const Font & | getInheritedFont () const |
| Returns the font of the widget that is used when no font is set in the renderer.
|
|
void | setInheritedOpacity (float opacity) |
| Sets the opacity of the widget that will be multiplied with the opacity set in the renderer.
|
|
float | getInheritedOpacity () const |
| Returns the opacity of the widget that is multiplied with the opacity set in the renderer.
|
|
void | setTextSize (unsigned int size) |
| Changes the character size of text in this widget if it uses text.
|
|
unsigned int | getTextSize () const |
| Returns the character size of text in this widget.
|
|
void | setToolTip (Widget::Ptr toolTip) |
| Sets the tool tip that should be displayed when hovering over the widget.
|
|
Widget::Ptr | getToolTip () const |
| Returns the tool tip that is displayed when hovering over the widget.
|
|
void | setWidgetName (const String &name) |
| Changes the name of a widget.
|
|
String | getWidgetName () const |
| Returns the name of a widget.
|
|
void | setMouseCursor (Cursor::Type cursor) |
| Changes which mouse cursor is shown when hovering over the widget.
|
|
Cursor::Type | getMouseCursor () const |
| Returns which mouse cursor is shown when hovering over the widget.
|
|
void | setFocusable (bool focusable) |
| Changes whether a widget could be focused.
|
|
bool | isFocusable () const |
| Returns whether a widget could be focused.
|
|
void | setNavigationUp (const Widget::Ptr &widgetAbove) |
| Changes which widget should become focused when navigating upwards from this widget.
|
|
Widget::Ptr | getNavigationUp () const |
| Returns which widget would become focused when navigating upwards from this widget.
|
|
void | setNavigationDown (const Widget::Ptr &widgetBelow) |
| Changes which widget should become focused when navigating downwards from this widget.
|
|
Widget::Ptr | getNavigationDown () const |
| Returns which widget would become focused when navigating downwards from this widget.
|
|
void | setNavigationLeft (const Widget::Ptr &widgetLeft) |
| Changes which widget should become focused when navigating to the left from this widget.
|
|
Widget::Ptr | getNavigationLeft () const |
| Returns which widget would become focused when navigating to the left from this widget.
|
|
void | setNavigationRight (const Widget::Ptr &widgetRight) |
| Changes which widget should become focused when navigating to the right from this widget.
|
|
Widget::Ptr | getNavigationRight () const |
| Returns which widget would become focused when navigating to the right from this widget.
|
|
void | setIgnoreMouseEvents (bool ignore) |
| Sets whether the widget should completely ignore mouse events and let them pass to the widgets behind it.
|
|
bool | getIgnoreMouseEvents () const |
| Returns whether the widget is ignoring mouse events and letting them pass to the widgets behind it.
|
|
void | finishAllAnimations () |
| Makes all animations of the widget finish immediately.
|
|
bool | isContainer () const |
| Returns whether the widget is a container widget or not.
|
|
bool | isMouseDown () const |
| Returns whether the left mouse button has been pressed on top of the widget.
|
|
virtual void | setParent (Container *parent) |
|
virtual bool | updateTime (Duration elapsedTime) |
|
void | setAutoLayoutUpdateEnabled (bool enabled) |
|
virtual void | rightMousePressed (Vector2f pos) |
|
virtual void | rightMouseReleased (Vector2f pos) |
|
virtual void | mouseReleased (Event::MouseButton button, Vector2f pos) |
|
virtual void | keyPressed (const Event::KeyEvent &event) |
|
virtual bool | canHandleKeyPress (const Event::KeyEvent &event) |
| Called by the parent of the widget to check if keyPressed would process the event.
|
|
virtual void | textEntered (char32_t key) |
|
virtual void | mouseNoLongerOnWidget () |
|
virtual void | rightMouseButtonNoLongerDown () |
|
virtual Widget::Ptr | askToolTip (Vector2f mousePos) |
|
const Layout2d & | getPositionLayout () const |
|
const Layout2d & | getSizeLayout () const |
|
void | bindPositionLayout (Layout *layout) |
|
void | unbindPositionLayout (Layout *layout) |
|
void | bindSizeLayout (Layout *layout) |
|
void | unbindSizeLayout (Layout *layout) |
|
template<typename WidgetType > |
std::shared_ptr< const WidgetType > | cast () const |
| Downcast const widget.
|
|
template<typename WidgetType > |
std::shared_ptr< WidgetType > | cast () |
| Downcast widget.
|
|
void | rendererChangedCallback (const String &property) |
|
virtual void | updateTextSize () |
|
|
enum class | Policy { Automatic
, Always
, Never
} |
| Defines when the scrollbar shows up. More...
|
|
using | Ptr = std::shared_ptr<Scrollbar> |
| Shared widget pointer.
|
|
using | ConstPtr = std::shared_ptr<const Scrollbar> |
| Shared constant widget pointer.
|
|
using | Ptr = std::shared_ptr<Widget> |
| Shared widget pointer.
|
|
using | ConstPtr = std::shared_ptr<const Widget> |
| Shared constant widget pointer.
|
|
static Scrollbar::Ptr | create (Orientation orientation=Orientation::Vertical) |
| Creates a new scrollbar widget.
|
|
static Scrollbar::Ptr | copy (const Scrollbar::ConstPtr &scrollbar) |
| Makes a copy of another scrollbar.
|
|
SignalUInt | onValueChange = {"ValueChanged"} |
| Value of the scrollbar changed. Optional parameter: new value.
|
|
SignalVector2f | onPositionChange = {"PositionChanged"} |
| The position of the widget changed. Optional parameter: new position.
|
|
SignalVector2f | onSizeChange = {"SizeChanged"} |
| The size of the widget changed. Optional parameter: new size.
|
|
Signal | onFocus = {"Focused"} |
| The widget was focused.
|
|
Signal | onUnfocus = {"Unfocused"} |
| The widget was unfocused.
|
|
Signal | onMouseEnter = {"MouseEntered"} |
| The mouse entered the widget.
|
|
Signal | onMouseLeave = {"MouseLeft"} |
| The mouse left the widget.
|
|
SignalShowEffect | onShowEffectFinish = {"ShowEffectFinished"} |
| A show or hide effect finished. Optional parameters: effect type, new widget visibility or both.
|
|
SignalAnimationType | onAnimationFinish = {"AnimationFinished"} |
| An animation has finished.
|
|
static constexpr const char | StaticWidgetType [] = "Scrollbar" |
| Type name of the widget.
|
|
enum class | Part { Track
, Thumb
, ArrowUp
, ArrowDown
} |
|
using | SavingRenderersMap = std::map<const Widget*, std::pair<std::unique_ptr<DataIO::Node>, String>> |
|
using | LoadingRenderersMap = std::map<String, std::shared_ptr<RendererData>> |
|
void | updateSize () |
|
Signal & | getSignal (String signalName) override |
| Retrieves a signal based on its name.
|
|
void | rendererChanged (const String &property) override |
| Function called when one of the properties of the renderer is changed.
|
|
std::unique_ptr< DataIO::Node > | save (SavingRenderersMap &renderers) const override |
| Saves the widget as a tree node in order to save it to a file.
|
|
void | load (const std::unique_ptr< DataIO::Node > &node, const LoadingRenderersMap &renderers) override |
| Loads the widget from a tree of nodes.
|
|
void | updateThumbPosition () |
|
Widget::Ptr | clone () const override |
| Makes a copy of the widget if you don't know its exact type.
|
|
virtual void | mouseEnteredWidget () |
| This function is called when the mouse enters the widget.
|
|
virtual void | mouseLeftWidget () |
| This function is called when the mouse leaves the widget.
|
|
void | recalculateBoundPositionLayouts () |
| Calls recalculateValue() on each layout in m_boundPositionLayouts.
|
|
void | recalculateBoundSizeLayouts () |
| Calls recalculateValue() on each layout in m_boundSizeLayouts.
|
|
Part | m_mouseHoverOverPart = Part::Thumb |
|
bool | m_mouseDownOnThumb = false |
|
Vector2f | m_mouseDownOnThumbPos |
|
unsigned int | m_maximum = 10 |
|
unsigned int | m_value = 0 |
|
unsigned int | m_viewportSize = 1 |
|
Orientation | m_orientation = Orientation::Vertical |
|
Orientation | m_imageOrientation = Orientation::Vertical |
|
bool | m_orientationLocked = false |
|
unsigned int | m_scrollAmount = 1 |
|
Scrollbar::Policy | m_policy = Scrollbar::Policy::Automatic |
|
bool | m_mouseDownOnArrow = false |
|
bool | m_sizeSet = false |
|
std::chrono::steady_clock::time_point | m_lastSuccessfulScrollTime |
|
Vector2f | m_lastSuccessfulScrollPos |
|
FloatRect | m_track |
|
FloatRect | m_thumb |
|
FloatRect | m_arrowUp |
|
FloatRect | m_arrowDown |
|
Sprite | m_spriteTrack |
|
Sprite | m_spriteTrackHover |
|
Sprite | m_spriteThumb |
|
Sprite | m_spriteThumbHover |
|
Sprite | m_spriteArrowUp |
|
Sprite | m_spriteArrowUpHover |
|
Sprite | m_spriteArrowDown |
|
Sprite | m_spriteArrowDownHover |
|
Color | m_thumbColorCached |
|
Color | m_thumbColorHoverCached |
|
Color | m_trackColorCached |
|
Color | m_trackColorHoverCached |
|
Color | m_arrowColorCached |
|
Color | m_arrowColorHoverCached |
|
Color | m_arrowBackgroundColorCached |
|
Color | m_arrowBackgroundColorHoverCached |
|
String | m_type |
|
String | m_name |
|
Layout2d | m_position |
| Stores the position of this widget.
|
|
Layout2d | m_size |
| Stores the size of this widget.
|
|
unsigned int | m_textSize = 0 |
|
Vector2f | m_origin |
|
Optional< Vector2f > | m_rotationOrigin |
|
Optional< Vector2f > | m_scaleOrigin |
|
Vector2f | m_scaleFactors = {1, 1} |
|
float | m_rotationDeg = 0 |
|
Vector2f | m_prevPosition |
|
Vector2f | m_prevSize |
|
std::unordered_set< Layout * > | m_boundPositionLayouts |
|
std::unordered_set< Layout * > | m_boundSizeLayouts |
|
bool | m_enabled = true |
| Stores the flag indicating whether this widget is enabled.
|
|
bool | m_visible = true |
| Stores the flag indicating whether this widget is visible.
|
|
Container * | m_parent = nullptr |
|
BackendGui * | m_parentGui = nullptr |
|
bool | m_mouseHover = false |
|
bool | m_mouseDown = false |
|
bool | m_focused = false |
|
bool | m_focusable = true |
|
std::weak_ptr< Widget > | m_navWidgetUp |
|
std::weak_ptr< Widget > | m_navWidgetDown |
|
std::weak_ptr< Widget > | m_navWidgetRight |
|
std::weak_ptr< Widget > | m_navWidgetLeft |
|
Duration | m_animationTimeElapsed |
|
bool | m_containerWidget = false |
|
Widget::Ptr | m_toolTip = nullptr |
|
aurora::CopiedPtr< WidgetRenderer > | m_renderer = nullptr |
|
std::vector< std::unique_ptr< priv::Animation > > | m_showAnimations |
|
Font | m_inheritedFont |
|
float | m_inheritedOpacity = 1 |
|
Any | m_userData |
|
Cursor::Type | m_mouseCursor = Cursor::Type::Arrow |
|
AutoLayout | m_autoLayout = AutoLayout::Manual |
|
bool | m_autoLayoutUpdateEnabled = true |
|
bool | m_ignoreMouseEvents = false |
|
Font | m_fontCached = Font::getGlobalFont() |
|
float | m_opacityCached = 1 |
|
bool | m_transparentTextureCached = false |
|
unsigned int | m_textSizeCached = 0 |
|