[PATCH 1/8] window: Allow clients to choose the fullscreen method
Ander Conselvan de Oliveira
conselvan2 at gmail.com
Fri Dec 14 07:37:23 PST 2012
From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
---
clients/window.c | 11 ++++++++++-
clients/window.h | 3 +++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/clients/window.c b/clients/window.c
index 29f6c87..0bc9526 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -219,6 +219,7 @@ struct window {
cairo_surface_t *cairo_surface;
int resizing;
+ int fullscreen_method;
window_key_handler_t key_handler;
window_keyboard_focus_handler_t keyboard_focus_handler;
@@ -3334,7 +3335,7 @@ window_set_fullscreen(struct window *window, int fullscreen)
window->type = TYPE_FULLSCREEN;
window->saved_allocation = window->allocation;
wl_shell_surface_set_fullscreen(window->shell_surface,
- WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT,
+ window->fullscreen_method,
0, NULL);
} else {
window->type = TYPE_TOPLEVEL;
@@ -3345,6 +3346,13 @@ window_set_fullscreen(struct window *window, int fullscreen)
}
}
+void
+window_set_fullscreen_method(struct window *window,
+ enum wl_shell_surface_fullscreen_method method)
+{
+ window->fullscreen_method = method;
+}
+
int
window_is_maximized(struct window *window)
{
@@ -3558,6 +3566,7 @@ window_create_internal(struct display *display,
window->type = type;
window->input_region = NULL;
window->opaque_region = NULL;
+ window->fullscreen_method = WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT;
if (display->dpy)
#ifdef HAVE_CAIRO_EGL
diff --git a/clients/window.h b/clients/window.h
index 29bba30..4cde0f6 100644
--- a/clients/window.h
+++ b/clients/window.h
@@ -301,6 +301,9 @@ window_is_fullscreen(struct window *window);
void
window_set_fullscreen(struct window *window, int fullscreen);
+void
+window_set_fullscreen_method(struct window *window,
+ enum wl_shell_surface_fullscreen_method method);
int
window_is_maximized(struct window *window);
--
1.7.9.5
More information about the wayland-devel
mailing list