ecore-wl2: Add API function to set if a window is maximized

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-09-28 11:28:23 -04:00
parent b02d5a1922
commit 6a6b56ce24
2 changed files with 33 additions and 0 deletions

View File

@ -397,6 +397,9 @@ EAPI void ecore_wl2_window_opaque_region_set(Ecore_Wl2_Window *window, int x, in
/* TODO: doxy */
EAPI Eina_Bool ecore_wl2_window_maximized_get(Ecore_Wl2_Window *window);
/* TODO: doxy */
EAPI void ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized);
/* TODO: doxy */
EAPI Eina_Bool ecore_wl2_window_fullscreen_get(Ecore_Wl2_Window *window);

View File

@ -593,6 +593,36 @@ ecore_wl2_window_maximized_get(Ecore_Wl2_Window *window)
return EINA_FALSE;
}
EAPI void
ecore_wl2_window_maximized_set(Ecore_Wl2_Window *window, Eina_Bool maximized)
{
EINA_SAFETY_ON_NULL_RETURN(window);
if ((window->type == ECORE_WL2_WINDOW_TYPE_MAXIMIZED) == maximized)
return;
if (window->type == ECORE_WL2_WINDOW_TYPE_TOPLEVEL)
{
if (window->xdg_surface)
xdg_surface_set_maximized(window->xdg_surface);
else if (window->wl_shell_surface)
wl_shell_surface_set_maximized(window->wl_shell_surface, NULL);
window->type = ECORE_WL2_WINDOW_TYPE_MAXIMIZED;
}
else if (window->type == ECORE_WL2_WINDOW_TYPE_MAXIMIZED)
{
if (window->xdg_surface)
xdg_surface_unset_maximized(window->xdg_surface);
else if (window->wl_shell_surface)
wl_shell_surface_set_toplevel(window->wl_shell_surface);
window->type = ECORE_WL2_WINDOW_TYPE_TOPLEVEL;
}
/* TODO: send configure ? */
}
EAPI Eina_Bool
ecore_wl2_window_fullscreen_get(Ecore_Wl2_Window *window)
{