comparison dstep/appkit/NSFontDescriptor.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children b9de51448c6b
comparison
equal deleted inserted replaced
15:7ff919f595d5 16:19885b43130e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Sep 24, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.appkit.NSFontDescriptor;
8
9 import dstep.appkit.AppKitDefines;
10 import dstep.applicationservices.coregraphics.CGBase;
11 import dstep.foundation.NSAffineTransform;
12 import dstep.foundation.NSArray;
13 import dstep.foundation.NSCoder;
14 import dstep.foundation.NSDictionary;
15 import dstep.foundation.NSGeometry;
16 import dstep.foundation.NSObject;
17 import dstep.foundation.NSSet;
18 import dstep.foundation.NSString;
19 import dstep.foundation.NSZone;
20 import dstep.objc.bridge.Bridge;
21 import dstep.objc.objc;
22
23 import bindings = dstep.appkit.NSFontDescriptor_bindings;
24
25 alias uint NSFontSymbolicTraits;
26 alias uint NSFontFamilyClass;
27
28 private
29 {
30 NSString NSFontFamilyAttribute_;
31 NSString NSFontNameAttribute_;
32 NSString NSFontFaceAttribute_;
33 NSString NSFontSizeAttribute_;
34 NSString NSFontVisibleNameAttribute_;
35 NSString NSFontMatrixAttribute_;
36 NSString NSFontVariationAttribute_;
37 NSString NSFontCharacterSetAttribute_;
38 NSString NSFontCascadeListAttribute_;
39 NSString NSFontTraitsAttribute_;
40 NSString NSFontFixedAdvanceAttribute_;
41 NSString NSFontFeatureSettingsAttribute_;
42 NSString NSFontSymbolicTrait_;
43 NSString NSFontWeightTrait_;
44 NSString NSFontWidthTrait_;
45 NSString NSFontSlantTrait_;
46 NSString NSFontVariationAxisIdentifierKey_;
47 NSString NSFontVariationAxisMinimumValueKey_;
48 NSString NSFontVariationAxisMaximumValueKey_;
49 NSString NSFontVariationAxisDefaultValueKey_;
50 NSString NSFontVariationAxisNameKey_;
51 NSString NSFontFeatureTypeIdentifierKey_;
52 NSString NSFontFeatureSelectorIdentifierKey_;
53 }
54
55 NSString NSFontFamilyAttribute ()
56 {
57 if (NSFontFamilyAttribute_)
58 return NSFontFamilyAttribute_;
59
60 return NSFontFamilyAttribute_ = new NSString(bindings.NSFontFamilyAttribute);
61 }
62
63 NSString NSFontNameAttribute ()
64 {
65 if (NSFontNameAttribute_)
66 return NSFontNameAttribute_;
67
68 return NSFontNameAttribute_ = new NSString(bindings.NSFontNameAttribute);
69 }
70
71 NSString NSFontFaceAttribute ()
72 {
73 if (NSFontFaceAttribute_)
74 return NSFontFaceAttribute_;
75
76 return NSFontFaceAttribute_ = new NSString(bindings.NSFontFaceAttribute);
77 }
78
79 NSString NSFontSizeAttribute ()
80 {
81 if (NSFontSizeAttribute_)
82 return NSFontSizeAttribute_;
83
84 return NSFontSizeAttribute_ = new NSString(bindings.NSFontSizeAttribute);
85 }
86
87 NSString NSFontVisibleNameAttribute ()
88 {
89 if (NSFontVisibleNameAttribute_)
90 return NSFontVisibleNameAttribute_;
91
92 return NSFontVisibleNameAttribute_ = new NSString(bindings.NSFontVisibleNameAttribute);
93 }
94
95 NSString NSFontMatrixAttribute ()
96 {
97 if (NSFontMatrixAttribute_)
98 return NSFontMatrixAttribute_;
99
100 return NSFontMatrixAttribute_ = new NSString(bindings.NSFontMatrixAttribute);
101 }
102
103 NSString NSFontVariationAttribute ()
104 {
105 if (NSFontVariationAttribute_)
106 return NSFontVariationAttribute_;
107
108 return NSFontVariationAttribute_ = new NSString(bindings.NSFontVariationAttribute);
109 }
110
111 NSString NSFontCharacterSetAttribute ()
112 {
113 if (NSFontCharacterSetAttribute_)
114 return NSFontCharacterSetAttribute_;
115
116 return NSFontCharacterSetAttribute_ = new NSString(bindings.NSFontCharacterSetAttribute);
117 }
118
119 NSString NSFontCascadeListAttribute ()
120 {
121 if (NSFontCascadeListAttribute_)
122 return NSFontCascadeListAttribute_;
123
124 return NSFontCascadeListAttribute_ = new NSString(bindings.NSFontCascadeListAttribute);
125 }
126
127 NSString NSFontTraitsAttribute ()
128 {
129 if (NSFontTraitsAttribute_)
130 return NSFontTraitsAttribute_;
131
132 return NSFontTraitsAttribute_ = new NSString(bindings.NSFontTraitsAttribute);
133 }
134
135 NSString NSFontFixedAdvanceAttribute ()
136 {
137 if (NSFontFixedAdvanceAttribute_)
138 return NSFontFixedAdvanceAttribute_;
139
140 return NSFontFixedAdvanceAttribute_ = new NSString(bindings.NSFontFixedAdvanceAttribute);
141 }
142
143 NSString NSFontFeatureSettingsAttribute ()
144 {
145 if (NSFontFeatureSettingsAttribute_)
146 return NSFontFeatureSettingsAttribute_;
147
148 return NSFontFeatureSettingsAttribute_ = new NSString(bindings.NSFontFeatureSettingsAttribute);
149 }
150
151 NSString NSFontSymbolicTrait ()
152 {
153 if (NSFontSymbolicTrait_)
154 return NSFontSymbolicTrait_;
155
156 return NSFontSymbolicTrait_ = new NSString(bindings.NSFontSymbolicTrait);
157 }
158
159 NSString NSFontWeightTrait ()
160 {
161 if (NSFontWeightTrait_)
162 return NSFontWeightTrait_;
163
164 return NSFontWeightTrait_ = new NSString(bindings.NSFontWeightTrait);
165 }
166
167 NSString NSFontWidthTrait ()
168 {
169 if (NSFontWidthTrait_)
170 return NSFontWidthTrait_;
171
172 return NSFontWidthTrait_ = new NSString(bindings.NSFontWidthTrait);
173 }
174
175 NSString NSFontSlantTrait ()
176 {
177 if (NSFontSlantTrait_)
178 return NSFontSlantTrait_;
179
180 return NSFontSlantTrait_ = new NSString(bindings.NSFontSlantTrait);
181 }
182
183 NSString NSFontVariationAxisIdentifierKey ()
184 {
185 if (NSFontVariationAxisIdentifierKey_)
186 return NSFontVariationAxisIdentifierKey_;
187
188 return NSFontVariationAxisIdentifierKey_ = new NSString(bindings.NSFontVariationAxisIdentifierKey);
189 }
190
191 NSString NSFontVariationAxisMinimumValueKey ()
192 {
193 if (NSFontVariationAxisMinimumValueKey_)
194 return NSFontVariationAxisMinimumValueKey_;
195
196 return NSFontVariationAxisMinimumValueKey_ = new NSString(bindings.NSFontVariationAxisMinimumValueKey);
197 }
198
199 NSString NSFontVariationAxisMaximumValueKey ()
200 {
201 if (NSFontVariationAxisMaximumValueKey_)
202 return NSFontVariationAxisMaximumValueKey_;
203
204 return NSFontVariationAxisMaximumValueKey_ = new NSString(bindings.NSFontVariationAxisMaximumValueKey);
205 }
206
207 NSString NSFontVariationAxisDefaultValueKey ()
208 {
209 if (NSFontVariationAxisDefaultValueKey_)
210 return NSFontVariationAxisDefaultValueKey_;
211
212 return NSFontVariationAxisDefaultValueKey_ = new NSString(bindings.NSFontVariationAxisDefaultValueKey);
213 }
214
215 NSString NSFontVariationAxisNameKey ()
216 {
217 if (NSFontVariationAxisNameKey_)
218 return NSFontVariationAxisNameKey_;
219
220 return NSFontVariationAxisNameKey_ = new NSString(bindings.NSFontVariationAxisNameKey);
221 }
222
223 NSString NSFontFeatureTypeIdentifierKey ()
224 {
225 if (NSFontFeatureTypeIdentifierKey_)
226 return NSFontFeatureTypeIdentifierKey_;
227
228 return NSFontFeatureTypeIdentifierKey_ = new NSString(bindings.NSFontFeatureTypeIdentifierKey);
229 }
230
231 NSString NSFontFeatureSelectorIdentifierKey ()
232 {
233 if (NSFontFeatureSelectorIdentifierKey_)
234 return NSFontFeatureSelectorIdentifierKey_;
235
236 return NSFontFeatureSelectorIdentifierKey_ = new NSString(bindings.NSFontFeatureSelectorIdentifierKey);
237 }
238
239 enum
240 {
241 NSFontUnknownClass = 0 << 28,
242 NSFontOldStyleSerifsClass = 1 << 28,
243 NSFontTransitionalSerifsClass = 2 << 28,
244 NSFontModernSerifsClass = 3 << 28,
245 NSFontClarendonSerifsClass = 4 << 28,
246 NSFontSlabSerifsClass = 5 << 28,
247 NSFontFreeformSerifsClass = 7 << 28,
248 NSFontSansSerifClass = 8 << 28,
249 NSFontOrnamentalsClass = 9 << 28,
250 NSFontScriptsClass = 10 << 28,
251 NSFontSymbolicClass = 12 << 28
252 }
253
254 enum
255 {
256 NSFontFamilyClassMask = 0xF0000000
257 }
258
259 enum
260 {
261 NSFontItalicTrait = (1 << 0),
262 NSFontBoldTrait = (1 << 1),
263 NSFontExpandedTrait = (1 << 5),
264 NSFontCondensedTrait = (1 << 6),
265 NSFontMonoSpaceTrait = (1 << 10),
266 NSFontVerticalTrait = (1 << 11),
267 NSFontUIOptimizedTrait = (1 << 12)
268 }
269
270 class NSFontDescriptor : NSObject, INSCopying, INSCoding
271 {
272 mixin (ObjcWrap);
273
274 this (NSCoder aDecoder)
275 {
276 super(typeof(this).alloc.initWithCoder(aDecoder).objcObject);
277 }
278
279 void encodeWithCoder (NSCoder aCoder)
280 {
281 return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder);
282 }
283
284 typeof(this) initWithCoder (NSCoder aDecoder)
285 {
286 return invokeObjcSelf!(typeof(this), "initWithCoder:", NSCoder)(aDecoder);
287 }
288
289 typeof(this) copyWithZone (NSZone* zone)
290 {
291 return invokeObjcSelf!(typeof(this), "copyWithZone:", NSZone*)(zone);
292 }
293
294 NSString postscriptName ()
295 {
296 return invokeObjcSelf!(NSString, "postscriptName");
297 }
298
299 CGFloat pointSize ()
300 {
301 return invokeObjcSelf!(CGFloat, "pointSize");
302 }
303
304 NSAffineTransform matrix ()
305 {
306 return invokeObjcSelf!(NSAffineTransform, "matrix");
307 }
308
309 uint symbolicTraits ()
310 {
311 return invokeObjcSelf!(uint, "symbolicTraits");
312 }
313
314 Object objectForKey (NSString anAttribute)
315 {
316 return invokeObjcSelf!(Object, "objectForKey:", NSString)(anAttribute);
317 }
318
319 NSDictionary fontAttributes ()
320 {
321 return invokeObjcSelf!(NSDictionary, "fontAttributes");
322 }
323
324 static NSFontDescriptor fontDescriptorWithFontAttributes (NSDictionary attributes)
325 {
326 return invokeObjcSelfClass!(NSFontDescriptor, "fontDescriptorWithFontAttributes:", NSDictionary)(attributes);
327 }
328
329 static NSFontDescriptor fontDescriptorWithName (NSString fontName, CGFloat size)
330 {
331 return invokeObjcSelfClass!(NSFontDescriptor, "fontDescriptorWithName:size:", NSString, CGFloat)(fontName, size);
332 }
333
334 static NSFontDescriptor fontDescriptorWithName (NSString fontName, NSAffineTransform matrix)
335 {
336 return invokeObjcSelfClass!(NSFontDescriptor, "fontDescriptorWithName:matrix:", NSString, NSAffineTransform)(fontName, matrix);
337 }
338
339 NSFontDescriptor initWithFontAttributes (NSDictionary attributes)
340 {
341 id result = invokeObjcSelf!(id, "initWithFontAttributes:", NSDictionary)(attributes);
342 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
343 }
344
345 this (NSDictionary attributes)
346 {
347 super(NSFontDescriptor.alloc.initWithFontAttributes(attributes).objcObject);
348 }
349
350 NSArray matchingFontDescriptorsWithMandatoryKeys (NSSet mandatoryKeys)
351 {
352 return invokeObjcSelf!(NSArray, "matchingFontDescriptorsWithMandatoryKeys:", NSSet)(mandatoryKeys);
353 }
354
355 NSFontDescriptor matchingFontDescriptorWithMandatoryKeys (NSSet mandatoryKeys)
356 {
357 id result = invokeObjcSelf!(id, "matchingFontDescriptorWithMandatoryKeys:", NSSet)(mandatoryKeys);
358 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
359 }
360
361 NSFontDescriptor fontDescriptorByAddingAttributes (NSDictionary attributes)
362 {
363 id result = invokeObjcSelf!(id, "fontDescriptorByAddingAttributes:", NSDictionary)(attributes);
364 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
365 }
366
367 NSFontDescriptor fontDescriptorWithSymbolicTraits (uint symbolicTraits)
368 {
369 id result = invokeObjcSelf!(id, "fontDescriptorWithSymbolicTraits:", uint)(symbolicTraits);
370 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
371 }
372
373 NSFontDescriptor fontDescriptorWithSize (CGFloat newPointSize)
374 {
375 id result = invokeObjcSelf!(id, "fontDescriptorWithSize:", CGFloat)(newPointSize);
376 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
377 }
378
379 NSFontDescriptor fontDescriptorWithMatrix (NSAffineTransform matrix)
380 {
381 id result = invokeObjcSelf!(id, "fontDescriptorWithMatrix:", NSAffineTransform)(matrix);
382 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
383 }
384
385 NSFontDescriptor fontDescriptorWithFace (NSString newFace)
386 {
387 id result = invokeObjcSelf!(id, "fontDescriptorWithFace:", NSString)(newFace);
388 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
389 }
390
391 NSFontDescriptor fontDescriptorWithFamily (NSString newFamily)
392 {
393 id result = invokeObjcSelf!(id, "fontDescriptorWithFamily:", NSString)(newFamily);
394 return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null);
395 }
396
397 }
398