murrine r35 - in trunk: . src
- From: acimitan svn gnome org
- To: svn-commits-list gnome org
- Subject: murrine r35 - in trunk: . src
- Date: Thu, 10 Apr 2008 16:50:53 +0100 (BST)
Author: acimitan
Date: Thu Apr 10 16:50:53 2008
New Revision: 35
URL: http://svn.gnome.org/viewvc/murrine?rev=35&view=rev
Log:
2008-04-10 Andrea Cimitan <andrea cimitan gmail com>
* src/cairo-support.c: (murrine_draw_lightborder),
(murrine_set_gradient):
* src/murrine_draw.c: (murrine_draw_button),
(murrine_draw_progressbar_fill), (murrine_draw_tab),
(murrine_draw_list_view_header), (murrine_draw_scrollbar_slider),
(murrine_draw_tooltip):
* src/murrine_draw_rgba.c: (murrine_rgba_draw_button),
(murrine_rgba_draw_progressbar_fill), (murrine_rgba_draw_tab),
(murrine_rgba_draw_scrollbar_slider), (murrine_rgba_draw_tooltip):
* src/murrine_rc_style.c: (murrine_rc_style_init),
(theme_parse_gradient), (murrine_rc_style_parse),
(murrine_rc_style_merge):
* src/murrine_rc_style.h:
* src/murrine_style.c: (murrine_set_widget_parameters),
(murrine_style_init_from_rc), (murrine_style_copy):
* src/murrine_style.h:
* src/murrine_types.h:
First approach with the new gradient_shades array for the options.
Name may change in the future.
Modified:
trunk/ChangeLog
trunk/src/cairo-support.c
trunk/src/murrine_draw.c
trunk/src/murrine_draw_rgba.c
trunk/src/murrine_rc_style.c
trunk/src/murrine_rc_style.h
trunk/src/murrine_style.c
trunk/src/murrine_style.h
trunk/src/murrine_types.h
Modified: trunk/src/cairo-support.c
==============================================================================
--- trunk/src/cairo-support.c (original)
+++ trunk/src/cairo-support.c Thu Apr 10 16:50:53 2008
@@ -490,22 +490,23 @@
alpha_value = mrn_gradient.rgba_opacity;
}
- murrine_shade (highlight_color, mrn_gradient.gradient_stop_1, &shade1);
- murrine_shade (highlight_color, mrn_gradient.gradient_stop_2, &shade2);
- murrine_shade (highlight_color, mrn_gradient.gradient_stop_3, &shade3);
- murrine_shade (highlight_color, mrn_gradient.gradient_stop_4, &shade4);
+ murrine_shade (highlight_color, mrn_gradient.gradient_shades[0], &shade1);
+ murrine_shade (highlight_color, mrn_gradient.gradient_shades[1], &shade2);
+ murrine_shade (highlight_color, mrn_gradient.gradient_shades[2], &shade3);
+ murrine_shade (highlight_color, mrn_gradient.gradient_shades[3], &shade4);
double fill_pos = 1.0-(1.0/(!horizontal ? (double)(width) : (double)(height)));
if (corners == MRN_CORNER_ALL && radius > 2)
- fill_pos = 1.0-((((double)radius-1.0)/2.0)/(!horizontal ? (double)(width) : (double)(height)));
+ fill_pos = 1.0-((((double)radius-1.0)/2.0)/
+ (!horizontal ? (double)(width) : (double)(height)));
radius < 2 ? cairo_rectangle (cr, x, y, width, height) :
clearlooks_rounded_rectangle (cr, x, y, width, height, radius-1, corners);
pattern = cairo_pattern_create_linear (x, y, !horizontal ? width+x : x, !horizontal ? y : height+y);
cairo_pattern_add_color_stop_rgba (pattern, 0.0, shade1.r, shade1.g, shade1.b, 0.5*alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 0.5, shade2.r, shade2.g, shade2.b, 0.5*alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 0.5, shade3.r, shade3.g, shade3.b, 0.5*alpha_value);
+ cairo_pattern_add_color_stop_rgba (pattern, 0.49, shade2.r, shade2.g, shade2.b, 0.5*alpha_value);
+ cairo_pattern_add_color_stop_rgba (pattern, 0.49, shade3.r, shade3.g, shade3.b, 0.5*alpha_value);
cairo_pattern_add_color_stop_rgba (pattern, fill_pos, shade4.r, shade4.g, shade4.b, 0.5*alpha_value);
cairo_pattern_add_color_stop_rgba (pattern, fill_pos, shade4.r, shade4.g, shade4.b,
lightborderstyle > 0 ? 0.5*alpha_value : 0.0);
@@ -548,45 +549,24 @@
cairo_pattern_t *pattern;
MurrineRGB shade1, shade2, shade3, shade4;
- murrine_shade (color, mrn_gradient.gradient_stop_1, &shade1);
- murrine_shade (color, mrn_gradient.gradient_stop_2, &shade2);
- murrine_shade (color, mrn_gradient.gradient_stop_3, &shade3);
- murrine_shade (color, mrn_gradient.gradient_stop_4, &shade4);
+ murrine_shade (color, mrn_gradient.gradient_shades[0], &shade1);
+ murrine_shade (color, mrn_gradient.gradient_shades[1], &shade2);
+ murrine_shade (color, mrn_gradient.gradient_shades[2], &shade3);
+ murrine_shade (color, mrn_gradient.gradient_shades[3], &shade4);
pattern = cairo_pattern_create_linear (x, y, width+x, height+y);
- if (mrn_gradient.use_rgba)
- {
- cairo_pattern_add_color_stop_rgba (pattern, 0.0, shade1.r, shade1.g, shade1.b, alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 0.5, shade2.r, shade2.g, shade2.b, alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 0.5, shade3.r, shade3.g, shade3.b, alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 1.0, shade4.r, shade4.g, shade4.b, alpha_value);
- }
- else
- {
- if (!alpha)
- {
- cairo_pattern_add_color_stop_rgb (pattern, 0.0, shade1.r, shade1.g, shade1.b);
- cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b);
- cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade3.r, shade3.g, shade3.b);
- cairo_pattern_add_color_stop_rgb (pattern, 1.0, shade4.r, shade4.g, shade4.b);
- }
- else
- {
- cairo_pattern_add_color_stop_rgba (pattern, 0.0, shade1.r, shade1.g, shade1.b, alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 0.5, shade2.r, shade2.g, shade2.b, alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 0.5, shade3.r, shade3.g, shade3.b, alpha_value);
- cairo_pattern_add_color_stop_rgba (pattern, 1.0, shade4.r, shade4.g, shade4.b, alpha_value);
- }
- }
+
+ cairo_pattern_add_color_stop_rgba (pattern, 0.00, shade1.r, shade1.g, shade1.b, alpha_value);
+ cairo_pattern_add_color_stop_rgba (pattern, 0.49, shade2.r, shade2.g, shade2.b, alpha_value);
+ cairo_pattern_add_color_stop_rgba (pattern, 0.49, shade3.r, shade3.g, shade3.b, alpha_value);
+ cairo_pattern_add_color_stop_rgba (pattern, 1.00, shade4.r, shade4.g, shade4.b, alpha_value);
+
cairo_set_source (cr, pattern);
cairo_pattern_destroy (pattern);
}
else
{
- if (alpha_value < 1.0)
- murrine_set_color_rgba (cr, color, alpha_value);
- else
- murrine_set_color_rgb (cr, color);
+ murrine_set_color_rgba (cr, color, alpha_value);
}
}
Modified: trunk/src/murrine_draw.c
==============================================================================
--- trunk/src/murrine_draw.c (original)
+++ trunk/src/murrine_draw.c Thu Apr 10 16:50:53 2008
@@ -159,10 +159,10 @@
if (widget->disabled)
{
- mrn_gradient_custom.gradient_stop_1 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_1, 3.0);
- mrn_gradient_custom.gradient_stop_2 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_2, 3.0);
- mrn_gradient_custom.gradient_stop_3 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_3, 3.0);
- mrn_gradient_custom.gradient_stop_4 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_4, 3.0);
+ mrn_gradient_custom.gradient_shades[0] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[0], 3.0);
+ mrn_gradient_custom.gradient_shades[1] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[1], 3.0);
+ mrn_gradient_custom.gradient_shades[2] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[2], 3.0);
+ mrn_gradient_custom.gradient_shades[3] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[3], 3.0);
custom_highlight_ratio = get_decreased_ratio (widget->highlight_ratio, 2.0);
}
@@ -600,10 +600,10 @@
x_step = (((float)stroke_width/10)*offset);
cairo_set_line_width (cr, 1.0);
cairo_save (cr);
- cairo_rectangle (cr, 1.5, 0.5, width-2, height-1);
+ cairo_rectangle (cr, 1.5, 0.5, width-2, height);
/* Draw fill */
- murrine_set_gradient (cr, fill, widget->mrn_gradient, 1.5, 0.5, 0, height-1, widget->mrn_gradient.gradients, FALSE);
+ murrine_set_gradient (cr, fill, widget->mrn_gradient, 1.5, 0.5, 0, height, widget->mrn_gradient.gradients, FALSE);
/* Draw the glass effect */
if (widget->glazestyle > 0)
@@ -620,7 +620,7 @@
murrine_draw_flat_highlight (cr, 1.5, 0.5, width-2, height);
}
- murrine_set_gradient (cr, &highlight, widget->mrn_gradient, 1.5, 0.5, 0, height-1, widget->mrn_gradient.gradients, TRUE);
+ murrine_set_gradient (cr, &highlight, widget->mrn_gradient, 1.5, 0.5, 0, height, widget->mrn_gradient.gradients, TRUE);
cairo_fill (cr);
if (widget->glazestyle == 4)
@@ -628,7 +628,7 @@
murrine_draw_curved_highlight_bottom (cr, 1, width, height+1);
MurrineRGB shadow;
murrine_shade (fill, 1.0/widget->highlight_ratio, &shadow);
- murrine_set_gradient (cr, &shadow, widget->mrn_gradient, 1.5, 0.5, 0, height-1, widget->mrn_gradient.gradients, TRUE);
+ murrine_set_gradient (cr, &shadow, widget->mrn_gradient, 1.5, 0.5, 0, height, widget->mrn_gradient.gradients, TRUE);
cairo_fill (cr);
}
@@ -1034,18 +1034,18 @@
MurrineRGB shade1, shade2, shade3, shade4;
MurrineGradients mrn_gradient_custom = widget->mrn_gradient;
- mrn_gradient_custom.gradient_stop_1 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_1, 3.0);
- mrn_gradient_custom.gradient_stop_2 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_2, 3.0);
- mrn_gradient_custom.gradient_stop_3 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_3, 3.0);
- mrn_gradient_custom.gradient_stop_4 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_4, 3.0);
+ mrn_gradient_custom.gradient_shades[0] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[0], 3.0);
+ mrn_gradient_custom.gradient_shades[1] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[1], 3.0);
+ mrn_gradient_custom.gradient_shades[2] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[2], 3.0);
+ mrn_gradient_custom.gradient_shades[3] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[3], 3.0);
double custom_highlight_ratio = widget->highlight_ratio;
custom_highlight_ratio = get_decreased_ratio (widget->highlight_ratio, 2.0);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_1*custom_highlight_ratio, &shade1);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_2*custom_highlight_ratio, &shade2);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_3, &shade3);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_4, &shade4);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[0]*custom_highlight_ratio, &shade1);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[1]*custom_highlight_ratio, &shade2);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[2], &shade3);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[3], &shade4);
switch (tab->gap_side)
{
@@ -1253,7 +1253,7 @@
if (header->style == 1)
{
cairo_rectangle (cr, 0, 0, width, height);
- murrine_set_gradient (cr, fill, widget->mrn_gradient, 0, 0, 0, height, widget->mrn_gradient.gradients, FALSE);
+ murrine_set_gradient (cr, fill, widget->mrn_gradient, 0, 0, 0, height-1, widget->mrn_gradient.gradients, FALSE);
/* Glass effect */
if (widget->glazestyle > 0)
{
@@ -1269,7 +1269,7 @@
murrine_draw_flat_highlight (cr, 0 , 0 , width, height);
}
- murrine_set_gradient (cr, &highlight_header, widget->mrn_gradient, 0, 0, 0, height, widget->mrn_gradient.gradients, TRUE);
+ murrine_set_gradient (cr, &highlight_header, widget->mrn_gradient, 0, 0, 0, height-1, widget->mrn_gradient.gradients, TRUE);
cairo_fill (cr);
if (widget->glazestyle == 4)
@@ -1277,7 +1277,7 @@
murrine_draw_curved_highlight_bottom (cr, 0, width, height);
MurrineRGB shadow;
murrine_shade (fill, 1.0/widget->highlight_ratio, &shadow);
- murrine_set_gradient (cr, &shadow, widget->mrn_gradient, 0, 0, 0, height, widget->mrn_gradient.gradients, TRUE);
+ murrine_set_gradient (cr, &shadow, widget->mrn_gradient, 0, 0, 0, height-1, widget->mrn_gradient.gradients, TRUE);
cairo_fill (cr);
}
@@ -1701,7 +1701,6 @@
if (scrollbar->horizontal)
cairo_translate (cr, x, y);
-
else
{
int tmp = height;
@@ -1939,10 +1938,10 @@
MurrineGradients mrn_gradient_custom = widget->mrn_gradient;
- mrn_gradient_custom.gradient_stop_1 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_1, 2.0);
- mrn_gradient_custom.gradient_stop_2 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_2, 2.0);
- mrn_gradient_custom.gradient_stop_3 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_3, 2.0);
- mrn_gradient_custom.gradient_stop_4 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_4, 2.0);
+ mrn_gradient_custom.gradient_shades[0] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[0], 2.0);
+ mrn_gradient_custom.gradient_shades[1] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[1], 2.0);
+ mrn_gradient_custom.gradient_shades[2] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[2], 2.0);
+ mrn_gradient_custom.gradient_shades[3] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[3], 2.0);
murrine_shade (&colors->bg[widget->state_type], 0.6, &border);
murrine_shade (&colors->bg[widget->state_type], 1.0, &highlight);
Modified: trunk/src/murrine_draw_rgba.c
==============================================================================
--- trunk/src/murrine_draw_rgba.c (original)
+++ trunk/src/murrine_draw_rgba.c Thu Apr 10 16:50:53 2008
@@ -157,10 +157,10 @@
if (widget->disabled)
{
- mrn_gradient_custom.gradient_stop_1 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_1, 3.0);
- mrn_gradient_custom.gradient_stop_2 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_2, 3.0);
- mrn_gradient_custom.gradient_stop_3 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_3, 3.0);
- mrn_gradient_custom.gradient_stop_4 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_4, 3.0);
+ mrn_gradient_custom.gradient_shades[0] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[0], 3.0);
+ mrn_gradient_custom.gradient_shades[1] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[1], 3.0);
+ mrn_gradient_custom.gradient_shades[2] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[2], 3.0);
+ mrn_gradient_custom.gradient_shades[3] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[3], 3.0);
custom_highlight_ratio = get_decreased_ratio (widget->highlight_ratio, 2.0);
}
@@ -567,10 +567,10 @@
cairo_save (cr);
cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
- cairo_rectangle (cr, 1.5, 0.5, width-2, height-1);
+ cairo_rectangle (cr, 1.5, 0.5, width-2, height);
/* Draw fill */
- murrine_set_gradient (cr, fill, widget->mrn_gradient, 1.5, 0.5, 0, height-1, widget->mrn_gradient.gradients, FALSE);
+ murrine_set_gradient (cr, fill, widget->mrn_gradient, 1.5, 0.5, 0, height, widget->mrn_gradient.gradients, FALSE);
/* Draw the glass effect */
if (widget->glazestyle > 0)
@@ -587,7 +587,7 @@
murrine_draw_flat_highlight (cr, 1.5, 0.5, width-2, height);
}
- murrine_set_gradient (cr, &highlight, widget->mrn_gradient, 1.5, 0.5, 0, height-1, widget->mrn_gradient.gradients, TRUE);
+ murrine_set_gradient (cr, &highlight, widget->mrn_gradient, 1.5, 0.5, 0, height, widget->mrn_gradient.gradients, TRUE);
cairo_fill (cr);
if (widget->glazestyle == 4)
@@ -595,7 +595,7 @@
murrine_draw_curved_highlight_bottom (cr, 1, width, height+1);
MurrineRGB shadow;
murrine_shade (fill, 1.0/widget->highlight_ratio, &shadow);
- murrine_set_gradient (cr, &shadow, widget->mrn_gradient, 1.5, 0.5, 0, height-1, widget->mrn_gradient.gradients, TRUE);
+ murrine_set_gradient (cr, &shadow, widget->mrn_gradient, 1.5, 0.5, 0, height, widget->mrn_gradient.gradients, TRUE);
cairo_fill (cr);
}
@@ -1153,18 +1153,18 @@
MurrineRGB shade1, shade2, shade3, shade4;
MurrineGradients mrn_gradient_custom = widget->mrn_gradient;
- mrn_gradient_custom.gradient_stop_1 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_1, 3.0);
- mrn_gradient_custom.gradient_stop_2 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_2, 3.0);
- mrn_gradient_custom.gradient_stop_3 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_3, 3.0);
- mrn_gradient_custom.gradient_stop_4 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_4, 3.0);
+ mrn_gradient_custom.gradient_shades[0] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[0], 3.0);
+ mrn_gradient_custom.gradient_shades[1] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[1], 3.0);
+ mrn_gradient_custom.gradient_shades[2] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[2], 3.0);
+ mrn_gradient_custom.gradient_shades[3] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[3], 3.0);
double custom_highlight_ratio = widget->highlight_ratio;
custom_highlight_ratio = get_decreased_ratio (widget->highlight_ratio, 2.0);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_1*custom_highlight_ratio, &shade1);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_2*custom_highlight_ratio, &shade2);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_3, &shade3);
- murrine_shade (fill, mrn_gradient_custom.gradient_stop_4, &shade4);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[0]*custom_highlight_ratio, &shade1);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[1]*custom_highlight_ratio, &shade2);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[2], &shade3);
+ murrine_shade (fill, mrn_gradient_custom.gradient_shades[3], &shade4);
switch (tab->gap_side)
{
@@ -1448,7 +1448,6 @@
if (scrollbar->horizontal)
cairo_translate (cr, x, y);
-
else
{
int tmp = height;
@@ -1598,10 +1597,10 @@
MurrineGradients mrn_gradient_custom = widget->mrn_gradient;
- mrn_gradient_custom.gradient_stop_1 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_1, 2.0);
- mrn_gradient_custom.gradient_stop_2 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_2, 2.0);
- mrn_gradient_custom.gradient_stop_3 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_3, 2.0);
- mrn_gradient_custom.gradient_stop_4 = get_decreased_ratio (widget->mrn_gradient.gradient_stop_4, 2.0);
+ mrn_gradient_custom.gradient_shades[0] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[0], 2.0);
+ mrn_gradient_custom.gradient_shades[1] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[1], 2.0);
+ mrn_gradient_custom.gradient_shades[2] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[2], 2.0);
+ mrn_gradient_custom.gradient_shades[3] = get_decreased_ratio (widget->mrn_gradient.gradient_shades[3], 2.0);
murrine_shade (&colors->bg[widget->state_type], 0.6, &border);
murrine_shade (&colors->bg[widget->state_type], 1.0, &highlight);
Modified: trunk/src/murrine_rc_style.c
==============================================================================
--- trunk/src/murrine_rc_style.c (original)
+++ trunk/src/murrine_rc_style.c Thu Apr 10 16:50:53 2008
@@ -45,10 +45,7 @@
TOKEN_COLORIZE_SCROLLBAR,
TOKEN_CONTRAST,
TOKEN_GLAZESTYLE,
- TOKEN_GRADIENT_STOP_1,
- TOKEN_GRADIENT_STOP_2,
- TOKEN_GRADIENT_STOP_3,
- TOKEN_GRADIENT_STOP_4,
+ TOKEN_GRADIENT_SHADES,
TOKEN_GRADIENTS,
TOKEN_HIGHLIGHT_RATIO,
TOKEN_LIGHTBORDER_RATIO,
@@ -94,10 +91,7 @@
{ "colorize_scrollbar", TOKEN_COLORIZE_SCROLLBAR },
{ "contrast", TOKEN_CONTRAST },
{ "glazestyle", TOKEN_GLAZESTYLE },
- { "gradient_stop_1", TOKEN_GRADIENT_STOP_1 },
- { "gradient_stop_2", TOKEN_GRADIENT_STOP_2 },
- { "gradient_stop_3", TOKEN_GRADIENT_STOP_3 },
- { "gradient_stop_4", TOKEN_GRADIENT_STOP_4 },
+ { "gradient_shades", TOKEN_GRADIENT_SHADES },
{ "gradients", TOKEN_GRADIENTS },
{ "highlight_ratio", TOKEN_HIGHLIGHT_RATIO },
{ "lightborder_ratio", TOKEN_LIGHTBORDER_RATIO },
@@ -164,10 +158,10 @@
murrine_rc->colorize_scrollbar = TRUE;
murrine_rc->contrast = 1.0;
murrine_rc->glazestyle = 1;
- murrine_rc->gradient_stop_1 = 1.1;
- murrine_rc->gradient_stop_2 = 1.0;
- murrine_rc->gradient_stop_3 = 1.0;
- murrine_rc->gradient_stop_4 = 1.1;
+ murrine_rc->gradient_shades[0] = 1.1;
+ murrine_rc->gradient_shades[1] = 1.0;
+ murrine_rc->gradient_shades[2] = 1.0;
+ murrine_rc->gradient_shades[3] = 1.1;
murrine_rc->gradients = TRUE;
murrine_rc->has_scrollbar_color = FALSE;
murrine_rc->highlight_ratio = 1.1;
@@ -298,7 +292,7 @@
token = g_scanner_get_next_token(scanner);
if (token != G_TOKEN_EQUAL_SIGN)
- return G_TOKEN_EQUAL_SIGN;
+ return G_TOKEN_EQUAL_SIGN;
token = g_scanner_get_next_token(scanner);
if (token != G_TOKEN_INT)
@@ -352,6 +346,62 @@
}
static guint
+theme_parse_gradient (GtkSettings *settings,
+ GScanner *scanner,
+ double gradient_shades[4])
+{
+ guint token;
+
+ /* Skip 'blah_border' */
+ token = g_scanner_get_next_token(scanner);
+
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_EQUAL_SIGN)
+ return G_TOKEN_EQUAL_SIGN;
+
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_LEFT_CURLY)
+ return G_TOKEN_LEFT_CURLY;
+
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_FLOAT)
+ return G_TOKEN_FLOAT;
+ gradient_shades[0] = scanner->value.v_float;
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_COMMA)
+ return G_TOKEN_COMMA;
+
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_FLOAT)
+ return G_TOKEN_FLOAT;
+ gradient_shades[1] = scanner->value.v_float;
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_COMMA)
+ return G_TOKEN_COMMA;
+
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_FLOAT)
+ return G_TOKEN_FLOAT;
+ gradient_shades[2] = scanner->value.v_float;
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_COMMA)
+ return G_TOKEN_COMMA;
+
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_FLOAT)
+ return G_TOKEN_FLOAT;
+ gradient_shades[3] = scanner->value.v_float;
+
+ token = g_scanner_get_next_token(scanner);
+ if (token != G_TOKEN_RIGHT_CURLY)
+ return G_TOKEN_RIGHT_CURLY;
+
+ /* save those values */
+
+ return G_TOKEN_NONE;
+}
+
+static guint
murrine_gtk2_rc_parse_dummy (GtkSettings *settings,
GScanner *scanner,
gchar *name)
@@ -432,21 +482,9 @@
token = theme_parse_int (settings, scanner, &murrine_style->glazestyle);
murrine_style->flags |= MRN_FLAG_GLAZESTYLE;
break;
- case TOKEN_GRADIENT_STOP_1:
- token = theme_parse_ratio (settings, scanner, &murrine_style->gradient_stop_1);
- murrine_style->flags |= MRN_FLAG_GRADIENT_STOP_1;
- break;
- case TOKEN_GRADIENT_STOP_2:
- token = theme_parse_ratio (settings, scanner, &murrine_style->gradient_stop_2);
- murrine_style->flags |= MRN_FLAG_GRADIENT_STOP_2;
- break;
- case TOKEN_GRADIENT_STOP_3:
- token = theme_parse_ratio (settings, scanner, &murrine_style->gradient_stop_3);
- murrine_style->flags |= MRN_FLAG_GRADIENT_STOP_3;
- break;
- case TOKEN_GRADIENT_STOP_4:
- token = theme_parse_ratio (settings, scanner, &murrine_style->gradient_stop_4);
- murrine_style->flags |= MRN_FLAG_GRADIENT_STOP_4;;
+ case TOKEN_GRADIENT_SHADES:
+ token = theme_parse_gradient (settings, scanner, murrine_style->gradient_shades);
+ murrine_style->flags |= MRN_FLAG_GRADIENT_SHADES;
break;
case TOKEN_GRADIENTS:
token = theme_parse_boolean (settings, scanner, &murrine_style->gradients);
@@ -582,14 +620,13 @@
dest_w->contrast = src_w->contrast;
if (flags & MRN_FLAG_GLAZESTYLE)
dest_w->glazestyle = src_w->glazestyle;
- if (flags & MRN_FLAG_GRADIENT_STOP_1)
- dest_w->gradient_stop_1 = src_w->gradient_stop_1;
- if (flags & MRN_FLAG_GRADIENT_STOP_2)
- dest_w->gradient_stop_2 = src_w->gradient_stop_2;
- if (flags & MRN_FLAG_GRADIENT_STOP_3)
- dest_w->gradient_stop_3 = src_w->gradient_stop_3;
- if (flags & MRN_FLAG_GRADIENT_STOP_4)
- dest_w->gradient_stop_4 = src_w->gradient_stop_4;
+ if (flags & MRN_FLAG_GRADIENT_SHADES)
+ {
+ dest_w->gradient_shades[0] = src_w->gradient_shades[0];
+ dest_w->gradient_shades[1] = src_w->gradient_shades[1];
+ dest_w->gradient_shades[2] = src_w->gradient_shades[2];
+ dest_w->gradient_shades[3] = src_w->gradient_shades[3];
+ }
if (flags & MRN_FLAG_GRADIENTS)
dest_w->gradients = src_w->gradients;
if (flags & MRN_FLAG_HIGHLIGHT_RATIO)
Modified: trunk/src/murrine_rc_style.h
==============================================================================
--- trunk/src/murrine_rc_style.h (original)
+++ trunk/src/murrine_rc_style.h Thu Apr 10 16:50:53 2008
@@ -38,29 +38,26 @@
MRN_FLAG_COLORIZE_SCROLLBAR = 1 << 1,
MRN_FLAG_CONTRAST = 1 << 2,
MRN_FLAG_GLAZESTYLE = 1 << 3,
- MRN_FLAG_GRADIENT_STOP_1 = 1 << 4,
- MRN_FLAG_GRADIENT_STOP_2 = 1 << 5,
- MRN_FLAG_GRADIENT_STOP_3 = 1 << 6,
- MRN_FLAG_GRADIENT_STOP_4 = 1 << 7,
- MRN_FLAG_GRADIENTS = 1 << 8,
- MRN_FLAG_HIGHLIGHT_RATIO = 1 << 9,
- MRN_FLAG_LIGHTBORDER_RATIO = 1 << 10,
- MRN_FLAG_LIGHTBORDERSTYLE= 1 << 11,
- MRN_FLAG_LISTVIEWHEADERSTYLE = 1 << 12,
- MRN_FLAG_LISTVIEWSTYLE = 1 << 13,
- MRN_FLAG_MENUBARITEMSTYLE = 1 << 14,
- MRN_FLAG_MENUBARSTYLE = 1 << 15,
- MRN_FLAG_MENUITEMSTYLE = 1 << 16,
- MRN_FLAG_MENUSTYLE = 1 << 17,
- MRN_FLAG_RELIEFSTYLE = 1 << 18,
- MRN_FLAG_RGBA = 1 << 19,
- MRN_FLAG_ROUNDNESS = 1 << 20,
- MRN_FLAG_SCROLLBAR_COLOR = 1 << 21,
- MRN_FLAG_SCROLLBARSTYLE = 1 << 22,
- MRN_FLAG_SLIDERSTYLE = 1 << 23,
- MRN_FLAG_STEPPERSTYLE = 1 << 24,
- MRN_FLAG_STYLE = 1 << 25,
- MRN_FLAG_TOOLBARSTYLE = 1 << 26
+ MRN_FLAG_GRADIENT_SHADES = 1 << 4,
+ MRN_FLAG_GRADIENTS = 1 << 5,
+ MRN_FLAG_HIGHLIGHT_RATIO = 1 << 6,
+ MRN_FLAG_LIGHTBORDER_RATIO = 1 << 7,
+ MRN_FLAG_LIGHTBORDERSTYLE= 1 << 8,
+ MRN_FLAG_LISTVIEWHEADERSTYLE = 1 << 9,
+ MRN_FLAG_LISTVIEWSTYLE = 1 << 10,
+ MRN_FLAG_MENUBARITEMSTYLE = 1 << 11,
+ MRN_FLAG_MENUBARSTYLE = 1 << 12,
+ MRN_FLAG_MENUITEMSTYLE = 1 << 13,
+ MRN_FLAG_MENUSTYLE = 1 << 14,
+ MRN_FLAG_RELIEFSTYLE = 1 << 15,
+ MRN_FLAG_RGBA = 1 << 16,
+ MRN_FLAG_ROUNDNESS = 1 << 17,
+ MRN_FLAG_SCROLLBAR_COLOR = 1 << 18,
+ MRN_FLAG_SCROLLBARSTYLE = 1 << 19,
+ MRN_FLAG_SLIDERSTYLE = 1 << 20,
+ MRN_FLAG_STEPPERSTYLE = 1 << 21,
+ MRN_FLAG_STYLE = 1 << 22,
+ MRN_FLAG_TOOLBARSTYLE = 1 << 23
} MurrineRcFlags;
struct _MurrineRcStyle
@@ -70,10 +67,7 @@
MurrineRcFlags flags;
double contrast;
- double gradient_stop_1;
- double gradient_stop_2;
- double gradient_stop_3;
- double gradient_stop_4;
+ double gradient_shades[4];
double highlight_ratio;
double lightborder_ratio;
Modified: trunk/src/murrine_style.c
==============================================================================
--- trunk/src/murrine_style.c (original)
+++ trunk/src/murrine_style.c Thu Apr 10 16:50:53 2008
@@ -144,17 +144,17 @@
MurrineGradients mrn_gradient;
if (murrine_style->gradients)
{
- mrn_gradient.gradient_stop_1 = murrine_style->gradient_stop_1;
- mrn_gradient.gradient_stop_2 = murrine_style->gradient_stop_2;
- mrn_gradient.gradient_stop_3 = murrine_style->gradient_stop_3;
- mrn_gradient.gradient_stop_4 = murrine_style->gradient_stop_4;
+ mrn_gradient.gradient_shades[0] = murrine_style->gradient_shades[0];
+ mrn_gradient.gradient_shades[1] = murrine_style->gradient_shades[1];
+ mrn_gradient.gradient_shades[2] = murrine_style->gradient_shades[2];
+ mrn_gradient.gradient_shades[3] = murrine_style->gradient_shades[3];
}
else
{
- mrn_gradient.gradient_stop_1 = 1.0;
- mrn_gradient.gradient_stop_2 = 1.0;
- mrn_gradient.gradient_stop_3 = 1.0;
- mrn_gradient.gradient_stop_4 = 1.0;
+ mrn_gradient.gradient_shades[0] = 1.0;
+ mrn_gradient.gradient_shades[1] = 1.0;
+ mrn_gradient.gradient_shades[2] = 1.0;
+ mrn_gradient.gradient_shades[3] = 1.0;
}
mrn_gradient.gradients = murrine_style->gradients;
mrn_gradient.use_rgba = (murrine_widget_is_rgba ((GtkWidget*) widget) && murrine_style->rgba);
@@ -1607,19 +1607,22 @@
murrine_parent_class->init_from_rc (style, rc_style);
- murrine_style->gradient_stop_1 = MURRINE_RC_STYLE (rc_style)->gradient_stop_1;
- murrine_style->gradient_stop_2 = MURRINE_RC_STYLE (rc_style)->gradient_stop_2;
- murrine_style->gradient_stop_3 = MURRINE_RC_STYLE (rc_style)->gradient_stop_3;
- murrine_style->gradient_stop_4 = MURRINE_RC_STYLE (rc_style)->gradient_stop_4;
+ murrine_style->gradient_shades[0] = MURRINE_RC_STYLE (rc_style)->gradient_shades[0];
+ murrine_style->gradient_shades[1] = MURRINE_RC_STYLE (rc_style)->gradient_shades[1];
+ murrine_style->gradient_shades[2] = MURRINE_RC_STYLE (rc_style)->gradient_shades[2];
+ murrine_style->gradient_shades[3] = MURRINE_RC_STYLE (rc_style)->gradient_shades[3];
murrine_style->highlight_ratio = MURRINE_RC_STYLE (rc_style)->highlight_ratio;
murrine_style->lightborder_ratio = MURRINE_RC_STYLE (rc_style)->lightborder_ratio;
murrine_style->glazestyle = MURRINE_RC_STYLE (rc_style)->glazestyle;
+
+ /* This is required to avoid glitches on different glazestyles */
if (murrine_style->glazestyle != 0)
{
- double gradient_stop_mid = ((murrine_style->gradient_stop_2)+(murrine_style->gradient_stop_2))/2.0;
- murrine_style->gradient_stop_2 = gradient_stop_mid;
- murrine_style->gradient_stop_3 = gradient_stop_mid;
+ double gradient_stop_mid = ((murrine_style->gradient_shades[1])+
+ (murrine_style->gradient_shades[2]))/2.0;
+ murrine_style->gradient_shades[1] = gradient_stop_mid;
+ murrine_style->gradient_shades[2] = gradient_stop_mid;
}
/* Ignore roundness > 1 with glazestyle = 2 */
@@ -1661,6 +1664,10 @@
case (MRN_STYLE_NODOKA):
murrine_style->highlight_ratio = 1.0;
murrine_style->gradients = TRUE;
+ murrine_style->gradient_shades[0] = 1.1;
+ murrine_style->gradient_shades[1] = 1.0;
+ murrine_style->gradient_shades[2] = 1.0;
+ murrine_style->gradient_shades[3] = 1.1;
murrine_style->sliderstyle = 1;
murrine_style->scrollbarstyle = 2;
murrine_style->stepperstyle = 0;
@@ -1671,6 +1678,10 @@
murrine_style->highlight_ratio = 1.0;
murrine_style->glazestyle = 0;
murrine_style->gradients = FALSE;
+ murrine_style->gradient_shades[0] = 1.0;
+ murrine_style->gradient_shades[1] = 1.0;
+ murrine_style->gradient_shades[2] = 1.0;
+ murrine_style->gradient_shades[3] = 1.0;
murrine_style->lightborder_ratio = 1.00;
murrine_style->sliderstyle = 1;
murrine_style->scrollbarstyle = 0;
@@ -1685,18 +1696,18 @@
murrine_style->lightborder_ratio = 1.06;
murrine_style->glazestyle = 0;
murrine_style->gradients = TRUE;
- murrine_style->gradient_stop_1 = 1.01;
- murrine_style->gradient_stop_2 = 0.99;
- murrine_style->gradient_stop_3 = 0.99;
- murrine_style->gradient_stop_4 = 0.97;
+ murrine_style->gradient_shades[0] = 1.01;
+ murrine_style->gradient_shades[1] = 0.99;
+ murrine_style->gradient_shades[2] = 0.99;
+ murrine_style->gradient_shades[3] = 0.97;
murrine_style->reliefstyle = 0;
break;
case (MRN_STYLE_CLEARLOOKS):
murrine_style->glazestyle = 0;
- murrine_style->gradient_stop_1 = 1.08;
- murrine_style->gradient_stop_2 = 1.02;
- murrine_style->gradient_stop_3 = 1.00;
- murrine_style->gradient_stop_4 = 0.94;
+ murrine_style->gradient_shades[0] = 1.08;
+ murrine_style->gradient_shades[1] = 1.02;
+ murrine_style->gradient_shades[2] = 1.00;
+ murrine_style->gradient_shades[3] = 0.94;
murrine_style->gradients = TRUE;
murrine_style->highlight_ratio = 1.0;
murrine_style->toolbarstyle = 1;
@@ -1872,10 +1883,10 @@
mrn_style->colorize_scrollbar = mrn_src->colorize_scrollbar;
mrn_style->colors = mrn_src->colors;
mrn_style->glazestyle = mrn_src->glazestyle;
- mrn_style->gradient_stop_1 = mrn_src->gradient_stop_1;
- mrn_style->gradient_stop_2 = mrn_src->gradient_stop_2;
- mrn_style->gradient_stop_3 = mrn_src->gradient_stop_3;
- mrn_style->gradient_stop_4 = mrn_src->gradient_stop_4;
+ mrn_style->gradient_shades[0] = mrn_src->gradient_shades[0];
+ mrn_style->gradient_shades[1] = mrn_src->gradient_shades[1];
+ mrn_style->gradient_shades[2] = mrn_src->gradient_shades[2];
+ mrn_style->gradient_shades[3] = mrn_src->gradient_shades[3];
mrn_style->gradients = mrn_src->gradients;
mrn_style->has_scrollbar_color = mrn_src->has_scrollbar_color;
mrn_style->highlight_ratio = mrn_src->highlight_ratio;
Modified: trunk/src/murrine_style.h
==============================================================================
--- trunk/src/murrine_style.h (original)
+++ trunk/src/murrine_style.h Thu Apr 10 16:50:53 2008
@@ -47,10 +47,7 @@
MurrineStyles style;
double contrast;
- double gradient_stop_1;
- double gradient_stop_2;
- double gradient_stop_3;
- double gradient_stop_4;
+ double gradient_shades[4];
double highlight_ratio;
double lightborder_ratio;
Modified: trunk/src/murrine_types.h
==============================================================================
--- trunk/src/murrine_types.h (original)
+++ trunk/src/murrine_types.h Thu Apr 10 16:50:53 2008
@@ -175,10 +175,7 @@
typedef struct
{
- double gradient_stop_1;
- double gradient_stop_2;
- double gradient_stop_3;
- double gradient_stop_4;
+ double gradient_shades[4];
double rgba_opacity;
boolean gradients;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]