From 83f8864f0ab1722aae12cc744094a7424c41f2d8 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 8 Jun 2017 12:02:51 -0400 Subject: Add wlr_renderer and move quad rendering there --- include/render.h | 5 +++-- include/wlr/render.h | 12 +++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/render.h b/include/render.h index fd1ea024..0f977eb0 100644 --- a/include/render.h +++ b/include/render.h @@ -6,7 +6,8 @@ #include #include -struct wlr_texture { +struct wlr_surface { + bool valid; GLuint tex_id; uint32_t format; int width, height; @@ -17,7 +18,7 @@ struct wlr_shader { uint32_t format; GLuint vert; GLuint program; - struct wl_list link; + struct wlr_shader *next; }; struct wlr_renderer { diff --git a/include/wlr/render.h b/include/wlr/render.h index d3abfcc3..3335b3d5 100644 --- a/include/wlr/render.h +++ b/include/wlr/render.h @@ -4,10 +4,10 @@ #include struct wlr_surface; -struct wlr_surface *wlr_surface_create(); -void wlr_surface_attach_pixels(struct wlr_surface *tex, uint32_t format, +struct wlr_surface *wlr_surface_init(); +void wlr_surface_attach_pixels(struct wlr_surface *surf, uint32_t format, int width, int height, const unsigned char *pixels); -void wlr_surface_attach_shm(struct wlr_surface *tex, uint32_t format, +void wlr_surface_attach_shm(struct wlr_surface *surf, uint32_t format, struct wl_shm_buffer *shm); // TODO: EGL void wlr_surface_destroy(struct wlr_surface *tex); @@ -23,7 +23,9 @@ 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); +bool wlr_render_quad(struct wlr_renderer *renderer, + struct wlr_surface *surf, float (*transform)[16], + float x, float y); +void wlr_renderer_destroy(struct wlr_renderer *renderer); #endif -- cgit v1.2.3