diff options
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/render.h | 10 | ||||
-rw-r--r-- | include/wlr/render/interface.h | 13 | ||||
-rw-r--r-- | include/wlr/types/wlr_output.h | 3 |
3 files changed, 18 insertions, 8 deletions
diff --git a/include/wlr/render.h b/include/wlr/render.h index 53df01d2..30648a20 100644 --- a/include/wlr/render.h +++ b/include/wlr/render.h @@ -39,6 +39,11 @@ void wlr_render_colored_quad(struct wlr_renderer *r, void wlr_render_colored_ellipse(struct wlr_renderer *r, const float (*color)[4], const float (*matrix)[16]); /** + * Returns a list of pixel formats supported by this renderer. + */ +const enum wl_shm_format *wlr_renderer_get_formats( + struct wlr_renderer *r, size_t *len); +/** * Destroys this wlr_renderer. Surfaces must be destroyed separately. */ void wlr_renderer_destroy(struct wlr_renderer *renderer); @@ -58,8 +63,9 @@ struct wlr_surface { * Attaches a pixel buffer to this surface. The buffer may be discarded after * calling this function. */ -bool wlr_surface_attach_pixels(struct wlr_surface *surf, uint32_t format, - int stride, int width, int height, const unsigned char *pixels); +bool wlr_surface_attach_pixels(struct wlr_surface *surf, + enum wl_shm_format format, int stride, int width, int height, + const unsigned char *pixels); /** * Attaches pixels from a wl_shm_buffer to this surface. The shm buffer may be * invalidated after calling this function. diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index a9c86f2c..ed804bb4 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -20,9 +20,11 @@ struct wlr_renderer_impl { bool (*render_with_matrix)(struct wlr_renderer_state *state, struct wlr_surface *surface, const float (*matrix)[16]); void (*render_quad)(struct wlr_renderer_state *state, - const float (*color)[4], const float (*matrix)[16]); + const float (*color)[4], const float (*matrix)[16]); void (*render_ellipse)(struct wlr_renderer_state *state, - const float (*color)[4], const float (*matrix)[16]); + const float (*color)[4], const float (*matrix)[16]); + const enum wl_shm_format *(*formats)( + struct wlr_renderer_state *state, size_t *len); void (*destroy)(struct wlr_renderer_state *state); }; @@ -30,13 +32,14 @@ struct wlr_renderer *wlr_renderer_init(struct wlr_renderer_state *state, struct wlr_renderer_impl *impl); struct wlr_surface_impl { - bool (*attach_pixels)(struct wlr_surface_state *state, uint32_t format, - int stride, int width, int height, const unsigned char *pixels); + bool (*attach_pixels)(struct wlr_surface_state *state, + enum wl_shm_format format, int stride, int width, int height, + const unsigned char *pixels); bool (*attach_shm)(struct wlr_surface_state *state, uint32_t format, struct wl_shm_buffer *shm); // TODO: egl void (*get_matrix)(struct wlr_surface_state *state, - float (*matrix)[16], const float (*projection)[16], int x, int y); + float (*matrix)[16], const float (*projection)[16], int x, int y); void (*bind)(struct wlr_surface_state *state); void (*destroy)(struct wlr_surface_state *state); }; diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h index da5a7b07..cfc4cc0e 100644 --- a/include/wlr/types/wlr_output.h +++ b/include/wlr/types/wlr_output.h @@ -19,8 +19,9 @@ struct wlr_output_state; struct wlr_output { const struct wlr_output_impl *impl; struct wlr_output_state *state; + void *user_data; struct wl_global *wl_global; - struct wl_list resource_list; + struct wl_list wl_resources; uint32_t flags; char name[16]; |