|
HikoGUI
A low latency retained GUI
|
#include <hikogui/GUI/widget_draw_context.hpp>
Public Member Functions | |
| widget_draw_context (widget_draw_context &rhs) noexcept=delete | |
| widget_draw_context (widget_draw_context &&rhs) noexcept=default | |
| widget_draw_context & | operator= (widget_draw_context &rhs) noexcept=delete |
| widget_draw_context & | operator= (widget_draw_context &&rhs) noexcept=default |
| widget_draw_context (gfx_draw_context &&gfx_context) noexcept | |
| void | draw_box (widget_layout const &layout, quad const &box, draw_attributes const &attributes) noexcept |
| Draw a box. | |
| template<draw_quad_shape Shape, draw_attribute... Attributes> | |
| void | draw_box (widget_layout const &layout, Shape const &shape, Attributes const &...attributes) noexcept |
| Draw a box. | |
| void | draw_line (widget_layout const &layout, line_segment const &line, draw_attributes const &attributes) noexcept |
| Draw a line. | |
| template<draw_attribute... Attributes> | |
| void | draw_line (widget_layout const &layout, line_segment const &line, Attributes const &...attributes) noexcept |
| Draw a line. | |
| void | draw_circle (widget_layout const &layout, hi::circle const &circle, draw_attributes const &attributes) noexcept |
| Draw a circle. | |
| template<draw_attribute... Attributes> | |
| void | draw_circle (widget_layout const &layout, hi::circle const &circle, Attributes const &...attributes) noexcept |
| Draw a circle. | |
| bool | draw_image (widget_layout const &layout, quad const &box, paged_image &image, draw_attributes const &attributes) noexcept |
| Draw an image. | |
| template<draw_attribute... Attributes> | |
| bool | draw_image (widget_layout const &layout, draw_quad_shape auto const &box, paged_image &image, Attributes const &...attributes) noexcept |
| Draw an image. | |
| void | draw_glyph (widget_layout const &layout, quad const &box, hi::font const &font, glyph_id glyph, draw_attributes const &attributes) noexcept |
| Draw a glyph. | |
| template<draw_quad_shape Shape, draw_attribute... Attributes> | |
| void | draw_glyph (widget_layout const &layout, Shape const &box, hi::font const &font, glyph_id glyph, Attributes const &...attributes) noexcept |
| Draw a glyph. | |
| void | draw_glyph (widget_layout const &layout, quad const &box, font_book::font_glyph_type font_glyph, draw_attributes const &attributes) noexcept |
| Draw a glyph. | |
| template<draw_quad_shape Shape, draw_attribute... Attributes> | |
| void | draw_glyph (widget_layout const &layout, Shape const &box, font_book::font_glyph_type font_glyph, Attributes const &...attributes) noexcept |
| Draw a glyph. | |
| void | draw_text (widget_layout const &layout, matrix3 const &transform, text_shaper const &text, draw_attributes const &attributes) noexcept |
| Draw shaped text. | |
| template<draw_attribute... Attributes> | |
| void | draw_text (widget_layout const &layout, matrix3 const &transform, text_shaper const &text, Attributes const &...attributes) noexcept |
| Draw shaped text. | |
| template<draw_attribute... Attributes> | |
| void | draw_text (widget_layout const &layout, text_shaper const &text, Attributes const &...attributes) noexcept |
| Draw shaped text. | |
| void | draw_text_selection (widget_layout const &layout, text_shaper const &text, text_selection const &selection, draw_attributes const &attributes) noexcept |
| Draw text-selection of shaped text. | |
| template<draw_attribute... Attributes> | |
| void | draw_text_selection (widget_layout const &layout, text_shaper const &text, text_selection const &selection, Attributes const &...attributes) noexcept |
| Draw text-selection of shaped text. | |
| void | draw_text_cursors (widget_layout const &layout, text_shaper const &text, text_cursor cursor, bool overwrite_mode, bool dead_character_mode, draw_attributes const &attributes) noexcept |
| Draw text cursors of shaped text. | |
| template<draw_attribute... Attributes> | |
| void | draw_text_cursors (widget_layout const &layout, text_shaper const &text, text_cursor cursor, bool overwrite_mode, bool dead_character_mode, Attributes const &...attributes) noexcept |
| Draw text cursors of shaped text. | |
| void | draw_hole (widget_layout const &layout, quad const &box, draw_attributes const &attributes) noexcept |
| Make a hole in the user interface. | |
| template<draw_quad_shape Shape, draw_attribute... Attributes> | |
| void | draw_hole (widget_layout const &layout, Shape const &box, Attributes const &...attributes) noexcept |
| Make a hole in the user interface. | |
Data Fields | |
| gfx_draw_context | gfx_context |
| utc_nanoseconds | display_time_point |
| The time when the drawing will appear on the screen. | |
Friends | |
| bool | overlaps (widget_draw_context const &context, widget_layout const &layout) noexcept |
| Checks if a widget's layout overlaps with the part of the window that is being drawn. | |
Draw context for drawing using the HikoGUI shaders.
|
inlinenoexcept |
Draw a box.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The four points of the box to draw. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw a box.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| shape | The shape of the box. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw a circle.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| circle | The circle to draw. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw a circle.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| circle | The circle to draw. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw a glyph.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The size and position of the glyph. |
| glyph | The glyphs to draw. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw a glyph.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The size and position of the glyph. |
| glyph | The glyphs to draw. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw a glyph.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The size and position of the glyph. |
| glyph | The glyphs to draw. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw a glyph.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The size and position of the glyph. |
| glyph | The glyphs to draw. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Make a hole in the user interface.
This function makes a hole in the user-interface so that fragments written in the swap-chain before the GUI is drawn will be visible.
| layout | The layout of the widget. |
| box | The box in local coordinates of the widget. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Make a hole in the user interface.
This function makes a hole in the user-interface so that fragments written in the swap-chain before the GUI is drawn will be visible.
| layout | The layout of the widget. |
| box | The box in local coordinates of the widget. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw an image.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The four points of the box to draw. |
| image | The image to show. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw an image.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The four points of the box to draw. |
| image | The image to show. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw a line.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| line | The line segment to draw. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw a line.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| line | The line segment to draw. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw shaped text.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| transform | How to transform the shaped text relative to layout. |
| text | The shaped text to draw. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw shaped text.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| transform | How to transform the shaped text relative to layout. |
| text | The shaped text to draw. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw shaped text.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| text | The shaped text to draw. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw text cursors of shaped text.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| text | The shaped text to draw. |
| cursor | The position of the cursor. |
| overwrite_mode | If true draw overwrite mode cursor; if false draw insertion mode cursors, |
| dead_character_mode | If true draw the dead-character cursor. The dead_character_mode overrides all other cursors. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw text cursors of shaped text.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| text | The shaped text to draw. |
| cursor | The position of the cursor. |
| overwrite_mode | If true draw overwrite mode cursor; if false draw insertion mode cursors, |
| dead_character_mode | If true draw the dead-character cursor. The dead_character_mode overrides all other cursors. |
| attributes | The drawing attributes to use. |
|
inlinenoexcept |
Draw text-selection of shaped text.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| text | The shaped text to draw. |
| selection | The text selection. |
| attributes | The drawing attributes to use, see: draw_attributes::draw_attributes(). |
|
inlinenoexcept |
Draw text-selection of shaped text.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| text | The shaped text to draw. |
| selection | The text selection. |
| attributes | The drawing attributes to use. |
|
friend |
Checks if a widget's layout overlaps with the part of the window that is being drawn.
| context | The draw context which contains the scissor rectangle. |
| layout | The layout of a widget which contains the rectangle where the widget is located on the window |
| utc_nanoseconds hi::v1::widget_draw_context::display_time_point |
The time when the drawing will appear on the screen.