|
HikoGUI
A low latency retained GUI
|
#include <hikogui/widgets/label_widget.hpp>
Public Types | |
| using | super = widget |
Public Member Functions | |
| label_widget (widget *parent, label_widget_attribute auto &&...attributes) noexcept | |
| Construct a label widget. | |
Public Member Functions inherited from hi::v1::widget | |
| widget (widget *parent) noexcept | |
| widget (const widget &)=delete | |
| widget & | operator= (const widget &)=delete |
| widget (widget &&)=delete | |
| widget & | operator= (widget &&)=delete |
| virtual hitbox | hitbox_test_from_parent (point2i position) const noexcept |
| Call hitbox_test from a parent widget. | |
| virtual hitbox | hitbox_test_from_parent (point2i position, hitbox sibling_hitbox) const noexcept |
| Call hitbox_test from a parent widget. | |
| virtual bool | accepts_keyboard_focus (keyboard_focus_group group) const noexcept |
| Check if the widget will accept keyboard focus. | |
| widget_layout const & | layout () const noexcept |
| Get the current layout for this widget. | |
| virtual bool | process_event (gui_event const &event) const noexcept |
| void | request_redraw () const noexcept |
| Request the widget to be redrawn on the next frame. | |
| virtual bool | handle_event (gui_event const &event) noexcept |
| Handle command. | |
| virtual bool | handle_event_recursive (gui_event const &event, std::vector< widget const * > const &reject_list=std::vector< widget const * >{}) noexcept |
| Handle command recursive. | |
| virtual widget const * | find_next_widget (widget const *current_keyboard_widget, keyboard_focus_group group, keyboard_focus_direction direction) const noexcept |
| Find the next widget that handles keyboard focus. | |
| widget const * | find_first_widget (keyboard_focus_group group) const noexcept |
| widget const * | find_last_widget (keyboard_focus_group group) const noexcept |
| bool | is_first (keyboard_focus_group group) const noexcept |
| Is this widget the first widget in the parent container. | |
| bool | is_last (keyboard_focus_group group) const noexcept |
| Is this widget the last widget in the parent container. | |
| virtual void | scroll_to_show (hi::aarectanglei rectangle) noexcept |
| Scroll to show the given rectangle on the window. | |
| void | scroll_to_show () noexcept |
| Scroll to show the important part of the widget. | |
| std::vector< widget const * > | parent_chain () const noexcept |
| Get a list of parents of a given widget. | |
| virtual gui_window * | window () const noexcept |
| virtual hi::theme const & | theme () const noexcept |
| virtual gfx_surface const * | surface () const noexcept |
| virtual color | background_color () const noexcept |
| virtual color | foreground_color () const noexcept |
| virtual color | focus_color () const noexcept |
| virtual color | accent_color () const noexcept |
| virtual color | label_color () const noexcept |
Public Member Functions inherited from std::enable_shared_from_this< widget > | |
| T | enable_shared_from_this (T... args) |
| T | operator= (T... args) |
| T | shared_from_this (T... args) |
| T | ~enable_shared_from_this (T... args) |
Data Fields | |
| observer< label > | label |
| The label to display. | |
| observer< alignment > | alignment = hi::alignment::top_flush() |
| How the label and icon are aligned. | |
| observer< semantic_text_style > | text_style = semantic_text_style::label |
| The text style to display the label's text in and color of the label's (non-color) icon. | |
Data Fields inherited from hi::v1::widget | |
| widget * | parent = nullptr |
| Pointer to the parent widget. | |
| uint32_t | id = 0 |
| The numeric identifier of a widget. | |
| observer< widget_mode > | mode = widget_mode::enabled |
| The widget mode. | |
| observer< bool > | hover = false |
| Mouse cursor is hovering over the widget. | |
| observer< bool > | focus = false |
| The widget has keyboard focus. | |
| int | semantic_layer = 0 |
| The draw layer of the widget. | |
| int | logical_layer = 0 |
| The logical layer of the widget. | |
| observer< extent2i > | minimum = extent2i{} |
| The minimum size this widget is allowed to be. | |
| observer< extent2i > | maximum = extent2i::large() |
| The maximum size this widget is allowed to be. | |
The GUI widget displays and lays out text together with an icon.
This widget is often used by other widgets. For example checkboxes display a label representing their state next to the checkbox itself.
The alignment of icon and text is shown in the following image:
Here is an example on how to create a label:
|
inlinenoexcept |
Construct a label widget.
label_widget::alignment | parent | The parent widget that owns this radio button widget. |
| attributes | Different attributes used to configure the label widget: a label, alignment or text_style |
| observer<alignment> hi::v1::label_widget::alignment = hi::alignment::top_flush() |
How the label and icon are aligned.
Different layouts:
alignment::top_left: icon and text are inline with each other, with the icon in the top-left corner.alignment::top_right: icon and text are inline with each other, with the icon in the top-right corner.alignment::middle_left: icon and text are inline with each other, with the icon in the middle-left.alignment::middle_right: icon and text are inline with each other, with the icon in the middle-right.alignment::bottom_left: icon and text are inline with each other, with the icon in the bottom-left.alignment::bottom_right: icon and text are inline with each other, with the icon in the bottom-right.alignment::top_center: Larger icon above the text, both center aligned.alignment::bottom_center: Larger icon below the text, both center aligned. used with a pixmap icon. | observer<label> hi::v1::label_widget::label |
The label to display.
| observer<semantic_text_style> hi::v1::label_widget::text_style = semantic_text_style::label |
The text style to display the label's text in and color of the label's (non-color) icon.