aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-06-08 12:02:51 -0400
committerDrew DeVault <sir@cmpwn.com>2017-06-08 12:02:51 -0400
commit83f8864f0ab1722aae12cc744094a7424c41f2d8 (patch)
treeab9fdff6a4c528f3ace607db76911fa805c0822a /include
parent211488131f675b3f3c59607fb1336b69148023d2 (diff)
Add wlr_renderer and move quad rendering there
Diffstat (limited to 'include')
-rw-r--r--include/render.h5
-rw-r--r--include/wlr/render.h12
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