supernova: fix boost.thread move semantics
[supercollider.git] / SCClassLibrary / QtCollider / QPen.sc
blob0951d09083aa22e1086c828878259110c191fd47
1 QPen {
2   classvar <font;
3   *implementsClass {^'Pen'}
4 //-------------------------- Global state control ------------------------------
6   *push {
7     _QPen_Save
8     ^this.primitiveFailed;
9   }
11   *pop {
12     _QPen_Restore
13     ^this.primitiveFailed;
14   }
16   *use { arg aFunction;
17     this.push;
18     aFunction.value;
19     this.pop;
20   }
22 //-------------------------- Drawing state -------------------------------------
24   *fillColor_ { arg aColor;
25     _QPen_FillColor
26     ^this.primitiveFailed;
27   }
29   *strokeColor_ { arg aColor;
30     _QPen_StrokeColor
31     ^this.primitiveFailed;
32   }
34   *color_ { arg aColor;
35     this.fillColor_( aColor );
36     this.strokeColor_( aColor );
37   }
39   *width_ { arg width;
40     _QPen_Width
41     ^this.primitiveFailed;
42   }
44   *joinStyle_ { arg style;
45     _QPen_SetJoinStyle
46     ^this.primitiveFailed;
47   }
49   *capStyle_ { arg style;
50     _QPen_SetCapStyle
51     ^this.primitiveFailed;
52   }
54   *lineDash_ { arg pattern;
55     _QPen_SetDashPattern
56     ^this.primitiveFailed;
57   }
59   *alpha_ { arg value;
60     _QPen_SetOpacity
61     ^this.primitiveFailed;
62   }
64   *blendMode_ { arg mode;
65     this.nonimpl("blendMode_");
66   }
68   *beginTransparencyLayer {
69     this.nonimpl("beginTransparencyLayer");
70   }
72   *endTransparencyLayer {
73     this.nonimpl("endTransparencyLayer");
74   }
76   *clip {
77     _QPen_Clip
78     ^this.primitiveFailed;
79   }
81   *smoothing_ { arg flag;
82     _QPen_AntiAliasing
83     ^this.primitiveFailed;
84   }
86   *font_ { arg aFont;
87     font = aFont;
88     this.prSetFont( aFont );
89   }
91   *prSetFont { arg aFont;
92     _QPen_SetFont
93     ^this.primitiveFailed;
94   }
96 //--------------------- Coordinate System Transform ----------------------------
98   *translate { arg x=0, y=0;
99     _QPen_Translate
100     ^this.primitiveFailed;
101   }
103   *scale { arg x=0, y=0;
104     _QPen_Scale
105     ^this.primitiveFailed;
106   }
108   *skew { arg x=0, y=0;
109     _QPen_Shear
110     ^this.primitiveFailed;
111   }
113   *rotate { arg angle=0, x=0, y=0;
114     this.rotateDeg( angle.raddeg, x, y );
115   }
117   *rotateDeg { arg angle=0, x=0, y=0;
118     _QPen_Rotate
119     ^this.primitiveFailed;
120   }
122   *matrix_ { arg matrixArray;
123     _QPen_Transform
124     ^this.primitiveFailed;
125   }
127 //-------------------------- Drawing Actions -----------------------------------
129   *beginPath {
130     _QPen_Clear;
131     ^this.primitiveFailed;
132   }
134   *path {
135     this.nonimpl("path");
136   }
138   *moveTo { arg point;
139     _QPen_MoveTo
140     ^this.primitiveFailed;
141   }
143   *lineTo { arg point;
144     _QPen_LineTo
145     ^this.primitiveFailed;
146   }
148   *line { arg p1, p2;
149     this.moveTo(p1);
150     this.lineTo(p2);
151   }
153   *curveTo { arg endPoint, cPoint1, cPoint2;
154     _QPen_CubicTo
155     ^this.primitiveFailed;
156   }
158   *quadCurveTo { arg endPoint, cPoint;
159     _QPen_CubicTo
160     ^this.primitiveFailed;
161   }
163   *arcTo { arg point1, point2, radius;
164     _QPen_ArcTo
165     ^this.primitiveFailed;
166   }
168   *addRect { arg aRect;
169     _QPen_AddRect
170     ^this.primitiveFailed;
171   }
173   *addRoundedRect { arg aRect, radiusX, radiusY;
174     _QPen_AddRoundedRect
175     ^this.primitiveFailed;
176   }
178   *addOval { arg rect;
179     _QPen_AddEllipse
180     ^this.primitiveFailed;
181   }
183   *addArc { arg center, radius, startAngle, arcAngle;
184     this.prAddArc( center, radius, startAngle.neg, arcAngle.neg );
185   }
187   *prAddArc { arg center, radius, startAngle, arcAngle;
188     _QPen_AddArc
189     ^this.primitiveFailed;
190   }
192   *addWedge { arg center, radius, startAngle, sweepLength;
193     this.addWedge_Deg( center, radius, (startAngle.neg).raddeg, (sweepLength.neg).raddeg );
194   }
196   *addWedge_Deg { arg center, radius, startAngle, sweepLength;
197     _QPen_AddWedge
198     ^this.primitiveFailed;
199   }
201   *addAnnularWedge{ arg center, innerRadius, outerRadius, startAngle, sweepLength;
202     this.prAddAnnularWedge( center, innerRadius, outerRadius, startAngle.neg, sweepLength.neg );
203   }
205   *prAddAnnularWedge { arg center, innerRadius, outerRadius, startAngle, sweepLength;
206     _QPen_AddAnnularWedge
207     ^this.primitiveFailed;
208   }
210   *fill {
211     this.draw( 0 );
212   }
214   *stroke {
215     this.draw( 2 );
216   }
218   *draw { arg style;
219     _QPen_Draw
220     ^this.primitiveFailed;
221   }
223   *fillStroke {
224     this.draw(3);
225   }
227   *strokeRect { arg rect;
228     this.addRect( rect );
229     this.stroke;
230   }
232   *fillRect { arg rect;
233     this.addRect( rect );
234     this.fill;
235   }
237   *strokeOval { arg rect;
238     this.addOval(rect);
239     this.stroke;
240   }
242   *fillOval { arg rect;
243     this.addOval(rect);
244     this.fill;
245   }
247   *fillAxialGradient { arg startPoint, endPoint, startColor, endColor;
248     _QPen_FillAxialGradient;
249     ^this.primitiveFailed;
250   }
252   *fillRadialGradient { arg innerCircleCenter, outerCircleCenter, startRadius, endRadius, startColor, endColor;
253     _QPen_FillRadialGradient;
254     ^this.primitiveFailed;
255   }
257   *setShadow { arg offsetPoint, blur, color;
258     this.nonimpl("setShadow");
259   }
261   *string { arg aString;
262     this.stringAtPoint( aString, Point(0,0) );
263   }
265   *stringAtPoint { arg string, point, font, color;
266     _QPen_StringAtPoint
267     ^this.primitiveFailed;
268   }
270   *stringInRect { arg string, rect, font, color, alignment;
271     _QPen_StringInRect
272     ^this.primitiveFailed;
273   }
275   *stringCenteredIn { arg string, rect, font, color;
276     this.stringInRect( string, rect, font, color, QAlignment(\center) );
277   }
279   *stringLeftJustIn { arg string, rect, font, color;
280     this.stringInRect( string, rect, font, color, QAlignment(\left) );
281   }
283   *stringRightJustIn { arg string, rect, font, color;
284     this.stringInRect( string, rect, font, color, QAlignment(\right) );
285   }
287 //---------------------- PRIVATE! -- Painter on/off-----------------------------
289   *prBegin { arg aQView;
290     _QPen_Begin
291     ^this.primitiveFailed;
292   }
294   *prEnd {
295     _QPen_End
296     ^this.primitiveFailed;
297   }
299   *nonimpl { arg methodName;
300     (this.asString ++ ": " ++ methodName.asString ++ " is not implemented yet").postln;
301   }