render/texture: add width and height fields

Instead of requiring compositors to call wlr_texture_get_size each time
they want to access the texture's size, expose this information as
wlr_texture fields.
This commit is contained in:
Simon Ser 2020-04-27 12:45:21 +02:00 committed by Drew DeVault
parent 21397e2b4a
commit 06f4c3945d
5 changed files with 32 additions and 31 deletions

View file

@ -70,7 +70,6 @@ void wlr_renderer_init(struct wlr_renderer *renderer,
const struct wlr_renderer_impl *impl);
struct wlr_texture_impl {
void (*get_size)(struct wlr_texture *texture, int *width, int *height);
bool (*is_opaque)(struct wlr_texture *texture);
bool (*write_pixels)(struct wlr_texture *texture,
uint32_t stride, uint32_t width, uint32_t height,
@ -82,6 +81,6 @@ struct wlr_texture_impl {
};
void wlr_texture_init(struct wlr_texture *texture,
const struct wlr_texture_impl *impl);
const struct wlr_texture_impl *impl, uint32_t width, uint32_t height);
#endif

View file

@ -18,6 +18,7 @@ struct wlr_texture_impl;
struct wlr_texture {
const struct wlr_texture_impl *impl;
uint32_t width, height;
};
/**
@ -43,6 +44,9 @@ struct wlr_texture *wlr_texture_from_dmabuf(struct wlr_renderer *renderer,
/**
* Get the texture width and height.
*
* This function is deprecated. Access wlr_texture's width and height fields
* directly instead.
*/
void wlr_texture_get_size(struct wlr_texture *texture, int *width, int *height);