linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / Font.schelp
blobcb3ff376fc4b4c4655962504b880a13a4ceea635
1 class:: Font
2 redirect:: implClass
3 summary:: A font object
4 categories:: GUI>GUI-Tools
6 description::
7 This is the object you pass to other gui objects to set their font name or size.
10 classmethods::
12 private::key
14 method:: new
15 argument:: name
16 An instance of link::Classes/String::. Must coincide with the name of a font on the system. See link::#*availableFonts::.
17 argument:: size
18 An instance of link::Classes/Float::.
19 discussion::
20 Example:
21 code::
22 g = Font("Helvetica", 12);
25 method:: availableFonts
26 returns::
27 link::Classes/Array:: of the available fonts.
29 method:: antiAliasing
30 argument:: flag
31 An instance of link::Classes/Boolean::. Default value is code::false::.
33 method:: smoothing
34 argument:: flag
35 An instance of link::Classes/Boolean::. Default value is code::false::.
37 method:: defaultSansFace
38 returns::
39 The default sans serif face Font.
41 method:: defaultSerifFace
42 returns::
43 The default serif face Font.
45 method:: defaultMonoFace
46 returns::
47 The default monospace face Font.
49 method:: default
50 Gets/sets the default Font.
52 method:: sansSerif
53 Create a new sans serif face Font.
54 argument:: size
55 An instance of link::Classes/Float::.
57 method:: monospace
58 Create a new monospace face Font.
59 argument:: size
60 An instance of link::Classes/Float::.
62 method:: serif
63 Create a new serif face Font.
64 argument:: size
65 An instance of link::Classes/Float::.
67 instancemethods::
69 method:: name
70 Gets/sets the name of a font.
71 argument:: value
72 An instance of link::Classes/String::.
74 method:: size
75 Gets/sets the size of a font.
76 argument:: value
77 An instance of link::Classes/Float::.
79 method:: setDefault
80 Makes the current instance of Font the default.
82 method:: storeArgs
83 (?)
84 Returns:: an link::Classes/Array::, code:: [ name, size ] ::.
86 method:: boldVariant
88 note:: On the Cocoa GUI it appendes teletype::"-Bold":: to the name. This is only useful for fonts that have bold
89 variants.
91 returns::
92 Bold variant of the Font.
95 examples::
97 code::
99 w = Window.new.front;
100 t = StaticText(w, w.view.bounds).align_(\center);
101 t.string=" SUPERCOLLIDER";
103 t.font = Font("Monaco", 24);
107 var updateFont;
108 w = Window("Fonts", Rect(150, Window.screenBounds.height - 500, 400, 400)).front;
109 w.view.decorator = FlowLayout(w.view.bounds);
110 StaticText.new(w, Rect(5, 0, 30, 20)).string_("Font").align_(\rght);
111 m = PopUpMenu(w, Rect(40, 0, 250, 20));
112 m.items = Font.availableFonts;
114 StaticText.new(w, Rect(290, 0, 28, 20)).string_("Size").align_(\right);
115 y = PopUpMenu(w, Rect(322, 0, 50, 20));
116 y.items = ["6","7","8","9","10","12","13","14","18","24","36","48","60","72","96"];
118 t = TextView(w, Rect(10, 40, 380, 150));
119 t.string = "\nThe quick drowned fox jumped over the lazy blog. \n\n 0 1 2 3 4 5 6 7 8 9 ";
121 a = StaticText(w, 200@20).string_("The quick drowned fox").background_(Color.rand).align_(\center);
122 b = Button(w, 200@20).states_([["The quick drowned fox"]]).background_(Color.rand);
123 c = PopUpMenu(w, 200@20).items_(["The quick drowned fox"]).background_(Color.rand);
125 y.action = {
126         var font;
127         font = Font(m.items[m.value],y.items[y.value].asInteger);
128         a.font_(font).refresh;
129         b.font_(font).refresh;
130         c.font_(font).refresh;
131         t.font_(font).refresh;
134 m.action = y.action;
136 m.valueAction = 3;
137 y.valueAction = 5;
142 var w, f;
144 w = Window("Fonts", Rect(128, 64, 340, 360));
145 w.view.decorator = f = FlowLayout(w.view.bounds,Point(4, 4),Point(4, 2));
148 "Helvetica-Bold",
149 "Helvetica",
150 "Monaco",
151 "Arial",
152 "Gadget",
153 "MarkerFelt-Thin"
154 ].do({ arg name;
155         var v, s, n, spec, p, height = 16;
157                 v = StaticText(w, Rect(0, 0, 56, height + 2));
158                 v.font = Font(name, 13);
159                 v.string = name;
161                 s = Button(w, Rect(0, 0, 140, height + 2));
162                 s.font = Font(name, 13);
163                 s.states = [[name]];
165                 n = NumberBox(w, Rect(0, 0, 56, height + 2));
166                 n.font = Font(name, 13);
167                 n.object = pi;
169         f.nextLine;
172 w.front;
177 var w, f, i = 0;
179 w = Window("Fonts", Rect(128, 64, 820, 760));
180 b = ScrollView(w, w.view.bounds);
182 b.decorator = f = FlowLayout(b.bounds, Point(4,4), Point(4,2));
184 Font.availableFonts.do({ arg name;
185         var v, s, n, spec, p, height = 16, font;
186         font = Font(name,13);
188                 v = StaticText(b, Rect(0, 0, 56, height + 2));
189                 v.font = font;
190                 v.string = name;
192                 s = Button(b, Rect(0, 0, 140, height + 2));
193                 s.font = font;
194                 s.states = [[name]];
195                 s.action = { font.asCompileString.postln; };
197                 n = NumberBox(b, Rect(0, 0, 56, height + 2));
198                 n.font = font;
199                 n.object = pi;
200         if( (i = i + 1) % 3 == 0,{
201                 f.nextLine;
202         });
205 w.front;