Mercurial > projects > dstep
view 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 |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Sep 24, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.appkit.NSFontDescriptor; import dstep.appkit.AppKitDefines; import dstep.applicationservices.coregraphics.CGBase; import dstep.foundation.NSAffineTransform; import dstep.foundation.NSArray; import dstep.foundation.NSCoder; import dstep.foundation.NSDictionary; import dstep.foundation.NSGeometry; import dstep.foundation.NSObject; import dstep.foundation.NSSet; import dstep.foundation.NSString; import dstep.foundation.NSZone; import dstep.objc.bridge.Bridge; import dstep.objc.objc; import bindings = dstep.appkit.NSFontDescriptor_bindings; alias uint NSFontSymbolicTraits; alias uint NSFontFamilyClass; private { NSString NSFontFamilyAttribute_; NSString NSFontNameAttribute_; NSString NSFontFaceAttribute_; NSString NSFontSizeAttribute_; NSString NSFontVisibleNameAttribute_; NSString NSFontMatrixAttribute_; NSString NSFontVariationAttribute_; NSString NSFontCharacterSetAttribute_; NSString NSFontCascadeListAttribute_; NSString NSFontTraitsAttribute_; NSString NSFontFixedAdvanceAttribute_; NSString NSFontFeatureSettingsAttribute_; NSString NSFontSymbolicTrait_; NSString NSFontWeightTrait_; NSString NSFontWidthTrait_; NSString NSFontSlantTrait_; NSString NSFontVariationAxisIdentifierKey_; NSString NSFontVariationAxisMinimumValueKey_; NSString NSFontVariationAxisMaximumValueKey_; NSString NSFontVariationAxisDefaultValueKey_; NSString NSFontVariationAxisNameKey_; NSString NSFontFeatureTypeIdentifierKey_; NSString NSFontFeatureSelectorIdentifierKey_; } NSString NSFontFamilyAttribute () { if (NSFontFamilyAttribute_) return NSFontFamilyAttribute_; return NSFontFamilyAttribute_ = new NSString(bindings.NSFontFamilyAttribute); } NSString NSFontNameAttribute () { if (NSFontNameAttribute_) return NSFontNameAttribute_; return NSFontNameAttribute_ = new NSString(bindings.NSFontNameAttribute); } NSString NSFontFaceAttribute () { if (NSFontFaceAttribute_) return NSFontFaceAttribute_; return NSFontFaceAttribute_ = new NSString(bindings.NSFontFaceAttribute); } NSString NSFontSizeAttribute () { if (NSFontSizeAttribute_) return NSFontSizeAttribute_; return NSFontSizeAttribute_ = new NSString(bindings.NSFontSizeAttribute); } NSString NSFontVisibleNameAttribute () { if (NSFontVisibleNameAttribute_) return NSFontVisibleNameAttribute_; return NSFontVisibleNameAttribute_ = new NSString(bindings.NSFontVisibleNameAttribute); } NSString NSFontMatrixAttribute () { if (NSFontMatrixAttribute_) return NSFontMatrixAttribute_; return NSFontMatrixAttribute_ = new NSString(bindings.NSFontMatrixAttribute); } NSString NSFontVariationAttribute () { if (NSFontVariationAttribute_) return NSFontVariationAttribute_; return NSFontVariationAttribute_ = new NSString(bindings.NSFontVariationAttribute); } NSString NSFontCharacterSetAttribute () { if (NSFontCharacterSetAttribute_) return NSFontCharacterSetAttribute_; return NSFontCharacterSetAttribute_ = new NSString(bindings.NSFontCharacterSetAttribute); } NSString NSFontCascadeListAttribute () { if (NSFontCascadeListAttribute_) return NSFontCascadeListAttribute_; return NSFontCascadeListAttribute_ = new NSString(bindings.NSFontCascadeListAttribute); } NSString NSFontTraitsAttribute () { if (NSFontTraitsAttribute_) return NSFontTraitsAttribute_; return NSFontTraitsAttribute_ = new NSString(bindings.NSFontTraitsAttribute); } NSString NSFontFixedAdvanceAttribute () { if (NSFontFixedAdvanceAttribute_) return NSFontFixedAdvanceAttribute_; return NSFontFixedAdvanceAttribute_ = new NSString(bindings.NSFontFixedAdvanceAttribute); } NSString NSFontFeatureSettingsAttribute () { if (NSFontFeatureSettingsAttribute_) return NSFontFeatureSettingsAttribute_; return NSFontFeatureSettingsAttribute_ = new NSString(bindings.NSFontFeatureSettingsAttribute); } NSString NSFontSymbolicTrait () { if (NSFontSymbolicTrait_) return NSFontSymbolicTrait_; return NSFontSymbolicTrait_ = new NSString(bindings.NSFontSymbolicTrait); } NSString NSFontWeightTrait () { if (NSFontWeightTrait_) return NSFontWeightTrait_; return NSFontWeightTrait_ = new NSString(bindings.NSFontWeightTrait); } NSString NSFontWidthTrait () { if (NSFontWidthTrait_) return NSFontWidthTrait_; return NSFontWidthTrait_ = new NSString(bindings.NSFontWidthTrait); } NSString NSFontSlantTrait () { if (NSFontSlantTrait_) return NSFontSlantTrait_; return NSFontSlantTrait_ = new NSString(bindings.NSFontSlantTrait); } NSString NSFontVariationAxisIdentifierKey () { if (NSFontVariationAxisIdentifierKey_) return NSFontVariationAxisIdentifierKey_; return NSFontVariationAxisIdentifierKey_ = new NSString(bindings.NSFontVariationAxisIdentifierKey); } NSString NSFontVariationAxisMinimumValueKey () { if (NSFontVariationAxisMinimumValueKey_) return NSFontVariationAxisMinimumValueKey_; return NSFontVariationAxisMinimumValueKey_ = new NSString(bindings.NSFontVariationAxisMinimumValueKey); } NSString NSFontVariationAxisMaximumValueKey () { if (NSFontVariationAxisMaximumValueKey_) return NSFontVariationAxisMaximumValueKey_; return NSFontVariationAxisMaximumValueKey_ = new NSString(bindings.NSFontVariationAxisMaximumValueKey); } NSString NSFontVariationAxisDefaultValueKey () { if (NSFontVariationAxisDefaultValueKey_) return NSFontVariationAxisDefaultValueKey_; return NSFontVariationAxisDefaultValueKey_ = new NSString(bindings.NSFontVariationAxisDefaultValueKey); } NSString NSFontVariationAxisNameKey () { if (NSFontVariationAxisNameKey_) return NSFontVariationAxisNameKey_; return NSFontVariationAxisNameKey_ = new NSString(bindings.NSFontVariationAxisNameKey); } NSString NSFontFeatureTypeIdentifierKey () { if (NSFontFeatureTypeIdentifierKey_) return NSFontFeatureTypeIdentifierKey_; return NSFontFeatureTypeIdentifierKey_ = new NSString(bindings.NSFontFeatureTypeIdentifierKey); } NSString NSFontFeatureSelectorIdentifierKey () { if (NSFontFeatureSelectorIdentifierKey_) return NSFontFeatureSelectorIdentifierKey_; return NSFontFeatureSelectorIdentifierKey_ = new NSString(bindings.NSFontFeatureSelectorIdentifierKey); } enum { NSFontUnknownClass = 0 << 28, NSFontOldStyleSerifsClass = 1 << 28, NSFontTransitionalSerifsClass = 2 << 28, NSFontModernSerifsClass = 3 << 28, NSFontClarendonSerifsClass = 4 << 28, NSFontSlabSerifsClass = 5 << 28, NSFontFreeformSerifsClass = 7 << 28, NSFontSansSerifClass = 8 << 28, NSFontOrnamentalsClass = 9 << 28, NSFontScriptsClass = 10 << 28, NSFontSymbolicClass = 12 << 28 } enum { NSFontFamilyClassMask = 0xF0000000 } enum { NSFontItalicTrait = (1 << 0), NSFontBoldTrait = (1 << 1), NSFontExpandedTrait = (1 << 5), NSFontCondensedTrait = (1 << 6), NSFontMonoSpaceTrait = (1 << 10), NSFontVerticalTrait = (1 << 11), NSFontUIOptimizedTrait = (1 << 12) } class NSFontDescriptor : NSObject, INSCopying, INSCoding { mixin (ObjcWrap); this (NSCoder aDecoder) { super(typeof(this).alloc.initWithCoder(aDecoder).objcObject); } void encodeWithCoder (NSCoder aCoder) { return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); } typeof(this) initWithCoder (NSCoder aDecoder) { return invokeObjcSelf!(typeof(this), "initWithCoder:", NSCoder)(aDecoder); } typeof(this) copyWithZone (NSZone* zone) { return invokeObjcSelf!(typeof(this), "copyWithZone:", NSZone*)(zone); } NSString postscriptName () { return invokeObjcSelf!(NSString, "postscriptName"); } CGFloat pointSize () { return invokeObjcSelf!(CGFloat, "pointSize"); } NSAffineTransform matrix () { return invokeObjcSelf!(NSAffineTransform, "matrix"); } uint symbolicTraits () { return invokeObjcSelf!(uint, "symbolicTraits"); } Object objectForKey (NSString anAttribute) { return invokeObjcSelf!(Object, "objectForKey:", NSString)(anAttribute); } NSDictionary fontAttributes () { return invokeObjcSelf!(NSDictionary, "fontAttributes"); } static NSFontDescriptor fontDescriptorWithFontAttributes (NSDictionary attributes) { return invokeObjcSelfClass!(NSFontDescriptor, "fontDescriptorWithFontAttributes:", NSDictionary)(attributes); } static NSFontDescriptor fontDescriptorWithName (NSString fontName, CGFloat size) { return invokeObjcSelfClass!(NSFontDescriptor, "fontDescriptorWithName:size:", NSString, CGFloat)(fontName, size); } static NSFontDescriptor fontDescriptorWithName (NSString fontName, NSAffineTransform matrix) { return invokeObjcSelfClass!(NSFontDescriptor, "fontDescriptorWithName:matrix:", NSString, NSAffineTransform)(fontName, matrix); } NSFontDescriptor initWithFontAttributes (NSDictionary attributes) { id result = invokeObjcSelf!(id, "initWithFontAttributes:", NSDictionary)(attributes); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } this (NSDictionary attributes) { super(NSFontDescriptor.alloc.initWithFontAttributes(attributes).objcObject); } NSArray matchingFontDescriptorsWithMandatoryKeys (NSSet mandatoryKeys) { return invokeObjcSelf!(NSArray, "matchingFontDescriptorsWithMandatoryKeys:", NSSet)(mandatoryKeys); } NSFontDescriptor matchingFontDescriptorWithMandatoryKeys (NSSet mandatoryKeys) { id result = invokeObjcSelf!(id, "matchingFontDescriptorWithMandatoryKeys:", NSSet)(mandatoryKeys); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } NSFontDescriptor fontDescriptorByAddingAttributes (NSDictionary attributes) { id result = invokeObjcSelf!(id, "fontDescriptorByAddingAttributes:", NSDictionary)(attributes); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } NSFontDescriptor fontDescriptorWithSymbolicTraits (uint symbolicTraits) { id result = invokeObjcSelf!(id, "fontDescriptorWithSymbolicTraits:", uint)(symbolicTraits); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } NSFontDescriptor fontDescriptorWithSize (CGFloat newPointSize) { id result = invokeObjcSelf!(id, "fontDescriptorWithSize:", CGFloat)(newPointSize); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } NSFontDescriptor fontDescriptorWithMatrix (NSAffineTransform matrix) { id result = invokeObjcSelf!(id, "fontDescriptorWithMatrix:", NSAffineTransform)(matrix); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } NSFontDescriptor fontDescriptorWithFace (NSString newFace) { id result = invokeObjcSelf!(id, "fontDescriptorWithFace:", NSString)(newFace); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } NSFontDescriptor fontDescriptorWithFamily (NSString newFamily) { id result = invokeObjcSelf!(id, "fontDescriptorWithFamily:", NSString)(newFamily); return result is this.objcObject ? this : (result !is null ? new NSFontDescriptor(result) : null); } }