[mutter] window: Add meta_window_is_monitor_sized
- From: Adel Gadllah <agadllah src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window: Add meta_window_is_monitor_sized
- Date: Sun, 17 Feb 2013 20:42:21 +0000 (UTC)
commit a6a9d3f448a5a3598e6a3b478bf212005c6435ab
Author: Adel Gadllah <adel gadllah gmail com>
Date: Sun Feb 17 21:12:45 2013 +0100
window: Add meta_window_is_monitor_sized
We duplicate this checks in multiple places so lets add this to
avoid code duplication.
src/core/window.c | 33 +++++++++++++++++++++++++++++++++
src/meta/window.h | 1 +
2 files changed, 34 insertions(+), 0 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index b12b1f7..e4a8ddc 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3647,6 +3647,39 @@ meta_window_is_fullscreen (MetaWindow *window)
}
/**
+ * meta_window_is_monitor_sized:
+ *
+ * Return value: %TRUE if the window is occupies an entire monitor or
+ * the whole screen.
+ */
+gboolean
+meta_window_is_monitor_sized (MetaWindow *window)
+{
+ if (window->fullscreen)
+ return TRUE;
+
+ if (window->override_redirect)
+ {
+ MetaRectangle window_rect, monitor_rect;
+ int screen_width, screen_height;
+
+ meta_screen_get_size (window->screen, &screen_width, &screen_height);
+ meta_window_get_outer_rect (window, &window_rect);
+
+ if (window_rect.x == 0 && window_rect.y == 0 &&
+ window_rect.width == screen_width && window_rect.height == screen_height)
+ return TRUE;
+
+ meta_screen_get_monitor_geometry (window->screen, window->monitor->number, &monitor_rect);
+
+ if (meta_rectangle_equal (&window_rect, &monitor_rect))
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/**
* meta_window_is_on_primary_monitor:
*
* Return value: %TRUE if the window is on the primary monitor
diff --git a/src/meta/window.h b/src/meta/window.h
index 87368c0..9814f47 100644
--- a/src/meta/window.h
+++ b/src/meta/window.h
@@ -141,6 +141,7 @@ void meta_window_foreach_ancestor (MetaWindow *window,
MetaMaximizeFlags meta_window_get_maximized (MetaWindow *window);
gboolean meta_window_is_fullscreen (MetaWindow *window);
+gboolean meta_window_is_monitor_sized (MetaWindow *window);
gboolean meta_window_is_on_primary_monitor (MetaWindow *window);
gboolean meta_window_requested_bypass_compositor (MetaWindow *window);
gboolean meta_window_requested_dont_bypass_compositor (MetaWindow *window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]