[mutter] window/x11: Add function to convert the surface to client area
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window/x11: Add function to convert the surface to client area
- Date: Tue, 10 Mar 2020 14:52:46 +0000 (UTC)
commit be11525b28da70ff60eb40925127d187a3f50672
Author: Olivier Fourdan <ofourdan redhat com>
Date: Wed Feb 26 11:03:48 2020 +0100
window/x11: Add function to convert the surface to client area
Add a convenient function to get the client area rectangle from a given
surface rectangle.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/1091
src/x11/window-x11.c | 16 ++++++++++++++++
src/x11/window-x11.h | 4 +++-
2 files changed, 19 insertions(+), 1 deletion(-)
---
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 2c745f4aa..49f7f1526 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -4092,3 +4092,19 @@ meta_window_x11_buffer_rect_to_frame_rect (MetaWindow *window,
frame_rect->width -= borders.invisible.left + borders.invisible.right;
frame_rect->height -= borders.invisible.top + borders.invisible.bottom;
}
+
+void
+meta_window_x11_surface_rect_to_client_rect (MetaWindow *window,
+ MetaRectangle *surface_rect,
+ MetaRectangle *client_rect)
+{
+ MetaFrameBorders borders;
+
+ meta_frame_calc_borders (window->frame, &borders);
+
+ *client_rect = *surface_rect;
+ client_rect->x += borders.total.left;
+ client_rect->y += borders.total.top;
+ client_rect->width -= borders.total.left + borders.total.right;
+ client_rect->height -= borders.total.top + borders.total.bottom;
+}
diff --git a/src/x11/window-x11.h b/src/x11/window-x11.h
index 03c52c5ab..7f4f96f6c 100644
--- a/src/x11/window-x11.h
+++ b/src/x11/window-x11.h
@@ -92,5 +92,7 @@ gboolean meta_window_x11_always_update_shape (MetaWindow *window);
void meta_window_x11_buffer_rect_to_frame_rect (MetaWindow *window,
MetaRectangle *buffer_rect,
MetaRectangle *frame_rect);
-
+void meta_window_x11_surface_rect_to_client_rect (MetaWindow *window,
+ MetaRectangle *surface_rect,
+ MetaRectangle *client_rect);
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]