diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/appkit/NSFontDescriptor.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,398 @@
+/**
+ * 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);
+	}
+
+}
+