mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-31 22:25:25 -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_resource_get_destroy_listener(struct wl_resource *resource,
|
||||||
wl_notify_func_t notify);
|
wl_notify_func_t notify);
|
||||||
|
|
||||||
|
struct wl_shm_buffer;
|
||||||
|
|
||||||
|
struct wl_shm_buffer *
|
||||||
|
wl_shm_buffer_get(struct wl_resource *resource);
|
||||||
|
|
||||||
void *
|
void *
|
||||||
wl_shm_buffer_get_data(struct wl_buffer *buffer);
|
wl_shm_buffer_get_data(struct wl_shm_buffer *buffer);
|
||||||
|
|
||||||
int32_t
|
int32_t
|
||||||
wl_shm_buffer_get_stride(struct wl_buffer *buffer);
|
wl_shm_buffer_get_stride(struct wl_shm_buffer *buffer);
|
||||||
|
|
||||||
uint32_t
|
uint32_t
|
||||||
wl_shm_buffer_get_format(struct wl_buffer *buffer);
|
wl_shm_buffer_get_format(struct wl_shm_buffer *buffer);
|
||||||
|
|
||||||
int32_t
|
int32_t
|
||||||
wl_shm_buffer_get_width(struct wl_buffer *buffer);
|
wl_shm_buffer_get_width(struct wl_shm_buffer *buffer);
|
||||||
|
|
||||||
int32_t
|
int32_t
|
||||||
wl_shm_buffer_get_height(struct wl_buffer *buffer);
|
wl_shm_buffer_get_height(struct wl_shm_buffer *buffer);
|
||||||
|
|
||||||
int
|
int
|
||||||
wl_buffer_is_shm(struct wl_buffer *buffer);
|
wl_buffer_is_shm(struct wl_buffer *buffer);
|
||||||
|
|
|
||||||
|
|
@ -288,6 +288,16 @@ wl_shm_buffer_create(struct wl_client *client,
|
||||||
return &buffer->buffer;
|
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_EXPORT int
|
||||||
wl_buffer_is_shm(struct wl_buffer *buffer)
|
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_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;
|
return buffer->stride;
|
||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT void *
|
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)
|
if (buffer->pool)
|
||||||
return buffer->pool->data + buffer->offset;
|
return buffer->pool->data + buffer->offset;
|
||||||
else
|
else
|
||||||
|
|
@ -321,25 +321,19 @@ wl_shm_buffer_get_data(struct wl_buffer *buffer_base)
|
||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT uint32_t
|
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;
|
return buffer->format;
|
||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT int32_t
|
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;
|
return buffer->buffer.width;
|
||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT int32_t
|
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;
|
return buffer->buffer.height;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue