[gnome-utils] Disable masking for area or window screenshots.
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-utils] Disable masking for area or window screenshots.
- Date: Sat, 17 Sep 2011 03:52:34 +0000 (UTC)
commit 56f50c747274f0e8c6624dbc3c6fac04766bd193
Author: Ian Westcott <ianw pixar com>
Date: Fri Sep 16 23:50:10 2011 -0400
Disable masking for area or window screenshots.
Area masking doesn't cope well with window or area screenshot, so
disable it unless we are taking a screenshot of the whole screen.
https://bugzilla.gnome.org/show_bug.cgi?id=587101
gnome-screenshot/gnome-screenshot.c | 5 +++--
gnome-screenshot/screenshot-utils.c | 6 ++++--
gnome-screenshot/screenshot-utils.h | 3 ++-
3 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/gnome-screenshot/gnome-screenshot.c b/gnome-screenshot/gnome-screenshot.c
index 9c6fca0..a8f5417 100644
--- a/gnome-screenshot/gnome-screenshot.c
+++ b/gnome-screenshot/gnome-screenshot.c
@@ -874,13 +874,14 @@ finish_prepare_screenshot (char *initial_uri, GdkWindow *window, GdkRectangle *r
GError *error = NULL;
GdkRectangle rect;
ScreenshotDialog *dialog;
+ gboolean include_mask = (!take_window_shot && !take_area_shot);
/* always disable window border for full-desktop or selected-area screenshots */
if (!take_window_shot)
- screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, FALSE);
+ screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, FALSE, include_mask);
else
{
- screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, include_border);
+ screenshot = screenshot_get_pixbuf (window, rectangle, include_pointer, include_border, include_mask);
switch (border_effect[0])
{
diff --git a/gnome-screenshot/screenshot-utils.c b/gnome-screenshot/screenshot-utils.c
index a3afcf9..623b795 100644
--- a/gnome-screenshot/screenshot-utils.c
+++ b/gnome-screenshot/screenshot-utils.c
@@ -731,7 +731,8 @@ GdkPixbuf *
screenshot_get_pixbuf (GdkWindow *window,
GdkRectangle *rectangle,
gboolean include_pointer,
- gboolean include_border)
+ gboolean include_border,
+ gboolean include_mask)
{
GdkWindow *root;
GdkPixbuf *screenshot;
@@ -763,7 +764,8 @@ screenshot_get_pixbuf (GdkWindow *window,
x_orig, y_orig,
width, height);
- mask_monitors (screenshot, root);
+ if (include_mask)
+ mask_monitors (screenshot, root);
#ifdef HAVE_X11_EXTENSIONS_SHAPE_H
if (include_border)
diff --git a/gnome-screenshot/screenshot-utils.h b/gnome-screenshot/screenshot-utils.h
index 6c51109..34a116f 100644
--- a/gnome-screenshot/screenshot-utils.h
+++ b/gnome-screenshot/screenshot-utils.h
@@ -37,7 +37,8 @@ void screenshot_select_area_async (SelectAreaCallback callback);
GdkPixbuf *screenshot_get_pixbuf (GdkWindow *win,
GdkRectangle *rectangle,
gboolean include_pointer,
- gboolean include_border);
+ gboolean include_border,
+ gboolean include_mask);
void screenshot_show_error_dialog (GtkWindow *parent,
const gchar *message,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]