[murrine] Added reliefstyle = 5



commit e08a74f30904438075634b6c910fe949a2a14512
Author: Andrea Cimitan <andrea cimitan gmail com>
Date:   Wed Jan 25 13:59:54 2012 +0000

    Added reliefstyle = 5

 schema/murrine.xml.in.in |    3 ++
 src/cairo-support.c      |    2 +-
 src/murrine_draw.c       |   83 ++++++++++++++++++++++++++++++++--------------
 src/murrine_draw_rgba.c  |   83 ++++++++++++++++++++++++++++++++--------------
 4 files changed, 120 insertions(+), 51 deletions(-)
---
diff --git a/schema/murrine.xml.in.in b/schema/murrine.xml.in.in
index 7b83825..b581ac6 100644
--- a/schema/murrine.xml.in.in
+++ b/schema/murrine.xml.in.in
@@ -337,6 +337,9 @@
 		<enumeration value="4">
 			<label>Value 2+3</label>
 		</enumeration>
+		<enumeration value="5">
+			<label>A more controllable inset</label>
+		</enumeration>
 	</option>
 
 	<option type="boolean" name="rgba" default="TRUE">
diff --git a/src/cairo-support.c b/src/cairo-support.c
index 5ba17d3..3079738 100644
--- a/src/cairo-support.c
+++ b/src/cairo-support.c
@@ -1022,7 +1022,7 @@ murrine_draw_shadow_from_path (cairo_t *cr,
 
 		pat = cairo_pattern_create_linear (x, y, x, height+y);
 		murrine_pattern_add_color_stop_rgba (pat, 0.00, &shade1, reliefstyle == 3 ? 0.5*alpha : alpha);
-		murrine_pattern_add_color_stop_rgba (pat, 1.00, &shade2, reliefstyle >= 3 ? 2.0*alpha : alpha);
+		murrine_pattern_add_color_stop_rgba (pat, 1.00, &shade2, reliefstyle >= 3 && reliefstyle != 5 ? 2.0*alpha : alpha);
 
 		cairo_set_source (cr, pat);
 		cairo_pattern_destroy (pat);
diff --git a/src/murrine_draw.c b/src/murrine_draw.c
index eb7f92d..4c715c9 100644
--- a/src/murrine_draw.c
+++ b/src/murrine_draw.c
@@ -206,11 +206,20 @@ murrine_draw_button (cairo_t *cr,
 
 	if (!widget->active && !widget->disabled && widget->reliefstyle > 1 && os > 0)
 	{
-		murrine_draw_shadow (cr, &border,
-		                     os-0.5, os-0.5, width-(os*2)+1, height-(os*2)+1,
-		                     widget->roundness+1, widget->corners,
-		                     widget->reliefstyle,
-		                     mrn_gradient_new, 0.08);
+		if (widget->reliefstyle == 5)
+			murrine_draw_shadow (cr, &widget->parentbg,
+			                     0.5, 0.5, width-1, height-1,
+			                     widget->roundness+1, widget->corners,
+			                     widget->reliefstyle,
+			                     mrn_gradient_new, 0.5);
+		else
+		{
+			murrine_draw_shadow (cr, &border,
+			                     os-0.5, os-0.5, width-(os*2)+1, height-(os*2)+1,
+			                     widget->roundness+1, widget->corners,
+			                     widget->reliefstyle,
+			                     mrn_gradient_new, 0.08);
+		}
 	}
 	else if (widget->reliefstyle != 0 && os > 0)
 	{
@@ -669,10 +678,16 @@ murrine_draw_slider (cairo_t *cr,
 	if (!widget->active && !widget->disabled && widget->reliefstyle > 1 && os > 0)
 	{
 		murrine_draw_slider_path (cr, os-1, os, width-(os*2)+2, height-(os*2)+1, widget->roundness+1);
-		murrine_draw_shadow_from_path (cr, &border,
-		                               os-1, os, width-(os*2)+2, height-(os*2)+1,
-		                               widget->reliefstyle,
-		                               mrn_gradient_new, 0.08);
+		if (widget->reliefstyle == 5)
+			murrine_draw_shadow_from_path (cr, &widget->parentbg,
+			                               os-1, os, width-(os*2)+2, height-(os*2)+1,
+			                               widget->reliefstyle,
+			                               mrn_gradient_new, 0.5);
+		else
+			murrine_draw_shadow_from_path (cr, &border,
+			                              os-1, os, width-(os*2)+2, height-(os*2)+1,
+			                              widget->reliefstyle,
+			                              mrn_gradient_new, 0.08);
 	}
 
 	murrine_mix_color (&border, &fill, 0.2, &border);
@@ -2841,14 +2856,23 @@ murrine_draw_radiobutton (cairo_t *cr,
 		{
 			if (widget->reliefstyle > 1 && draw_bullet && widget->state_type != GTK_STATE_INSENSITIVE)
 			{
-				MurrineRGB shadow;
-				murrine_shade (border, 0.9, &shadow);
-
-				murrine_draw_shadow (cr, &shadow,
-					             0.5, 0.5, width-1, height-1,
-					             roundness+1, widget->corners,
-					             widget->reliefstyle,
-					             mrn_gradient_new, 0.08);
+				if (widget->reliefstyle == 5)
+					murrine_draw_shadow (cr, &widget->parentbg,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.5);
+				else
+				{
+					MurrineRGB shadow;
+					murrine_shade (border, 0.9, &shadow);
+
+					murrine_draw_shadow (cr, &shadow,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.08);
+				}
 			}
 			else if (widget->reliefstyle != 0)
 				murrine_draw_inset (cr, &widget->parentbg, 0.5, 0.5, width-1, height-1, roundness+1, widget->corners);
@@ -2985,14 +3009,23 @@ murrine_draw_checkbox (cairo_t *cr,
 		{
 			if (widget->reliefstyle > 1 && draw_bullet && widget->state_type != GTK_STATE_INSENSITIVE)
 			{
-				MurrineRGB shadow;
-				murrine_shade (border, 0.9, &shadow);
-
-				murrine_draw_shadow (cr, &shadow,
-					             0.5, 0.5, width-1, height-1,
-					             roundness+1, widget->corners,
-					             widget->reliefstyle,
-					             mrn_gradient_new, 0.08);
+				if (widget->reliefstyle == 5)
+					murrine_draw_shadow (cr, &widget->parentbg,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.5);
+				else
+				{
+					MurrineRGB shadow;
+					murrine_shade (border, 0.9, &shadow);
+
+					murrine_draw_shadow (cr, &shadow,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.08);
+				}
 			}
 			else if (widget->reliefstyle != 0)
 				murrine_draw_inset (cr, &widget->parentbg, 0.5, 0.5, width-1, height-1, roundness+1, widget->corners);
diff --git a/src/murrine_draw_rgba.c b/src/murrine_draw_rgba.c
index 4a6df60..1e88e6a 100644
--- a/src/murrine_draw_rgba.c
+++ b/src/murrine_draw_rgba.c
@@ -201,11 +201,20 @@ murrine_rgba_draw_button (cairo_t *cr,
 
 	if (!widget->active && !widget->disabled && widget->reliefstyle > 1 && os > 0.5)
 	{
-		murrine_draw_shadow (cr, &border,
-		                     os-0.5, os-0.5, width-(os*2)+1, height-(os*2)+1,
-		                     widget->roundness+1, widget->corners,
-		                     widget->reliefstyle,
-		                     mrn_gradient_new, 0.08);
+		if (widget->reliefstyle == 5)
+			murrine_draw_shadow (cr, &widget->parentbg,
+			                     0.5, 0.5, width-1, height-1,
+			                     widget->roundness+1, widget->corners,
+			                     widget->reliefstyle,
+			                     mrn_gradient_new, 0.5);
+		else
+		{
+			murrine_draw_shadow (cr, &border,
+			                     os-0.5, os-0.5, width-(os*2)+1, height-(os*2)+1,
+			                     widget->roundness+1, widget->corners,
+			                     widget->reliefstyle,
+			                     mrn_gradient_new, 0.08);
+		}
 	}
 	else if (widget->reliefstyle != 0 && os > 0.5)
 	{
@@ -508,10 +517,16 @@ murrine_rgba_draw_slider (cairo_t *cr,
 	if (!widget->active && !widget->disabled && widget->reliefstyle > 1 && os > 0)
 	{
 		murrine_draw_slider_path (cr, os-1, os, width-(os*2)+2, height-(os*2)+1, widget->roundness+1);
-		murrine_draw_shadow_from_path (cr, &border,
-		                               os-1, os, width-(os*2)+2, height-(os*2)+1,
-		                               widget->reliefstyle,
-		                               mrn_gradient_new, 0.08);
+		if (widget->reliefstyle == 5)
+			murrine_draw_shadow_from_path (cr, &widget->parentbg,
+			                               os-1, os, width-(os*2)+2, height-(os*2)+1,
+			                               widget->reliefstyle,
+			                               mrn_gradient_new, 0.5);
+		else
+			murrine_draw_shadow_from_path (cr, &border,
+			                              os-1, os, width-(os*2)+2, height-(os*2)+1,
+			                              widget->reliefstyle,
+			                              mrn_gradient_new, 0.08);
 	}
 
 	murrine_mix_color (&border, &widget->parentbg, 0.2, &border);
@@ -1859,14 +1874,23 @@ murrine_rgba_draw_radiobutton (cairo_t *cr,
 		{
 			if (widget->reliefstyle > 1 && draw_bullet && widget->state_type != GTK_STATE_INSENSITIVE)
 			{
-				MurrineRGB shadow;
-				murrine_shade (&border, 0.9, &shadow);
-
-				murrine_draw_shadow (cr, &shadow,
-					             0.5, 0.5, width-1, height-1,
-					             roundness+1, widget->corners,
-					             widget->reliefstyle,
-					             mrn_gradient_new, 0.08);
+				if (widget->reliefstyle == 5)
+					murrine_draw_shadow (cr, &widget->parentbg,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.5);
+				else
+				{
+					MurrineRGB shadow;
+					murrine_shade (&border, 0.9, &shadow);
+
+					murrine_draw_shadow (cr, &shadow,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.08);
+				}
 			}
 			else if (widget->reliefstyle != 0)
 				murrine_draw_inset (cr, &widget->parentbg, 0.5, 0.5, width-1, height-1, roundness+1, widget->corners);
@@ -2005,14 +2029,23 @@ murrine_rgba_draw_checkbox (cairo_t *cr,
 		{
 			if (widget->reliefstyle > 1 && draw_bullet && widget->state_type != GTK_STATE_INSENSITIVE)
 			{
-				MurrineRGB shadow;
-				murrine_shade (&border, 0.9, &shadow);
-
-				murrine_draw_shadow (cr, &shadow,
-					             0.5, 0.5, width-1, height-1,
-					             roundness+1, widget->corners,
-					             widget->reliefstyle,
-					             mrn_gradient_new, 0.08);
+				if (widget->reliefstyle == 5)
+					murrine_draw_shadow (cr, &widget->parentbg,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.5);
+				else
+				{
+					MurrineRGB shadow;
+					murrine_shade (&border, 0.9, &shadow);
+
+					murrine_draw_shadow (cr, &shadow,
+					                     0.5, 0.5, width-1, height-1,
+					                     roundness+1, widget->corners,
+					                     widget->reliefstyle,
+					                     mrn_gradient_new, 0.08);
+				}
 			}
 			else if (widget->reliefstyle != 0)
 				murrine_draw_inset (cr, &widget->parentbg, 0.5, 0.5, width-1, height-1, roundness+1, widget->corners);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]