using CPF.Mac.CoreGraphics; using CPF.Mac.CoreImage; using CPF.Mac.Foundation; using CPF.Mac.ObjCRuntime; using System; using System.ComponentModel; using System.Runtime.InteropServices; using System.Text; namespace CPF.Mac.AppKit { [Register("NSColor", true)] public class NSColor : NSObject { private static readonly IntPtr selBlackColorHandle = Selector.GetHandle("blackColor"); private static readonly IntPtr selDarkGrayColorHandle = Selector.GetHandle("darkGrayColor"); private static readonly IntPtr selLightGrayColorHandle = Selector.GetHandle("lightGrayColor"); private static readonly IntPtr selWhiteColorHandle = Selector.GetHandle("whiteColor"); private static readonly IntPtr selGrayColorHandle = Selector.GetHandle("grayColor"); private static readonly IntPtr selRedColorHandle = Selector.GetHandle("redColor"); private static readonly IntPtr selGreenColorHandle = Selector.GetHandle("greenColor"); private static readonly IntPtr selBlueColorHandle = Selector.GetHandle("blueColor"); private static readonly IntPtr selCyanColorHandle = Selector.GetHandle("cyanColor"); private static readonly IntPtr selYellowColorHandle = Selector.GetHandle("yellowColor"); private static readonly IntPtr selMagentaColorHandle = Selector.GetHandle("magentaColor"); private static readonly IntPtr selOrangeColorHandle = Selector.GetHandle("orangeColor"); private static readonly IntPtr selPurpleColorHandle = Selector.GetHandle("purpleColor"); private static readonly IntPtr selBrownColorHandle = Selector.GetHandle("brownColor"); private static readonly IntPtr selClearColorHandle = Selector.GetHandle("clearColor"); private static readonly IntPtr selControlShadowColorHandle = Selector.GetHandle("controlShadowColor"); private static readonly IntPtr selControlDarkShadowColorHandle = Selector.GetHandle("controlDarkShadowColor"); private static readonly IntPtr selControlColorHandle = Selector.GetHandle("controlColor"); private static readonly IntPtr selControlHighlightColorHandle = Selector.GetHandle("controlHighlightColor"); private static readonly IntPtr selControlLightHighlightColorHandle = Selector.GetHandle("controlLightHighlightColor"); private static readonly IntPtr selControlTextColorHandle = Selector.GetHandle("controlTextColor"); private static readonly IntPtr selControlBackgroundColorHandle = Selector.GetHandle("controlBackgroundColor"); private static readonly IntPtr selSelectedControlColorHandle = Selector.GetHandle("selectedControlColor"); private static readonly IntPtr selSecondarySelectedControlColorHandle = Selector.GetHandle("secondarySelectedControlColor"); private static readonly IntPtr selSelectedControlTextColorHandle = Selector.GetHandle("selectedControlTextColor"); private static readonly IntPtr selDisabledControlTextColorHandle = Selector.GetHandle("disabledControlTextColor"); private static readonly IntPtr selTextColorHandle = Selector.GetHandle("textColor"); private static readonly IntPtr selTextBackgroundColorHandle = Selector.GetHandle("textBackgroundColor"); private static readonly IntPtr selSelectedTextColorHandle = Selector.GetHandle("selectedTextColor"); private static readonly IntPtr selSelectedTextBackgroundColorHandle = Selector.GetHandle("selectedTextBackgroundColor"); private static readonly IntPtr selGridColorHandle = Selector.GetHandle("gridColor"); private static readonly IntPtr selKeyboardFocusIndicatorColorHandle = Selector.GetHandle("keyboardFocusIndicatorColor"); private static readonly IntPtr selWindowBackgroundColorHandle = Selector.GetHandle("windowBackgroundColor"); private static readonly IntPtr selScrollBarColorHandle = Selector.GetHandle("scrollBarColor"); private static readonly IntPtr selKnobColorHandle = Selector.GetHandle("knobColor"); private static readonly IntPtr selSelectedKnobColorHandle = Selector.GetHandle("selectedKnobColor"); private static readonly IntPtr selWindowFrameColorHandle = Selector.GetHandle("windowFrameColor"); private static readonly IntPtr selWindowFrameTextColorHandle = Selector.GetHandle("windowFrameTextColor"); private static readonly IntPtr selSelectedMenuItemColorHandle = Selector.GetHandle("selectedMenuItemColor"); private static readonly IntPtr selSelectedMenuItemTextColorHandle = Selector.GetHandle("selectedMenuItemTextColor"); private static readonly IntPtr selHighlightColorHandle = Selector.GetHandle("highlightColor"); private static readonly IntPtr selShadowColorHandle = Selector.GetHandle("shadowColor"); private static readonly IntPtr selHeaderColorHandle = Selector.GetHandle("headerColor"); private static readonly IntPtr selHeaderTextColorHandle = Selector.GetHandle("headerTextColor"); private static readonly IntPtr selAlternateSelectedControlColorHandle = Selector.GetHandle("alternateSelectedControlColor"); private static readonly IntPtr selAlternateSelectedControlTextColorHandle = Selector.GetHandle("alternateSelectedControlTextColor"); private static readonly IntPtr selUnderPageBackgroundColorHandle = Selector.GetHandle("underPageBackgroundColor"); private static readonly IntPtr selCurrentControlTintHandle = Selector.GetHandle("currentControlTint"); private static readonly IntPtr selColorSpaceNameHandle = Selector.GetHandle("colorSpaceName"); private static readonly IntPtr selCatalogNameComponentHandle = Selector.GetHandle("catalogNameComponent"); private static readonly IntPtr selColorNameComponentHandle = Selector.GetHandle("colorNameComponent"); private static readonly IntPtr selLocalizedCatalogNameComponentHandle = Selector.GetHandle("localizedCatalogNameComponent"); private static readonly IntPtr selLocalizedColorNameComponentHandle = Selector.GetHandle("localizedColorNameComponent"); private static readonly IntPtr selRedComponentHandle = Selector.GetHandle("redComponent"); private static readonly IntPtr selGreenComponentHandle = Selector.GetHandle("greenComponent"); private static readonly IntPtr selBlueComponentHandle = Selector.GetHandle("blueComponent"); private static readonly IntPtr selHueComponentHandle = Selector.GetHandle("hueComponent"); private static readonly IntPtr selSaturationComponentHandle = Selector.GetHandle("saturationComponent"); private static readonly IntPtr selBrightnessComponentHandle = Selector.GetHandle("brightnessComponent"); private static readonly IntPtr selWhiteComponentHandle = Selector.GetHandle("whiteComponent"); private static readonly IntPtr selCyanComponentHandle = Selector.GetHandle("cyanComponent"); private static readonly IntPtr selMagentaComponentHandle = Selector.GetHandle("magentaComponent"); private static readonly IntPtr selYellowComponentHandle = Selector.GetHandle("yellowComponent"); private static readonly IntPtr selBlackComponentHandle = Selector.GetHandle("blackComponent"); private static readonly IntPtr selColorSpaceHandle = Selector.GetHandle("colorSpace"); private static readonly IntPtr selNumberOfComponentsHandle = Selector.GetHandle("numberOfComponents"); private static readonly IntPtr selAlphaComponentHandle = Selector.GetHandle("alphaComponent"); private static readonly IntPtr selPatternImageHandle = Selector.GetHandle("patternImage"); private static readonly IntPtr selCGColorHandle = Selector.GetHandle("CGColor"); private static readonly IntPtr selIgnoresAlphaHandle = Selector.GetHandle("ignoresAlpha"); private static readonly IntPtr selSetIgnoresAlpha_Handle = Selector.GetHandle("setIgnoresAlpha:"); private static readonly IntPtr selColorWithCalibratedWhiteAlpha_Handle = Selector.GetHandle("colorWithCalibratedWhite:alpha:"); private static readonly IntPtr selColorWithCalibratedHueSaturationBrightnessAlpha_Handle = Selector.GetHandle("colorWithCalibratedHue:saturation:brightness:alpha:"); private static readonly IntPtr selColorWithCalibratedRedGreenBlueAlpha_Handle = Selector.GetHandle("colorWithCalibratedRed:green:blue:alpha:"); private static readonly IntPtr selColorWithDeviceWhiteAlpha_Handle = Selector.GetHandle("colorWithDeviceWhite:alpha:"); private static readonly IntPtr selColorWithDeviceHueSaturationBrightnessAlpha_Handle = Selector.GetHandle("colorWithDeviceHue:saturation:brightness:alpha:"); private static readonly IntPtr selColorWithDeviceRedGreenBlueAlpha_Handle = Selector.GetHandle("colorWithDeviceRed:green:blue:alpha:"); private static readonly IntPtr selColorWithDeviceCyanMagentaYellowBlackAlpha_Handle = Selector.GetHandle("colorWithDeviceCyan:magenta:yellow:black:alpha:"); private static readonly IntPtr selColorWithCatalogNameColorName_Handle = Selector.GetHandle("colorWithCatalogName:colorName:"); private static readonly IntPtr selColorWithColorSpaceComponentsCount_Handle = Selector.GetHandle("colorWithColorSpace:components:count:"); private static readonly IntPtr selControlAlternatingRowBackgroundColorsHandle = Selector.GetHandle("controlAlternatingRowBackgroundColors"); private static readonly IntPtr selHighlightWithLevel_Handle = Selector.GetHandle("highlightWithLevel:"); private static readonly IntPtr selShadowWithLevel_Handle = Selector.GetHandle("shadowWithLevel:"); private static readonly IntPtr selColorForControlTint_Handle = Selector.GetHandle("colorForControlTint:"); private static readonly IntPtr selSetHandle = Selector.GetHandle("set"); private static readonly IntPtr selSetFillHandle = Selector.GetHandle("setFill"); private static readonly IntPtr selSetStrokeHandle = Selector.GetHandle("setStroke"); private static readonly IntPtr selColorUsingColorSpaceName_Handle = Selector.GetHandle("colorUsingColorSpaceName:"); private static readonly IntPtr selColorUsingColorSpaceNameDevice_Handle = Selector.GetHandle("colorUsingColorSpaceName:device:"); private static readonly IntPtr selColorUsingColorSpace_Handle = Selector.GetHandle("colorUsingColorSpace:"); private static readonly IntPtr selBlendedColorWithFractionOfColor_Handle = Selector.GetHandle("blendedColorWithFraction:ofColor:"); private static readonly IntPtr selColorWithAlphaComponent_Handle = Selector.GetHandle("colorWithAlphaComponent:"); private static readonly IntPtr selGetRedGreenBlueAlpha_Handle = Selector.GetHandle("getRed:green:blue:alpha:"); private static readonly IntPtr selGetHueSaturationBrightnessAlpha_Handle = Selector.GetHandle("getHue:saturation:brightness:alpha:"); private static readonly IntPtr selGetWhiteAlpha_Handle = Selector.GetHandle("getWhite:alpha:"); private static readonly IntPtr selGetCyanMagentaYellowBlackAlpha_Handle = Selector.GetHandle("getCyan:magenta:yellow:black:alpha:"); private static readonly IntPtr selGetComponents_Handle = Selector.GetHandle("getComponents:"); private static readonly IntPtr selColorFromPasteboard_Handle = Selector.GetHandle("colorFromPasteboard:"); private static readonly IntPtr selWriteToPasteboard_Handle = Selector.GetHandle("writeToPasteboard:"); private static readonly IntPtr selColorWithPatternImage_Handle = Selector.GetHandle("colorWithPatternImage:"); private static readonly IntPtr selDrawSwatchInRect_Handle = Selector.GetHandle("drawSwatchInRect:"); private static readonly IntPtr selColorWithCIColor_Handle = Selector.GetHandle("colorWithCIColor:"); private static readonly IntPtr selColorWithCGColor_Handle = Selector.GetHandle("colorWithCGColor:"); private static readonly IntPtr class_ptr = Class.GetHandle("NSColor"); private static object __mt_Black_var_static; private static object __mt_DarkGray_var_static; private static object __mt_LightGray_var_static; private static object __mt_White_var_static; private static object __mt_Gray_var_static; private static object __mt_Red_var_static; private static object __mt_Green_var_static; private static object __mt_Blue_var_static; private static object __mt_Cyan_var_static; private static object __mt_Yellow_var_static; private static object __mt_Magenta_var_static; private static object __mt_Orange_var_static; private static object __mt_Purple_var_static; private static object __mt_Brown_var_static; private static object __mt_Clear_var_static; private static object __mt_ControlShadow_var_static; private static object __mt_ControlDarkShadow_var_static; private static object __mt_Control_var_static; private static object __mt_ControlHighlight_var_static; private static object __mt_ControlLightHighlight_var_static; private static object __mt_ControlText_var_static; private static object __mt_ControlBackground_var_static; private static object __mt_SelectedControl_var_static; private static object __mt_SecondarySelectedControl_var_static; private static object __mt_SelectedControlText_var_static; private static object __mt_DisabledControlText_var_static; private static object __mt_Text_var_static; private static object __mt_TextBackground_var_static; private static object __mt_SelectedText_var_static; private static object __mt_SelectedTextBackground_var_static; private static object __mt_Grid_var_static; private static object __mt_KeyboardFocusIndicator_var_static; private static object __mt_WindowBackground_var_static; private static object __mt_ScrollBar_var_static; private static object __mt_Knob_var_static; private static object __mt_SelectedKnob_var_static; private static object __mt_WindowFrame_var_static; private static object __mt_WindowFrameText_var_static; private static object __mt_SelectedMenuItem_var_static; private static object __mt_SelectedMenuItemText_var_static; private static object __mt_Highlight_var_static; private static object __mt_Shadow_var_static; private static object __mt_Header_var_static; private static object __mt_HeaderText_var_static; private static object __mt_AlternateSelectedControl_var_static; private static object __mt_AlternateSelectedControlText_var_static; private static object __mt_UnderPageBackground_var_static; private object __mt_ColorSpace_var; private object __mt_PatternImage_var; public override IntPtr ClassHandle => class_ptr; public static NSColor Black { [Export("blackColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Black_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selBlackColorHandle))); } } public static NSColor DarkGray { [Export("darkGrayColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_DarkGray_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selDarkGrayColorHandle))); } } public static NSColor LightGray { [Export("lightGrayColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_LightGray_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selLightGrayColorHandle))); } } public static NSColor White { [Export("whiteColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_White_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selWhiteColorHandle))); } } public static NSColor Gray { [Export("grayColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Gray_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selGrayColorHandle))); } } public static NSColor Red { [Export("redColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Red_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selRedColorHandle))); } } public static NSColor Green { [Export("greenColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Green_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selGreenColorHandle))); } } public static NSColor Blue { [Export("blueColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Blue_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selBlueColorHandle))); } } public static NSColor Cyan { [Export("cyanColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Cyan_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selCyanColorHandle))); } } public static NSColor Yellow { [Export("yellowColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Yellow_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selYellowColorHandle))); } } public static NSColor Magenta { [Export("magentaColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Magenta_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selMagentaColorHandle))); } } public static NSColor Orange { [Export("orangeColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Orange_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selOrangeColorHandle))); } } public static NSColor Purple { [Export("purpleColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Purple_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selPurpleColorHandle))); } } public static NSColor Brown { [Export("brownColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Brown_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selBrownColorHandle))); } } public static NSColor Clear { [Export("clearColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Clear_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selClearColorHandle))); } } public static NSColor ControlShadow { [Export("controlShadowColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_ControlShadow_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlShadowColorHandle))); } } public static NSColor ControlDarkShadow { [Export("controlDarkShadowColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_ControlDarkShadow_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlDarkShadowColorHandle))); } } public static NSColor Control { [Export("controlColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Control_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlColorHandle))); } } public static NSColor ControlHighlight { [Export("controlHighlightColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_ControlHighlight_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlHighlightColorHandle))); } } public static NSColor ControlLightHighlight { [Export("controlLightHighlightColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_ControlLightHighlight_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlLightHighlightColorHandle))); } } public static NSColor ControlText { [Export("controlTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_ControlText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlTextColorHandle))); } } public static NSColor ControlBackground { [Export("controlBackgroundColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_ControlBackground_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selControlBackgroundColorHandle))); } } public static NSColor SelectedControl { [Export("selectedControlColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SelectedControl_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSelectedControlColorHandle))); } } public static NSColor SecondarySelectedControl { [Export("secondarySelectedControlColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SecondarySelectedControl_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSecondarySelectedControlColorHandle))); } } public static NSColor SelectedControlText { [Export("selectedControlTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SelectedControlText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSelectedControlTextColorHandle))); } } public static NSColor DisabledControlText { [Export("disabledControlTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_DisabledControlText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selDisabledControlTextColorHandle))); } } public static NSColor Text { [Export("textColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Text_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selTextColorHandle))); } } public static NSColor TextBackground { [Export("textBackgroundColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_TextBackground_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selTextBackgroundColorHandle))); } } public static NSColor SelectedText { [Export("selectedTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SelectedText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSelectedTextColorHandle))); } } public static NSColor SelectedTextBackground { [Export("selectedTextBackgroundColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SelectedTextBackground_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSelectedTextBackgroundColorHandle))); } } public static NSColor Grid { [Export("gridColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Grid_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selGridColorHandle))); } } public static NSColor KeyboardFocusIndicator { [Export("keyboardFocusIndicatorColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_KeyboardFocusIndicator_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selKeyboardFocusIndicatorColorHandle))); } } public static NSColor WindowBackground { [Export("windowBackgroundColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_WindowBackground_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selWindowBackgroundColorHandle))); } } public static NSColor ScrollBar { [Export("scrollBarColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_ScrollBar_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selScrollBarColorHandle))); } } public static NSColor Knob { [Export("knobColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Knob_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selKnobColorHandle))); } } public static NSColor SelectedKnob { [Export("selectedKnobColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SelectedKnob_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSelectedKnobColorHandle))); } } public static NSColor WindowFrame { [Export("windowFrameColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_WindowFrame_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selWindowFrameColorHandle))); } } public static NSColor WindowFrameText { [Export("windowFrameTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_WindowFrameText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selWindowFrameTextColorHandle))); } } public static NSColor SelectedMenuItem { [Export("selectedMenuItemColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SelectedMenuItem_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSelectedMenuItemColorHandle))); } } public static NSColor SelectedMenuItemText { [Export("selectedMenuItemTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_SelectedMenuItemText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSelectedMenuItemTextColorHandle))); } } public static NSColor Highlight { [Export("highlightColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Highlight_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selHighlightColorHandle))); } } public static NSColor Shadow { [Export("shadowColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Shadow_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selShadowColorHandle))); } } public static NSColor Header { [Export("headerColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_Header_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selHeaderColorHandle))); } } public static NSColor HeaderText { [Export("headerTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_HeaderText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selHeaderTextColorHandle))); } } public static NSColor AlternateSelectedControl { [Export("alternateSelectedControlColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_AlternateSelectedControl_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selAlternateSelectedControlColorHandle))); } } public static NSColor AlternateSelectedControlText { [Export("alternateSelectedControlTextColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_AlternateSelectedControlText_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selAlternateSelectedControlTextColorHandle))); } } [MountainLion] public static NSColor UnderPageBackground { [MountainLion] [Export("underPageBackgroundColor")] get { NSApplication.EnsureUIThread(); return (NSColor)(__mt_UnderPageBackground_var_static = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selUnderPageBackgroundColorHandle))); } } public static NSControlTint CurrentControlTint { [Export("currentControlTint")] get { NSApplication.EnsureUIThread(); return (NSControlTint)Messaging.UInt64_objc_msgSend(class_ptr, selCurrentControlTintHandle); } } public virtual string ColorSpaceName { [Export("colorSpaceName")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selColorSpaceNameHandle)); } return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selColorSpaceNameHandle)); } } public virtual string CatalogNameComponent { [Export("catalogNameComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selCatalogNameComponentHandle)); } return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selCatalogNameComponentHandle)); } } public virtual string ColorNameComponent { [Export("colorNameComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selColorNameComponentHandle)); } return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selColorNameComponentHandle)); } } public virtual string LocalizedCatalogNameComponent { [Export("localizedCatalogNameComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selLocalizedCatalogNameComponentHandle)); } return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selLocalizedCatalogNameComponentHandle)); } } public virtual string LocalizedColorNameComponent { [Export("localizedColorNameComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return NSString.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selLocalizedColorNameComponentHandle)); } return NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selLocalizedColorNameComponentHandle)); } } public virtual double RedComponent { [Export("redComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selRedComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selRedComponentHandle); } } public virtual double GreenComponent { [Export("greenComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selGreenComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selGreenComponentHandle); } } public virtual double BlueComponent { [Export("blueComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selBlueComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selBlueComponentHandle); } } public virtual double HueComponent { [Export("hueComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selHueComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selHueComponentHandle); } } public virtual double SaturationComponent { [Export("saturationComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selSaturationComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selSaturationComponentHandle); } } public virtual double BrightnessComponent { [Export("brightnessComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selBrightnessComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selBrightnessComponentHandle); } } public virtual double WhiteComponent { [Export("whiteComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selWhiteComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selWhiteComponentHandle); } } public virtual double CyanComponent { [Export("cyanComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selCyanComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selCyanComponentHandle); } } public virtual double MagentaComponent { [Export("magentaComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selMagentaComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selMagentaComponentHandle); } } public virtual double YellowComponent { [Export("yellowComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selYellowComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selYellowComponentHandle); } } public virtual double BlackComponent { [Export("blackComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selBlackComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selBlackComponentHandle); } } public virtual NSColorSpace ColorSpace { [Export("colorSpace")] get { NSApplication.EnsureUIThread(); return (NSColorSpace)(__mt_ColorSpace_var = ((!IsDirectBinding) ? ((NSColorSpace)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selColorSpaceHandle))) : ((NSColorSpace)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selColorSpaceHandle))))); } } public virtual long ComponentCount { [Export("numberOfComponents")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Int64_objc_msgSend(base.Handle, selNumberOfComponentsHandle); } return Messaging.Int64_objc_msgSendSuper(base.SuperHandle, selNumberOfComponentsHandle); } } public virtual double AlphaComponent { [Export("alphaComponent")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return Messaging.Double_objc_msgSend(base.Handle, selAlphaComponentHandle); } return Messaging.Double_objc_msgSendSuper(base.SuperHandle, selAlphaComponentHandle); } } public virtual NSImage PatternImage { [Export("patternImage")] get { NSApplication.EnsureUIThread(); return (NSImage)(__mt_PatternImage_var = ((!IsDirectBinding) ? ((NSImage)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPatternImageHandle))) : ((NSImage)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selPatternImageHandle))))); } } [MountainLion] public virtual CGColor CGColor { [MountainLion] [Export("CGColor")] get { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return new CGColor(Messaging.IntPtr_objc_msgSend(base.Handle, selCGColorHandle)); } return new CGColor(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selCGColorHandle)); } } public static bool IgnoresAlpha { [Export("ignoresAlpha")] get { NSApplication.EnsureUIThread(); return Messaging.bool_objc_msgSend(class_ptr, selIgnoresAlphaHandle); } [Export("setIgnoresAlpha:")] set { NSApplication.EnsureUIThread(); Messaging.void_objc_msgSend_bool(class_ptr, selSetIgnoresAlpha_Handle, value); } } public static NSColor FromColorSpace(NSColorSpace space, double[] components) { if (components == null) { throw new ArgumentNullException("components"); } IntPtr intPtr = Marshal.AllocHGlobal(Marshal.SizeOf(components[0]) * components.Length); Marshal.Copy(components, 0, intPtr, components.Length); NSColor result = _FromColorSpace(space, intPtr, components.Length); Marshal.FreeHGlobal(intPtr); return result; } public void GetComponents(out double[] components) { int num = (int)ComponentCount; double[] array = new double[num]; IntPtr intPtr = Marshal.AllocHGlobal(Marshal.SizeOf(array[0]) * num); _GetComponents(intPtr); Marshal.Copy(intPtr, array, 0, num); Marshal.FreeHGlobal(intPtr); components = array; } public override string ToString() { try { string colorSpaceName = ColorSpaceName; if (colorSpaceName == "NSNamedColorSpace") { return LocalizedCatalogNameComponent + "/" + LocalizedColorNameComponent; } if (colorSpaceName == "NSPatternColorSpace") { return "Pattern Color: " + PatternImage.Name; } StringBuilder stringBuilder = new StringBuilder(ColorSpace.LocalizedName); GetComponents(out double[] components); if (components.Length != 0) { stringBuilder.Append("(" + components[0]); } for (int i = 1; i < components.Length; i++) { stringBuilder.Append("," + components[i]); } stringBuilder.Append(")"); return stringBuilder.ToString(); } catch { return base.ToString(); } } [EditorBrowsable(EditorBrowsableState.Advanced)] [Export("initWithCoder:")] public NSColor(NSCoder coder) : base(NSObjectFlag.Empty) { if (IsDirectBinding) { base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, Selector.InitWithCoder, coder.Handle); } else { base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, Selector.InitWithCoder, coder.Handle); } } [EditorBrowsable(EditorBrowsableState.Advanced)] public NSColor(NSObjectFlag t) : base(t) { } [EditorBrowsable(EditorBrowsableState.Advanced)] public NSColor(IntPtr handle) : base(handle) { } [Export("colorWithCalibratedWhite:alpha:")] public static NSColor FromCalibratedWhite(double white, double alpha) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_Double(class_ptr, selColorWithCalibratedWhiteAlpha_Handle, white, alpha)); } [Export("colorWithCalibratedHue:saturation:brightness:alpha:")] public static NSColor FromCalibratedHsba(double hue, double saturation, double brightness, double alpha) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_Double_Double_Double(class_ptr, selColorWithCalibratedHueSaturationBrightnessAlpha_Handle, hue, saturation, brightness, alpha)); } [Export("colorWithCalibratedRed:green:blue:alpha:")] public static NSColor FromCalibratedRgba(double red, double green, double blue, double alpha) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_Double_Double_Double(class_ptr, selColorWithCalibratedRedGreenBlueAlpha_Handle, red, green, blue, alpha)); } [Export("colorWithDeviceWhite:alpha:")] public static NSColor FromDeviceWhite(double white, double alpha) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_Double(class_ptr, selColorWithDeviceWhiteAlpha_Handle, white, alpha)); } [Export("colorWithDeviceHue:saturation:brightness:alpha:")] public static NSColor FromDeviceHsba(double hue, double saturation, double brightness, double alpha) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_Double_Double_Double(class_ptr, selColorWithDeviceHueSaturationBrightnessAlpha_Handle, hue, saturation, brightness, alpha)); } [Export("colorWithDeviceRed:green:blue:alpha:")] public static NSColor FromDeviceRgba(double red, double green, double blue, double alpha) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_Double_Double_Double(class_ptr, selColorWithDeviceRedGreenBlueAlpha_Handle, red, green, blue, alpha)); } [Export("colorWithDeviceCyan:magenta:yellow:black:alpha:")] public static NSColor FromDeviceCymka(double cyan, double magenta, double yellow, double black, double alpha) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_Double_Double_Double_Double(class_ptr, selColorWithDeviceCyanMagentaYellowBlackAlpha_Handle, cyan, magenta, yellow, black, alpha)); } [Export("colorWithCatalogName:colorName:")] public static NSColor FromCatalogName(string listName, string colorName) { NSApplication.EnsureUIThread(); if (listName == null) { throw new ArgumentNullException("listName"); } if (colorName == null) { throw new ArgumentNullException("colorName"); } IntPtr intPtr = NSString.CreateNative(listName); IntPtr intPtr2 = NSString.CreateNative(colorName); NSColor result = (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr(class_ptr, selColorWithCatalogNameColorName_Handle, intPtr, intPtr2)); NSString.ReleaseNative(intPtr); NSString.ReleaseNative(intPtr2); return result; } [Export("colorWithColorSpace:components:count:")] internal static NSColor _FromColorSpace(NSColorSpace space, IntPtr components, long numberOfComponents) { NSApplication.EnsureUIThread(); if (space == null) { throw new ArgumentNullException("space"); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr_Int64(class_ptr, selColorWithColorSpaceComponentsCount_Handle, space.Handle, components, numberOfComponents)); } [Export("controlAlternatingRowBackgroundColors")] public static NSColor[] ControlAlternatingRowBackgroundColors() { NSApplication.EnsureUIThread(); return NSArray.ArrayFromHandle(Messaging.IntPtr_objc_msgSend(class_ptr, selControlAlternatingRowBackgroundColorsHandle)); } [Export("highlightWithLevel:")] public virtual NSColor HighlightWithLevel(double highlightLevel) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double(base.Handle, selHighlightWithLevel_Handle, highlightLevel)); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_Double(base.SuperHandle, selHighlightWithLevel_Handle, highlightLevel)); } [Export("shadowWithLevel:")] public virtual NSColor ShadowWithLevel(double shadowLevel) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double(base.Handle, selShadowWithLevel_Handle, shadowLevel)); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_Double(base.SuperHandle, selShadowWithLevel_Handle, shadowLevel)); } [Export("colorForControlTint:")] public static NSColor FromControlTint(NSControlTint controlTint) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_UInt64(class_ptr, selColorForControlTint_Handle, (ulong)controlTint)); } [Export("set")] public virtual void Set() { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend(base.Handle, selSetHandle); } else { Messaging.void_objc_msgSendSuper(base.SuperHandle, selSetHandle); } } [Export("setFill")] public virtual void SetFill() { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend(base.Handle, selSetFillHandle); } else { Messaging.void_objc_msgSendSuper(base.SuperHandle, selSetFillHandle); } } [Export("setStroke")] public virtual void SetStroke() { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend(base.Handle, selSetStrokeHandle); } else { Messaging.void_objc_msgSendSuper(base.SuperHandle, selSetStrokeHandle); } } [Export("colorUsingColorSpaceName:")] public virtual NSColor UsingColorSpace(string colorSpaceName) { NSApplication.EnsureUIThread(); IntPtr intPtr = NSString.CreateNative(colorSpaceName); NSColor result = (!IsDirectBinding) ? ((NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selColorUsingColorSpaceName_Handle, intPtr))) : ((NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selColorUsingColorSpaceName_Handle, intPtr))); NSString.ReleaseNative(intPtr); return result; } [Export("colorUsingColorSpaceName:device:")] public virtual NSColor UsingColorSpace(string colorSpaceName, NSDictionary deviceDescription) { NSApplication.EnsureUIThread(); IntPtr intPtr = NSString.CreateNative(colorSpaceName); NSColor result = (!IsDirectBinding) ? ((NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr(base.SuperHandle, selColorUsingColorSpaceNameDevice_Handle, intPtr, deviceDescription?.Handle ?? IntPtr.Zero))) : ((NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr(base.Handle, selColorUsingColorSpaceNameDevice_Handle, intPtr, deviceDescription?.Handle ?? IntPtr.Zero))); NSString.ReleaseNative(intPtr); return result; } [Export("colorUsingColorSpace:")] public virtual NSColor UsingColorSpace(NSColorSpace colorSpace) { NSApplication.EnsureUIThread(); if (colorSpace == null) { throw new ArgumentNullException("colorSpace"); } if (IsDirectBinding) { return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selColorUsingColorSpace_Handle, colorSpace.Handle)); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selColorUsingColorSpace_Handle, colorSpace.Handle)); } [Export("blendedColorWithFraction:ofColor:")] public virtual NSColor BlendedColor(double fraction, NSColor color) { NSApplication.EnsureUIThread(); if (color == null) { throw new ArgumentNullException("color"); } if (IsDirectBinding) { return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double_IntPtr(base.Handle, selBlendedColorWithFractionOfColor_Handle, fraction, color.Handle)); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_Double_IntPtr(base.SuperHandle, selBlendedColorWithFractionOfColor_Handle, fraction, color.Handle)); } [Export("colorWithAlphaComponent:")] public virtual NSColor ColorWithAlphaComponent(double alpha) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_Double(base.Handle, selColorWithAlphaComponent_Handle, alpha)); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_Double(base.SuperHandle, selColorWithAlphaComponent_Handle, alpha)); } [Export("getRed:green:blue:alpha:")] public virtual void GetRgba(out double red, out double green, out double blue, out double alpha) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend_out_Double_out_Double_out_Double_out_Double(base.Handle, selGetRedGreenBlueAlpha_Handle, out red, out green, out blue, out alpha); } else { Messaging.void_objc_msgSendSuper_out_Double_out_Double_out_Double_out_Double(base.SuperHandle, selGetRedGreenBlueAlpha_Handle, out red, out green, out blue, out alpha); } } [Export("getHue:saturation:brightness:alpha:")] public virtual void GetHsba(out double hue, out double saturation, out double brightness, out double alpha) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend_out_Double_out_Double_out_Double_out_Double(base.Handle, selGetHueSaturationBrightnessAlpha_Handle, out hue, out saturation, out brightness, out alpha); } else { Messaging.void_objc_msgSendSuper_out_Double_out_Double_out_Double_out_Double(base.SuperHandle, selGetHueSaturationBrightnessAlpha_Handle, out hue, out saturation, out brightness, out alpha); } } [Export("getWhite:alpha:")] public virtual void GetWhiteAlpha(out double white, out double alpha) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend_out_Double_out_Double(base.Handle, selGetWhiteAlpha_Handle, out white, out alpha); } else { Messaging.void_objc_msgSendSuper_out_Double_out_Double(base.SuperHandle, selGetWhiteAlpha_Handle, out white, out alpha); } } [Export("getCyan:magenta:yellow:black:alpha:")] public virtual void GetCmyka(out double cyan, out double magenta, out double yellow, out double black, out double alpha) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend_out_Double_out_Double_out_Double_out_Double_out_Double(base.Handle, selGetCyanMagentaYellowBlackAlpha_Handle, out cyan, out magenta, out yellow, out black, out alpha); } else { Messaging.void_objc_msgSendSuper_out_Double_out_Double_out_Double_out_Double_out_Double(base.SuperHandle, selGetCyanMagentaYellowBlackAlpha_Handle, out cyan, out magenta, out yellow, out black, out alpha); } } [Export("getComponents:")] internal virtual void _GetComponents(IntPtr components) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend_IntPtr(base.Handle, selGetComponents_Handle, components); } else { Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selGetComponents_Handle, components); } } [Export("colorFromPasteboard:")] public static NSColor FromPasteboard(NSPasteboard pasteBoard) { NSApplication.EnsureUIThread(); if (pasteBoard == null) { throw new ArgumentNullException("pasteBoard"); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selColorFromPasteboard_Handle, pasteBoard.Handle)); } [Export("writeToPasteboard:")] public virtual void WriteToPasteboard(NSPasteboard pasteBoard) { NSApplication.EnsureUIThread(); if (pasteBoard == null) { throw new ArgumentNullException("pasteBoard"); } if (IsDirectBinding) { Messaging.void_objc_msgSend_IntPtr(base.Handle, selWriteToPasteboard_Handle, pasteBoard.Handle); } else { Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selWriteToPasteboard_Handle, pasteBoard.Handle); } } [Export("colorWithPatternImage:")] public static NSColor FromPatternImage(NSImage image) { NSApplication.EnsureUIThread(); if (image == null) { throw new ArgumentNullException("image"); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selColorWithPatternImage_Handle, image.Handle)); } [Export("drawSwatchInRect:")] public virtual void DrawSwatchInRect(CGRect rect) { NSApplication.EnsureUIThread(); if (IsDirectBinding) { Messaging.void_objc_msgSend_CGRect(base.Handle, selDrawSwatchInRect_Handle, rect); } else { Messaging.void_objc_msgSendSuper_CGRect(base.SuperHandle, selDrawSwatchInRect_Handle, rect); } } [Export("colorWithCIColor:")] public static NSColor FromCIColor(CIColor color) { NSApplication.EnsureUIThread(); if (color == null) { throw new ArgumentNullException("color"); } return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selColorWithCIColor_Handle, color.Handle)); } [Export("colorWithCGColor:")] [MountainLion] public static NSColor FromCGColor(CGColor color) { NSApplication.EnsureUIThread(); return (NSColor)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selColorWithCGColor_Handle, color.Handle)); } protected override void Dispose(bool disposing) { base.Dispose(disposing); if (base.Handle == IntPtr.Zero) { __mt_ColorSpace_var = null; __mt_PatternImage_var = null; } } } }