Mercurial > projects > dstep
diff dstep/quartzcore/CIFilter.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/quartzcore/CIFilter.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,954 @@ +/** + * 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.quartzcore.CIFilter; + +import dstep.foundation.NSArray; +import dstep.foundation.NSCoder; +import dstep.foundation.NSData; +import dstep.foundation.NSDictionary; +import dstep.foundation.NSObject; +import dstep.foundation.NSString; +import dstep.foundation.NSURL; +import dstep.foundation.NSZone; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; +import dstep.quartzcore.CACIFilterAdditions; +import dstep.quartzcore.CIImage; +import dstep.quartzcore.CIKernel; +import dstep.quartzcore.CIRAWFilter; + +import bindings = dstep.quartzcore.CIFilter_bindings; + +private +{ + NSString kCIAttributeFilterName_; + NSString kCIAttributeFilterDisplayName_; + NSString kCIAttributeDescription_; + NSString kCIAttributeReferenceDocumentation_; + NSString kCIAttributeFilterCategories_; + NSString kCIAttributeClass_; + NSString kCIAttributeType_; + NSString kCIAttributeMin_; + NSString kCIAttributeMax_; + NSString kCIAttributeSliderMin_; + NSString kCIAttributeSliderMax_; + NSString kCIAttributeDefault_; + NSString kCIAttributeIdentity_; + NSString kCIAttributeName_; + NSString kCIAttributeDisplayName_; + NSString kCIUIParameterSet_; + NSString kCIUISetBasic_; + NSString kCIUISetIntermediate_; + NSString kCIUISetAdvanced_; + NSString kCIUISetDevelopment_; + NSString kCIAttributeTypeTime_; + NSString kCIAttributeTypeScalar_; + NSString kCIAttributeTypeDistance_; + NSString kCIAttributeTypeAngle_; + NSString kCIAttributeTypeBoolean_; + NSString kCIAttributeTypeInteger_; + NSString kCIAttributeTypeCount_; + NSString kCIAttributeTypePosition_; + NSString kCIAttributeTypeOffset_; + NSString kCIAttributeTypePosition3_; + NSString kCIAttributeTypeRectangle_; + NSString kCIAttributeTypeOpaqueColor_; + NSString kCIAttributeTypeGradient_; + NSString kCICategoryDistortionEffect_; + NSString kCICategoryGeometryAdjustment_; + NSString kCICategoryCompositeOperation_; + NSString kCICategoryHalftoneEffect_; + NSString kCICategoryColorAdjustment_; + NSString kCICategoryColorEffect_; + NSString kCICategoryTransition_; + NSString kCICategoryTileEffect_; + NSString kCICategoryGenerator_; + NSString kCICategoryReduction_; + NSString kCICategoryGradient_; + NSString kCICategoryStylize_; + NSString kCICategorySharpen_; + NSString kCICategoryBlur_; + NSString kCICategoryVideo_; + NSString kCICategoryStillImage_; + NSString kCICategoryInterlaced_; + NSString kCICategoryNonSquarePixels_; + NSString kCICategoryHighDynamicRange_; + NSString kCICategoryBuiltIn_; + NSString kCICategoryFilterGenerator_; + NSString kCIApplyOptionExtent_; + NSString kCIApplyOptionDefinition_; + NSString kCIApplyOptionUserInfo_; + NSString kCIOutputImageKey_; + NSString kCIInputBackgroundImageKey_; + NSString kCIInputImageKey_; + NSString kCIInputTimeKey_; + NSString kCIInputTransformKey_; + NSString kCIInputScaleKey_; + NSString kCIInputAspectRatioKey_; + NSString kCIInputCenterKey_; + NSString kCIInputRadiusKey_; + NSString kCIInputAngleKey_; + NSString kCIInputRefractionKey_; + NSString kCIInputWidthKey_; + NSString kCIInputSharpnessKey_; + NSString kCIInputIntensityKey_; + NSString kCIInputEVKey_; + NSString kCIInputSaturationKey_; + NSString kCIInputColorKey_; + NSString kCIInputBrightnessKey_; + NSString kCIInputContrastKey_; + NSString kCIInputGradientImageKey_; + NSString kCIInputMaskImageKey_; + NSString kCIInputShadingImageKey_; + NSString kCIInputTargetImageKey_; + NSString kCIInputExtentKey_; +} + +NSString kCIAttributeFilterName () +{ + if (kCIAttributeFilterName_) + return kCIAttributeFilterName_; + + return kCIAttributeFilterName_ = new NSString(bindings.kCIAttributeFilterName); +} + +NSString kCIAttributeFilterDisplayName () +{ + if (kCIAttributeFilterDisplayName_) + return kCIAttributeFilterDisplayName_; + + return kCIAttributeFilterDisplayName_ = new NSString(bindings.kCIAttributeFilterDisplayName); +} + +NSString kCIAttributeDescription () +{ + if (kCIAttributeDescription_) + return kCIAttributeDescription_; + + return kCIAttributeDescription_ = new NSString(bindings.kCIAttributeDescription); +} + +NSString kCIAttributeReferenceDocumentation () +{ + if (kCIAttributeReferenceDocumentation_) + return kCIAttributeReferenceDocumentation_; + + return kCIAttributeReferenceDocumentation_ = new NSString(bindings.kCIAttributeReferenceDocumentation); +} + +NSString kCIAttributeFilterCategories () +{ + if (kCIAttributeFilterCategories_) + return kCIAttributeFilterCategories_; + + return kCIAttributeFilterCategories_ = new NSString(bindings.kCIAttributeFilterCategories); +} + +NSString kCIAttributeClass () +{ + if (kCIAttributeClass_) + return kCIAttributeClass_; + + return kCIAttributeClass_ = new NSString(bindings.kCIAttributeClass); +} + +NSString kCIAttributeType () +{ + if (kCIAttributeType_) + return kCIAttributeType_; + + return kCIAttributeType_ = new NSString(bindings.kCIAttributeType); +} + +NSString kCIAttributeMin () +{ + if (kCIAttributeMin_) + return kCIAttributeMin_; + + return kCIAttributeMin_ = new NSString(bindings.kCIAttributeMin); +} + +NSString kCIAttributeMax () +{ + if (kCIAttributeMax_) + return kCIAttributeMax_; + + return kCIAttributeMax_ = new NSString(bindings.kCIAttributeMax); +} + +NSString kCIAttributeSliderMin () +{ + if (kCIAttributeSliderMin_) + return kCIAttributeSliderMin_; + + return kCIAttributeSliderMin_ = new NSString(bindings.kCIAttributeSliderMin); +} + +NSString kCIAttributeSliderMax () +{ + if (kCIAttributeSliderMax_) + return kCIAttributeSliderMax_; + + return kCIAttributeSliderMax_ = new NSString(bindings.kCIAttributeSliderMax); +} + +NSString kCIAttributeDefault () +{ + if (kCIAttributeDefault_) + return kCIAttributeDefault_; + + return kCIAttributeDefault_ = new NSString(bindings.kCIAttributeDefault); +} + +NSString kCIAttributeIdentity () +{ + if (kCIAttributeIdentity_) + return kCIAttributeIdentity_; + + return kCIAttributeIdentity_ = new NSString(bindings.kCIAttributeIdentity); +} + +NSString kCIAttributeName () +{ + if (kCIAttributeName_) + return kCIAttributeName_; + + return kCIAttributeName_ = new NSString(bindings.kCIAttributeName); +} + +NSString kCIAttributeDisplayName () +{ + if (kCIAttributeDisplayName_) + return kCIAttributeDisplayName_; + + return kCIAttributeDisplayName_ = new NSString(bindings.kCIAttributeDisplayName); +} + +NSString kCIUIParameterSet () +{ + if (kCIUIParameterSet_) + return kCIUIParameterSet_; + + return kCIUIParameterSet_ = new NSString(bindings.kCIUIParameterSet); +} + +NSString kCIUISetBasic () +{ + if (kCIUISetBasic_) + return kCIUISetBasic_; + + return kCIUISetBasic_ = new NSString(bindings.kCIUISetBasic); +} + +NSString kCIUISetIntermediate () +{ + if (kCIUISetIntermediate_) + return kCIUISetIntermediate_; + + return kCIUISetIntermediate_ = new NSString(bindings.kCIUISetIntermediate); +} + +NSString kCIUISetAdvanced () +{ + if (kCIUISetAdvanced_) + return kCIUISetAdvanced_; + + return kCIUISetAdvanced_ = new NSString(bindings.kCIUISetAdvanced); +} + +NSString kCIUISetDevelopment () +{ + if (kCIUISetDevelopment_) + return kCIUISetDevelopment_; + + return kCIUISetDevelopment_ = new NSString(bindings.kCIUISetDevelopment); +} + +NSString kCIAttributeTypeTime () +{ + if (kCIAttributeTypeTime_) + return kCIAttributeTypeTime_; + + return kCIAttributeTypeTime_ = new NSString(bindings.kCIAttributeTypeTime); +} + +NSString kCIAttributeTypeScalar () +{ + if (kCIAttributeTypeScalar_) + return kCIAttributeTypeScalar_; + + return kCIAttributeTypeScalar_ = new NSString(bindings.kCIAttributeTypeScalar); +} + +NSString kCIAttributeTypeDistance () +{ + if (kCIAttributeTypeDistance_) + return kCIAttributeTypeDistance_; + + return kCIAttributeTypeDistance_ = new NSString(bindings.kCIAttributeTypeDistance); +} + +NSString kCIAttributeTypeAngle () +{ + if (kCIAttributeTypeAngle_) + return kCIAttributeTypeAngle_; + + return kCIAttributeTypeAngle_ = new NSString(bindings.kCIAttributeTypeAngle); +} + +NSString kCIAttributeTypeBoolean () +{ + if (kCIAttributeTypeBoolean_) + return kCIAttributeTypeBoolean_; + + return kCIAttributeTypeBoolean_ = new NSString(bindings.kCIAttributeTypeBoolean); +} + +NSString kCIAttributeTypeInteger () +{ + if (kCIAttributeTypeInteger_) + return kCIAttributeTypeInteger_; + + return kCIAttributeTypeInteger_ = new NSString(bindings.kCIAttributeTypeInteger); +} + +NSString kCIAttributeTypeCount () +{ + if (kCIAttributeTypeCount_) + return kCIAttributeTypeCount_; + + return kCIAttributeTypeCount_ = new NSString(bindings.kCIAttributeTypeCount); +} + +NSString kCIAttributeTypePosition () +{ + if (kCIAttributeTypePosition_) + return kCIAttributeTypePosition_; + + return kCIAttributeTypePosition_ = new NSString(bindings.kCIAttributeTypePosition); +} + +NSString kCIAttributeTypeOffset () +{ + if (kCIAttributeTypeOffset_) + return kCIAttributeTypeOffset_; + + return kCIAttributeTypeOffset_ = new NSString(bindings.kCIAttributeTypeOffset); +} + +NSString kCIAttributeTypePosition3 () +{ + if (kCIAttributeTypePosition3_) + return kCIAttributeTypePosition3_; + + return kCIAttributeTypePosition3_ = new NSString(bindings.kCIAttributeTypePosition3); +} + +NSString kCIAttributeTypeRectangle () +{ + if (kCIAttributeTypeRectangle_) + return kCIAttributeTypeRectangle_; + + return kCIAttributeTypeRectangle_ = new NSString(bindings.kCIAttributeTypeRectangle); +} + +NSString kCIAttributeTypeOpaqueColor () +{ + if (kCIAttributeTypeOpaqueColor_) + return kCIAttributeTypeOpaqueColor_; + + return kCIAttributeTypeOpaqueColor_ = new NSString(bindings.kCIAttributeTypeOpaqueColor); +} + +NSString kCIAttributeTypeGradient () +{ + if (kCIAttributeTypeGradient_) + return kCIAttributeTypeGradient_; + + return kCIAttributeTypeGradient_ = new NSString(bindings.kCIAttributeTypeGradient); +} + +NSString kCICategoryDistortionEffect () +{ + if (kCICategoryDistortionEffect_) + return kCICategoryDistortionEffect_; + + return kCICategoryDistortionEffect_ = new NSString(bindings.kCICategoryDistortionEffect); +} + +NSString kCICategoryGeometryAdjustment () +{ + if (kCICategoryGeometryAdjustment_) + return kCICategoryGeometryAdjustment_; + + return kCICategoryGeometryAdjustment_ = new NSString(bindings.kCICategoryGeometryAdjustment); +} + +NSString kCICategoryCompositeOperation () +{ + if (kCICategoryCompositeOperation_) + return kCICategoryCompositeOperation_; + + return kCICategoryCompositeOperation_ = new NSString(bindings.kCICategoryCompositeOperation); +} + +NSString kCICategoryHalftoneEffect () +{ + if (kCICategoryHalftoneEffect_) + return kCICategoryHalftoneEffect_; + + return kCICategoryHalftoneEffect_ = new NSString(bindings.kCICategoryHalftoneEffect); +} + +NSString kCICategoryColorAdjustment () +{ + if (kCICategoryColorAdjustment_) + return kCICategoryColorAdjustment_; + + return kCICategoryColorAdjustment_ = new NSString(bindings.kCICategoryColorAdjustment); +} + +NSString kCICategoryColorEffect () +{ + if (kCICategoryColorEffect_) + return kCICategoryColorEffect_; + + return kCICategoryColorEffect_ = new NSString(bindings.kCICategoryColorEffect); +} + +NSString kCICategoryTransition () +{ + if (kCICategoryTransition_) + return kCICategoryTransition_; + + return kCICategoryTransition_ = new NSString(bindings.kCICategoryTransition); +} + +NSString kCICategoryTileEffect () +{ + if (kCICategoryTileEffect_) + return kCICategoryTileEffect_; + + return kCICategoryTileEffect_ = new NSString(bindings.kCICategoryTileEffect); +} + +NSString kCICategoryGenerator () +{ + if (kCICategoryGenerator_) + return kCICategoryGenerator_; + + return kCICategoryGenerator_ = new NSString(bindings.kCICategoryGenerator); +} + +NSString kCICategoryReduction () +{ + if (kCICategoryReduction_) + return kCICategoryReduction_; + + return kCICategoryReduction_ = new NSString(bindings.kCICategoryReduction); +} + +NSString kCICategoryGradient () +{ + if (kCICategoryGradient_) + return kCICategoryGradient_; + + return kCICategoryGradient_ = new NSString(bindings.kCICategoryGradient); +} + +NSString kCICategoryStylize () +{ + if (kCICategoryStylize_) + return kCICategoryStylize_; + + return kCICategoryStylize_ = new NSString(bindings.kCICategoryStylize); +} + +NSString kCICategorySharpen () +{ + if (kCICategorySharpen_) + return kCICategorySharpen_; + + return kCICategorySharpen_ = new NSString(bindings.kCICategorySharpen); +} + +NSString kCICategoryBlur () +{ + if (kCICategoryBlur_) + return kCICategoryBlur_; + + return kCICategoryBlur_ = new NSString(bindings.kCICategoryBlur); +} + +NSString kCICategoryVideo () +{ + if (kCICategoryVideo_) + return kCICategoryVideo_; + + return kCICategoryVideo_ = new NSString(bindings.kCICategoryVideo); +} + +NSString kCICategoryStillImage () +{ + if (kCICategoryStillImage_) + return kCICategoryStillImage_; + + return kCICategoryStillImage_ = new NSString(bindings.kCICategoryStillImage); +} + +NSString kCICategoryInterlaced () +{ + if (kCICategoryInterlaced_) + return kCICategoryInterlaced_; + + return kCICategoryInterlaced_ = new NSString(bindings.kCICategoryInterlaced); +} + +NSString kCICategoryNonSquarePixels () +{ + if (kCICategoryNonSquarePixels_) + return kCICategoryNonSquarePixels_; + + return kCICategoryNonSquarePixels_ = new NSString(bindings.kCICategoryNonSquarePixels); +} + +NSString kCICategoryHighDynamicRange () +{ + if (kCICategoryHighDynamicRange_) + return kCICategoryHighDynamicRange_; + + return kCICategoryHighDynamicRange_ = new NSString(bindings.kCICategoryHighDynamicRange); +} + +NSString kCICategoryBuiltIn () +{ + if (kCICategoryBuiltIn_) + return kCICategoryBuiltIn_; + + return kCICategoryBuiltIn_ = new NSString(bindings.kCICategoryBuiltIn); +} + +NSString kCICategoryFilterGenerator () +{ + if (kCICategoryFilterGenerator_) + return kCICategoryFilterGenerator_; + + return kCICategoryFilterGenerator_ = new NSString(bindings.kCICategoryFilterGenerator); +} + +NSString kCIApplyOptionExtent () +{ + if (kCIApplyOptionExtent_) + return kCIApplyOptionExtent_; + + return kCIApplyOptionExtent_ = new NSString(bindings.kCIApplyOptionExtent); +} + +NSString kCIApplyOptionDefinition () +{ + if (kCIApplyOptionDefinition_) + return kCIApplyOptionDefinition_; + + return kCIApplyOptionDefinition_ = new NSString(bindings.kCIApplyOptionDefinition); +} + +NSString kCIApplyOptionUserInfo () +{ + if (kCIApplyOptionUserInfo_) + return kCIApplyOptionUserInfo_; + + return kCIApplyOptionUserInfo_ = new NSString(bindings.kCIApplyOptionUserInfo); +} + +NSString kCIOutputImageKey () +{ + if (kCIOutputImageKey_) + return kCIOutputImageKey_; + + return kCIOutputImageKey_ = new NSString(bindings.kCIOutputImageKey); +} + +NSString kCIInputBackgroundImageKey () +{ + if (kCIInputBackgroundImageKey_) + return kCIInputBackgroundImageKey_; + + return kCIInputBackgroundImageKey_ = new NSString(bindings.kCIInputBackgroundImageKey); +} + +NSString kCIInputImageKey () +{ + if (kCIInputImageKey_) + return kCIInputImageKey_; + + return kCIInputImageKey_ = new NSString(bindings.kCIInputImageKey); +} + +NSString kCIInputTimeKey () +{ + if (kCIInputTimeKey_) + return kCIInputTimeKey_; + + return kCIInputTimeKey_ = new NSString(bindings.kCIInputTimeKey); +} + +NSString kCIInputTransformKey () +{ + if (kCIInputTransformKey_) + return kCIInputTransformKey_; + + return kCIInputTransformKey_ = new NSString(bindings.kCIInputTransformKey); +} + +NSString kCIInputScaleKey () +{ + if (kCIInputScaleKey_) + return kCIInputScaleKey_; + + return kCIInputScaleKey_ = new NSString(bindings.kCIInputScaleKey); +} + +NSString kCIInputAspectRatioKey () +{ + if (kCIInputAspectRatioKey_) + return kCIInputAspectRatioKey_; + + return kCIInputAspectRatioKey_ = new NSString(bindings.kCIInputAspectRatioKey); +} + +NSString kCIInputCenterKey () +{ + if (kCIInputCenterKey_) + return kCIInputCenterKey_; + + return kCIInputCenterKey_ = new NSString(bindings.kCIInputCenterKey); +} + +NSString kCIInputRadiusKey () +{ + if (kCIInputRadiusKey_) + return kCIInputRadiusKey_; + + return kCIInputRadiusKey_ = new NSString(bindings.kCIInputRadiusKey); +} + +NSString kCIInputAngleKey () +{ + if (kCIInputAngleKey_) + return kCIInputAngleKey_; + + return kCIInputAngleKey_ = new NSString(bindings.kCIInputAngleKey); +} + +NSString kCIInputRefractionKey () +{ + if (kCIInputRefractionKey_) + return kCIInputRefractionKey_; + + return kCIInputRefractionKey_ = new NSString(bindings.kCIInputRefractionKey); +} + +NSString kCIInputWidthKey () +{ + if (kCIInputWidthKey_) + return kCIInputWidthKey_; + + return kCIInputWidthKey_ = new NSString(bindings.kCIInputWidthKey); +} + +NSString kCIInputSharpnessKey () +{ + if (kCIInputSharpnessKey_) + return kCIInputSharpnessKey_; + + return kCIInputSharpnessKey_ = new NSString(bindings.kCIInputSharpnessKey); +} + +NSString kCIInputIntensityKey () +{ + if (kCIInputIntensityKey_) + return kCIInputIntensityKey_; + + return kCIInputIntensityKey_ = new NSString(bindings.kCIInputIntensityKey); +} + +NSString kCIInputEVKey () +{ + if (kCIInputEVKey_) + return kCIInputEVKey_; + + return kCIInputEVKey_ = new NSString(bindings.kCIInputEVKey); +} + +NSString kCIInputSaturationKey () +{ + if (kCIInputSaturationKey_) + return kCIInputSaturationKey_; + + return kCIInputSaturationKey_ = new NSString(bindings.kCIInputSaturationKey); +} + +NSString kCIInputColorKey () +{ + if (kCIInputColorKey_) + return kCIInputColorKey_; + + return kCIInputColorKey_ = new NSString(bindings.kCIInputColorKey); +} + +NSString kCIInputBrightnessKey () +{ + if (kCIInputBrightnessKey_) + return kCIInputBrightnessKey_; + + return kCIInputBrightnessKey_ = new NSString(bindings.kCIInputBrightnessKey); +} + +NSString kCIInputContrastKey () +{ + if (kCIInputContrastKey_) + return kCIInputContrastKey_; + + return kCIInputContrastKey_ = new NSString(bindings.kCIInputContrastKey); +} + +NSString kCIInputGradientImageKey () +{ + if (kCIInputGradientImageKey_) + return kCIInputGradientImageKey_; + + return kCIInputGradientImageKey_ = new NSString(bindings.kCIInputGradientImageKey); +} + +NSString kCIInputMaskImageKey () +{ + if (kCIInputMaskImageKey_) + return kCIInputMaskImageKey_; + + return kCIInputMaskImageKey_ = new NSString(bindings.kCIInputMaskImageKey); +} + +NSString kCIInputShadingImageKey () +{ + if (kCIInputShadingImageKey_) + return kCIInputShadingImageKey_; + + return kCIInputShadingImageKey_ = new NSString(bindings.kCIInputShadingImageKey); +} + +NSString kCIInputTargetImageKey () +{ + if (kCIInputTargetImageKey_) + return kCIInputTargetImageKey_; + + return kCIInputTargetImageKey_ = new NSString(bindings.kCIInputTargetImageKey); +} + +NSString kCIInputExtentKey () +{ + if (kCIInputExtentKey_) + return kCIInputExtentKey_; + + return kCIInputExtentKey_ = new NSString(bindings.kCIInputExtentKey); +} + +const TCIFilterRegistry = ` + + static CIFilter filterWithName (NSString name) + { + return invokeObjcSelfClass!(CIFilter, "filterWithName:", NSString)(name); + } + + static CIFilter filterWithName_keysAndValues (ARGS...) (NSString name, ARGS args) + { + return invokeObjcSelfClass!(CIFilter, "filterWithName:keysAndValues:", NSString, ARGS)(name, args); + } + + static NSArray filterNamesInCategory (NSString category) + { + return invokeObjcSelfClass!(NSArray, "filterNamesInCategory:", NSString)(category); + } + + static NSArray filterNamesInCategories (NSArray categories) + { + return invokeObjcSelfClass!(NSArray, "filterNamesInCategories:", NSArray)(categories); + } + + static void registerFilterName (NSString name, Object anObject, NSDictionary attributes) + { + return invokeObjcSelfClass!(void, "registerFilterName:constructor:classAttributes:", NSString, Object, NSDictionary)(name, anObject, attributes); + } + + static NSString localizedNameForFilterName (NSString filterName) + { + return invokeObjcSelfClass!(NSString, "localizedNameForFilterName:", NSString)(filterName); + } + + static NSString localizedNameForCategory (NSString category) + { + return invokeObjcSelfClass!(NSString, "localizedNameForCategory:", NSString)(category); + } + + static NSString localizedDescriptionForFilterName (NSString filterName) + { + return invokeObjcSelfClass!(NSString, "localizedDescriptionForFilterName:", NSString)(filterName); + } + + static NSURL localizedReferenceDocumentationForFilterName (NSString filterName) + { + return invokeObjcSelfClass!(NSURL, "localizedReferenceDocumentationForFilterName:", NSString)(filterName); + } + + //mixin ObjcBindClassMethod!(filterWithName, "filterWithName:"); + ////mixin ObjcBindClassMethod!(filterWithName_keysAndValues, "filterWithName:keysAndValues:"); + //mixin ObjcBindClassMethod!(filterNamesInCategory, "filterNamesInCategory:"); + //mixin ObjcBindClassMethod!(filterNamesInCategories, "filterNamesInCategories:"); + //mixin ObjcBindClassMethod!(registerFilterName, "registerFilterName:constructor:classAttributes:"); + //mixin ObjcBindClassMethod!(localizedNameForFilterName, "localizedNameForFilterName:"); + //mixin ObjcBindClassMethod!(localizedNameForCategory, "localizedNameForCategory:"); + //mixin ObjcBindClassMethod!(localizedDescriptionForFilterName, "localizedDescriptionForFilterName:"); + //mixin ObjcBindClassMethod!(localizedReferenceDocumentationForFilterName, "localizedReferenceDocumentationForFilterName:"); + +`; + + +class CIFilter : NSObject, INSCoding, INSCopying +{ + 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); + } + + NSArray inputKeys () + { + return invokeObjcSelf!(NSArray, "inputKeys"); + } + + NSArray outputKeys () + { + return invokeObjcSelf!(NSArray, "outputKeys"); + } + + void setDefaults () + { + return invokeObjcSelf!(void, "setDefaults"); + } + + NSDictionary attributes () + { + return invokeObjcSelf!(NSDictionary, "attributes"); + } + + CIImage apply (CIKernel k, NSArray args, NSDictionary dict) + { + return invokeObjcSelf!(CIImage, "apply:arguments:options:", CIKernel, NSArray, NSDictionary)(k, args, dict); + } + + /*CIImage apply (CIKernel apply, ...) + { + return invokeObjcSelf!(CIImage, "apply:", CIKernel)(apply); + }*/ + + // CIRAWFilter + static CIFilter filterWithImageURL (NSURL url, NSDictionary options) + { + return invokeObjcSelfClass!(CIFilter, "filterWithImageURL:options:", NSURL, NSDictionary)(url, options); + } + + static CIFilter filterWithImageData (NSData data, NSDictionary options) + { + return invokeObjcSelfClass!(CIFilter, "filterWithImageData:options:", NSData, NSDictionary)(data, options); + } + + // CACIFilterAdditions + NSString name () + { + return invokeObjcSelf!(NSString, "name"); + } + + void name (NSString name) + { + return invokeObjcSelf!(void, "setName:", NSString)(name); + } + + alias name setName; + + bool enabled () + { + return invokeObjcSelf!(bool, "enabled"); + } + + void enabled (bool enabled) + { + return invokeObjcSelf!(void, "setEnabled:", bool)(enabled); + } + + alias enabled setEnabled; + + // CIFilterRegistry + static CIFilter filterWithName (NSString name) + { + return invokeObjcSelfClass!(CIFilter, "filterWithName:", NSString)(name); + } + + static CIFilter filterWithName_keysAndValues (ARGS...) (NSString name, ARGS args) + { + return invokeObjcSelfClass!(CIFilter, "filterWithName:keysAndValues:", NSString, ARGS)(name, args); + } + + static NSArray filterNamesInCategory (NSString category) + { + return invokeObjcSelfClass!(NSArray, "filterNamesInCategory:", NSString)(category); + } + + static NSArray filterNamesInCategories (NSArray categories) + { + return invokeObjcSelfClass!(NSArray, "filterNamesInCategories:", NSArray)(categories); + } + + static void registerFilterName (NSString name, Object anObject, NSDictionary attributes) + { + return invokeObjcSelfClass!(void, "registerFilterName:constructor:classAttributes:", NSString, Object, NSDictionary)(name, anObject, attributes); + } + + static NSString localizedNameForFilterName (NSString filterName) + { + return invokeObjcSelfClass!(NSString, "localizedNameForFilterName:", NSString)(filterName); + } + + static NSString localizedNameForCategory (NSString category) + { + return invokeObjcSelfClass!(NSString, "localizedNameForCategory:", NSString)(category); + } + + static NSString localizedDescriptionForFilterName (NSString filterName) + { + return invokeObjcSelfClass!(NSString, "localizedDescriptionForFilterName:", NSString)(filterName); + } + + static NSURL localizedReferenceDocumentationForFilterName (NSString filterName) + { + return invokeObjcSelfClass!(NSURL, "localizedReferenceDocumentationForFilterName:", NSString)(filterName); + } +} \ No newline at end of file