[gtk+] Use a getter for widget direction
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Use a getter for widget direction
- Date: Wed, 9 Sep 2015 10:33:24 +0000 (UTC)
commit 6f2fcce4949d5b7122a2eb1968b0b95f36543cf4
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Sep 8 20:30:22 2015 -0400
Use a getter for widget direction
gtk/gtkcontainer.c | 2 +-
gtk/gtkwidget.c | 26 +++++++++++++-------------
gtk/gtkwidgetprivate.h | 11 +++++++++++
3 files changed, 25 insertions(+), 14 deletions(-)
---
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index 20cb4ea..2a712d8 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -2875,7 +2875,7 @@ gtk_container_focus_sort_tab (GtkContainer *container,
GtkDirectionType direction,
GtkWidget *old_focus)
{
- GtkTextDirection text_direction = gtk_widget_get_direction (GTK_WIDGET (container));
+ GtkTextDirection text_direction = _gtk_widget_get_direction (GTK_WIDGET (container));
children = g_list_sort_with_data (children, tab_compare, GINT_TO_POINTER (text_direction));
/* if we are going backwards then reverse the order
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 32902db..304e696 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -837,7 +837,7 @@ static gint GtkWidget_private_offset = 0;
static gpointer gtk_widget_parent_class = NULL;
static guint widget_signals[LAST_SIGNAL] = { 0 };
static guint composite_child_stack = 0;
-static GtkTextDirection gtk_default_direction = GTK_TEXT_DIR_LTR;
+GtkTextDirection gtk_default_direction = GTK_TEXT_DIR_LTR;
static GParamSpecPool *style_property_spec_pool = NULL;
static GQuark quark_property_parser = 0;
@@ -4335,7 +4335,7 @@ gtk_widget_init (GTypeInstance *instance, gpointer g_class)
priv->redraw_on_alloc = TRUE;
priv->alloc_needed = TRUE;
- switch (gtk_widget_get_direction (widget))
+ switch (_gtk_widget_get_direction (widget))
{
case GTK_TEXT_DIR_LTR:
priv->state_flags = GTK_STATE_FLAG_DIR_LTR;
@@ -6319,7 +6319,7 @@ gtk_widget_real_adjust_size_allocation (GtkWidget *widget,
aux_info->margin.right,
minimum_size, natural_size,
allocated_pos, allocated_size);
- adjust_for_align (effective_align (aux_info->halign, gtk_widget_get_direction (widget)),
+ adjust_for_align (effective_align (aux_info->halign, _gtk_widget_get_direction (widget)),
natural_size, allocated_pos, allocated_size);
}
else
@@ -10196,7 +10196,7 @@ update_pango_context (GtkWidget *widget,
pango_font_description_free (font_desc);
pango_context_set_base_dir (context,
- gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ?
+ _gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ?
PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL);
pango_cairo_context_set_resolution (context,
@@ -11804,7 +11804,7 @@ gtk_widget_emit_direction_changed (GtkWidget *widget,
gtk_widget_update_pango_context (widget);
- direction = gtk_widget_get_direction (widget);
+ direction = _gtk_widget_get_direction (widget);
switch (direction)
{
@@ -11856,11 +11856,11 @@ gtk_widget_set_direction (GtkWidget *widget,
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (dir >= GTK_TEXT_DIR_NONE && dir <= GTK_TEXT_DIR_RTL);
- old_dir = gtk_widget_get_direction (widget);
+ old_dir = _gtk_widget_get_direction (widget);
widget->priv->direction = dir;
- if (old_dir != gtk_widget_get_direction (widget))
+ if (old_dir != _gtk_widget_get_direction (widget))
gtk_widget_emit_direction_changed (widget, old_dir);
}
@@ -14789,7 +14789,7 @@ gtk_widget_set_margin_left (GtkWidget *widget,
aux_info = gtk_widget_get_aux_info (widget, TRUE);
- rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
+ rtl = _gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
if (aux_info->margin.left == margin)
return;
@@ -14844,7 +14844,7 @@ gtk_widget_set_margin_right (GtkWidget *widget,
aux_info = gtk_widget_get_aux_info (widget, TRUE);
- rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
+ rtl = _gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
if (aux_info->margin.right == margin)
return;
@@ -14874,7 +14874,7 @@ gtk_widget_get_margin_start (GtkWidget *widget)
aux_info = _gtk_widget_get_aux_info_or_defaults (widget);
- if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ if (_gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
return aux_info->margin.right;
else
return aux_info->margin.left;
@@ -14903,7 +14903,7 @@ gtk_widget_set_margin_start (GtkWidget *widget,
aux_info = gtk_widget_get_aux_info (widget, TRUE);
- rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
+ rtl = _gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
if (rtl)
start = &aux_info->margin.right;
@@ -14938,7 +14938,7 @@ gtk_widget_get_margin_end (GtkWidget *widget)
aux_info = _gtk_widget_get_aux_info_or_defaults (widget);
- if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ if (_gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
return aux_info->margin.left;
else
return aux_info->margin.right;
@@ -14967,7 +14967,7 @@ gtk_widget_set_margin_end (GtkWidget *widget,
aux_info = gtk_widget_get_aux_info (widget, TRUE);
- rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
+ rtl = _gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
if (rtl)
end = &aux_info->margin.left;
diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h
index a490084..82f15a3 100644
--- a/gtk/gtkwidgetprivate.h
+++ b/gtk/gtkwidgetprivate.h
@@ -339,6 +339,17 @@ _gtk_widget_get_state_flags (GtkWidget *widget)
return widget->priv->state_flags;
}
+extern GtkTextDirection gtk_default_direction;
+
+static inline GtkTextDirection
+_gtk_widget_get_direction (GtkWidget *widget)
+{
+ if (widget->priv->direction == GTK_TEXT_DIR_NONE)
+ return gtk_default_direction;
+ else
+ return widget->priv->direction;
+}
+
static inline GtkWidget *
_gtk_widget_get_toplevel (GtkWidget *widget)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]