diff --git a/src/wayland-server.h b/src/wayland-server.h index 18a8bebc..f092145f 100644 --- a/src/wayland-server.h +++ b/src/wayland-server.h @@ -428,6 +428,12 @@ wl_shm_buffer_get_stride(struct wl_buffer *buffer); uint32_t wl_shm_buffer_get_format(struct wl_buffer *buffer); +int32_t +wl_shm_buffer_get_width(struct wl_buffer *buffer); + +int32_t +wl_shm_buffer_get_height(struct wl_buffer *buffer); + int wl_buffer_is_shm(struct wl_buffer *buffer); diff --git a/src/wayland-shm.c b/src/wayland-shm.c index 2edaff48..50e42971 100644 --- a/src/wayland-shm.c +++ b/src/wayland-shm.c @@ -291,3 +291,19 @@ wl_shm_buffer_get_format(struct wl_buffer *buffer_base) return buffer->format; } + +WL_EXPORT uint32_t +wl_shm_buffer_get_width(struct wl_buffer *buffer_base) +{ + struct wl_shm_buffer *buffer = (struct wl_shm_buffer *) buffer_base; + + return buffer->base.width; +} + +WL_EXPORT uint32_t +wl_shm_buffer_get_height(struct wl_buffer *buffer_base) +{ + struct wl_shm_buffer *buffer = (struct wl_shm_buffer *) buffer_base; + + return buffer->base.height; +}