gtkwidget: Add private set_pass_through() call
We could eventually support pointer-event in CSS here, in the mean time add this call to replace the GdkWindow API.
This commit is contained in:
@@ -989,7 +989,8 @@ gtk_widget_real_pick (GtkWidget *widget,
|
||||
{
|
||||
gdouble tx = x, ty = y;
|
||||
|
||||
if (!gtk_widget_is_sensitive (child) ||
|
||||
if (gtk_widget_get_pass_through (child) ||
|
||||
!gtk_widget_is_sensitive (child) ||
|
||||
!gtk_widget_is_drawable (child))
|
||||
continue;
|
||||
|
||||
@@ -15683,3 +15684,16 @@ gtk_widget_get_cursor (GtkWidget *widget)
|
||||
{
|
||||
return widget->priv->cursor;
|
||||
}
|
||||
|
||||
void
|
||||
gtk_widget_set_pass_through (GtkWidget *widget,
|
||||
gboolean pass_through)
|
||||
{
|
||||
widget->priv->pass_through = !!pass_through;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gtk_widget_get_pass_through (GtkWidget *widget)
|
||||
{
|
||||
return widget->priv->pass_through;
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ struct _GtkWidgetPrivate
|
||||
guint child_visible : 1;
|
||||
guint multidevice : 1;
|
||||
guint has_shape_mask : 1;
|
||||
guint pass_through : 1;
|
||||
|
||||
/* Queue-resize related flags */
|
||||
guint resize_needed : 1; /* queue_resize() has been called but no get_preferred_size() yet */
|
||||
@@ -323,6 +324,9 @@ void gtk_widget_set_cursor (GtkWidget *widget,
|
||||
GdkCursor *cursor);
|
||||
GdkCursor * gtk_widget_get_cursor (GtkWidget *widget);
|
||||
|
||||
void gtk_widget_set_pass_through (GtkWidget *widget,
|
||||
gboolean pass_through);
|
||||
gboolean gtk_widget_get_pass_through (GtkWidget *widget);
|
||||
|
||||
/* inline getters */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user