compositor: add surface role map hook

master
Kirill Primak 3 months ago committed by Alexander Orzechowski
parent 515275ee72
commit a1298580cc

@ -97,6 +97,13 @@ struct wlr_surface_role {
* such object exists. * such object exists.
*/ */
void (*commit)(struct wlr_surface *surface); void (*commit)(struct wlr_surface *surface);
/**
* Called when the surface is mapped. May be NULL.
*
* If the role is represented by an object, this is only called if
* such object exists.
*/
void (*map)(struct wlr_surface *surface);
/** /**
* Called when the surface is unmapped. May be NULL. * Called when the surface is unmapped. May be NULL.
* *

@ -828,6 +828,11 @@ void wlr_surface_map(struct wlr_surface *surface) {
subsurface_consider_map(subsurface); subsurface_consider_map(subsurface);
} }
if (surface->role != NULL && surface->role->map != NULL &&
(surface->role_resource != NULL || surface->role->no_object)) {
surface->role->map(surface);
}
wl_signal_emit_mutable(&surface->events.map, NULL); wl_signal_emit_mutable(&surface->events.map, NULL);
} }

Loading…
Cancel
Save