|
HikoGUI
A low latency retained GUI
|
Public Member Functions | |
| ToolbarWidget (Window &window, Widget *parent) noexcept | |
| ToolbarWidget (const ToolbarWidget &)=delete | |
| ToolbarWidget & | operator= (const ToolbarWidget &)=delete |
| ToolbarWidget (ToolbarWidget &&)=delete | |
| ToolbarWidget & | operator= (ToolbarWidget &&)=delete |
| Widget & | addWidget (Alignment alignment, std::unique_ptr< Widget > childWidget) noexcept override |
| Add a widget directly to this widget. | |
| void | draw (DrawContext const &drawContext, hires_utc_clock::time_point displayTimePoint) noexcept override |
| Draw widget. | |
| HitBox | hitBoxTest (vec position) const noexcept override |
| Find the widget that is under the mouse cursor. | |
Public Member Functions inherited from tt::Widget | |
| Widget (Window &window, Widget *parent, vec defaultExtent) noexcept | |
| Widget (const Widget &)=delete | |
| Widget & | operator= (const Widget &)=delete |
| Widget (Widget &&)=delete | |
| Widget & | operator= (Widget &&)=delete |
| template<typename T , typename... Args> | |
| T & | makeWidgetDirectly (Args &&... args) |
| Add a widget directly to this widget. | |
| template<typename T , typename... Args> | |
| T & | makeWidget (Args &&... args) |
| Add a widget directly to this widget. | |
| template<typename T , typename... Args> | |
| T & | makeAlignedWidgetDirectly (Alignment alignement, Args &&... args) |
| Add a widget directly to this widget. | |
| template<typename T , typename... Args> | |
| T & | makeAlignedWidget (Alignment alignment, Args &&... args) |
| Add a widget directly to this widget. | |
| aarect | makeWindowRectangle () const noexcept |
| Create a window rectangle from left, bottom, width and height Thread-safety: locks window.widgetSolverMutex. | |
| void | setMinimumExtent (vec newMinimumExtent) noexcept |
| void | setMinimumExtent (float width, float height) noexcept |
| void | setPreferredExtent (vec newPreferredExtent) noexcept |
| void | setFixedExtent (vec newFixedExtent) noexcept |
| void | setFixedHeight (float height) noexcept |
| void | setFixedWidth (float width) noexcept |
| rhea::constraint | placeBelow (Widget const &rhs, float margin=theme->margin) const noexcept |
| rhea::constraint | placeAbove (Widget const &rhs, float margin=theme->margin) const noexcept |
| rhea::constraint | placeLeftOf (Widget const &rhs, float margin=theme->margin) const noexcept |
| rhea::constraint | placeRightOf (Widget const &rhs, float margin=theme->margin) const noexcept |
| rhea::constraint | placeAtTop (float margin=theme->margin) const noexcept |
| rhea::constraint | placeAtBottom (float margin=theme->margin) const noexcept |
| rhea::constraint | placeLeft (float margin=theme->margin) const noexcept |
| rhea::constraint | placeRight (float margin=theme->margin) const noexcept |
| vec | extent () const noexcept |
| void | setExtent (vec rhs) noexcept |
| vec | offsetFromParent () const noexcept |
| void | setOffsetFromParent (vec rhs) noexcept |
| vec | offsetFromWindow () const noexcept |
| void | setOffsetFromWindow (vec rhs) noexcept |
| aarect | rectangle () const noexcept |
| Get the rectangle in local coordinates. | |
| aarect | windowRectangle () const noexcept |
| Get the rectangle in window coordinates. | |
| aarect | clippingRectangle () const noexcept |
| Get the clipping-rectangle in window coordinates. | |
| GUIDevice * | device () const noexcept |
| virtual bool | acceptsFocus () const noexcept |
| Check if the widget will accept keyboard focus. | |
| ssize_t | nestingLevel () noexcept |
| Get nesting level used for selecting colors for the widget. | |
| float | z () noexcept |
| Get z value for compositing order. | |
| virtual int | needs (hires_utc_clock::time_point displayTimePoint) noexcept |
| Request the needs of the widget. | |
| virtual void | layout (hires_utc_clock::time_point displayTimePoint) noexcept |
| Layout the widget. | |
| int | layoutChildren (hires_utc_clock::time_point displayTimePoint, bool force) noexcept |
| Layout children of this widget. | |
| virtual void | handleCommand (string_ltag command) noexcept |
| Handle command. | |
| virtual void | handleMouseEvent (MouseEvent const &event) noexcept |
| std::vector< Widget * > | childPointers (bool reverse) const noexcept |
| virtual Widget * | nextKeyboardWidget (Widget const *currentKeyboardWidget, bool reverse) const noexcept |
| virtual void | handleKeyboardEvent (KeyboardEvent const &event) noexcept |
Additional Inherited Members | |
Data Fields inherited from tt::Widget | |
| rhea::variable const | left |
| Location of the frame compared to the window. | |
| rhea::variable const | bottom |
| rhea::variable const | width |
| rhea::variable const | height |
| rhea::linear_expression const | right = left + width |
| rhea::linear_expression const | centre = left + width * 0.5 |
| rhea::linear_expression const | top = bottom + height |
| rhea::linear_expression const | middle = bottom + height * 0.5 |
| float | elevation |
| std::atomic< R32G32SFloat > | _extent |
| std::atomic< R32G32SFloat > | _offsetFromParent |
| std::atomic< R32G32SFloat > | _offsetFromWindow |
| std::atomic< bool > | forceLayout = true |
| std::atomic< bool > | forceRedraw = true |
| observable< bool > | enabled = true |
| The widget is enabled. | |
|
overridevirtualnoexcept |
|
overridevirtualnoexcept |
Draw widget.
The overriding function should call the base class's draw(), the place where the call this function will determine the order of the vertices into each buffer. This is important when needing to do the painters algorithm for alpha-compositing. However the pipelines are always drawn in the same order.
Thread safety: locks, must be called from render-thread
Reimplemented from tt::Widget.
Find the widget that is under the mouse cursor.
Thread safety: locks.
Reimplemented from tt::Widget.