|
HikoGUI
A low latency retained GUI
|
Public Member Functions | |
| SystemMenuWidget (Window &window, Widget *parent, Image const &icon) noexcept | |
| SystemMenuWidget (const SystemMenuWidget &)=delete | |
| SystemMenuWidget & | operator= (const SystemMenuWidget &)=delete |
| SystemMenuWidget (SystemMenuWidget &&)=delete | |
| SystemMenuWidget & | operator= (SystemMenuWidget &&)=delete |
| void | layout (hires_utc_clock::time_point displayTimePoint) noexcept override |
| Layout the 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 |
| virtual Widget & | addWidget (Alignment alignment, std::unique_ptr< Widget > childWidget) noexcept |
| Add a widget directly to this widget. | |
| 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. | |
| 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 |
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.
|
overridevirtualnoexcept |
Layout the widget.
super::layout() should be called at start of the overriden function.
Thread safety: locks, must be called from render-thread
Reimplemented from tt::Widget.