summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wayland-client.c13
-rw-r--r--wayland-client.h3
2 files changed, 16 insertions, 0 deletions
diff --git a/wayland-client.c b/wayland-client.c
index 3c977b2..e60d028 100644
--- a/wayland-client.c
+++ b/wayland-client.c
@@ -64,6 +64,7 @@ struct wl_proxy {
struct wl_object base;
struct wl_display *display;
struct wl_list listener_list;
+ void *user_data;
};
struct wl_compositor {
@@ -618,3 +619,15 @@ wl_surface_damage(struct wl_surface *surface,
wl_proxy_marshal(&surface->proxy,
WL_SURFACE_DAMAGE, x, y, width, height);
}
+
+WL_EXPORT void
+wl_surface_set_user_data(struct wl_surface *surface, void *user_data)
+{
+ surface->proxy.user_data = user_data;
+}
+
+WL_EXPORT void *
+wl_surface_get_user_data(struct wl_surface *surface)
+{
+ return surface->proxy.user_data;
+}
diff --git a/wayland-client.h b/wayland-client.h
index cb2bd29..13b4776 100644
--- a/wayland-client.h
+++ b/wayland-client.h
@@ -95,6 +95,9 @@ void wl_surface_copy(struct wl_surface *surface, int32_t dst_x, int32_t dst_y,
void wl_surface_damage(struct wl_surface *surface,
int32_t x, int32_t y, int32_t width, int32_t height);
+void wl_surface_set_user_data(struct wl_surface *surface, void *user_data);
+void *wl_surface_get_user_data(struct wl_surface *surface);
+
struct wl_output;
struct wl_output_listener {
void (*geometry)(void *data,