Ecore_Wl2_Window *window;
window = data;
- window->configure_serial = serial;
+ window->config.serial = serial;
if (!window->pending.configure) return;
_configure_complete(window);
uint32_t *s;
Eina_Bool fs, max;
- if ((!win->maximized) && (!win->fullscreen))
- win->saved = win->geometry;
+ if ((!win->config.maximized) && (!win->config.fullscreen))
+ win->saved = win->config.geometry;
- fs = win->fullscreen;
- max = win->maximized;
+ fs = win->config.fullscreen;
+ max = win->config.maximized;
- win->minimized = EINA_FALSE;
- win->maximized = EINA_FALSE;
- win->fullscreen = EINA_FALSE;
- win->focused = EINA_FALSE;
- win->resizing = EINA_FALSE;
+ win->config.minimized = EINA_FALSE;
+ win->config.maximized = EINA_FALSE;
+ win->config.fullscreen = EINA_FALSE;
+ win->config.focused = EINA_FALSE;
+ win->config.resizing = EINA_FALSE;
wl_array_for_each(s, states)
{
switch (*s)
{
case ZXDG_TOPLEVEL_V6_STATE_MAXIMIZED:
- win->maximized = EINA_TRUE;
+ win->config.maximized = EINA_TRUE;
break;
case ZXDG_TOPLEVEL_V6_STATE_FULLSCREEN:
- win->fullscreen = EINA_TRUE;
+ win->config.fullscreen = EINA_TRUE;
break;
case ZXDG_TOPLEVEL_V6_STATE_RESIZING:
- win->resizing = EINA_TRUE;
+ win->config.resizing = EINA_TRUE;
break;
case ZXDG_TOPLEVEL_V6_STATE_ACTIVATED:
- win->focused = EINA_TRUE;
- win->minimized = EINA_FALSE;
+ win->config.focused = EINA_TRUE;
+ win->config.minimized = EINA_FALSE;
default:
break;
}
}
- if ((win->geometry.w == width) && (win->geometry.h == height))
+ if ((win->config.geometry.w == width) &&
+ (win->config.geometry.h == height))
width = height = 0;
- else if ((!width) && (!height) && (!win->fullscreen) && (!win->maximized) &&
- ((win->fullscreen != fs) || (win->maximized != max)))
+ else if ((!width) && (!height) && (!win->config.fullscreen) &&
+ (!win->config.maximized) &&
+ ((win->config.fullscreen != fs) ||
+ (win->config.maximized != max)))
width = win->saved.w, height = win->saved.h;
- _ecore_wl2_window_configure_send(win, width, height, !!win->resizing,
- win->fullscreen, win->maximized);
+ _ecore_wl2_window_configure_send(win, width, height, !!win->config.resizing,
+ win->config.fullscreen, win->config.maximized);
- if (win->focused)
+ if (win->config.focused)
_ecore_wl2_window_activate_send(win);
else
_ecore_wl2_window_deactivate_send(win);
pos = zxdg_shell_v6_create_positioner(win->display->wl.zxdg_shell);
if (!pos) return;
- zxdg_positioner_v6_set_anchor_rect(pos, win->geometry.x, win->geometry.y,
+ zxdg_positioner_v6_set_anchor_rect(pos, win->config.geometry.x, win->config.geometry.y,
1, 1);
- zxdg_positioner_v6_set_size(pos, win->geometry.w, win->geometry.h);
+ zxdg_positioner_v6_set_size(pos, win->config.geometry.w, win->config.geometry.h);
zxdg_positioner_v6_set_anchor(pos, ZXDG_POSITIONER_V6_ANCHOR_TOP |
ZXDG_POSITIONER_V6_ANCHOR_LEFT);
zxdg_positioner_v6_set_gravity(pos, ZXDG_POSITIONER_V6_ANCHOR_BOTTOM |
if (ptop)
zxdg_toplevel_v6_set_parent(window->zxdg_toplevel, ptop);
- if (window->maximized)
+ if (window->config.maximized)
zxdg_toplevel_v6_set_maximized(window->zxdg_toplevel);
- if (window->fullscreen)
+ if (window->config.fullscreen)
zxdg_toplevel_v6_set_fullscreen(window->zxdg_toplevel, NULL);
if (window->aspect.set && window->display->wl.efl_hints)
efl_hints_set_aspect(window->display->wl.efl_hints, window->zxdg_toplevel,
window->surface, window->uuid);
if (window->zxdg_surface)
zxdg_surface_v6_set_window_geometry(window->zxdg_surface,
- window->geometry.x,
- window->geometry.y,
- window->geometry.w,
- window->geometry.h);
+ window->config.geometry.x,
+ window->config.geometry.y,
+ window->config.geometry.w,
+ window->config.geometry.h);
ecore_wl2_window_opaque_region_set(window,
window->opaque.x,
win->parent = parent;
win->id = _win_id++;
- win->geometry.x = x;
- win->geometry.y = y;
- win->geometry.w = w;
- win->geometry.h = h;
+ win->config.geometry.x = x;
+ win->config.geometry.y = y;
+ win->config.geometry.w = w;
+ win->config.geometry.h = h;
win->opaque.x = x;
win->opaque.y = y;
window->callback = NULL;
}
- window->configure_serial = 0;
+ window->config.serial = 0;
window->zxdg_configure_ack = NULL;
window->zxdg_set_min_size = NULL;
window->zxdg_set_max_size = NULL;
s = wl_array_add(&states, sizeof(*s));
*s = ZXDG_TOPLEVEL_V6_STATE_ACTIVATED;
_zxdg_toplevel_cb_configure(window, window->zxdg_toplevel,
- window->geometry.w,
- window->geometry.h, &states);
+ window->config.geometry.w,
+ window->config.geometry.h, &states);
wl_array_release(&states);
}
}
{
EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
- return window->maximized;
+ return window->config.maximized;
}
EAPI void
EINA_SAFETY_ON_NULL_RETURN(window);
- prev = window->maximized;
+ prev = window->config.maximized;
maximized = !!maximized;
if (prev == maximized) return;
if (!ecore_wl2_window_shell_surface_exists(window))
- window->maximized = maximized;
+ window->config.maximized = maximized;
if (maximized)
{
- window->saved = window->geometry;
+ window->saved = window->config.geometry;
if (window->zxdg_toplevel)
zxdg_toplevel_v6_set_maximized(window->zxdg_toplevel);
{
EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
- return window->fullscreen;
+ return window->config.fullscreen;
}
EAPI void
EINA_SAFETY_ON_NULL_RETURN(window);
- prev = window->fullscreen;
+ prev = window->config.fullscreen;
fullscreen = !!fullscreen;
if (prev == fullscreen) return;
if (!ecore_wl2_window_shell_surface_exists(window))
- window->fullscreen = fullscreen;
+ window->config.fullscreen = fullscreen;
if (fullscreen)
{
- window->saved = window->geometry;
+ window->saved = window->config.geometry;
if (window->zxdg_toplevel)
zxdg_toplevel_v6_set_fullscreen(window->zxdg_toplevel, NULL);
{
EINA_SAFETY_ON_NULL_RETURN(window);
- if (x) *x = window->geometry.x;
- if (y) *y = window->geometry.y;
- if (w) *w = window->geometry.w;
- if (h) *h = window->geometry.h;
+ if (x) *x = window->config.geometry.x;
+ if (y) *y = window->config.geometry.y;
+ if (w) *w = window->config.geometry.w;
+ if (h) *h = window->config.geometry.h;
}
EAPI void
{
EINA_SAFETY_ON_NULL_RETURN(window);
- if ((window->geometry.x == x) && (window->geometry.y == y) &&
- (window->geometry.w == w) && (window->geometry.h == h))
+ if ((window->config.geometry.x == x) && (window->config.geometry.y == y) &&
+ (window->config.geometry.w == w) && (window->config.geometry.h == h))
return;
- window->geometry.x = x;
- window->geometry.y = y;
- window->geometry.w = w;
- window->geometry.h = h;
+ window->config.geometry.x = x;
+ window->config.geometry.y = y;
+ window->config.geometry.w = w;
+ window->config.geometry.h = h;
if (window->zxdg_toplevel)
zxdg_surface_v6_set_window_geometry(window->zxdg_surface, x, y, w, h);
{
EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
- return window->minimized;
+ return window->config.minimized;
}
EAPI void
EINA_SAFETY_ON_NULL_RETURN(window);
- prev = window->minimized;
+ prev = window->config.minimized;
iconified = !!iconified;
if (prev == iconified) return;
- window->minimized = iconified;
+ window->config.minimized = iconified;
if (iconified)
{
s = wl_array_add(&states, sizeof(*s));
*s = ZXDG_TOPLEVEL_V6_STATE_ACTIVATED;
_zxdg_toplevel_cb_configure(window, window->zxdg_toplevel,
- window->geometry.w,
- window->geometry.h, &states);
+ window->config.geometry.w,
+ window->config.geometry.h, &states);
wl_array_release(&states);
}
}
ecore_wl2_window_activated_get(const Ecore_Wl2_Window *window)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
- return window->focused;
+ return window->config.focused;
}
EAPI Ecore_Wl2_Output *
EINA_SAFETY_ON_NULL_RETURN_VAL(window, NULL);
- x = window->geometry.x;
- y = window->geometry.y;
+ x = window->config.geometry.x;
+ y = window->config.geometry.y;
EINA_INLIST_FOREACH_SAFE(window->display->outputs, tmp, out)
{
{
EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
- return window->resizing;
+ return window->config.resizing;
}
nw = ev->w;
nh = ev->h;
- pfw = fw = wdata->win->geometry.w - wdata->content.w;
- pfh = fh = wdata->win->geometry.h - wdata->content.h;
+ pfw = fw = wdata->win->config.geometry.w - wdata->content.w;
+ pfh = fh = wdata->win->config.geometry.h - wdata->content.h;
if ((prev_max != ee->prop.maximized) ||
(prev_full != ee->prop.fullscreen) ||
{
state_change = EINA_TRUE;
_ecore_evas_wl_common_state_update(ee);
- fw = wdata->win->geometry.w - wdata->content.w;
- fh = wdata->win->geometry.h - wdata->content.h;
+ fw = wdata->win->config.geometry.w - wdata->content.w;
+ fh = wdata->win->config.geometry.h - wdata->content.h;
}
if ((!nw) && (!nh))
{
- if (wdata->win->configure_serial && wdata->win->surface &&
+ if (wdata->win->config.serial && wdata->win->surface &&
((!state_change) || ((pfw == fw) && (pfh == fh))))
{
if (wdata->win->zxdg_configure_ack)
wdata->win->zxdg_configure_ack(wdata->win->zxdg_surface,
- wdata->win->configure_serial);
- wdata->win->configure_serial = 0;
+ wdata->win->config.serial);
+ wdata->win->config.serial = 0;
}
return ECORE_CALLBACK_RENEW;
}
if (!ecore_wl2_window_shell_surface_exists(wdata->win)) return;
- if (wdata->win->zxdg_configure_ack && wdata->win->configure_serial)
+ if (wdata->win->zxdg_configure_ack && wdata->win->config.serial)
wdata->win->zxdg_configure_ack(wdata->win->zxdg_surface,
- wdata->win->configure_serial);
- wdata->win->configure_serial = 0;
+ wdata->win->config.serial);
+ wdata->win->config.serial = 0;
/* Surviving bits of WWW - track interesting state we might want
* to pass to clients to do client side effects
*/
- einfo->window.x = wdata->win->geometry.x;
- einfo->window.y = wdata->win->geometry.y;
- einfo->window.w = wdata->win->geometry.w;
- einfo->window.h = wdata->win->geometry.h;
+ einfo->window.x = wdata->win->config.geometry.x;
+ einfo->window.y = wdata->win->config.geometry.y;
+ einfo->window.w = wdata->win->config.geometry.w;
+ einfo->window.h = wdata->win->config.geometry.h;
if (einfo->resizing)
{
einfo->x_rel = 0;