From 211488131f675b3f3c59607fb1336b69148023d2 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 8 Jun 2017 11:30:38 -0400 Subject: Add wlr_shader to wlr-render --- include/wlr/render.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 include/wlr/render.h (limited to 'include/wlr') diff --git a/include/wlr/render.h b/include/wlr/render.h new file mode 100644 index 00000000..d3abfcc3 --- /dev/null +++ b/include/wlr/render.h @@ -0,0 +1,29 @@ +#ifndef _WLR_RENDER_H +#define _WLR_RENDER_H +#include +#include + +struct wlr_surface; +struct wlr_surface *wlr_surface_create(); +void wlr_surface_attach_pixels(struct wlr_surface *tex, uint32_t format, + int width, int height, const unsigned char *pixels); +void wlr_surface_attach_shm(struct wlr_surface *tex, uint32_t format, + struct wl_shm_buffer *shm); +// TODO: EGL +void wlr_surface_destroy(struct wlr_surface *tex); + +struct wlr_shader; +struct wlr_shader *wlr_shader_init(const char *vertex); +bool wlr_shader_add_format(struct wlr_shader *shader, uint32_t format, + const char *frag); +bool wlr_shader_use(struct wlr_shader *shader, uint32_t format); +void wlr_shader_destroy(struct wlr_shader *shader); + +struct wlr_renderer; +struct wlr_renderer *wlr_renderer_init(); +void wlr_renderer_set_shader(struct wlr_renderer *renderer, + struct wlr_shader *shader); +bool wlr_render_quad(struct wlr_renderer *renderer, struct wlr_surface *tex, + float x, float y, float width, float height); + +#endif -- cgit v1.2.3