diff dstep/appkit/NSColor.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/NSColor.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,597 @@
+/**
+ * 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.NSColor;
+
+import dstep.appkit.AppKitDefines;
+import dstep.appkit.NSCell;
+import dstep.appkit.NSColorSpace;
+import dstep.appkit.NSImage;
+import dstep.appkit.NSPasteboard;
+import dstep.applicationservices.coregraphics.CGBase;
+import dstep.foundation.NSArray;
+import dstep.foundation.NSCoder;
+import dstep.foundation.NSDictionary;
+import dstep.foundation.NSGeometry;
+import dstep.foundation.NSObjCRuntime;
+import dstep.foundation.NSObject;
+import dstep.foundation.NSString;
+import dstep.foundation.NSZone;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc;
+import dstep.quartzcore.CIColor;
+
+import bindings = dstep.appkit.NSColor_bindings;
+
+private
+{
+	NSString NSSystemColorsDidChangeNotification_;
+}
+
+NSString NSSystemColorsDidChangeNotification ()
+{
+	if (NSSystemColorsDidChangeNotification_)
+		return NSSystemColorsDidChangeNotification_;
+
+	return NSSystemColorsDidChangeNotification_ = new NSString(bindings.NSSystemColorsDidChangeNotification);
+}
+
+class NSColor : 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);
+	}
+
+	static NSColor colorWithCalibratedWhite (CGFloat white, CGFloat alpha)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithCalibratedWhite:alpha:", CGFloat, CGFloat)(white, alpha);
+	}
+
+	static NSColor colorWithCalibratedHue (CGFloat hue, CGFloat saturation, CGFloat brightness, CGFloat alpha)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithCalibratedHue:saturation:brightness:alpha:", CGFloat, CGFloat, CGFloat, CGFloat)(hue, saturation, brightness, alpha);
+	}
+
+	static NSColor colorWithCalibratedRed (CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithCalibratedRed:green:blue:alpha:", CGFloat, CGFloat, CGFloat, CGFloat)(red, green, blue, alpha);
+	}
+
+	static NSColor colorWithDeviceWhite (CGFloat white, CGFloat alpha)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithDeviceWhite:alpha:", CGFloat, CGFloat)(white, alpha);
+	}
+
+	static NSColor colorWithDeviceHue (CGFloat hue, CGFloat saturation, CGFloat brightness, CGFloat alpha)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithDeviceHue:saturation:brightness:alpha:", CGFloat, CGFloat, CGFloat, CGFloat)(hue, saturation, brightness, alpha);
+	}
+
+	static NSColor colorWithDeviceRed (CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithDeviceRed:green:blue:alpha:", CGFloat, CGFloat, CGFloat, CGFloat)(red, green, blue, alpha);
+	}
+
+	static NSColor colorWithDeviceCyan (CGFloat cyan, CGFloat magenta, CGFloat yellow, CGFloat black, CGFloat alpha)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithDeviceCyan:magenta:yellow:black:alpha:", CGFloat, CGFloat, CGFloat, CGFloat, CGFloat)(cyan, magenta, yellow, black, alpha);
+	}
+
+	static NSColor colorWithCatalogName (NSString listName, NSString colorName)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithCatalogName:colorName:", NSString, NSString)(listName, colorName);
+	}
+
+	static NSColor colorWithColorSpace (NSColorSpace space, CGFloat* components, NSInteger numberOfComponents)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithColorSpace:components:count:", NSColorSpace, CGFloat*, NSInteger)(space, components, numberOfComponents);
+	}
+
+	static NSColor blackColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "blackColor");
+	}
+
+	static NSColor darkGrayColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "darkGrayColor");
+	}
+
+	static NSColor lightGrayColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "lightGrayColor");
+	}
+
+	static NSColor whiteColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "whiteColor");
+	}
+
+	static NSColor grayColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "grayColor");
+	}
+
+	static NSColor redColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "redColor");
+	}
+
+	static NSColor greenColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "greenColor");
+	}
+
+	static NSColor blueColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "blueColor");
+	}
+
+	static NSColor cyanColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "cyanColor");
+	}
+
+	static NSColor yellowColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "yellowColor");
+	}
+
+	static NSColor magentaColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "magentaColor");
+	}
+
+	static NSColor orangeColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "orangeColor");
+	}
+
+	static NSColor purpleColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "purpleColor");
+	}
+
+	static NSColor brownColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "brownColor");
+	}
+
+	static NSColor clearColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "clearColor");
+	}
+
+	static NSColor controlShadowColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "controlShadowColor");
+	}
+
+	static NSColor controlDarkShadowColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "controlDarkShadowColor");
+	}
+
+	static NSColor controlColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "controlColor");
+	}
+
+	static NSColor controlHighlightColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "controlHighlightColor");
+	}
+
+	static NSColor controlLightHighlightColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "controlLightHighlightColor");
+	}
+
+	static NSColor controlTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "controlTextColor");
+	}
+
+	static NSColor controlBackgroundColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "controlBackgroundColor");
+	}
+
+	static NSColor selectedControlColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "selectedControlColor");
+	}
+
+	static NSColor secondarySelectedControlColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "secondarySelectedControlColor");
+	}
+
+	static NSColor selectedControlTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "selectedControlTextColor");
+	}
+
+	static NSColor disabledControlTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "disabledControlTextColor");
+	}
+
+	static NSColor textColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "textColor");
+	}
+
+	static NSColor textBackgroundColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "textBackgroundColor");
+	}
+
+	static NSColor selectedTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "selectedTextColor");
+	}
+
+	static NSColor selectedTextBackgroundColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "selectedTextBackgroundColor");
+	}
+
+	static NSColor gridColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "gridColor");
+	}
+
+	static NSColor keyboardFocusIndicatorColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "keyboardFocusIndicatorColor");
+	}
+
+	static NSColor windowBackgroundColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "windowBackgroundColor");
+	}
+
+	static NSColor scrollBarColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "scrollBarColor");
+	}
+
+	static NSColor knobColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "knobColor");
+	}
+
+	static NSColor selectedKnobColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "selectedKnobColor");
+	}
+
+	static NSColor windowFrameColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "windowFrameColor");
+	}
+
+	static NSColor windowFrameTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "windowFrameTextColor");
+	}
+
+	static NSColor selectedMenuItemColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "selectedMenuItemColor");
+	}
+
+	static NSColor selectedMenuItemTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "selectedMenuItemTextColor");
+	}
+
+	static NSColor highlightColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "highlightColor");
+	}
+
+	static NSColor shadowColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "shadowColor");
+	}
+
+	static NSColor headerColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "headerColor");
+	}
+
+	static NSColor headerTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "headerTextColor");
+	}
+
+	static NSColor alternateSelectedControlColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "alternateSelectedControlColor");
+	}
+
+	static NSColor alternateSelectedControlTextColor ()
+	{
+		return invokeObjcSelfClass!(NSColor, "alternateSelectedControlTextColor");
+	}
+
+	static NSArray controlAlternatingRowBackgroundColors ()
+	{
+		return invokeObjcSelfClass!(NSArray, "controlAlternatingRowBackgroundColors");
+	}
+
+	NSColor highlightWithLevel (CGFloat val)
+	{
+		id result = invokeObjcSelf!(id, "highlightWithLevel:", CGFloat)(val);
+		return result is this.objcObject ? this : (result !is null ? new NSColor(result) : null);
+	}
+
+	NSColor shadowWithLevel (CGFloat val)
+	{
+		id result = invokeObjcSelf!(id, "shadowWithLevel:", CGFloat)(val);
+		return result is this.objcObject ? this : (result !is null ? new NSColor(result) : null);
+	}
+
+	static NSColor colorForControlTint (uint controlTint)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorForControlTint:", uint)(controlTint);
+	}
+
+	static uint currentControlTint ()
+	{
+		return invokeObjcSelfClass!(uint, "currentControlTint");
+	}
+
+	void set ()
+	{
+		return invokeObjcSelf!(void, "set");
+	}
+
+	void setFill ()
+	{
+		return invokeObjcSelf!(void, "setFill");
+	}
+
+	void setStroke ()
+	{
+		return invokeObjcSelf!(void, "setStroke");
+	}
+
+	NSString colorSpaceName ()
+	{
+		return invokeObjcSelf!(NSString, "colorSpaceName");
+	}
+
+	NSColor colorUsingColorSpaceName (NSString colorSpace)
+	{
+		id result = invokeObjcSelf!(id, "colorUsingColorSpaceName:", NSString)(colorSpace);
+		return result is this.objcObject ? this : (result !is null ? new NSColor(result) : null);
+	}
+
+	NSColor colorUsingColorSpaceName (NSString colorSpace, NSDictionary deviceDescription)
+	{
+		id result = invokeObjcSelf!(id, "colorUsingColorSpaceName:device:", NSString, NSDictionary)(colorSpace, deviceDescription);
+		return result is this.objcObject ? this : (result !is null ? new NSColor(result) : null);
+	}
+
+	NSColor colorUsingColorSpace (NSColorSpace space)
+	{
+		id result = invokeObjcSelf!(id, "colorUsingColorSpace:", NSColorSpace)(space);
+		return result is this.objcObject ? this : (result !is null ? new NSColor(result) : null);
+	}
+
+	NSColor blendedColorWithFraction (CGFloat fraction, NSColor color)
+	{
+		id result = invokeObjcSelf!(id, "blendedColorWithFraction:ofColor:", CGFloat, NSColor)(fraction, color);
+		return result is this.objcObject ? this : (result !is null ? new NSColor(result) : null);
+	}
+
+	NSColor colorWithAlphaComponent (CGFloat alpha)
+	{
+		id result = invokeObjcSelf!(id, "colorWithAlphaComponent:", CGFloat)(alpha);
+		return result is this.objcObject ? this : (result !is null ? new NSColor(result) : null);
+	}
+
+	NSString catalogNameComponent ()
+	{
+		return invokeObjcSelf!(NSString, "catalogNameComponent");
+	}
+
+	NSString colorNameComponent ()
+	{
+		return invokeObjcSelf!(NSString, "colorNameComponent");
+	}
+
+	NSString localizedCatalogNameComponent ()
+	{
+		return invokeObjcSelf!(NSString, "localizedCatalogNameComponent");
+	}
+
+	NSString localizedColorNameComponent ()
+	{
+		return invokeObjcSelf!(NSString, "localizedColorNameComponent");
+	}
+
+	CGFloat redComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "redComponent");
+	}
+
+	CGFloat greenComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "greenComponent");
+	}
+
+	CGFloat blueComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "blueComponent");
+	}
+
+	void getRed (CGFloat* red, CGFloat* green, CGFloat* blue, CGFloat* alpha)
+	{
+		return invokeObjcSelf!(void, "getRed:green:blue:alpha:", CGFloat*, CGFloat*, CGFloat*, CGFloat*)(red, green, blue, alpha);
+	}
+
+	CGFloat hueComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "hueComponent");
+	}
+
+	CGFloat saturationComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "saturationComponent");
+	}
+
+	CGFloat brightnessComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "brightnessComponent");
+	}
+
+	void getHue (CGFloat* hue, CGFloat* saturation, CGFloat* brightness, CGFloat* alpha)
+	{
+		return invokeObjcSelf!(void, "getHue:saturation:brightness:alpha:", CGFloat*, CGFloat*, CGFloat*, CGFloat*)(hue, saturation, brightness, alpha);
+	}
+
+	CGFloat whiteComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "whiteComponent");
+	}
+
+	void getWhite (CGFloat* white, CGFloat* alpha)
+	{
+		return invokeObjcSelf!(void, "getWhite:alpha:", CGFloat*, CGFloat*)(white, alpha);
+	}
+
+	CGFloat cyanComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "cyanComponent");
+	}
+
+	CGFloat magentaComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "magentaComponent");
+	}
+
+	CGFloat yellowComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "yellowComponent");
+	}
+
+	CGFloat blackComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "blackComponent");
+	}
+
+	void getCyan (CGFloat* cyan, CGFloat* magenta, CGFloat* yellow, CGFloat* black, CGFloat* alpha)
+	{
+		return invokeObjcSelf!(void, "getCyan:magenta:yellow:black:alpha:", CGFloat*, CGFloat*, CGFloat*, CGFloat*, CGFloat*)(cyan, magenta, yellow, black, alpha);
+	}
+
+	NSColorSpace colorSpace ()
+	{
+		return invokeObjcSelf!(NSColorSpace, "colorSpace");
+	}
+
+	NSInteger numberOfComponents ()
+	{
+		return invokeObjcSelf!(NSInteger, "numberOfComponents");
+	}
+
+	void getComponents (CGFloat* components)
+	{
+		return invokeObjcSelf!(void, "getComponents:", CGFloat*)(components);
+	}
+
+	CGFloat alphaComponent ()
+	{
+		return invokeObjcSelf!(CGFloat, "alphaComponent");
+	}
+
+	static NSColor colorFromPasteboard (NSPasteboard pasteBoard)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorFromPasteboard:", NSPasteboard)(pasteBoard);
+	}
+
+	void writeToPasteboard (NSPasteboard pasteBoard)
+	{
+		return invokeObjcSelf!(void, "writeToPasteboard:", NSPasteboard)(pasteBoard);
+	}
+
+	static NSColor colorWithPatternImage (NSImage image)
+	{
+		return invokeObjcSelfClass!(NSColor, "colorWithPatternImage:", NSImage)(image);
+	}
+
+	NSImage patternImage ()
+	{
+		return invokeObjcSelf!(NSImage, "patternImage");
+	}
+
+	void drawSwatchInRect (NSRect rect)
+	{
+		return invokeObjcSelf!(void, "drawSwatchInRect:", NSRect)(rect);
+	}
+
+	static void setIgnoresAlpha (bool flag)
+	{
+		return invokeObjcSelfClass!(void, "setIgnoresAlpha:", bool)(flag);
+	}
+
+	static bool ignoresAlpha ()
+	{
+		return invokeObjcSelfClass!(bool, "ignoresAlpha");
+	}
+
+}
+
+const TNSAppKitColorExtensions = `
+
+	NSColor decodeNXColor ()
+	{
+		return invokeObjcSelf!(NSColor, "decodeNXColor");
+	}
+
+	//mixin ObjcBindMethod!(decodeNXColor, "decodeNXColor");
+
+`;
+
+const TNSAppKitAdditions = `
+
+	NSAppKitAdditions initWithColor (NSColor color)
+	{
+		id result = invokeObjcSelf!(id, "initWithColor:", NSColor)(color);
+		return result is this.objcObject ? this : (result !is null ? new NSAppKitAdditions(result) : null);
+	}
+
+	this (NSColor color)
+	{
+		super(NSAppKitAdditions.alloc.initWithColor(color).objcObject);
+	}
+
+	//mixin ObjcBindMethod!(initWithColor, "initWithColor:");
+
+`;
+