|
|
constexpr | widget_layout (widget_layout const &) noexcept=default |
| |
|
constexpr | widget_layout (widget_layout &&) noexcept=default |
| |
|
constexpr widget_layout & | operator= (widget_layout const &) noexcept=default |
| |
|
constexpr widget_layout & | operator= (widget_layout &&) noexcept=default |
| |
|
constexpr bool | empty () const noexcept |
| |
|
constexpr | operator bool () const noexcept |
| |
| constexpr bool | contains (point3 mouse_position) const noexcept |
| | Check if the mouse position is inside the widget.
|
| |
|
constexpr aarectangle | rectangle () const noexcept |
| |
| constexpr aarectangle | rectangle_on_window () const noexcept |
| | Get the rectangle in window coordinate system.
|
| |
| constexpr aarectangle | clipping_rectangle_on_window () const noexcept |
| | Get the clipping rectangle in window coordinate system.
|
| |
| constexpr aarectangle | clipping_rectangle_on_window (aarectangle narrow_clipping_rectangle) const noexcept |
| | Get the clipping rectangle in window coordinate system.
|
| |
|
constexpr float | width () const noexcept |
| |
|
constexpr float | height () const noexcept |
| |
| constexpr bool | left_to_right () const noexcept |
| | Check if the writing direction is left-to-right.
|
| |
| constexpr bool | right_to_left () const noexcept |
| | Check if the writing direction is right_to_left.
|
| |
| constexpr | widget_layout (extent2 window_size, gui_window_size window_size_state, hi::font_book &font_book, hi::theme const &theme, hi::subpixel_orientation subpixel_orientation, unicode_bidi_class writing_direction, utc_nanoseconds display_time_point) noexcept |
| | Construct a widget_layout from inside the window.
|
| |
| constexpr widget_layout | transform (aarectangle const &child_rectangle, float elevation, aarectangle new_clipping_rectangle, widget_baseline new_baseline=widget_baseline{}) const noexcept |
| | Create a new widget_layout for the child widget.
|
| |
| constexpr widget_layout | transform (aarectangle const &child_rectangle, float elevation=1.0f, widget_baseline new_baseline=widget_baseline{}) const noexcept |
| | Create a new widget_layout for the child widget.
|
| |
| constexpr widget_layout | transform (aarectangle const &child_rectangle, widget_baseline new_baseline) const noexcept |
| | Create a new widget_layout for the child widget.
|
| |
| constexpr widget_layout | override_clip (aarectangle new_clipping_rectangle) const noexcept |
| | Override e context with the new clipping rectangle.
|
| |
|
| matrix3 | to_parent = {} |
| | This matrix transforms local coordinates to the coordinates of the parent widget.
|
| |
| matrix3 | from_parent = {} |
| | This matrix transforms parent widget's coordinates to local coordinates.
|
| |
| matrix3 | to_window = {} |
| | This matrix transforms local coordinates to window coordinates.
|
| |
| matrix3 | from_window = {} |
| | This matrix transforms window coordinates to local coordinates.
|
| |
| extent2 | size = {} |
| | Size of the widget.
|
| |
| extent2 | window_size = {} |
| | Size of the window.
|
| |
|
gui_window_size | window_size_state = gui_window_size::normal |
| |
|
hi::font_book * | font_book = nullptr |
| |
|
hi::theme const * | theme = nullptr |
| |
| aarectangle | clipping_rectangle = {} |
| | The clipping rectangle.
|
| |
| extent2 | sub_pixel_size = {1.0f, 1.0f} |
| | The size of a sub-pixel.
|
| |
| unicode_bidi_class | writing_direction = unicode_bidi_class::L |
| | The default writing direction.
|
| |
| utc_nanoseconds | display_time_point = {} |
| | The layout created for displaying at this time point.
|
| |
| float | baseline = 0.0f |
| | The base-line in widget local y-coordinate.
|
| |
The layout of a widget.
This object is created by a container to position a child-widget within it.
The layout includes:
- the size of the widget.
- translation matrices between the parent and child widget.
- translation matrices between the child widget and the window.
- the clipping rectangle when the parent only wants to display a part the child.
- if the widget should display itself in left-to-right or right-to-left language mode.
- the baseline where text should be drawn.