mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
ssd: refactor in preparation for making ssd_visible_box() private
Prepare to move code from output/render functions to ssd. We want rendering functions to just render, not calculate decoration geometry and such like.
This commit is contained in:
parent
5f01c49b72
commit
8c96c65018
5 changed files with 9 additions and 13 deletions
|
|
@ -60,6 +60,6 @@ uint32_t ssd_resize_edges(enum ssd_part_type type);
|
||||||
void ssd_update_title(struct view *view);
|
void ssd_update_title(struct view *view);
|
||||||
void ssd_create(struct view *view);
|
void ssd_create(struct view *view);
|
||||||
void ssd_destroy(struct view *view);
|
void ssd_destroy(struct view *view);
|
||||||
void ssd_update_geometry(struct view *view);
|
void ssd_update_geometry(struct view *view, bool force);
|
||||||
|
|
||||||
#endif /* __LABWC_SSD_H */
|
#endif /* __LABWC_SSD_H */
|
||||||
|
|
|
||||||
|
|
@ -36,14 +36,10 @@ reload_config_and_theme(void)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
view->margin = ssd_thickness(view);
|
view->margin = ssd_thickness(view);
|
||||||
struct ssd_part *part;
|
ssd_update_geometry(view, true);
|
||||||
wl_list_for_each(part, &view->ssd.parts, link) {
|
|
||||||
part->box = ssd_visible_box(view, part->type);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
menu_reconfigure(g_server, g_server->rootmenu);
|
menu_reconfigure(g_server, g_server->rootmenu);
|
||||||
|
|
||||||
damage_all_outputs(g_server);
|
damage_all_outputs(g_server);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -354,9 +354,9 @@ geometry_changed(struct view *view)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ssd_update_geometry(struct view *view)
|
ssd_update_geometry(struct view *view, bool force)
|
||||||
{
|
{
|
||||||
if (!geometry_changed(view)) {
|
if (!geometry_changed(view) && !force) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
struct ssd_part *part;
|
struct ssd_part *part;
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ handle_commit(struct wl_listener *listener, void *data)
|
||||||
view->pending_move_resize.configure_serial = 0;
|
view->pending_move_resize.configure_serial = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ssd_update_geometry(view);
|
ssd_update_geometry(view, false);
|
||||||
damage_view_part(view);
|
damage_view_part(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -164,7 +164,7 @@ xdg_toplevel_view_configure(struct view *view, struct wlr_box geo)
|
||||||
} else if (view->pending_move_resize.configure_serial == 0) {
|
} else if (view->pending_move_resize.configure_serial == 0) {
|
||||||
view->x = geo.x;
|
view->x = geo.x;
|
||||||
view->y = geo.y;
|
view->y = geo.y;
|
||||||
ssd_update_geometry(view);
|
ssd_update_geometry(view, false);
|
||||||
damage_all_outputs(view->server);
|
damage_all_outputs(view->server);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -174,7 +174,7 @@ xdg_toplevel_view_move(struct view *view, double x, double y)
|
||||||
{
|
{
|
||||||
view->x = x;
|
view->x = x;
|
||||||
view->y = y;
|
view->y = y;
|
||||||
ssd_update_geometry(view);
|
ssd_update_geometry(view, false);
|
||||||
damage_all_outputs(view->server);
|
damage_all_outputs(view->server);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ handle_commit(struct wl_listener *listener, void *data)
|
||||||
view->pending_move_resize.height - view->h;
|
view->pending_move_resize.height - view->h;
|
||||||
view->pending_move_resize.update_y = false;
|
view->pending_move_resize.update_y = false;
|
||||||
}
|
}
|
||||||
ssd_update_geometry(view);
|
ssd_update_geometry(view, false);
|
||||||
damage_view_whole(view);
|
damage_view_whole(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -107,7 +107,7 @@ move(struct view *view, double x, double y)
|
||||||
struct wlr_xwayland_surface *s = view->xwayland_surface;
|
struct wlr_xwayland_surface *s = view->xwayland_surface;
|
||||||
wlr_xwayland_surface_configure(s, (int16_t)x, (int16_t)y,
|
wlr_xwayland_surface_configure(s, (int16_t)x, (int16_t)y,
|
||||||
(uint16_t)s->width, (uint16_t)s->height);
|
(uint16_t)s->width, (uint16_t)s->height);
|
||||||
ssd_update_geometry(view);
|
ssd_update_geometry(view, false);
|
||||||
damage_all_outputs(view->server);
|
damage_all_outputs(view->server);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue