summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-04-11 16:55:41 +0100
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2015-01-19 05:08:28 +0200
commit79384de0219dbc3b4b489dcde6d8570d400891ba (patch)
treefc923786d7a4ddb91b135eb512cb64c1994132af
parent3994d7a09a515ec8d51b3a63ffdc23a7aa0b9fa2 (diff)
downloadmetacity-79384de0219dbc3b4b489dcde6d8570d400891ba.tar.gz
MetaFrames: factor out MetaUIFrame accessors for borders, corner radiuses
This makes it a bit simpler for other functions on a MetaUIFrame to get this information. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=697758 Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net> Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r--src/ui/frames.c56
1 files changed, 39 insertions, 17 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 3e495221..a1db4bf3 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -755,20 +755,14 @@ meta_frames_lookup_window (MetaFrames *frames,
return frame;
}
-void
-meta_frames_get_borders (MetaFrames *frames,
- Window xwindow,
- MetaFrameBorders *borders)
+static void
+meta_ui_frame_get_borders (MetaFrames *frames,
+ MetaUIFrame *frame,
+ MetaFrameBorders *borders)
{
MetaFrameFlags flags;
- MetaUIFrame *frame;
MetaFrameType type;
- frame = meta_frames_lookup_window (frames, xwindow);
-
- if (frame == NULL)
- meta_bug ("No such frame 0x%lx\n", xwindow);
-
meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow,
META_CORE_GET_FRAME_FLAGS, &flags,
META_CORE_GET_FRAME_TYPE, &type,
@@ -791,18 +785,30 @@ meta_frames_get_borders (MetaFrames *frames,
}
void
-meta_frames_get_corner_radiuses (MetaFrames *frames,
- Window xwindow,
- float *top_left,
- float *top_right,
- float *bottom_left,
- float *bottom_right)
+meta_frames_get_borders (MetaFrames *frames,
+ Window xwindow,
+ MetaFrameBorders *borders)
{
MetaUIFrame *frame;
- MetaFrameGeometry fgeom;
frame = meta_frames_lookup_window (frames, xwindow);
+ if (frame == NULL)
+ meta_bug ("No such frame 0x%lx\n", xwindow);
+
+ meta_ui_frame_get_borders (frames, frame, borders);
+}
+
+static void
+meta_ui_frame_get_corner_radiuses (MetaFrames *frames,
+ MetaUIFrame *frame,
+ float *top_left,
+ float *top_right,
+ float *bottom_left,
+ float *bottom_right)
+{
+ MetaFrameGeometry fgeom;
+
meta_frames_calc_geometry (frames, frame, &fgeom);
/* For compatibility with the code in get_visible_rect(), there's
@@ -825,6 +831,22 @@ meta_frames_get_corner_radiuses (MetaFrames *frames,
}
void
+meta_frames_get_corner_radiuses (MetaFrames *frames,
+ Window xwindow,
+ float *top_left,
+ float *top_right,
+ float *bottom_left,
+ float *bottom_right)
+{
+ MetaUIFrame *frame;
+
+ frame = meta_frames_lookup_window (frames, xwindow);
+
+ meta_ui_frame_get_corner_radiuses (frames, frame, top_left, top_right,
+ bottom_left, bottom_right);
+}
+
+void
meta_frames_reset_bg (MetaFrames *frames,
Window xwindow)
{