Share via


IMTLDrawable Interface

Definition

Interface definition for objects that can receive rendering commands.

[Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V44) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")]
public interface IMTLDrawable : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V29) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")]
public interface IMTLDrawable : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V37) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")]
public interface IMTLDrawable : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V20) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")]
public interface IMTLDrawable : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V44) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")>]
type IMTLDrawable = interface
    interface INativeObject
    interface IDisposable
[<Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V29) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")>]
type IMTLDrawable = interface
    interface INativeObject
    interface IDisposable
[<Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V37) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")>]
type IMTLDrawable = interface
    interface INativeObject
    interface IDisposable
[<Foundation.Protocol(Name="MTLDrawable", WrapperType=typeof(Metal.MTLDrawableWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", Selector="present")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Present", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAtTime:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PresentAfter", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Double) }, Selector="presentAfterMinimumDuration:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="presentedTime", IsProperty=true, IsRequired=true, IsStatic=false, Name="PresentedTime", PropertyType=typeof(System.Double), Selector="presentedTime")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="drawableID", IsProperty=true, IsRequired=true, IsStatic=false, Name="DrawableId", PropertyType=typeof(System.UIntPtr), Selector="drawableID")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddPresentedHandler", ParameterBlockProxy=new System.Type[] { typeof(ObjCRuntime.Trampolines+NIDActionArity1V20) }, ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.Action<Metal.IMTLDrawable>) }, Selector="addPresentedHandler:")>]
type IMTLDrawable = interface
    interface INativeObject
    interface IDisposable
Derived
Attributes
Implements

Properties

Name Description
DrawableId

Returns the positive integer that identifies the drawable.

Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)
PresentedTime

Returns the time, in seconds, when the host displayed this drawable.

Methods

Name Description
AddPresentedHandler(Action<IMTLDrawable>)

Causes the provided block to be run after the drawable is displayed.

Present()
Present(Double)
PresentAfter(Double)

Causes the drawable to be presented at least duration seconds after the previous drawable has been presented.

Extension Methods

Name Description
GetHandle(INativeObject)
GetNonNullHandle(INativeObject, String)

Applies to

See also