Class CIKernel

  • All Implemented Interfaces:
    NSObject
    Direct Known Subclasses:
    CIColorKernel, CIWarpKernel

    public class CIKernel
    extends NSObject
    CIKernel is an object that encapsulates a Core Image Kernel Language routine that generates a new images based on input images and agruments. General kernel functions are declared akin to this example: kernel vec4 myColorKernel (sampler fore, sampler back, vec4 params) The function must take a sampler argument for each input image. Additional arguments can be of type float, vec2, vec3, vec4, or __color. The destination pixel location is obtained by calling destCoord(). The kernel should call sample() with coordinates based on either samplerCoord() or samplerTransform() to read pixel values from input images. The function must return a vec4 pixel color.
    • Constructor Detail

      • CIKernel

        protected CIKernel​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • alloc

        public static CIKernel alloc()
      • allocWithZone

        public static CIKernel allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(@NotNull
                                                                   @NotNull java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(@NotNull
                                                                                 @NotNull java.lang.Object aTarget,
                                                                                 @NotNull
                                                                                 @NotNull org.moe.natj.objc.SEL aSelector,
                                                                                 @Nullable
                                                                                 @Nullable java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        @NotNull
        public static @NotNull NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        @NotNull
        public static @NotNull org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • kernelWithString

        @Deprecated
        public static CIKernel kernelWithString​(@NotNull
                                                @NotNull java.lang.String string)
        Deprecated.
        The string argument should contain a program with one kernel. On OSX 10.10 and before, this returns a CIKernel object. On OSX after 10.10, this returns a CIKernel, CIColorKernel, or CIWarpKernel object. On iOS this returns a CIKernel, CIColorKernel, or CIWarpKernel object. API-Since: 8.0 Deprecated-Since: 12.0 Deprecated-Message: Core Image Kernel Language API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)
      • kernelsWithString

        @Nullable
        @Deprecated
        public static @Nullable NSArray<? extends CIKernel> kernelsWithString​(@NotNull
                                                                              @NotNull java.lang.String string)
        Deprecated.
        The string argument should contain a program in the Core Image Kernel Language. All the kernel functions in the program are converted to instances of a CIKernel objects and returned in an array. On OSX 10.10 and before, the array will contain instances of CIKernel class. On OSX after 10.10, the array will contain instances of CIKernel, CIColorKernel or CIWarpKernel classes. On iOS, the array will contain instances of CIKernel, CIColorKernel or CIWarpKernel classes. API-Since: 8.0 Deprecated-Since: 12.0 Deprecated-Message: Core Image Kernel Language API deprecated. (Define CI_SILENCE_GL_DEPRECATION to silence these warnings)
      • keyPathsForValuesAffectingValueForKey

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • new_objc

        public static CIKernel new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • applyWithExtentRoiCallbackArguments

        @Nullable
        public @Nullable CIImage applyWithExtentRoiCallbackArguments​(CGRect extent,
                                                                     @NotNull
                                                                     @NotNull CIKernel.Block_applyWithExtentRoiCallbackArguments callback,
                                                                     @Nullable
                                                                     @Nullable NSArray<?> args)
        Apply the receiver CIKernel to produce a new CIImage object. The 'extent' is the bounding box of all non-clear pixels produced by the kernel. The 'callback' is a block that should return the rectangle of each input image that is needed to produce a given rectangle in the coordinate space of the new image. The 'args' is an array of parameters needed to describe the new image. The object types of the items in the array correspond to the argument types of the kernel function. For example, if the first argument in the kernel is a sampler, then the first object in the array must be a CIImage. API-Since: 8.0
      • name

        @NotNull
        public @NotNull java.lang.String name()
        The name of the kernel. API-Since: 8.0
      • setROISelector

        public void setROISelector​(@NotNull
                                   @NotNull org.moe.natj.objc.SEL method)
        Sets the selector used by Core Image to ask what rectangles of a kernel's input images are needed to produce a desired rectangle of the kernel's output image. Using setROISelector: is suppoted but not recommended. The selector is only used if one the [CIFilter apply:...] methods is used. Instead, use one of the [CIKernel applyWithExtent:roiCallback:...] methods. The method should have one of the following signatures: - (CGRect)regionOf:(int)samplerIndex destRect:(CGRect)r userInfo:obj; - (CGRect)regionOf:(int)samplerIndex destRect:(CGRect)r; 'samplerIndex' is the 0-based index specifying which of the kernel's input images is being queried. 'destRect' is the extent rectangle of kernel's output image being queried. 'userInfo' is the object associated with the kCIApplyOptionUserInfo when the kernel was applied. The method should return the rectangle of the index'th input image that is needed to produce destRect. Returning CGRectNull indicates that the index'th input image is not needed to produce destRect. API-Since: 9.0
      • kernelWithFunctionNameFromMetalLibraryDataError

        public static CIKernel kernelWithFunctionNameFromMetalLibraryDataError​(@NotNull
                                                                               @NotNull java.lang.String name,
                                                                               @NotNull
                                                                               @NotNull NSData data,
                                                                               @Nullable
                                                                               @Nullable org.moe.natj.general.ptr.Ptr<NSError> error)
        The data argument should represent a metallib file compiled with the Core Image Standard Library and contain the given function written in the Metal Shading Language. An optional output pixel format can be specified, and would be used if the output of the kernel needs to be written to an intermediate texture. API-Since: 11.0
      • kernelWithFunctionNameFromMetalLibraryDataOutputPixelFormatError

        public static CIKernel kernelWithFunctionNameFromMetalLibraryDataOutputPixelFormatError​(@NotNull
                                                                                                @NotNull java.lang.String name,
                                                                                                @NotNull
                                                                                                @NotNull NSData data,
                                                                                                int format,
                                                                                                @Nullable
                                                                                                @Nullable org.moe.natj.general.ptr.Ptr<NSError> error)
        API-Since: 11.0
      • kernelNamesFromMetalLibraryData

        @NotNull
        public static @NotNull NSArray<java.lang.String> kernelNamesFromMetalLibraryData​(@NotNull
                                                                                         @NotNull NSData data)
        This method will return an array of strings corresponding to names of all of the kernels contained within the underlying Metal library in the associated NSData. API-Since: 14.0
      • kernelsWithMetalStringError

        @Nullable
        public static @Nullable NSArray<? extends CIKernel> kernelsWithMetalStringError​(@NotNull
                                                                                        @NotNull java.lang.String source,
                                                                                        @Nullable
                                                                                        @Nullable org.moe.natj.general.ptr.Ptr<NSError> error)
        The string argument should contain a program in the Metal Language. CIKernel objects will be returned for each valid Metal function. To be valid, the Metal function must be stitchable (i.e. attributed using [[stitchable]]) and conform to the expected calling conventions for a CIKernel, CIColorKernel, CIBlendKernel, or CIWarpKernel. The array will contain instances of CIKernel, CIColorKernel or CIWarpKernel classes. The kernels will only be usable on Metal-backed CIContext on a device that 'supportsDynamicLibraries' API-Since: 15.0
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.