cssvalue: Add GtkCssShadowsValue
This is necessary because shadows get treated differently from other lists when transitioning.
This commit is contained in:
@ -31,7 +31,7 @@
|
||||
#include "gtkcssarrayvalueprivate.h"
|
||||
#include "gtkcssenumvalueprivate.h"
|
||||
#include "gtkcssrgbavalueprivate.h"
|
||||
#include "gtkcssshadowvalueprivate.h"
|
||||
#include "gtkcssshadowsvalueprivate.h"
|
||||
#include "gtkcsstypesprivate.h"
|
||||
#include "gtkthemingengineprivate.h"
|
||||
#include "gtkroundedboxprivate.h"
|
||||
@ -2101,11 +2101,9 @@ gtk_theming_engine_render_layout (GtkThemingEngine *engine,
|
||||
PangoLayout *layout)
|
||||
{
|
||||
GdkRGBA fg_color;
|
||||
GtkCssValue *shadows;
|
||||
GtkStateFlags flags;
|
||||
gdouble progress;
|
||||
gboolean running;
|
||||
guint i;
|
||||
|
||||
cairo_save (cr);
|
||||
flags = gtk_theming_engine_get_state (engine);
|
||||
@ -2134,14 +2132,10 @@ gtk_theming_engine_render_layout (GtkThemingEngine *engine,
|
||||
fg_color.alpha = CLAMP (fg_color.alpha + ((other_fg.alpha - fg_color.alpha) * progress), 0, 1);
|
||||
}
|
||||
|
||||
shadows = _gtk_theming_engine_peek_property (engine, GTK_CSS_PROPERTY_TEXT_SHADOW);
|
||||
|
||||
prepare_context_for_layout (cr, x, y, layout);
|
||||
|
||||
for (i = 0; i < _gtk_css_array_value_get_n_values (shadows); i++)
|
||||
{
|
||||
_gtk_css_shadow_value_paint_layout (_gtk_css_array_value_get_nth (shadows, i), cr, layout);
|
||||
}
|
||||
_gtk_css_shadows_value_paint_layout (_gtk_theming_engine_peek_property (engine, GTK_CSS_PROPERTY_TEXT_SHADOW),
|
||||
cr, layout);
|
||||
|
||||
gdk_cairo_set_source_rgba (cr, &fg_color);
|
||||
pango_cairo_show_layout (cr, layout);
|
||||
@ -2755,11 +2749,9 @@ render_spinner (GtkThemingEngine *engine,
|
||||
gdouble height)
|
||||
{
|
||||
GtkStateFlags state;
|
||||
GtkCssValue *shadows;
|
||||
GdkRGBA color;
|
||||
gdouble progress;
|
||||
gdouble radius;
|
||||
guint i;
|
||||
|
||||
state = gtk_theming_engine_get_state (engine);
|
||||
|
||||
@ -2769,18 +2761,14 @@ render_spinner (GtkThemingEngine *engine,
|
||||
radius = MIN (width / 2, height / 2);
|
||||
|
||||
gtk_theming_engine_get_color (engine, state, &color);
|
||||
shadows = _gtk_theming_engine_peek_property (engine, GTK_CSS_PROPERTY_ICON_SHADOW);
|
||||
|
||||
cairo_save (cr);
|
||||
cairo_translate (cr, x + width / 2, y + height / 2);
|
||||
|
||||
for (i = 0; i < _gtk_css_array_value_get_n_values (shadows); i++)
|
||||
{
|
||||
_gtk_css_shadow_value_paint_spinner (_gtk_css_array_value_get_nth (shadows, i),
|
||||
cr,
|
||||
radius,
|
||||
progress);
|
||||
}
|
||||
_gtk_css_shadows_value_paint_spinner (_gtk_theming_engine_peek_property (engine, GTK_CSS_PROPERTY_ICON_SHADOW),
|
||||
cr,
|
||||
radius,
|
||||
progress);
|
||||
|
||||
_gtk_theming_engine_paint_spinner (cr,
|
||||
radius,
|
||||
@ -2947,18 +2935,11 @@ gtk_theming_engine_render_icon (GtkThemingEngine *engine,
|
||||
gdouble x,
|
||||
gdouble y)
|
||||
{
|
||||
GtkCssValue *shadows;
|
||||
guint i;
|
||||
|
||||
cairo_save (cr);
|
||||
|
||||
gdk_cairo_set_source_pixbuf (cr, pixbuf, x, y);
|
||||
|
||||
shadows = _gtk_theming_engine_peek_property (engine, GTK_CSS_PROPERTY_ICON_SHADOW);
|
||||
for (i = 0; i < _gtk_css_array_value_get_n_values (shadows); i++)
|
||||
{
|
||||
_gtk_css_shadow_value_paint_icon (_gtk_css_array_value_get_nth (shadows, i), cr);
|
||||
}
|
||||
_gtk_css_shadows_value_paint_icon (_gtk_theming_engine_peek_property (engine, GTK_CSS_PROPERTY_ICON_SHADOW), cr);
|
||||
|
||||
cairo_paint (cr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user