compositor: Remove the edges parameter from send_configure

send_configure was originally modelled after
wl_shell_surface::send_configure, which takes these arguments. However,
the X WM and xdg_surface::configure variants don't use these arguments.

We already store the resize edges for a surface while it's being
resized, so just use the saved state in the wl_shell_surface variant.
dev
Jasper St. Pierre 11 years ago committed by Kristian Høgsberg
parent d67b52a501
commit ac985be8ce
  1. 20
      desktop-shell/shell.c
  2. 3
      src/compositor.h
  3. 3
      xwayland/window-manager.c

@ -1651,13 +1651,11 @@ resize_grab_motion(struct weston_pointer_grab *grab, uint32_t time,
height += wl_fixed_to_int(to_y - from_y); height += wl_fixed_to_int(to_y - from_y);
} }
shsurf->client->send_configure(shsurf->surface, shsurf->client->send_configure(shsurf->surface, width, height);
resize->edges, width, height);
} }
static void static void
send_configure(struct weston_surface *surface, send_configure(struct weston_surface *surface, int32_t width, int32_t height)
uint32_t edges, int32_t width, int32_t height)
{ {
struct shell_surface *shsurf = get_shell_surface(surface); struct shell_surface *shsurf = get_shell_surface(surface);
@ -1665,7 +1663,8 @@ send_configure(struct weston_surface *surface,
if (shsurf->resource) if (shsurf->resource)
wl_shell_surface_send_configure(shsurf->resource, wl_shell_surface_send_configure(shsurf->resource,
edges, width, height); shsurf->resize_edges,
width, height);
} }
static const struct weston_shell_client shell_client = { static const struct weston_shell_client shell_client = {
@ -2329,7 +2328,7 @@ set_fullscreen(struct shell_surface *shsurf,
shsurf->type = SHELL_SURFACE_TOPLEVEL; shsurf->type = SHELL_SURFACE_TOPLEVEL;
shsurf->client->send_configure(shsurf->surface, 0, shsurf->client->send_configure(shsurf->surface,
shsurf->output->width, shsurf->output->width,
shsurf->output->height); shsurf->output->height);
@ -2443,15 +2442,14 @@ set_maximized(struct shell_surface *shsurf,
struct weston_output *output) struct weston_output *output)
{ {
struct desktop_shell *shell; struct desktop_shell *shell;
uint32_t edges = 0, panel_height = 0; uint32_t panel_height = 0;
shell_surface_set_output(shsurf, output); shell_surface_set_output(shsurf, output);
shell = shell_surface_get_shell(shsurf); shell = shell_surface_get_shell(shsurf);
panel_height = get_output_panel_height(shell, shsurf->output); panel_height = get_output_panel_height(shell, shsurf->output);
edges = WL_SHELL_SURFACE_RESIZE_TOP | WL_SHELL_SURFACE_RESIZE_LEFT;
shsurf->client->send_configure(shsurf->surface, edges, shsurf->client->send_configure(shsurf->surface,
shsurf->output->width, shsurf->output->width,
shsurf->output->height - panel_height); shsurf->output->height - panel_height);
@ -3509,7 +3507,7 @@ static const struct xdg_surface_interface xdg_surface_implementation = {
static void static void
xdg_send_configure(struct weston_surface *surface, xdg_send_configure(struct weston_surface *surface,
uint32_t edges, int32_t width, int32_t height) int32_t width, int32_t height)
{ {
struct shell_surface *shsurf = get_shell_surface(surface); struct shell_surface *shsurf = get_shell_surface(surface);
@ -3608,7 +3606,7 @@ static const struct xdg_popup_interface xdg_popup_implementation = {
static void static void
xdg_popup_send_configure(struct weston_surface *surface, xdg_popup_send_configure(struct weston_surface *surface,
uint32_t edges, int32_t width, int32_t height) int32_t width, int32_t height)
{ {
} }

@ -82,8 +82,7 @@ struct weston_mode {
}; };
struct weston_shell_client { struct weston_shell_client {
void (*send_configure)(struct weston_surface *surface, void (*send_configure)(struct weston_surface *surface, int32_t width, int32_t height);
uint32_t edges, int32_t width, int32_t height);
}; };
struct weston_shell_interface { struct weston_shell_interface {

@ -2175,8 +2175,7 @@ weston_wm_window_configure(void *data)
} }
static void static void
send_configure(struct weston_surface *surface, send_configure(struct weston_surface *surface, int32_t width, int32_t height)
uint32_t edges, int32_t width, int32_t height)
{ {
struct weston_wm_window *window = get_wm_window(surface); struct weston_wm_window *window = get_wm_window(surface);
struct weston_wm *wm = window->wm; struct weston_wm *wm = window->wm;

Loading…
Cancel
Save