icontheme: Move css style code where it belongs
Move gtk_icon_theme_lookup_symbolic_colors to gtkcssstyle.c, and rename it to gtk_css_style_lookup_symbolic_colors. Update all callers.
This commit is contained in:
@@ -156,7 +156,7 @@ gtk_css_image_icon_theme_compute (GtkCssImage *image,
|
||||
copy->icon_theme = gtk_icon_theme_get_for_display (display);
|
||||
copy->serial = gtk_icon_theme_get_serial (copy->icon_theme);
|
||||
copy->scale = gtk_style_provider_get_scale (provider);
|
||||
gtk_icon_theme_lookup_symbolic_colors (style, copy->colors);
|
||||
gtk_css_style_lookup_symbolic_colors (style, copy->colors);
|
||||
|
||||
return GTK_CSS_IMAGE (copy);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "gtkcssinitialvalueprivate.h"
|
||||
#include "gtkcssnumbervalueprivate.h"
|
||||
#include "gtkcsscolorvalueprivate.h"
|
||||
#include "gtkcsspalettevalueprivate.h"
|
||||
#include "gtkcssshorthandpropertyprivate.h"
|
||||
#include "gtkcssstringvalueprivate.h"
|
||||
#include "gtkcssfontvariationsvalueprivate.h"
|
||||
@@ -750,6 +751,33 @@ gtk_css_style_get_pango_font (GtkCssStyle *style)
|
||||
return description;
|
||||
}
|
||||
|
||||
void
|
||||
gtk_css_style_lookup_symbolic_colors (GtkCssStyle *style,
|
||||
GdkRGBA color_out[4])
|
||||
{
|
||||
GtkCssValue *palette, *color;
|
||||
const char *names[4] = {
|
||||
[GTK_SYMBOLIC_COLOR_ERROR] = "error",
|
||||
[GTK_SYMBOLIC_COLOR_WARNING] = "warning",
|
||||
[GTK_SYMBOLIC_COLOR_SUCCESS] = "success"
|
||||
};
|
||||
|
||||
color = style->core->color;
|
||||
palette = style->core->icon_palette;
|
||||
color_out[GTK_SYMBOLIC_COLOR_FOREGROUND] = *gtk_css_color_value_get_rgba (color);
|
||||
|
||||
for (gsize i = 1; i < 4; i++)
|
||||
{
|
||||
const GdkRGBA *lookup;
|
||||
|
||||
lookup = gtk_css_palette_value_get_color (palette, names[i]);
|
||||
if (lookup)
|
||||
color_out[i] = *lookup;
|
||||
else
|
||||
color_out[i] = color_out[GTK_SYMBOLIC_COLOR_FOREGROUND];
|
||||
}
|
||||
}
|
||||
|
||||
/* Refcounted value structs */
|
||||
|
||||
static const int values_size[] = {
|
||||
|
||||
@@ -268,6 +268,9 @@ char * gtk_css_style_compute_font_features (GtkCssStyle
|
||||
PangoAttrList * gtk_css_style_get_pango_attributes (GtkCssStyle *style);
|
||||
PangoFontDescription * gtk_css_style_get_pango_font (GtkCssStyle *style);
|
||||
|
||||
void gtk_css_style_lookup_symbolic_colors (GtkCssStyle *style,
|
||||
GdkRGBA color_out[4]);
|
||||
|
||||
GtkCssValues *gtk_css_values_new (GtkCssValuesType type);
|
||||
GtkCssValues *gtk_css_values_ref (GtkCssValues *values);
|
||||
void gtk_css_values_unref (GtkCssValues *values);
|
||||
|
||||
@@ -2533,34 +2533,6 @@ gtk_icon_theme_error_quark (void)
|
||||
return g_quark_from_static_string ("gtk-icon-theme-error-quark");
|
||||
}
|
||||
|
||||
void
|
||||
gtk_icon_theme_lookup_symbolic_colors (GtkCssStyle *style,
|
||||
GdkRGBA color_out[4])
|
||||
{
|
||||
GtkCssValue *palette, *color;
|
||||
const char *names[4] = {
|
||||
[GTK_SYMBOLIC_COLOR_ERROR] = "error",
|
||||
[GTK_SYMBOLIC_COLOR_WARNING] = "warning",
|
||||
[GTK_SYMBOLIC_COLOR_SUCCESS] = "success"
|
||||
};
|
||||
const GdkRGBA *lookup;
|
||||
gsize i;
|
||||
|
||||
color = style->core->color;
|
||||
palette = style->core->icon_palette;
|
||||
color_out[GTK_SYMBOLIC_COLOR_FOREGROUND] = *gtk_css_color_value_get_rgba (color);
|
||||
|
||||
for (i = 1; i < 4; i++)
|
||||
{
|
||||
lookup = gtk_css_palette_value_get_color (palette, names[i]);
|
||||
if (lookup)
|
||||
color_out[i] = *lookup;
|
||||
else
|
||||
color_out[i] = color_out[GTK_SYMBOLIC_COLOR_FOREGROUND];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gtk_icon_theme_has_icon:
|
||||
* @self: a `GtkIconTheme`
|
||||
|
||||
@@ -26,8 +26,5 @@ const char *gtk_string_set_add (GtkStringSet *set,
|
||||
|
||||
#define IMAGE_MISSING_RESOURCE_PATH "/org/gtk/libgtk/icons/16x16/status/image-missing.png"
|
||||
|
||||
void gtk_icon_theme_lookup_symbolic_colors (GtkCssStyle *style,
|
||||
GdkRGBA color_out[4]);
|
||||
|
||||
int gtk_icon_theme_get_serial (GtkIconTheme *self);
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
#include "gtkrendericonprivate.h"
|
||||
|
||||
#include "gtkcsscolorvalueprivate.h"
|
||||
#include "gtkcssfiltervalueprivate.h"
|
||||
#include "gtkcssimagevalueprivate.h"
|
||||
#include "gtkcssshadowvalueprivate.h"
|
||||
@@ -116,7 +117,7 @@ gtk_css_style_snapshot_icon_paintable (GtkCssStyle *style,
|
||||
is_symbolic_paintable = GTK_IS_SYMBOLIC_PAINTABLE (paintable);
|
||||
if (is_symbolic_paintable)
|
||||
{
|
||||
gtk_icon_theme_lookup_symbolic_colors (style, colors);
|
||||
gtk_css_style_lookup_symbolic_colors (style, colors);
|
||||
|
||||
if (gdk_rgba_is_clear (&colors[0]))
|
||||
goto transparent;
|
||||
|
||||
Reference in New Issue
Block a user