Implement user_data for surface
authorKristian Høgsberg <krh@redhat.com>
Fri, 18 Sep 2009 13:49:21 +0000 (09:49 -0400)
committerKristian Høgsberg <krh@redhat.com>
Fri, 18 Sep 2009 21:05:50 +0000 (17:05 -0400)
Not sure if we need more than one piece of user_data per surface.
And this should be a general feature of any proxy object.

wayland-client.c
wayland-client.h

index 3c977b2..e60d028 100644 (file)
@@ -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;
+}
index cb2bd29..13b4776 100644 (file)
@@ -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,