Class MTKView

    • Constructor Detail

      • MTKView

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

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • alloc

        public static MTKView alloc()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • appearance

        public static java.lang.Object appearance()
      • appearanceForTraitCollection

        public static java.lang.Object appearanceForTraitCollection​(UITraitCollection trait)
      • appearanceForTraitCollectionWhenContainedIn

        @Deprecated
        public static java.lang.Object appearanceForTraitCollectionWhenContainedIn​(UITraitCollection trait,
                                                                                   UIAppearanceContainer ContainerClass,
                                                                                   java.lang.Object... varargs)
        Deprecated.
      • appearanceForTraitCollectionWhenContainedInInstancesOfClasses

        public static java.lang.Object appearanceForTraitCollectionWhenContainedInInstancesOfClasses​(UITraitCollection trait,
                                                                                                     NSArray<?> containerTypes)
      • appearanceWhenContainedIn

        @Deprecated
        public static java.lang.Object appearanceWhenContainedIn​(UIAppearanceContainer ContainerClass,
                                                                 java.lang.Object... varargs)
        Deprecated.
      • appearanceWhenContainedInInstancesOfClasses

        public static java.lang.Object appearanceWhenContainedInInstancesOfClasses​(NSArray<?> containerTypes)
      • areAnimationsEnabled

        public static boolean areAnimationsEnabled()
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • beginAnimationsContext

        public static void beginAnimationsContext​(java.lang.String animationID,
                                                  org.moe.natj.general.ptr.VoidPtr context)
      • cancelPreviousPerformRequestsWithTarget

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

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

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

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • clearTextInputContextIdentifier

        public static void clearTextInputContextIdentifier​(java.lang.String identifier)
      • commitAnimations

        public static void commitAnimations()
      • 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()
      • inheritedAnimationDuration

        public static double inheritedAnimationDuration()
      • 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)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • layerClass

        public static org.moe.natj.objc.Class layerClass()
      • new_objc

        public static java.lang.Object new_objc()
      • requiresConstraintBasedLayout

        public static boolean requiresConstraintBasedLayout()
      • resolveClassMethod

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

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

        public static void setAnimationBeginsFromCurrentState​(boolean fromCurrentState)
      • setAnimationCurve

        public static void setAnimationCurve​(long curve)
      • setAnimationDelay

        public static void setAnimationDelay​(double delay)
      • setAnimationDelegate

        public static void setAnimationDelegate​(java.lang.Object delegate)
      • setAnimationDidStopSelector

        public static void setAnimationDidStopSelector​(org.moe.natj.objc.SEL selector)
      • setAnimationDuration_static

        public static void setAnimationDuration_static​(double duration)
      • setAnimationRepeatAutoreverses

        public static void setAnimationRepeatAutoreverses​(boolean repeatAutoreverses)
      • setAnimationRepeatCount_static

        public static void setAnimationRepeatCount_static​(float repeatCount)
      • setAnimationStartDate

        public static void setAnimationStartDate​(NSDate startDate)
      • setAnimationTransitionForViewCache

        public static void setAnimationTransitionForViewCache​(long transition,
                                                              UIView view,
                                                              boolean cache)
      • setAnimationWillStartSelector

        public static void setAnimationWillStartSelector​(org.moe.natj.objc.SEL selector)
      • setAnimationsEnabled

        public static void setAnimationsEnabled​(boolean enabled)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

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

        public static long userInterfaceLayoutDirectionForSemanticContentAttribute​(long attribute)
      • userInterfaceLayoutDirectionForSemanticContentAttributeRelativeToLayoutDirection

        public static long userInterfaceLayoutDirectionForSemanticContentAttributeRelativeToLayoutDirection​(long semanticContentAttribute,
                                                                                                            long layoutDirection)
      • version_static

        public static long version_static()
      • actionForLayerForKey

        public CAAction actionForLayerForKey​(CALayer layer,
                                             java.lang.String event)
        Description copied from interface: CALayerDelegate
        If defined, called by the default implementation of the -actionForKey: method. Should return an object implementing the CAAction protocol. May return 'nil' if the delegate doesn't specify a behavior for the current event. Returning the null object (i.e. '[NSNull null]') explicitly forces no further search. (I.e. the +defaultActionForKey: method will not be called.)
        Specified by:
        actionForLayerForKey in interface CALayerDelegate
        Overrides:
        actionForLayerForKey in class UIView
      • _appearance

        public java.lang.Object _appearance()
        Description copied from interface: UIAppearance
        To customize the appearance of all instances of a class, send the relevant appearance modification messages to the appearance proxy for the class. For example, to modify the bar tint color for all UINavigationBar instances: [[UINavigationBar appearance] setBarTintColor:myColor]; Note for iOS7: On iOS7 the tintColor property has moved to UIView, and now has special inherited behavior described in UIView.h. This inherited behavior can conflict with the appearance proxy, and therefore tintColor is now disallowed with the appearance proxy.
        Specified by:
        _appearance in interface UIAppearance
        Overrides:
        _appearance in class UIView
      • _appearanceWhenContainedIn

        @Deprecated
        public java.lang.Object _appearanceWhenContainedIn​(UIAppearanceContainer ContainerClass,
                                                           java.lang.Object... varargs)
        Deprecated.
        Description copied from interface: UIAppearance
        To customize the appearances for instances of a class contained within an instance of a container class, or instances in a hierarchy, use +appearanceWhenContainedInInstancesOfClasses: for the appropriate appearance proxy. For example: [[UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[UISplitViewController class]]] setBarTintColor:myColor]; [[UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[UITabBarController class], [UISplitViewController class]]] setBarTintColor:myTabbedNavBarColor]; In any given view hierarchy the outermost appearance proxy wins. Specificity (depth of the chain) is the tie-breaker. In other words, the containment statement is treated as a partial ordering. Given a concrete ordering (actual subview hierarchy), we select the partial ordering that is the first unique match when reading the actual hierarchy from the window down.
        Specified by:
        _appearanceWhenContainedIn in interface UIAppearance
        Overrides:
        _appearanceWhenContainedIn in class UIView
      • autoResizeDrawable

        public boolean autoResizeDrawable()
        [@property] autoResizeDrawable Controls whether to resize the drawable as the view changes size. If true, the size of the currentDrawable's texture, depthStencilTexture, and multisampleColorTexture will automatically resize as the view resizes. If false, these textures will take on the size of drawableSize and drawableSize will not change. The default value is true.
      • clearColor

        public MTLClearColor clearColor()
        [@property] clearColor The clear color value used to generate the currentRenderPassDescriptor This defaults to (0.0, 0.0, 0.0, 1.0)
      • clearDepth

        public double clearDepth()
        [@property] clearDepth The clear depth value used to generate the currentRenderPassDescriptor This defaults to 1.0
      • clearStencil

        public int clearStencil()
        [@property] clearStencil The clear stencil value used to generate currentRenderPassDescriptor This defaults to 0
      • colorPixelFormat

        public long colorPixelFormat()
        [@property] colorPixelFormat The pixelFormat for the drawable's texture.
      • currentDrawable

        public CAMetalDrawable currentDrawable()
        [@property] currentDrawable The drawable to be used for the current frame. currentDrawable is updated at the end -draw (i.e. after the delegate's drawInMTKView method is called)
      • currentRenderPassDescriptor

        public MTLRenderPassDescriptor currentRenderPassDescriptor()
        [@property] currentRenderPassDescriptor A render pass descriptor generated from the currentDrawable's texture and the view's depth, stencil, and sample buffers and clear values. This is a convience property. The view does not use this descriptor and there is no requirement for an app to use this descriptor.
      • delegate

        public MTKViewDelegate delegate()
        [@property] delegate The delegate handling common view operations
      • depthStencilPixelFormat

        public long depthStencilPixelFormat()
        [@property] depthStencilPixelFormat The pixelFormat used to create depthStencilTexture
      • depthStencilTexture

        public MTLTexture depthStencilTexture()
        [@property] depthStencilTexture A packed depth and stencil texture to be attached to a MTLRenderPassDescriptor The view will generate the depth buffer using the specified depthPixelFormat. This will be nil if depthStencilPixelFormat is MTLPixelFormatInvalid.
      • device

        public MTLDevice device()
        [@property] device The MTLDevice used to create Metal objects This must be explicitly set by the application unless it was passed into the initializer. Defaults to nil
      • displayLayer

        public void displayLayer​(CALayer layer)
        Description copied from interface: CALayerDelegate
        If defined, called by the default implementation of the -display method, in which case it should implement the entire display process (typically by setting the `contents' property).
        Specified by:
        displayLayer in interface CALayerDelegate
        Overrides:
        displayLayer in class UIView
      • draw

        public void draw()
        draw Manually ask the view to draw new contents. This causes the view to call either the drawInMTKView (delegate) or drawRect (subclass) method. Manually ask the view to draw new contents. This causes the view to call either the drawInMTKView (delegate) or drawRect (subclass) method. This should be used when the view's paused proprety is set to true and enableSetNeedsDisplay is set to false.
      • drawableSize

        public CGSize drawableSize()
        [@property] drawableSize The current size of drawable textures The size currentDrawable's texture, depthStencilTexture, and multisampleColorTexture. If autoResizeDrawable is true this value will be updated as the view's size changes. If autoResizeDrawable is false, this can be set to fix the size of the drawable textures.
      • enableSetNeedsDisplay

        public boolean enableSetNeedsDisplay()
        [@property] enableSetNeedsDisplay Controls whether the view responds to setNeedsDisplay. If true, then the view behaves similarily to a UIView or NSView, responding to calls to setNeedsDisplay. When the view has been marked for display, the view is automatically redisplayed on each pass through the application’s event loop. Setting enableSetNeedsDisplay to true will also pause the MTKView's internal render loop and updates will instead be event driven. The default value is false.
      • framebufferOnly

        public boolean framebufferOnly()
        [@property] framebufferOnly If the currentDrawable can be used for sampling or texture read operations This defaults to YES. This property controls whether or not the returned drawables' MTLTextures may only be used for framebuffer attachments (YES) or whether they may also be used for texture sampling and pixel read/write operations (NO). A value of YES allows the CAMetalLayer to allocate the MTLTexture objects in ways that are optimized for display purposes that makes them unsuitable for sampling. The recommended value for most applications is YES.
      • initWithFrameDevice

        public MTKView initWithFrameDevice​(CGRect frameRect,
                                           MTLDevice device)
        initWithFrame:device Initalize the view with a frame and device
        Parameters:
        frameRect - The frame rectangle for the created view object.
        device - The MTLDevice to be used by the view to create Metal objects
      • isPaused

        public boolean isPaused()
        [@property] paused Controls whether the draw methods should countinue at preferredFramesPerSecond If true, the delegate will receive drawInMTKView: messages or the subclass will receive drawRect: messages at a rate of preferredFramesPerSecond based on an internal timer. The default value is false.
      • setPaused

        public void setPaused​(boolean value)
        [@property] paused Controls whether the draw methods should countinue at preferredFramesPerSecond If true, the delegate will receive drawInMTKView: messages or the subclass will receive drawRect: messages at a rate of preferredFramesPerSecond based on an internal timer. The default value is false.
      • layerWillDraw

        public void layerWillDraw​(CALayer layer)
        Description copied from interface: CALayerDelegate
        If defined, called by the default implementation of the -display method. Allows the delegate to configure any layer state affecting contents prior to -drawLayer:InContext: such as `contentsFormat' and `opaque'. It will not be called if the delegate implements -displayLayer.
        Specified by:
        layerWillDraw in interface CALayerDelegate
        Overrides:
        layerWillDraw in class UIView
      • multisampleColorTexture

        public MTLTexture multisampleColorTexture()
        [@property] multisampleColorTexture A multisample color texture that will be resolved into the currentDrawable's texture The view will generate the multisample color buffer using the specified colorPixelFormat. This will be nil if sampleCount is less than or equal to 1.
      • preferredFramesPerSecond

        public long preferredFramesPerSecond()
        [@property] preferredFramesPerSecond The rate you want the view to redraw its contents. When your application sets its preferred frame rate, the view chooses a frame rate as close to that as possible based on the capabilities of the screen the view is displayed on. The actual frame rate chosen is usually a factor of the maximum refresh rate of the screen to provide a consistent frame rate. For example, if the maximum refresh rate of the screen is 60 frames per second, that is also the highest frame rate the view sets as the actual frame rate. However, if you ask for a lower frame rate, it might choose 30, 20, 15 or some other factor to be the actual frame rate. Your application should choose a frame rate that it can consistently maintain. The default value is 60 frames per second.
      • presentsWithTransaction

        public boolean presentsWithTransaction()
        [@property] presentsWithTransaction If the layer should be presented synchronously Defaults to NO. When NO, changes to the layer's render buffer appear on-screen asynchronously to normal layer updates. When YES, changes to the MTL content are sent to the screen via the standard CATransaction mechanisms.
      • releaseDrawables

        public void releaseDrawables()
        releaseDrawables Release the depthStencilTexture and multisampleColorTexture Can be called by the app to release the textures in order to conserve memory when it goes into the background. The view will recreate multisampleColorTexture or depthStencilTexture upon the next access of the respective properties. Both multisampleColorTexture and depthStencilTexture will be recreated in the access to currentRenderPassDescriptor.
      • sampleCount

        public long sampleCount()
        [@property] sampleCount The sample count used to to create multisampleColorTexture This defaults to 1. If sampleCount is greater than 1 a multisampled color texture will be created and the currentDrawable's texture will be set as the resolve texture in the currentRenderPassDescriptor and the store action will be set to MTLStoreActionMultisampleResolve
      • setAutoResizeDrawable

        public void setAutoResizeDrawable​(boolean value)
        [@property] autoResizeDrawable Controls whether to resize the drawable as the view changes size. If true, the size of the currentDrawable's texture, depthStencilTexture, and multisampleColorTexture will automatically resize as the view resizes. If false, these textures will take on the size of drawableSize and drawableSize will not change. The default value is true.
      • setClearColor

        public void setClearColor​(MTLClearColor value)
        [@property] clearColor The clear color value used to generate the currentRenderPassDescriptor This defaults to (0.0, 0.0, 0.0, 1.0)
      • setClearDepth

        public void setClearDepth​(double value)
        [@property] clearDepth The clear depth value used to generate the currentRenderPassDescriptor This defaults to 1.0
      • setClearStencil

        public void setClearStencil​(int value)
        [@property] clearStencil The clear stencil value used to generate currentRenderPassDescriptor This defaults to 0
      • setColorPixelFormat

        public void setColorPixelFormat​(long value)
        [@property] colorPixelFormat The pixelFormat for the drawable's texture.
      • setDelegate_unsafe

        public void setDelegate_unsafe​(MTKViewDelegate value)
        [@property] delegate The delegate handling common view operations
      • setDelegate

        public void setDelegate​(MTKViewDelegate value)
        [@property] delegate The delegate handling common view operations
      • setDepthStencilPixelFormat

        public void setDepthStencilPixelFormat​(long value)
        [@property] depthStencilPixelFormat The pixelFormat used to create depthStencilTexture
      • setDevice

        public void setDevice​(MTLDevice value)
        [@property] device The MTLDevice used to create Metal objects This must be explicitly set by the application unless it was passed into the initializer. Defaults to nil
      • setDrawableSize

        public void setDrawableSize​(CGSize value)
        [@property] drawableSize The current size of drawable textures The size currentDrawable's texture, depthStencilTexture, and multisampleColorTexture. If autoResizeDrawable is true this value will be updated as the view's size changes. If autoResizeDrawable is false, this can be set to fix the size of the drawable textures.
      • setEnableSetNeedsDisplay

        public void setEnableSetNeedsDisplay​(boolean value)
        [@property] enableSetNeedsDisplay Controls whether the view responds to setNeedsDisplay. If true, then the view behaves similarily to a UIView or NSView, responding to calls to setNeedsDisplay. When the view has been marked for display, the view is automatically redisplayed on each pass through the application’s event loop. Setting enableSetNeedsDisplay to true will also pause the MTKView's internal render loop and updates will instead be event driven. The default value is false.
      • setFramebufferOnly

        public void setFramebufferOnly​(boolean value)
        [@property] framebufferOnly If the currentDrawable can be used for sampling or texture read operations This defaults to YES. This property controls whether or not the returned drawables' MTLTextures may only be used for framebuffer attachments (YES) or whether they may also be used for texture sampling and pixel read/write operations (NO). A value of YES allows the CAMetalLayer to allocate the MTLTexture objects in ways that are optimized for display purposes that makes them unsuitable for sampling. The recommended value for most applications is YES.
      • setPreferredFramesPerSecond

        public void setPreferredFramesPerSecond​(long value)
        [@property] preferredFramesPerSecond The rate you want the view to redraw its contents. When your application sets its preferred frame rate, the view chooses a frame rate as close to that as possible based on the capabilities of the screen the view is displayed on. The actual frame rate chosen is usually a factor of the maximum refresh rate of the screen to provide a consistent frame rate. For example, if the maximum refresh rate of the screen is 60 frames per second, that is also the highest frame rate the view sets as the actual frame rate. However, if you ask for a lower frame rate, it might choose 30, 20, 15 or some other factor to be the actual frame rate. Your application should choose a frame rate that it can consistently maintain. The default value is 60 frames per second.
      • setPresentsWithTransaction

        public void setPresentsWithTransaction​(boolean value)
        [@property] presentsWithTransaction If the layer should be presented synchronously Defaults to NO. When NO, changes to the layer's render buffer appear on-screen asynchronously to normal layer updates. When YES, changes to the MTL content are sent to the screen via the standard CATransaction mechanisms.
      • setSampleCount

        public void setSampleCount​(long value)
        [@property] sampleCount The sample count used to to create multisampleColorTexture This defaults to 1. If sampleCount is greater than 1 a multisampled color texture will be created and the currentDrawable's texture will be set as the resolve texture in the currentRenderPassDescriptor and the store action will be set to MTLStoreActionMultisampleResolve
      • depthStencilAttachmentTextureUsage

        public long depthStencilAttachmentTextureUsage()
        [@property] depthStencilAttachmentTextureUsage The usage flags set on the depth attachment. This property controls the texture usage flags set on the MTKView's depth-stencil attachment on creation. This value defaults to MTLTextureUsageRenderTarget. The recommended value for most applications is MTLTextureUsageRenderTarget. Changing this value re-creates the depth attachment, but any data currently in the depth attachment will be lost.
      • multisampleColorAttachmentTextureUsage

        public long multisampleColorAttachmentTextureUsage()
        [@property] multisampleColorAttachmentTextureUsage The texture usage flags for the multisample color attachment. This property controls the texture usage flags set on the the multisample color attachment attachment. This value defaults to MTLTextureUsageRenderTarget. The recommended value for most applications is MTLTextureUsageRenderTarget. Changing this value re-creates the multisample color attachment, but any data currently in the multisample color attachment will be lost.
      • preferredDevice

        public MTLDevice preferredDevice()
        [@property] preferredDevice The preferred device is updated per-frame by the system in order to identify the most efficient GPU for presentation (e.g. the one being used for compositing). This value is determined by the underlying CAMetalLayer and this property is a convenience accessor for it.
      • preferredDrawableSize

        public CGSize preferredDrawableSize()
        [@property] preferredDrawableSize The preferred drawable size reported by the backing NSView to match a NSView's native resolution. this value can be observed via key-value observation to determine if the current native drawable size has changed.
      • setDepthStencilAttachmentTextureUsage

        public void setDepthStencilAttachmentTextureUsage​(long value)
        [@property] depthStencilAttachmentTextureUsage The usage flags set on the depth attachment. This property controls the texture usage flags set on the MTKView's depth-stencil attachment on creation. This value defaults to MTLTextureUsageRenderTarget. The recommended value for most applications is MTLTextureUsageRenderTarget. Changing this value re-creates the depth attachment, but any data currently in the depth attachment will be lost.
      • setMultisampleColorAttachmentTextureUsage

        public void setMultisampleColorAttachmentTextureUsage​(long value)
        [@property] multisampleColorAttachmentTextureUsage The texture usage flags for the multisample color attachment. This property controls the texture usage flags set on the the multisample color attachment attachment. This value defaults to MTLTextureUsageRenderTarget. The recommended value for most applications is MTLTextureUsageRenderTarget. Changing this value re-creates the multisample color attachment, but any data currently in the multisample color attachment will be lost.