summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-04-11 16:55:41 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-04-12 17:55:00 +0100
commitc7c122539383d505041e83a265ef94131566af90 (patch)
tree92b8f7afee2f78fe03404c8cd92b0f4161ad401d
parentc7dc6928a98a985e3832558989baace38720e2d6 (diff)
downloadmutter-c7c122539383d505041e83a265ef94131566af90.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 d9dc29ee1..bd862000d 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -664,20 +664,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,
@@ -700,18 +694,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
@@ -734,6 +740,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)
{