forked from AuroraMiddleware/gtk
pango: move an utility function from gtklabel
This will be used both by gtklabel and gtkentry
This commit is contained in:
parent
3175d0fcf0
commit
b92c530a61
@ -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
|
||||
* label, use_underline and use_markup
|
||||
*/
|
||||
@ -3480,7 +3465,7 @@ gtk_label_update_layout_attributes (GtkLabel *label)
|
||||
if (priv->markup_attrs)
|
||||
{
|
||||
if (attrs)
|
||||
my_pango_attr_list_merge (attrs, priv->markup_attrs);
|
||||
_gtk_pango_attr_list_merge (attrs, priv->markup_attrs);
|
||||
else
|
||||
attrs = pango_attr_list_ref (priv->markup_attrs);
|
||||
}
|
||||
@ -3488,7 +3473,7 @@ gtk_label_update_layout_attributes (GtkLabel *label)
|
||||
if (priv->attrs)
|
||||
{
|
||||
if (attrs)
|
||||
my_pango_attr_list_merge (attrs, priv->attrs);
|
||||
_gtk_pango_attr_list_merge (attrs, priv->attrs);
|
||||
else
|
||||
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);
|
||||
}
|
||||
|
||||
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 *end_offset);
|
||||
|
||||
void _gtk_pango_attr_list_merge (PangoAttrList *into,
|
||||
PangoAttrList *from);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_PANGO_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user