aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/render.h10
-rw-r--r--include/wlr/render/interface.h13
-rw-r--r--include/wlr/types/wlr_output.h3
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];