mirror of
https://github.com/labwc/labwc.git
synced 2025-11-06 13:29:58 -05:00
HiDPI: send output_enter events to views when they open
This commit is contained in:
parent
aa9720f627
commit
1d92404108
4 changed files with 45 additions and 0 deletions
38
src/view.c
38
src/view.c
|
|
@ -254,6 +254,44 @@ view_border(struct view *view)
|
|||
return border;
|
||||
}
|
||||
|
||||
void
|
||||
surface_enter_for_each_surface(struct wlr_surface *surface, int sx, int sy,
|
||||
void *user_data)
|
||||
{
|
||||
struct wlr_output *wlr_output = user_data;
|
||||
wlr_surface_send_enter(surface, wlr_output);
|
||||
}
|
||||
|
||||
void
|
||||
surface_leave_for_each_surface(struct wlr_surface *surface, int sx, int sy,
|
||||
void *user_data)
|
||||
{
|
||||
struct wlr_output *wlr_output = user_data;
|
||||
wlr_surface_send_leave(surface, wlr_output);
|
||||
}
|
||||
|
||||
void
|
||||
view_output_enter(struct view *view, struct wlr_output *wlr_output)
|
||||
{
|
||||
view_for_each_surface(view, surface_enter_for_each_surface,
|
||||
wlr_output);
|
||||
if (view->toplevel_handle) {
|
||||
wlr_foreign_toplevel_handle_v1_output_enter(
|
||||
view->toplevel_handle, wlr_output);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
view_output_leave(struct view *view, struct wlr_output *wlr_output)
|
||||
{
|
||||
view_for_each_surface(view, surface_leave_for_each_surface,
|
||||
wlr_output);
|
||||
if (view->toplevel_handle) {
|
||||
wlr_foreign_toplevel_handle_v1_output_leave(
|
||||
view->toplevel_handle, wlr_output);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
view_move_to_edge(struct view *view, const char *direction)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -343,6 +343,8 @@ xdg_toplevel_view_map(struct view *view)
|
|||
current.link) {
|
||||
view_subsurface_create(view, subsurface);
|
||||
}
|
||||
struct wlr_output *wlr_output = view_wlr_output(view);
|
||||
view_output_enter(view, wlr_output);
|
||||
|
||||
view->been_mapped = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -256,6 +256,9 @@ map(struct view *view)
|
|||
view->x = box.x;
|
||||
view->y = box.y;
|
||||
view_center(view);
|
||||
|
||||
struct wlr_output *wlr_output = view_wlr_output(view);
|
||||
view_output_enter(view, wlr_output);
|
||||
view->been_mapped = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue