|
HikoGUI
A low latency retained GUI
|
#include <hikogui/GFX/draw_context.hpp>
Public Member Functions | |
| draw_context (draw_context const &rhs) noexcept=default | |
| draw_context (draw_context &&rhs) noexcept=default | |
| draw_context & | operator= (draw_context const &rhs) noexcept=default |
| draw_context & | operator= (draw_context &&rhs) noexcept=default |
| draw_context (gfx_device_vulkan &device, vector_span< pipeline_box::vertex > &box_vertices, vector_span< pipeline_image::vertex > &image_vertices, vector_span< pipeline_SDF::vertex > &sdf_vertices, vector_span< pipeline_alpha::vertex > &alpha_vertices) noexcept | |
| operator bool () const noexcept | |
| Check if the draw_context should be used for rendering. | |
| void | draw_box (widget_layout const &layout, quad const &box, draw_attributes const &attributes) const noexcept |
| Draw a box with rounded corners. | |
| template<draw_quad_shape Shape, draw_attribute... Attributes> | |
| void | draw_box (widget_layout const &layout, Shape const &shape, Attributes const &...attributes) const noexcept |
| void | draw_line (widget_layout const &layout, line_segment const &line, draw_attributes const &attributes) const noexcept |
| template<draw_attribute... Attributes> | |
| void | draw_line (widget_layout const &layout, line_segment const &line, Attributes const &...attributes) const noexcept |
| void | draw_circle (widget_layout const &layout, hi::circle const &circle, draw_attributes const &attributes) const noexcept |
| template<draw_attribute... Attributes> | |
| void | draw_circle (widget_layout const &layout, hi::circle const &circle, Attributes const &...attributes) const noexcept |
| bool | draw_image (widget_layout const &layout, quad const &box, paged_image &image, draw_attributes const &attributes) const 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) const noexcept |
| Draw an image. | |
| void | draw_glyph (widget_layout const &layout, quad const &box, glyph_ids const &glyph, draw_attributes const &attributes) const noexcept |
| Draw a glyph. | |
| template<draw_quad_shape Shape, draw_attribute... Attributes> | |
| void | draw_glyph (widget_layout const &layout, Shape const &box, glyph_ids const &glyph, Attributes const &...attributes) const noexcept |
| Draw a glyph. | |
| void | draw_text (widget_layout const &layout, matrix3 const &transform, text_shaper const &text, draw_attributes const &attributes) const 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) const noexcept |
| Draw shaped text. | |
| template<draw_attribute... Attributes> | |
| void | draw_text (widget_layout const &layout, text_shaper const &text, Attributes const &...attributes) const noexcept |
| Draw shaped text. | |
| void | draw_text_selection (widget_layout const &layout, text_shaper const &text, text_selection const &selection, draw_attributes const &attributes) const 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) const 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) const 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) const noexcept |
| Draw text cursors of shaped text. | |
| void | draw_hole (widget_layout const &layout, quad const &box, draw_attributes const &attributes) const 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) const noexcept |
| Make a hole in the user interface. | |
Data Fields | |
| gfx_device_vulkan & | device |
| std::size_t | frame_buffer_index |
| The frame buffer index of the image we are currently rendering. | |
| aarectanglei | scissor_rectangle |
| This is the rectangle of the window that is being redrawn. | |
| color | background_color |
| The background color to clear the window with. | |
| hi::subpixel_orientation | subpixel_orientation |
| The subpixel orientation for rendering glyphs. | |
| bool | active |
| Window is active. | |
| float | saturation |
| The tone-mapper's saturation. | |
| utc_nanoseconds | display_time_point |
| The time when the drawing will appear on the screen. | |
Friends | |
| bool | overlaps (draw_context const &context, widget_layout const &layout) noexcept |
Draw context for drawing using the HikoGUI shaders.
|
inlinenoexcept |
Draw a box with rounded corners.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| box | The four points of the box to draw. |
| fill_color | The fill color of the inside of the box. |
| line_color | The line color of the border of the box. |
| line_width | The line width of the border. |
| border_side | The side of the edge where the border is drawn. |
| corner_radius | The corner radii of each corner of the box. |
|
inlinenoexcept |
Draw a glyph.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| clipping_rectangle | A more narrow clipping rectangle than supplied by layout. |
| box | The size and position of the glyph. |
| color | The color that the glyph should be drawn in. |
| glyph | The glyphs to draw. |
|
inlinenoexcept |
Draw a glyph.
| layout | The layout to use, specifically the to_window transformation matrix and the clipping rectangle. |
| clipping_rectangle | A more narrow clipping rectangle than supplied by layout. |
| box | The size and position of the glyph. |
| color | The color that the glyph should be drawn in. |
| glyph | The glyphs to draw. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
| color | Text-color overriding the colors from the text_shaper. |
| text | The shaped text to draw. |
|
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. |
| color | Text-color overriding the colors from the text_shaper. |
| text | The shaped text to draw. |
|
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. |
| color | Text-color overriding the colors from the text_shaper. |
| text | The shaped text to draw. |
|
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. |
| primary_color | The color of the primary cursor (the insertion cursor). |
| secondary_color | The color of the secondary cursor (the append 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. |
|
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. |
| primary_color | The color of the primary cursor (the insertion cursor). |
| secondary_color | The color of the secondary cursor (the append 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. |
|
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. |
| color | The color of the selection. |
|
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. |
| color | The color of the selection. |
|
inlinenoexcept |
Check if the draw_context should be used for rendering.
| bool v1::draw_context::active |
Window is active.
| color v1::draw_context::background_color |
The background color to clear the window with.
| utc_nanoseconds v1::draw_context::display_time_point |
The time when the drawing will appear on the screen.
| std::size_t v1::draw_context::frame_buffer_index |
The frame buffer index of the image we are currently rendering.
| float v1::draw_context::saturation |
The tone-mapper's saturation.
| aarectanglei v1::draw_context::scissor_rectangle |
This is the rectangle of the window that is being redrawn.
| hi::subpixel_orientation v1::draw_context::subpixel_orientation |
The subpixel orientation for rendering glyphs.