diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-04-11 16:55:41 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-04-12 17:55:00 +0100 |
commit | c7c122539383d505041e83a265ef94131566af90 (patch) | |
tree | 92b8f7afee2f78fe03404c8cd92b0f4161ad401d | |
parent | c7dc6928a98a985e3832558989baace38720e2d6 (diff) | |
download | mutter-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.c | 56 |
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) { |