linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / HiliteGradient.schelp
bloba0701519ce422f8942518927d3e10e19cc1454af
1 class:: HiliteGradient
2 summary:: A linear color fade between an outside and an inside color
3 categories:: GUI>GUI-Tools
4 related:: Classes/Color, Classes/Gradient
6 description::
7 A linear color fade between an outside and an inside color.
9 classmethods::
11 method:: new
12 argument:: color1
13 An instance of Color.
14 argument:: color2
15 An instance of Color.
16 argument:: direction
17 code::\h:: or code::\v:: for horizontal and vertical respectively. Default value is code::\v::.
18 argument:: steps
19 The resolution of the gradient. Default value is 64.
20 argument:: frac
21 The center of the gradient. Default value is 0.33, i.e. off center toward the top on a vertical gradient.
23 examples::
24 code::
25 // basic usage
27 w = Window.new.front;
28 v = CompositeView(w, Rect(50, 50, 200, 50));
29 v.background = HiliteGradient(Color.gray, Color.white);
32 // change direction and resolution
34 w = Window.new.front;
35 w.view.background = HiliteGradient(Color.red, Color.white, \h, 12, 0.5);
38 // almost unnoticeable variations can be pleasant
40 w = Window.new.front;
41 v = CompositeView(w, Rect(50,50,300,300));
42 c = Color.rand;
43 d = c.vary(0.15);
44 v.background = HiliteGradient(c, d, \v);
45 [c, d].postln
49 var w, k, c, d, e, c1, c2, f, g;
50 w = Window.new.front;
51 k = Slider2D(w, Rect(50, 50, 300, 300));
52 f = {
53         c = Color.rand;
54         d = c.vary(0.5);
55         e = d.vary(0.5);
57 g = {
58         c1 = d.hueBlend(e, k.y).round(0.01);
59         c2 = c.hueBlend(e, k.x).round(0.01);
60         k.background = HiliteGradient(c1, c2, \v)
62 f.value; g.value;
63 k.action = g;
64 k.mouseUpAction = { [c1, c2].postln };
65 k.keyDownAction = f; // hit any key for new color