mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-29 05:40:16 -04:00
Change SHM wl_buffer functions to use the wl_shm_buffer structure
This commit does not break ABI. It merely changes the types of some things and adds a wl_shm_buffer_get function. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
5ac5d55d81
commit
ee0d986a50
2 changed files with 25 additions and 26 deletions
|
|
@ -285,20 +285,25 @@ struct wl_listener *
|
|||
wl_resource_get_destroy_listener(struct wl_resource *resource,
|
||||
wl_notify_func_t notify);
|
||||
|
||||
struct wl_shm_buffer;
|
||||
|
||||
struct wl_shm_buffer *
|
||||
wl_shm_buffer_get(struct wl_resource *resource);
|
||||
|
||||
void *
|
||||
wl_shm_buffer_get_data(struct wl_buffer *buffer);
|
||||
wl_shm_buffer_get_data(struct wl_shm_buffer *buffer);
|
||||
|
||||
int32_t
|
||||
wl_shm_buffer_get_stride(struct wl_buffer *buffer);
|
||||
wl_shm_buffer_get_stride(struct wl_shm_buffer *buffer);
|
||||
|
||||
uint32_t
|
||||
wl_shm_buffer_get_format(struct wl_buffer *buffer);
|
||||
wl_shm_buffer_get_format(struct wl_shm_buffer *buffer);
|
||||
|
||||
int32_t
|
||||
wl_shm_buffer_get_width(struct wl_buffer *buffer);
|
||||
wl_shm_buffer_get_width(struct wl_shm_buffer *buffer);
|
||||
|
||||
int32_t
|
||||
wl_shm_buffer_get_height(struct wl_buffer *buffer);
|
||||
wl_shm_buffer_get_height(struct wl_shm_buffer *buffer);
|
||||
|
||||
int
|
||||
wl_buffer_is_shm(struct wl_buffer *buffer);
|
||||
|
|
|
|||
|
|
@ -288,6 +288,16 @@ wl_shm_buffer_create(struct wl_client *client,
|
|||
return &buffer->buffer;
|
||||
}
|
||||
|
||||
WL_EXPORT struct wl_shm_buffer *
|
||||
wl_shm_buffer_get(struct wl_resource *resource)
|
||||
{
|
||||
if (wl_resource_instance_of(resource, &wl_buffer_interface,
|
||||
&shm_buffer_interface))
|
||||
return wl_resource_get_user_data(resource);
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
WL_EXPORT int
|
||||
wl_buffer_is_shm(struct wl_buffer *buffer)
|
||||
{
|
||||
|
|
@ -296,24 +306,14 @@ wl_buffer_is_shm(struct wl_buffer *buffer)
|
|||
}
|
||||
|
||||
WL_EXPORT int32_t
|
||||
wl_shm_buffer_get_stride(struct wl_buffer *buffer_base)
|
||||
wl_shm_buffer_get_stride(struct wl_shm_buffer *buffer)
|
||||
{
|
||||
struct wl_shm_buffer *buffer = (struct wl_shm_buffer *) buffer_base;
|
||||
|
||||
if (!wl_buffer_is_shm(buffer_base))
|
||||
return 0;
|
||||
|
||||
return buffer->stride;
|
||||
}
|
||||
|
||||
WL_EXPORT void *
|
||||
wl_shm_buffer_get_data(struct wl_buffer *buffer_base)
|
||||
wl_shm_buffer_get_data(struct wl_shm_buffer *buffer)
|
||||
{
|
||||
struct wl_shm_buffer *buffer = (struct wl_shm_buffer *) buffer_base;
|
||||
|
||||
if (!wl_buffer_is_shm(buffer_base))
|
||||
return NULL;
|
||||
|
||||
if (buffer->pool)
|
||||
return buffer->pool->data + buffer->offset;
|
||||
else
|
||||
|
|
@ -321,25 +321,19 @@ wl_shm_buffer_get_data(struct wl_buffer *buffer_base)
|
|||
}
|
||||
|
||||
WL_EXPORT uint32_t
|
||||
wl_shm_buffer_get_format(struct wl_buffer *buffer_base)
|
||||
wl_shm_buffer_get_format(struct wl_shm_buffer *buffer)
|
||||
{
|
||||
struct wl_shm_buffer *buffer = (struct wl_shm_buffer *) buffer_base;
|
||||
|
||||
return buffer->format;
|
||||
}
|
||||
|
||||
WL_EXPORT int32_t
|
||||
wl_shm_buffer_get_width(struct wl_buffer *buffer_base)
|
||||
wl_shm_buffer_get_width(struct wl_shm_buffer *buffer)
|
||||
{
|
||||
struct wl_shm_buffer *buffer = (struct wl_shm_buffer *) buffer_base;
|
||||
|
||||
return buffer->buffer.width;
|
||||
}
|
||||
|
||||
WL_EXPORT int32_t
|
||||
wl_shm_buffer_get_height(struct wl_buffer *buffer_base)
|
||||
wl_shm_buffer_get_height(struct wl_shm_buffer *buffer)
|
||||
{
|
||||
struct wl_shm_buffer *buffer = (struct wl_shm_buffer *) buffer_base;
|
||||
|
||||
return buffer->buffer.height;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue