7#include "draw_context.hpp"
8#include "gfx_surface_state.hpp"
9#include "gfx_system_globals.hpp"
11namespace hi::inline v1 {
19 gfx_surface_state state = gfx_surface_state::has_window;
20 gfx_surface_loss loss = gfx_surface_loss::none;
29 virtual void init() {}
40 [[nodiscard]]
gfx_device *device() const noexcept
56 virtual
void update(
extent2 new_size) noexcept = 0;
59 virtual
void render_finish(
draw_context const &context) = 0;
64 virtual
void teardown() = 0;
Class which represents an axis-aligned rectangle.
Definition axis_aligned_rectangle.hpp:20
Draw context for drawing using the HikoGUI shaders.
Definition draw_context.hpp:51
Definition gfx_device.hpp:22
Definition gfx_surface.hpp:15
virtual void set_device(gfx_device *device) noexcept
virtual extent2 size() const noexcept=0
Get the size of the surface.
Graphics system.
Definition gfx_system.hpp:21
int recurse_lock_count() const noexcept
This function should be used in hi_axiom() to check if the lock is held by current thread.
Definition unfair_recursive_mutex.hpp:60