forked from enlightenment/efl
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:
parent
b02d5a1922
commit
6a6b56ce24
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue