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:
Chris Michael 2015-12-07 14:39:29 -05:00
parent ef3ef643c2
commit 880a76a75b
1 changed files with 16 additions and 8 deletions

View File

@ -612,11 +612,17 @@ ecore_wl2_window_maximized_get(Ecore_Wl2_Window *window)
EAPI void
ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized)
{
Eina_Bool prev;
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;
@ -627,7 +633,7 @@ ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized)
window->type = ECORE_WL2_WINDOW_TYPE_MAXIMIZED;
}
else if (window->type == ECORE_WL2_WINDOW_TYPE_MAXIMIZED)
else
{
if (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,
window->saved.h, 0);
}
window->maximized = maximized;
}
EAPI Eina_Bool
@ -654,9 +658,15 @@ ecore_wl2_window_fullscreen_get(Ecore_Wl2_Window *window)
EAPI void
ecore_wl2_window_fullscreen_set(Ecore_Wl2_Window *window, Eina_Bool fullscreen)
{
Eina_Bool prev;
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)
{
@ -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,
window->saved.h, 0);
}
window->fullscreen = fullscreen;
}
EAPI int