@ -590,6 +590,17 @@ void wlr_layer_surface_v1_for_each_popup(struct wlr_layer_surface_v1 *surface,
struct wlr_surface * wlr_layer_surface_v1_surface_at (
struct wlr_surface * wlr_layer_surface_v1_surface_at (
struct wlr_layer_surface_v1 * surface , double sx , double sy ,
struct wlr_layer_surface_v1 * surface , double sx , double sy ,
double * sub_x , double * sub_y ) {
double * sub_x , double * sub_y ) {
struct wlr_surface * sub = wlr_layer_surface_v1_popup_surface_at ( surface ,
sx , sy , sub_x , sub_y ) ;
if ( sub ! = NULL ) {
return sub ;
}
return wlr_surface_surface_at ( surface - > surface , sx , sy , sub_x , sub_y ) ;
}
struct wlr_surface * wlr_layer_surface_v1_popup_surface_at (
struct wlr_layer_surface_v1 * surface , double sx , double sy ,
double * sub_x , double * sub_y ) {
struct wlr_xdg_popup * popup_state ;
struct wlr_xdg_popup * popup_state ;
wl_list_for_each ( popup_state , & surface - > popups , link ) {
wl_list_for_each ( popup_state , & surface - > popups , link ) {
struct wlr_xdg_surface * popup = popup_state - > base ;
struct wlr_xdg_surface * popup = popup_state - > base ;
@ -606,5 +617,5 @@ struct wlr_surface *wlr_layer_surface_v1_surface_at(
}
}
}
}
return wlr_surface_surface_at ( surface - > surface , sx , sy , sub_x , sub_y ) ;
return NULL ;
}
}