diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/render.h | 5 | ||||
-rw-r--r-- | include/wlr/render.h | 12 |
2 files changed, 10 insertions, 7 deletions
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 <GLES3/gl3.h> #include <stdbool.h> -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 <wayland-server-protocol.h> 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 |