SCDoc: Use proper static string constants instead of comparing string literals.
[supercollider.git] / SCClassLibrary / QtCollider / QFont.sc
blob5ff1fa34d6481f7ffe726504b4dea8536c248640
1 QFont {
2   classvar defaultSansFace, defaultSerifFace, defaultMonoFace;
3   var <>name, <size, <>bold, <>italic, <hasPointSize=false;
4   /* ----------------- class -------------------*/
6   *implementsClass {^'Font'}
8   *initClass {
10   }
12   *new { arg name, size, bold = false, italic = false, usePointSize = false;
13     ^super.newCopyArgs( name, size, bold, italic, usePointSize );
14   }
16   *availableFonts {
17     _Qt_AvailableFonts
18   }
20   *antiAliasing_ { arg flag;
21   }
23   *smoothing_ { arg flag;
24   }
26   *defaultSansFace {
27     ^"sans-serif";
28   }
30   *defaultSerifFace {
31     ^"serif";
32   }
34   *defaultMonoFace {
35     ^"monospace";
36   }
38   *default {
39     ^QFont();
40   }
42   *monospace {|size, bold = false, italic = false, usePointSize = false|
43      ^this.new(this.defaultMonoFace, size, bold, italic, usePointSize)
44   }
46   *serif {|size, bold = false, italic = false, usePointSize = false|
47      ^this.new(this.defaultSerifFace, size, bold, italic, usePointSize)
48   }
50   *sansSerif {|size, bold = false, italic = false, usePointSize = false|
51      ^this.new(this.defaultSansFace, size, bold, italic, usePointSize)
52   }
54   /* ------------------instance------------------*/
56   setDefault {
57   }
59   boldVariant {
60     ^this.class.new( name, size, true, italic );
61   }
63   size_ { arg pixelSize; this.pixelSize_( pixelSize ); }
65   pixelSize_ { arg pixelSize;
66     size = pixelSize;
67     hasPointSize = false;
68   }
70   pointSize_ { arg pointSize;
71     size = pointSize;
72     hasPointSize = true;
73   }
75   pixelSize { ^( if(hasPointSize){nil}{size} ) }
77   pointSize { ^( if(hasPointSize){size}{nil} ) }
79   // support Qt GUI in combination with CocoaDocument
80   asSCFont {
81     var cocoa, scfont;
82     cocoa = GUI.get(\cocoa);
83     if(cocoa.notNil) {
84       scfont = cocoa.font.new(name, size);
85       if(bold){scfont = scfont.boldVariant};
86       ^scfont;
87     }{
88       ^nil
89     }
90   }
92   /* ------------------ private -----------------*/