struct
{
struct wl_signal destroy;
+ struct wl_signal cached;
} events;
};
}
wl_signal_init(&sub->events.destroy);
+ wl_signal_init(&sub->events.cached);
sub->ds_subsurface = ds_subsurface;
sub->destroy.notify = _e_subsurface_cb_destroy;
sub = wl_container_of(listener, sub, cached);
+ wl_signal_emit(&sub->events.cached, sub);
+
e_presentation_time_container_feedback_discard(&sub->base.cached.presentation_container);
e_presentation_time_container_feedback_merge(&sub->base.cached.presentation_container,
&sub->surface->base.pending.presentation_container);
{
EINA_SAFETY_ON_NULL_RETURN(subsurface);
wl_signal_add(&subsurface->events.destroy, listener);
+}
+
+EINTERN void
+e_subsurface_cached_listener_add(E_Subsurface *subsurface, struct wl_listener *listener)
+{
+ EINA_SAFETY_ON_NULL_RETURN(subsurface);
+ wl_signal_add(&subsurface->events.cached, listener);
}
\ No newline at end of file
EINTERN E_Subsurface *e_subsurface_from_surface(E_Surface *surface);
EINTERN Eina_Bool e_subsurface_position_set(E_Subsurface *subsurface, int x, int y);
EINTERN void e_subsurface_destroy_listener_add(E_Subsurface *subsurface, struct wl_listener *listener);
+EINTERN void e_subsurface_cached_listener_add(E_Subsurface *subsurface, struct wl_listener *listener);
#endif