forked from enlightenment/efl
ecore-wl2: rewrite maximize/fullscreen set functions for consistency
* sanitize boolean params * enforce window state flag setting * use window flag instead of window type for state @fix ref T2919 Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
ef3ef643c2
commit
880a76a75b
|
@ -612,11 +612,17 @@ ecore_wl2_window_maximized_get(Ecore_Wl2_Window *window)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized)
|
ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized)
|
||||||
{
|
{
|
||||||
|
Eina_Bool prev;
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN(window);
|
EINA_SAFETY_ON_NULL_RETURN(window);
|
||||||
|
|
||||||
if (window->maximized == maximized) return;
|
prev = window->maximized;
|
||||||
|
maximized = !!maximized;
|
||||||
|
if (prev == maximized) return;
|
||||||
|
|
||||||
if (window->type == ECORE_WL2_WINDOW_TYPE_TOPLEVEL)
|
window->maximized = maximized;
|
||||||
|
|
||||||
|
if (maximized)
|
||||||
{
|
{
|
||||||
window->saved = window->geometry;
|
window->saved = window->geometry;
|
||||||
|
|
||||||
|
@ -627,7 +633,7 @@ ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized)
|
||||||
|
|
||||||
window->type = ECORE_WL2_WINDOW_TYPE_MAXIMIZED;
|
window->type = ECORE_WL2_WINDOW_TYPE_MAXIMIZED;
|
||||||
}
|
}
|
||||||
else if (window->type == ECORE_WL2_WINDOW_TYPE_MAXIMIZED)
|
else
|
||||||
{
|
{
|
||||||
if (window->xdg_surface)
|
if (window->xdg_surface)
|
||||||
xdg_surface_unset_maximized(window->xdg_surface);
|
xdg_surface_unset_maximized(window->xdg_surface);
|
||||||
|
@ -639,8 +645,6 @@ ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized)
|
||||||
_ecore_wl2_window_configure_send(window, window->saved.w,
|
_ecore_wl2_window_configure_send(window, window->saved.w,
|
||||||
window->saved.h, 0);
|
window->saved.h, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
window->maximized = maximized;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
|
@ -654,9 +658,15 @@ ecore_wl2_window_fullscreen_get(Ecore_Wl2_Window *window)
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_wl2_window_fullscreen_set(Ecore_Wl2_Window *window, Eina_Bool fullscreen)
|
ecore_wl2_window_fullscreen_set(Ecore_Wl2_Window *window, Eina_Bool fullscreen)
|
||||||
{
|
{
|
||||||
|
Eina_Bool prev;
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN(window);
|
EINA_SAFETY_ON_NULL_RETURN(window);
|
||||||
|
|
||||||
if (window->fullscreen == fullscreen) return;
|
prev = window->fullscreen;
|
||||||
|
fullscreen = !!fullscreen;
|
||||||
|
if (prev == fullscreen) return;
|
||||||
|
|
||||||
|
window->fullscreen = fullscreen;
|
||||||
|
|
||||||
if (fullscreen)
|
if (fullscreen)
|
||||||
{
|
{
|
||||||
|
@ -683,8 +693,6 @@ ecore_wl2_window_fullscreen_set(Ecore_Wl2_Window *window, Eina_Bool fullscreen)
|
||||||
_ecore_wl2_window_configure_send(window, window->saved.w,
|
_ecore_wl2_window_configure_send(window, window->saved.w,
|
||||||
window->saved.h, 0);
|
window->saved.h, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
window->fullscreen = fullscreen;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI int
|
EAPI int
|
||||||
|
|
Loading…
Reference in New Issue