pango: move an utility function from gtklabel
This will be used both by gtklabel and gtkentry
This commit is contained in:
@ -2145,21 +2145,6 @@ gtk_label_set_use_underline_internal (GtkLabel *label,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
my_pango_attr_list_merge_filter (PangoAttribute *attribute,
|
|
||||||
gpointer list)
|
|
||||||
{
|
|
||||||
pango_attr_list_change (list, pango_attribute_copy (attribute));
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
my_pango_attr_list_merge (PangoAttrList *into,
|
|
||||||
PangoAttrList *from)
|
|
||||||
{
|
|
||||||
pango_attr_list_filter (from, my_pango_attr_list_merge_filter, into);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Calculates text, attrs and mnemonic_keyval from
|
/* Calculates text, attrs and mnemonic_keyval from
|
||||||
* label, use_underline and use_markup
|
* label, use_underline and use_markup
|
||||||
*/
|
*/
|
||||||
@ -3480,7 +3465,7 @@ gtk_label_update_layout_attributes (GtkLabel *label)
|
|||||||
if (priv->markup_attrs)
|
if (priv->markup_attrs)
|
||||||
{
|
{
|
||||||
if (attrs)
|
if (attrs)
|
||||||
my_pango_attr_list_merge (attrs, priv->markup_attrs);
|
_gtk_pango_attr_list_merge (attrs, priv->markup_attrs);
|
||||||
else
|
else
|
||||||
attrs = pango_attr_list_ref (priv->markup_attrs);
|
attrs = pango_attr_list_ref (priv->markup_attrs);
|
||||||
}
|
}
|
||||||
@ -3488,7 +3473,7 @@ gtk_label_update_layout_attributes (GtkLabel *label)
|
|||||||
if (priv->attrs)
|
if (priv->attrs)
|
||||||
{
|
{
|
||||||
if (attrs)
|
if (attrs)
|
||||||
my_pango_attr_list_merge (attrs, priv->attrs);
|
_gtk_pango_attr_list_merge (attrs, priv->attrs);
|
||||||
else
|
else
|
||||||
attrs = pango_attr_list_ref (priv->attrs);
|
attrs = pango_attr_list_ref (priv->attrs);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1289,3 +1289,25 @@ _gtk_pango_get_text_at (PangoLayout *layout,
|
|||||||
|
|
||||||
return g_utf8_substring (text, start, end);
|
return g_utf8_substring (text, start, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
attr_list_merge_filter (PangoAttribute *attribute,
|
||||||
|
gpointer list)
|
||||||
|
{
|
||||||
|
pango_attr_list_change (list, pango_attribute_copy (attribute));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _gtk_pango_attr_list_merge:
|
||||||
|
* @into: a #PangoAttrList where attributes are merged.
|
||||||
|
* @from: a #PangoAttrList with the attributes to merge
|
||||||
|
*
|
||||||
|
* Merges attributes from @from into @into.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
_gtk_pango_attr_list_merge (PangoAttrList *into,
|
||||||
|
PangoAttrList *from)
|
||||||
|
{
|
||||||
|
pango_attr_list_filter (from, attr_list_merge_filter, into);
|
||||||
|
}
|
||||||
|
|||||||
@ -79,6 +79,9 @@ gchar *_gtk_pango_get_text_after (PangoLayout *layout,
|
|||||||
gint *start_offset,
|
gint *start_offset,
|
||||||
gint *end_offset);
|
gint *end_offset);
|
||||||
|
|
||||||
|
void _gtk_pango_attr_list_merge (PangoAttrList *into,
|
||||||
|
PangoAttrList *from);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __GTK_PANGO_H__ */
|
#endif /* __GTK_PANGO_H__ */
|
||||||
|
|||||||
Reference in New Issue
Block a user