Implement user_data for surface

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.
dev
Kristian Høgsberg 15 years ago
parent 59fa346ac9
commit ecf65fe041
  1. 13
      wayland-client.c
  2. 3
      wayland-client.h

@ -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;
}

@ -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,

Loading…
Cancel
Save