summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-05-12 11:46:33 +0200
committerCarlos Garnacho <carlosg@gnome.org>2017-05-25 16:25:58 +0200
commitfee289cd0632adcc563378c41350834207436648 (patch)
treea7fbbf75c0e682aac7d1db1939a8d0c229093086
parent28f8a27d652127b600a6ae1baee3bad5770bfa20 (diff)
downloadgtk+-fee289cd0632adcc563378c41350834207436648.tar.gz
gdk: Add gdk_rectangle_contains_point() call
A little helper function for a somewhat common operation.
-rw-r--r--docs/reference/gdk/gdk4-sections.txt1
-rw-r--r--gdk/gdkrectangle.c25
-rw-r--r--gdk/gdkrectangle.h5
3 files changed, 31 insertions, 0 deletions
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 25891c8d3b..2f60092613 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -534,6 +534,7 @@ GdkRectangle
gdk_rectangle_intersect
gdk_rectangle_union
gdk_rectangle_equal
+gdk_rectangle_contains_point
<SUBSECTION Private>
gdk_rectangle_get_type
diff --git a/gdk/gdkrectangle.c b/gdk/gdkrectangle.c
index 491de6c1e5..6e6fa61eb2 100644
--- a/gdk/gdkrectangle.c
+++ b/gdk/gdkrectangle.c
@@ -137,6 +137,31 @@ gdk_rectangle_intersect (const GdkRectangle *src1,
}
/**
+ * gdk_rectangle_contains_point:
+ * @rect: a #GdkRectangle
+ * @x: X coordinate
+ * @y: Y coordinate
+ *
+ * Returns #TRUE if @rect contains the point described by @x and @y.
+ *
+ * Returns: #TRUE if @rect contains the point
+ *
+ * Since: 3.90
+ **/
+gboolean
+gdk_rectangle_contains_point (const GdkRectangle *rect,
+ int x,
+ int y)
+{
+ g_return_val_if_fail (rect != NULL, FALSE);
+
+ return x >= rect->x &&
+ x < rect->x + rect->width &&
+ y >= rect->y &&
+ y < rect->y + rect->height;
+}
+
+/**
* gdk_rectangle_equal:
* @rect1: a #GdkRectangle
* @rect2: a #GdkRectangle
diff --git a/gdk/gdkrectangle.h b/gdk/gdkrectangle.h
index 7c0252ff0b..225f048f59 100644
--- a/gdk/gdkrectangle.h
+++ b/gdk/gdkrectangle.h
@@ -49,6 +49,11 @@ GDK_AVAILABLE_IN_3_20
gboolean gdk_rectangle_equal (const GdkRectangle *rect1,
const GdkRectangle *rect2);
+GDK_AVAILABLE_IN_3_90
+gboolean gdk_rectangle_contains_point (const GdkRectangle *rect,
+ int x,
+ int y);
+
GDK_AVAILABLE_IN_ALL
GType gdk_rectangle_get_type (void) G_GNUC_CONST;