[gimp] libgimpwidgets: add gdk_cairo_get_clip_rectangle() to gimp3migration.[ch]
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimpwidgets: add gdk_cairo_get_clip_rectangle() to gimp3migration.[ch]
- Date: Fri, 19 Apr 2013 00:25:39 +0000 (UTC)
commit 89bf66d4717e2a9c4b5f38d15c4648430a1b0800
Author: Michael Natterer <mitch gimp org>
Date: Fri Apr 19 02:21:45 2013 +0200
libgimpwidgets: add gdk_cairo_get_clip_rectangle() to gimp3migration.[ch]
libgimpwidgets/gimp3migration.c | 29 +++++++++++++++++++++++++++++
libgimpwidgets/gimp3migration.h | 4 ++++
2 files changed, 33 insertions(+)
---
diff --git a/libgimpwidgets/gimp3migration.c b/libgimpwidgets/gimp3migration.c
index a32a2ed..44eca9a 100644
--- a/libgimpwidgets/gimp3migration.c
+++ b/libgimpwidgets/gimp3migration.c
@@ -21,6 +21,8 @@
#include "config.h"
+#include <math.h>
+
#include <gtk/gtk.h>
#include "gimpwidgetstypes.h"
@@ -177,3 +179,30 @@ gtk_widget_get_modifier_mask (GtkWidget *widget,
}
#endif /* GTK+ 3.3 */
+
+gboolean
+gdk_cairo_get_clip_rectangle (cairo_t *cr,
+ GdkRectangle *rect)
+{
+ double x1, y1, x2, y2;
+ gboolean clip_exists;
+
+ cairo_clip_extents (cr, &x1, &y1, &x2, &y2);
+
+ clip_exists = x1 < x2 && y1 < y2;
+
+ if (rect)
+ {
+ x1 = floor (x1);
+ y1 = floor (y1);
+ x2 = ceil (x2);
+ y2 = ceil (y2);
+
+ rect->x = CLAMP (x1, G_MININT, G_MAXINT);
+ rect->y = CLAMP (y1, G_MININT, G_MAXINT);
+ rect->width = CLAMP (x2 - x1, G_MININT, G_MAXINT);
+ rect->height = CLAMP (y2 - y1, G_MININT, G_MAXINT);
+ }
+
+ return clip_exists;
+}
diff --git a/libgimpwidgets/gimp3migration.h b/libgimpwidgets/gimp3migration.h
index bdf26ab..daf338c 100644
--- a/libgimpwidgets/gimp3migration.h
+++ b/libgimpwidgets/gimp3migration.h
@@ -67,4 +67,8 @@ GdkModifierType gtk_widget_get_modifier_mask (GtkWidget *widget,
GdkModifierIntent intent);
#endif
+gboolean gdk_cairo_get_clip_rectangle (cairo_t *cr,
+ GdkRectangle *rect);
+
+
#endif /* __GIMP_3_MIGRATION_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]