static void ShadowGradient (Cairo.Gradient lg, double strength)
		{
			lg.AddColorStop (0, new Cairo.Color (0, 0, 0, strength));
			lg.AddColorStop (1.0/6.0, new Cairo.Color (0, 0, 0, .85 * strength));
			lg.AddColorStop (2.0/6.0, new Cairo.Color (0, 0, 0, .54 * strength));
			lg.AddColorStop (3.0/6.0, new Cairo.Color (0, 0, 0, .24 * strength));
			lg.AddColorStop (4.0/6.0, new Cairo.Color (0, 0, 0, .07 * strength));
			lg.AddColorStop (5.0/6.0, new Cairo.Color (0, 0, 0, .01 * strength));
			lg.AddColorStop (1, new Cairo.Color (0, 0, 0, 0));
		}
		public static void CreateGradient (Cairo.LinearGradient lg, ElementState state, double opacity)
		{
			if (state.HasFlag (ElementState.Pressed)) {
				lg.AddColorStop (0, new Cairo.Color (0.9, 0.9, 0.9, opacity));
				lg.AddColorStop (1, new Cairo.Color (1, 1, 1, opacity));
			} else if (state.HasFlag (ElementState.Prelight)) {
				lg.AddColorStop (0, new Cairo.Color (1, 1, 1, opacity));
				lg.AddColorStop (1, new Cairo.Color (0.95, 0.95, 0.95, opacity));
			} else {
				lg.AddColorStop (0, new Cairo.Color (1, 1, 1, opacity));
				lg.AddColorStop (1, new Cairo.Color (0.9, 0.9, 0.9, opacity));
			}

		}