Commit 38a9b28a authored by Benjamin Otte's avatar Benjamin Otte

styleproperties: Add a hacky function to redirect color lookups

This will soon be necessary.
FIXME: Make sure this gets removed again.
parent c048aac1
......@@ -379,6 +379,23 @@ gtk_style_properties_new (void)
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:
* @props: a #GtkStyleProperties
......@@ -402,6 +419,7 @@ gtk_style_properties_map_color (GtkStyleProperties *props,
g_return_if_fail (color != NULL);
priv = props->priv;
g_return_if_fail (priv->color_lookup_func == NULL);
if (G_UNLIKELY (!priv->color_map))
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;
if (priv->color_lookup_func)
return priv->color_lookup_func (priv->color_lookup_data, name);
if (!priv->color_map)
return NULL;
......
......@@ -30,6 +30,9 @@ void _gtk_style_properties_get (GtkStylePropertie
GtkStateFlags state,
GtkStylePropertyContext *context,
...);
void _gtk_style_properties_set_color_lookup_func (GtkStyleProperties *props,
GtkSymbolicColorLookupFunc func,
gpointer data);
void _gtk_style_properties_get_valist (GtkStyleProperties *props,
GtkStateFlags state,
GtkStylePropertyContext *context,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment