49
static Gdk.Color black = new Gdk.Color (0, 0, 0);
50
public static implicit operator Color (HslColor hsl)
49
void ToRgb(out double r, out double g, out double b)
52
double r = 0, g = 0, b = 0;
60
double temp2 = hsl.L <= 0.5 ? hsl.L * (1.0 + hsl.S) : hsl.L + hsl.S -(hsl.L * hsl.S);
61
double temp1 = 2.0 * hsl.L - temp2;
59
double temp2 = L <= 0.5 ? L * (1.0 + S) : L + S -(L * S);
60
double temp1 = 2.0 * L - temp2;
63
double[] t3 = new double[] { hsl.H + 1.0 / 3.0, hsl.H, hsl.H - 1.0 / 3.0};
62
double[] t3 = new double[] { H + 1.0 / 3.0, H, H - 1.0 / 3.0};
64
63
double[] clr= new double[] { 0, 0, 0};
65
64
for (int i = 0; i < 3; i++) {
85
public static implicit operator Color (HslColor hsl)
87
double r = 0, g = 0, b = 0;
88
hsl.ToRgb (out r, out g, out b);
84
89
return new Color ((byte)(255 * r),
94
public static implicit operator Cairo.Color (HslColor hsl)
96
double r = 0, g = 0, b = 0;
97
hsl.ToRgb (out r, out g, out b);
98
return new Cairo.Color (r, g, b);
89
101
public static implicit operator HslColor (Color color)
91
103
return new HslColor (color);
94
public HslColor (Color color) : this ()
96
double r = color.Red / (double)ushort.MaxValue;
97
double g = color.Green / (double)ushort.MaxValue;
98
double b = color.Blue / (double)ushort.MaxValue;
106
public static implicit operator HslColor (Cairo.Color color)
108
return new HslColor (color);
111
public HslColor (double r, double g, double b) : this ()
100
113
double v = System.Math.Max (r, g);
101
114
v = System.Math.Max (v, b);
145
public HslColor (Color color) : this (color.Red / (double)ushort.MaxValue, color.Green / (double)ushort.MaxValue, color.Blue / (double)ushort.MaxValue)
149
public HslColor (Cairo.Color color) : this (color.R, color.G, color.B)
132
153
public static double Brightness (Gdk.Color c)
134
155
double r = c.Red / (double)ushort.MaxValue;