diff options
Diffstat (limited to 'render/wlr_renderer.c')
-rw-r--r-- | render/wlr_renderer.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c new file mode 100644 index 00000000..2fd2fd31 --- /dev/null +++ b/render/wlr_renderer.c @@ -0,0 +1,33 @@ +#include <stdlib.h> +#include <stdbool.h> +#include <wlr/render/interface.h> + +struct wlr_renderer *wlr_renderer_init(struct wlr_renderer_state *state, + struct wlr_renderer_impl *impl) { + struct wlr_renderer *r = calloc(sizeof(struct wlr_renderer), 1); + r->state = state; + r->impl = impl; + return r; +} + +void wlr_renderer_destroy(struct wlr_renderer *r) { + r->impl->destroy(r->state); + free(r); +} + +void wlr_renderer_begin(struct wlr_renderer *r, struct wlr_output *o) { + r->impl->begin(r->state, o); +} + +void wlr_renderer_end(struct wlr_renderer *r) { + r->impl->end(r->state); +} + +struct wlr_surface *wlr_render_surface_init(struct wlr_renderer *r) { + return r->impl->surface_init(r->state); +} + +bool wlr_render_with_matrix(struct wlr_renderer *r, + struct wlr_surface *surface, const float (*matrix)[16]) { + return r->impl->render_with_matrix(r->state, surface, matrix); +} |