subsurface->has_cache = true;
wl_signal_emit_mutable(&subsurface->events.cached, subsurface);
+ wl_signal_emit_mutable(&surface->events.cache, surface);
}
else {
if (subsurface->has_cache) {
}
WL_EXPORT void
+ds_surface_add_cache_listener(struct ds_surface *surface,
+ struct wl_listener *listener)
+{
+ wl_signal_add(&surface->events.cache, listener);
+}
+
+WL_EXPORT void
ds_surface_add_new_subsurface_listener(struct ds_surface *surface,
struct wl_listener *listener)
{
surface_state_init(&surface->pending);
wl_signal_init(&surface->events.commit);
+ wl_signal_init(&surface->events.cache);
wl_signal_init(&surface->events.destroy);
wl_signal_init(&surface->events.new_subsurface);