Mercurial > projects > dstep
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:"); + +`; +