[gtk+] widget: Add a few more inlined getters



commit c7c1f9ff613a0503d06708f533a11f46b72612b9
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Sep 20 02:01:46 2015 -0400

    widget: Add a few more inlined getters

 gtk/gtkcontainer.c     |   32 ++++++++++++-----------
 gtk/gtkwidget.c        |   66 ++++++++++++++++++++++++------------------------
 gtk/gtkwidgetprivate.h |   12 ++++++++
 3 files changed, 62 insertions(+), 48 deletions(-)
---
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index 16337b5..8796463 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -3057,13 +3057,13 @@ gtk_container_focus_sort_up_down (GtkContainer     *container,
         }
       else
         {
-          if (!gtk_widget_get_has_window (widget))
+          if (!_gtk_widget_get_has_window (widget))
             compare.x = allocation.x + allocation.width / 2;
           else
             compare.x = allocation.width / 2;
         }
 
-      if (!gtk_widget_get_has_window (widget))
+      if (!_gtk_widget_get_has_window (widget))
         compare.y = (direction == GTK_DIR_DOWN) ? allocation.y : allocation.y + allocation.height;
       else
         compare.y = (direction == GTK_DIR_DOWN) ? 0 : + allocation.height;
@@ -3187,13 +3187,13 @@ gtk_container_focus_sort_left_right (GtkContainer     *container,
         }
       else
         {
-          if (!gtk_widget_get_has_window (widget))
+          if (!_gtk_widget_get_has_window (widget))
             compare.y = allocation.y + allocation.height / 2;
           else
             compare.y = allocation.height / 2;
         }
 
-      if (!gtk_widget_get_has_window (widget))
+      if (!_gtk_widget_get_has_window (widget))
         compare.x = (direction == GTK_DIR_RIGHT) ? allocation.x : allocation.x + allocation.width;
       else
         compare.x = (direction == GTK_DIR_RIGHT) ? 0 : allocation.width;
@@ -3288,7 +3288,7 @@ gtk_container_focus_move (GtkContainer     *container,
                   return TRUE;
             }
         }
-      else if (gtk_widget_is_drawable (child) &&
+      else if (_gtk_widget_is_drawable (child) &&
                gtk_widget_is_ancestor (child, GTK_WIDGET (container)))
         {
           if (gtk_widget_child_focus (child, direction))
@@ -3620,7 +3620,7 @@ gtk_container_draw_forall (GtkWidget *widget,
     {
       info.child = widget;
       info.window_depth = G_MAXINT;
-      if (gtk_widget_get_has_window (widget))
+      if (_gtk_widget_get_has_window (widget))
         {
           window = gtk_widget_get_window (widget);
           siblings = gdk_window_peek_children (gdk_window_get_parent (window));
@@ -3696,7 +3696,7 @@ gtk_container_map (GtkWidget *widget)
                         gtk_container_map_child,
                         NULL);
 
-  if (gtk_widget_get_has_window (widget))
+  if (_gtk_widget_get_has_window (widget))
     gdk_window_show (gtk_widget_get_window (widget));
 }
 
@@ -3710,7 +3710,7 @@ gtk_container_unmap (GtkWidget *widget)
    * children has an actual native window instead of client-side
    * window, e.g. a GtkSocket would)
    */
-  if (gtk_widget_get_has_window (widget))
+  if (_gtk_widget_get_has_window (widget))
     gdk_window_hide (gtk_widget_get_window (widget));
 
   gtk_container_forall (GTK_CONTAINER (widget),
@@ -3726,21 +3726,23 @@ gtk_container_should_propagate_draw (GtkContainer   *container,
   GdkEventExpose *event;
   GdkWindow *event_window, *child_in_window;
 
-  if (!gtk_widget_is_drawable (child))
+  if (!_gtk_widget_is_drawable (child))
     return FALSE;
 
   /* Only propagate to native child window if we're not handling
-     an expose (i.e. in a pure gtk_widget_draw() call */
+   * an expose (i.e. in a pure gtk_widget_draw() call
+   */
   event = _gtk_cairo_get_event (cr);
   if (event &&
-      (gtk_widget_get_has_window (child) &&
+      (_gtk_widget_get_has_window (child) &&
        gdk_window_has_native (gtk_widget_get_window (child))))
     return FALSE;
 
   /* Never propagate to a child window when exposing a window
-     that is not the one the child widget is in. */
+   * that is not the one the child widget is in.
+   */
   event_window = _gtk_cairo_get_event_window (cr);
-  if (gtk_widget_get_has_window (child))
+  if (_gtk_widget_get_has_window (child))
     child_in_window = gdk_window_get_parent (gtk_widget_get_window (child));
   else
     child_in_window = gtk_widget_get_window (child);
@@ -3796,7 +3798,7 @@ gtk_container_propagate_draw (GtkContainer   *container,
   cairo_save (cr);
 
   /* translate coordinates. Ugly business, that. */
-  if (!gtk_widget_get_has_window (GTK_WIDGET (container)))
+  if (!_gtk_widget_get_has_window (GTK_WIDGET (container)))
     {
       gtk_widget_get_allocation (GTK_WIDGET (container), &allocation);
       x = -allocation.x;
@@ -3824,7 +3826,7 @@ gtk_container_propagate_draw (GtkContainer   *container,
       y = 0;
     }
 
-  if (!gtk_widget_get_has_window (child))
+  if (!_gtk_widget_get_has_window (child))
     {
       gtk_widget_get_allocation (child, &allocation);
       x += allocation.x;
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index a97cd76..cafd11d 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -3711,7 +3711,7 @@ gtk_widget_set_property (GObject         *object,
       G_GNUC_END_IGNORE_DEPRECATIONS;
       break;
     case PROP_EVENTS:
-      if (!_gtk_widget_get_realized (widget) && gtk_widget_get_has_window (widget))
+      if (!_gtk_widget_get_realized (widget) && _gtk_widget_get_has_window (widget))
        gtk_widget_set_events (widget, g_value_get_flags (value));
       break;
     case PROP_NO_SHOW_ALL:
@@ -4503,7 +4503,7 @@ gtk_widget_queue_draw_child (GtkWidget *widget)
   GtkWidget *parent;
 
   parent = priv->parent;
-  if (parent && gtk_widget_is_drawable (parent))
+  if (parent && _gtk_widget_is_drawable (parent))
     gtk_widget_queue_draw_area (parent,
                                priv->clip.x,
                                priv->clip.y,
@@ -4919,7 +4919,7 @@ gtk_widget_map (GtkWidget *widget)
 
       g_signal_emit (widget, widget_signals[MAP], 0);
 
-      if (!gtk_widget_get_has_window (widget))
+      if (!_gtk_widget_get_has_window (widget))
         gdk_window_invalidate_rect (priv->window, &priv->clip, FALSE);
 
       gtk_widget_pop_verify_invariants (widget);
@@ -4947,7 +4947,7 @@ gtk_widget_unmap (GtkWidget *widget)
       g_object_ref (widget);
       gtk_widget_push_verify_invariants (widget);
 
-      if (!gtk_widget_get_has_window (widget))
+      if (!_gtk_widget_get_has_window (widget))
        gdk_window_invalidate_rect (priv->window, &priv->clip, FALSE);
       _gtk_tooltip_hide (widget);
 
@@ -4988,7 +4988,7 @@ get_widget_windows (GtkWidget *widget)
 {
   GList *window_list, *last, *l, *children, *ret;
 
-  if (gtk_widget_get_has_window (widget))
+  if (_gtk_widget_get_has_window (widget))
     window_list = g_list_prepend (NULL, gtk_widget_get_window (widget));
   else
     window_list = gdk_window_get_children (gtk_widget_get_window (widget));
@@ -5379,7 +5379,7 @@ gtk_widget_realize (GtkWidget *widget)
       gtk_widget_push_verify_invariants (widget);
 
       /*
-       if (GTK_IS_CONTAINER (widget) && gtk_widget_get_has_window (widget))
+       if (GTK_IS_CONTAINER (widget) && _gtk_widget_get_has_window (widget))
          g_message ("gtk_widget_realize(%s)", G_OBJECT_TYPE_NAME (widget));
       */
 
@@ -5582,7 +5582,7 @@ gtk_widget_queue_draw (GtkWidget *widget)
 
   gtk_widget_get_clip (widget, &rect);
 
-  if (!gtk_widget_get_has_window (widget))
+  if (!_gtk_widget_get_has_window (widget))
     gtk_widget_queue_draw_area (widget,
                                 rect.x, rect.y, rect.width, rect.height);
   else
@@ -5776,7 +5776,7 @@ gtk_widget_invalidate_widget_windows (GtkWidget      *widget,
   if (!_gtk_widget_get_realized (widget))
     return;
 
-  if (gtk_widget_get_has_window (widget) && priv->parent)
+  if (_gtk_widget_get_has_window (widget) && priv->parent)
     {
       int x, y;
 
@@ -5982,7 +5982,7 @@ gtk_widget_size_allocate_with_baseline (GtkWidget     *widget,
 
   if (_gtk_widget_get_mapped (widget) && priv->redraw_on_alloc)
     {
-      if (!gtk_widget_get_has_window (widget) && position_changed)
+      if (!_gtk_widget_get_has_window (widget) && position_changed)
        {
          /* Invalidate union(old_clip,priv->clip) in priv->window
           */
@@ -6141,7 +6141,7 @@ gtk_widget_translate_coordinates (GtkWidget  *src_widget,
     return FALSE;
 
   /* Translate from allocation relative to window relative */
-  if (gtk_widget_get_has_window (src_widget) && src_priv->parent)
+  if (_gtk_widget_get_has_window (src_widget) && src_priv->parent)
     {
       gint wx, wy;
       gdk_window_get_position (src_priv->window, &wx, &wy);
@@ -6200,7 +6200,7 @@ gtk_widget_translate_coordinates (GtkWidget  *src_widget,
     }
 
   /* Translate from window relative to allocation relative */
-  if (gtk_widget_get_has_window (dest_widget) && dest_priv->parent)
+  if (_gtk_widget_get_has_window (dest_widget) && dest_priv->parent)
     {
       gint wx, wy;
       gdk_window_get_position (dest_priv->window, &wx, &wy);
@@ -6231,7 +6231,7 @@ gtk_widget_real_size_allocate (GtkWidget     *widget,
   gtk_widget_set_allocation (widget, allocation);
 
   if (_gtk_widget_get_realized (widget) &&
-      gtk_widget_get_has_window (widget))
+      _gtk_widget_get_has_window (widget))
      {
        gdk_window_move_resize (priv->window,
                                allocation->x, allocation->y,
@@ -6348,7 +6348,7 @@ gtk_widget_real_can_activate_accel (GtkWidget *widget,
 
   /* widgets must be onscreen for accels to take effect */
   return gtk_widget_is_sensitive (widget) &&
-         gtk_widget_is_drawable (widget) &&
+         _gtk_widget_is_drawable (widget) &&
          gdk_window_is_viewable (priv->window);
 }
 
@@ -6813,7 +6813,7 @@ _gtk_widget_draw_internal (GtkWidget *widget,
 {
   GdkWindow *tmp_event_window;
 
-  if (!gtk_widget_is_drawable (widget))
+  if (!_gtk_widget_is_drawable (widget))
     return;
 
   tmp_event_window = _gtk_cairo_get_event_window (cr);
@@ -7012,7 +7012,7 @@ _gtk_widget_draw (GtkWidget *widget,
     cairo_push_group (cr);
 
   window = gtk_widget_get_window (widget);
-  if (gtk_widget_get_has_window (widget))
+  if (_gtk_widget_get_has_window (widget))
     {
       /* The widget will be completely contained in its window, so just
        * expose that (and any child window belonging to the widget) */
@@ -7415,7 +7415,7 @@ _gtk_widget_get_translation_to_window (GtkWidget      *widget,
 {
   GdkWindow *w, *widget_window;
 
-  if (!gtk_widget_get_has_window (widget))
+  if (!_gtk_widget_get_has_window (widget))
     {
       *x = -widget->priv->allocation.x;
       *y = -widget->priv->allocation.y;
@@ -7743,7 +7743,7 @@ gtk_widget_reparent_subwindows (GtkWidget *widget,
 {
   GtkWidgetPrivate *priv = widget->priv;
 
-  if (!gtk_widget_get_has_window (widget))
+  if (!_gtk_widget_get_has_window (widget))
     {
       GList *children = gdk_window_get_children (priv->window);
       GList *tmp_list;
@@ -7800,7 +7800,7 @@ gtk_widget_reparent_fixup_child (GtkWidget *widget,
 
   g_assert (client_data != NULL);
 
-  if (!gtk_widget_get_has_window (widget))
+  if (!_gtk_widget_get_has_window (widget))
     {
       if (priv->window)
        g_object_unref (priv->window);
@@ -7898,7 +7898,7 @@ gtk_widget_intersect (GtkWidget            *widget,
 
   return_val = gdk_rectangle_intersect (&priv->allocation, area, dest);
 
-  if (return_val && intersection && gtk_widget_get_has_window (widget))
+  if (return_val && intersection && _gtk_widget_get_has_window (widget))
     {
       intersection->x -= priv->allocation.x;
       intersection->y -= priv->allocation.y;
@@ -9167,7 +9167,7 @@ gtk_widget_set_app_paintable (GtkWidget *widget,
     {
       widget->priv->app_paintable = app_paintable;
 
-      if (gtk_widget_is_drawable (widget))
+      if (_gtk_widget_is_drawable (widget))
        gtk_widget_queue_draw (widget);
 
       g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_APP_PAINTABLE]);
@@ -11355,7 +11355,7 @@ gtk_widget_add_events_internal (GtkWidget *widget,
   GtkWidgetPrivate *priv = widget->priv;
   GList *window_list;
 
-  if (!gtk_widget_get_has_window (widget))
+  if (!_gtk_widget_get_has_window (widget))
     window_list = gdk_window_get_children (priv->window);
   else
     window_list = g_list_prepend (NULL, priv->window);
@@ -11558,7 +11558,7 @@ gtk_widget_get_visual (GtkWidget *widget)
 
   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
 
-  if (gtk_widget_get_has_window (widget) &&
+  if (!_gtk_widget_get_has_window (widget) &&
       widget->priv->window)
     return gdk_window_get_visual (widget->priv->window);
 
@@ -11690,7 +11690,7 @@ gtk_widget_get_pointer (GtkWidget *widget,
                                           gtk_widget_get_display (widget))),
                                       x, y, NULL);
 
-      if (!gtk_widget_get_has_window (widget))
+      if (!_gtk_widget_get_has_window (widget))
        {
          if (x)
            *x -= priv->allocation.x;
@@ -12277,7 +12277,7 @@ gtk_widget_real_map (GtkWidget *widget)
     {
       gtk_widget_set_mapped (widget, TRUE);
 
-      if (gtk_widget_get_has_window (widget))
+      if (_gtk_widget_get_has_window (widget))
        gdk_window_show (priv->window);
     }
 }
@@ -12299,7 +12299,7 @@ gtk_widget_real_unmap (GtkWidget *widget)
     {
       gtk_widget_set_mapped (widget, FALSE);
 
-      if (gtk_widget_get_has_window (widget))
+      if (_gtk_widget_get_has_window (widget))
        gdk_window_hide (priv->window);
     }
 }
@@ -12317,7 +12317,7 @@ gtk_widget_real_realize (GtkWidget *widget)
 {
   GtkWidgetPrivate *priv = widget->priv;
 
-  g_assert (!gtk_widget_get_has_window (widget));
+  g_assert (!_gtk_widget_get_has_window (widget));
 
   gtk_widget_set_realized (widget, TRUE);
   if (priv->parent)
@@ -12356,7 +12356,7 @@ gtk_widget_real_unrealize (GtkWidget *widget)
                          (GtkCallback) gtk_widget_unrealize,
                          NULL);
 
-  if (gtk_widget_get_has_window (widget))
+  if (_gtk_widget_get_has_window (widget))
     {
       gtk_widget_unregister_window (widget, priv->window);
       gdk_window_destroy (priv->window);
@@ -12871,7 +12871,7 @@ gtk_widget_shape_combine_region (GtkWidget *widget,
 
   g_return_if_fail (GTK_IS_WIDGET (widget));
   /*  set_shape doesn't work on widgets without GDK window */
-  g_return_if_fail (gtk_widget_get_has_window (widget));
+  g_return_if_fail (_gtk_widget_get_has_window (widget));
 
   priv = widget->priv;
 
@@ -12970,7 +12970,7 @@ gtk_widget_input_shape_combine_region (GtkWidget      *widget,
 {
   g_return_if_fail (GTK_IS_WIDGET (widget));
   /*  set_shape doesn't work on widgets without GDK window */
-  g_return_if_fail (gtk_widget_get_has_window (widget));
+  g_return_if_fail (_gtk_widget_get_has_window (widget));
 
   if (region == NULL)
     g_object_set_qdata (G_OBJECT (widget), quark_input_shape_info, NULL);
@@ -15166,13 +15166,13 @@ gtk_widget_real_set_has_tooltip (GtkWidget *widget,
 
       if (priv_has_tooltip)
         {
-         if (_gtk_widget_get_realized (widget) && !gtk_widget_get_has_window (widget))
+         if (_gtk_widget_get_realized (widget) && !_gtk_widget_get_has_window (widget))
            gdk_window_set_events (priv->window,
                                   gdk_window_get_events (priv->window) |
                                   GDK_LEAVE_NOTIFY_MASK |
                                   GDK_POINTER_MOTION_MASK);
 
-         if (gtk_widget_get_has_window (widget))
+         if (_gtk_widget_get_has_window (widget))
              gtk_widget_add_events (widget,
                                     GDK_LEAVE_NOTIFY_MASK |
                                     GDK_POINTER_MOTION_MASK);
@@ -15574,7 +15574,7 @@ _gtk_widget_set_simple_clip (GtkWidget     *widget,
 
   if (GTK_IS_CONTAINER (widget))
     {
-      if (gtk_widget_get_has_window (widget))
+      if (_gtk_widget_get_has_window (widget))
         {
           clip.x -= allocation.x;
           clip.y -= allocation.y;
@@ -15582,7 +15582,7 @@ _gtk_widget_set_simple_clip (GtkWidget     *widget,
 
       gtk_container_forall (GTK_CONTAINER (widget), union_with_clip, &clip);
 
-      if (gtk_widget_get_has_window (widget))
+      if (_gtk_widget_get_has_window (widget))
         {
           clip.x += allocation.x;
           clip.y += allocation.y;
diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h
index 5063604..9e96195 100644
--- a/gtk/gtkwidgetprivate.h
+++ b/gtk/gtkwidgetprivate.h
@@ -318,6 +318,18 @@ _gtk_widget_get_mapped (GtkWidget *widget)
 }
 
 static inline gboolean
+_gtk_widget_is_drawable (GtkWidget *widget)
+{
+  return widget->priv->visible && widget->priv->mapped;
+}
+
+static inline gboolean
+_gtk_widget_get_has_window (GtkWidget *widget)
+{
+  return !widget->priv->no_window;
+}
+
+static inline gboolean
 _gtk_widget_get_realized (GtkWidget *widget)
 {
   return widget->priv->realized;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]