[gtk+] flowbox: Export gtk_flow_box_get_child_at_pos as public API
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] flowbox: Export gtk_flow_box_get_child_at_pos as public API
- Date: Mon, 19 Dec 2016 23:35:38 +0000 (UTC)
commit 7ea199c831b20df78d42ffc1ffb11f0ffa17eb54
Author: Debarshi Ray <debarshir gnome org>
Date: Sat Dec 17 00:30:39 2016 +0100
flowbox: Export gtk_flow_box_get_child_at_pos as public API
https://bugzilla.gnome.org/show_bug.cgi?id=776187
docs/reference/gtk/gtk4-sections.txt | 1 +
gtk/gtkflowbox.c | 64 ++++++++++++++++++++-------------
gtk/gtkflowbox.h | 5 +++
3 files changed, 45 insertions(+), 25 deletions(-)
---
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index abc1183..aff537c 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -6589,6 +6589,7 @@ GtkFlowBox
gtk_flow_box_new
gtk_flow_box_insert
gtk_flow_box_get_child_at_index
+gtk_flow_box_get_child_at_pos
gtk_flow_box_set_hadjustment
gtk_flow_box_set_vadjustment
diff --git a/gtk/gtkflowbox.c b/gtk/gtkflowbox.c
index eb44879..f1e7af1 100644
--- a/gtk/gtkflowbox.c
+++ b/gtk/gtkflowbox.c
@@ -856,31 +856,6 @@ get_visible_children (GtkFlowBox *box)
return i;
}
-static GtkFlowBoxChild *
-gtk_flow_box_get_child_at_pos (GtkFlowBox *box,
- gint x,
- gint y)
-{
- GtkWidget *child;
- GSequenceIter *iter;
- GtkAllocation allocation;
-
- for (iter = g_sequence_get_begin_iter (BOX_PRIV (box)->children);
- !g_sequence_iter_is_end (iter);
- iter = g_sequence_iter_next (iter))
- {
- child = g_sequence_get (iter);
- if (!child_is_visible (child))
- continue;
- gtk_widget_get_allocation (child, &allocation);
- if (x >= allocation.x && x < (allocation.x + allocation.width) &&
- y >= allocation.y && y < (allocation.y + allocation.height))
- return GTK_FLOW_BOX_CHILD (child);
- }
-
- return NULL;
-}
-
static void
gtk_flow_box_update_active (GtkFlowBox *box,
GtkFlowBoxChild *child)
@@ -4279,6 +4254,45 @@ gtk_flow_box_get_child_at_index (GtkFlowBox *box,
}
/**
+ * gtk_flow_box_get_child_at_pos:
+ * @box: a #GtkFlowBox
+ * @x: the x coordinate of the child
+ * @y: the y coordinate of the child
+ *
+ * Gets the child in the (@x, @y) position.
+ *
+ * Returns: (transfer none) (nullable): the child widget, which will
+ * always be a #GtkFlowBoxChild or %NULL in case no child widget
+ * exists for the given x and y coordinates.
+ *
+ * Since: 3.22.6
+ */
+GtkFlowBoxChild *
+gtk_flow_box_get_child_at_pos (GtkFlowBox *box,
+ gint x,
+ gint y)
+{
+ GtkWidget *child;
+ GSequenceIter *iter;
+ GtkAllocation allocation;
+
+ for (iter = g_sequence_get_begin_iter (BOX_PRIV (box)->children);
+ !g_sequence_iter_is_end (iter);
+ iter = g_sequence_iter_next (iter))
+ {
+ child = g_sequence_get (iter);
+ if (!child_is_visible (child))
+ continue;
+ gtk_widget_get_allocation (child, &allocation);
+ if (x >= allocation.x && x < (allocation.x + allocation.width) &&
+ y >= allocation.y && y < (allocation.y + allocation.height))
+ return GTK_FLOW_BOX_CHILD (child);
+ }
+
+ return NULL;
+}
+
+/**
* gtk_flow_box_set_hadjustment:
* @box: a #GtkFlowBox
* @adjustment: an adjustment which should be adjusted
diff --git a/gtk/gtkflowbox.h b/gtk/gtkflowbox.h
index ff2a6be..fa059c3 100644
--- a/gtk/gtkflowbox.h
+++ b/gtk/gtkflowbox.h
@@ -181,6 +181,11 @@ GDK_AVAILABLE_IN_3_12
GtkFlowBoxChild *gtk_flow_box_get_child_at_index (GtkFlowBox *box,
gint idx);
+GDK_AVAILABLE_IN_3_22
+GtkFlowBoxChild *gtk_flow_box_get_child_at_pos (GtkFlowBox *box,
+ gint x,
+ gint y);
+
typedef void (* GtkFlowBoxForeachFunc) (GtkFlowBox *box,
GtkFlowBoxChild *child,
gpointer user_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]