mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-18 09:00:34 +00:00
styleproperties: Add a hacky function to redirect color lookups
This will soon be necessary. FIXME: Make sure this gets removed again.
This commit is contained in:
parent
c048aac1d9
commit
38a9b28a0e
@ -379,6 +379,23 @@ gtk_style_properties_new (void)
|
|||||||
return g_object_new (GTK_TYPE_STYLE_PROPERTIES, NULL);
|
return g_object_new (GTK_TYPE_STYLE_PROPERTIES, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_gtk_style_properties_set_color_lookup_func (GtkStyleProperties *props,
|
||||||
|
GtkSymbolicColorLookupFunc func,
|
||||||
|
gpointer data)
|
||||||
|
{
|
||||||
|
GtkStylePropertiesPrivate *priv;
|
||||||
|
|
||||||
|
g_return_if_fail (GTK_IS_STYLE_PROPERTIES (props));
|
||||||
|
g_return_if_fail (func != NULL);
|
||||||
|
|
||||||
|
priv = props->priv;
|
||||||
|
g_return_if_fail (priv->color_map == NULL);
|
||||||
|
|
||||||
|
priv->color_lookup_func = func;
|
||||||
|
priv->color_lookup_data = data;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gtk_style_properties_map_color:
|
* gtk_style_properties_map_color:
|
||||||
* @props: a #GtkStyleProperties
|
* @props: a #GtkStyleProperties
|
||||||
@ -402,6 +419,7 @@ gtk_style_properties_map_color (GtkStyleProperties *props,
|
|||||||
g_return_if_fail (color != NULL);
|
g_return_if_fail (color != NULL);
|
||||||
|
|
||||||
priv = props->priv;
|
priv = props->priv;
|
||||||
|
g_return_if_fail (priv->color_lookup_func == NULL);
|
||||||
|
|
||||||
if (G_UNLIKELY (!priv->color_map))
|
if (G_UNLIKELY (!priv->color_map))
|
||||||
priv->color_map = g_hash_table_new_full (g_str_hash,
|
priv->color_map = g_hash_table_new_full (g_str_hash,
|
||||||
@ -437,6 +455,9 @@ gtk_style_properties_lookup_color (GtkStyleProperties *props,
|
|||||||
|
|
||||||
priv = props->priv;
|
priv = props->priv;
|
||||||
|
|
||||||
|
if (priv->color_lookup_func)
|
||||||
|
return priv->color_lookup_func (priv->color_lookup_data, name);
|
||||||
|
|
||||||
if (!priv->color_map)
|
if (!priv->color_map)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -30,6 +30,9 @@ void _gtk_style_properties_get (GtkStylePropertie
|
|||||||
GtkStateFlags state,
|
GtkStateFlags state,
|
||||||
GtkStylePropertyContext *context,
|
GtkStylePropertyContext *context,
|
||||||
...);
|
...);
|
||||||
|
void _gtk_style_properties_set_color_lookup_func (GtkStyleProperties *props,
|
||||||
|
GtkSymbolicColorLookupFunc func,
|
||||||
|
gpointer data);
|
||||||
void _gtk_style_properties_get_valist (GtkStyleProperties *props,
|
void _gtk_style_properties_get_valist (GtkStyleProperties *props,
|
||||||
GtkStateFlags state,
|
GtkStateFlags state,
|
||||||
GtkStylePropertyContext *context,
|
GtkStylePropertyContext *context,
|
||||||
|
Loading…
Reference in New Issue
Block a user