Documentation ¶
Overview ¶
Package ca provides access to Apple's Core Animation API (https://developer.apple.com/documentation/quartzcore).
This package is in very early stages of development. It's a minimal implementation with scope limited to supporting the movingtriangle example.
Index ¶
- type Layer
- type MetalDrawable
- type MetalLayer
- func (ml MetalLayer) Layer() unsafe.Pointer
- func (ml MetalLayer) NextDrawable() (MetalDrawable, error)
- func (ml MetalLayer) PixelFormat() mtl.PixelFormat
- func (ml MetalLayer) PresentsWithTransaction() bool
- func (ml MetalLayer) SetDevice(device mtl.Device)
- func (ml MetalLayer) SetDisplaySyncEnabled(enabled bool)
- func (ml MetalLayer) SetDrawableSize(width, height int)
- func (ml MetalLayer) SetFramebufferOnly(framebufferOnly bool)
- func (ml MetalLayer) SetMaximumDrawableCount(count int)
- func (ml MetalLayer) SetOpaque(opaque bool)
- func (ml MetalLayer) SetPixelFormat(pf mtl.PixelFormat)
- func (ml MetalLayer) SetPresentsWithTransaction(presentsWithTransaction bool)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Layer ¶
Layer is an object that manages image-based content and allows you to perform animations on that content.
Reference: https://developer.apple.com/documentation/quartzcore/calayer.
type MetalDrawable ¶
type MetalDrawable struct {
// contains filtered or unexported fields
}
MetalDrawable is a displayable resource that can be rendered or written to by Metal.
Reference: https://developer.apple.com/documentation/quartzcore/cametaldrawable.
func (MetalDrawable) Drawable ¶
func (md MetalDrawable) Drawable() unsafe.Pointer
Drawable implements the mtl.Drawable interface.
func (MetalDrawable) Present ¶ added in v2.2.0
func (md MetalDrawable) Present()
Present presents the drawable onscreen as soon as possible.
Reference: https://developer.apple.com/documentation/metal/mtldrawable/1470284-present.
func (MetalDrawable) Texture ¶
func (md MetalDrawable) Texture() mtl.Texture
Texture returns a Metal texture object representing the drawable object's content.
Reference: https://developer.apple.com/documentation/quartzcore/cametaldrawable/1478159-texture.
type MetalLayer ¶
type MetalLayer struct {
// contains filtered or unexported fields
}
MetalLayer is a Core Animation Metal layer, a layer that manages a pool of Metal drawables.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer.
func MakeMetalLayer ¶
func MakeMetalLayer() (MetalLayer, error)
MakeMetalLayer creates a new Core Animation Metal layer.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer.
func (MetalLayer) Layer ¶
func (ml MetalLayer) Layer() unsafe.Pointer
Layer implements the Layer interface.
func (MetalLayer) NextDrawable ¶
func (ml MetalLayer) NextDrawable() (MetalDrawable, error)
NextDrawable returns a Metal drawable.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/1478172-nextdrawable.
func (MetalLayer) PixelFormat ¶
func (ml MetalLayer) PixelFormat() mtl.PixelFormat
PixelFormat returns the pixel format of textures for rendering layer content.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/1478155-pixelformat.
func (MetalLayer) PresentsWithTransaction ¶ added in v2.2.0
func (ml MetalLayer) PresentsWithTransaction() bool
PresentsWithTransaction returns a Boolean value that determines whether the layer presents its content using a Core Animation transaction.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/1478157-presentswithtransaction
func (MetalLayer) SetDevice ¶
func (ml MetalLayer) SetDevice(device mtl.Device)
SetDevice sets the Metal device responsible for the layer's drawable resources.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/1478163-device.
func (MetalLayer) SetDisplaySyncEnabled ¶
func (ml MetalLayer) SetDisplaySyncEnabled(enabled bool)
SetDisplaySyncEnabled controls whether the Metal layer and its drawables are synchronized with the display's refresh rate.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/2887087-displaysyncenabled.
func (MetalLayer) SetDrawableSize ¶
func (ml MetalLayer) SetDrawableSize(width, height int)
SetDrawableSize sets the size, in pixels, of textures for rendering layer content.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/1478174-drawablesize.
func (MetalLayer) SetFramebufferOnly ¶ added in v2.2.0
func (ml MetalLayer) SetFramebufferOnly(framebufferOnly bool)
SetFramebufferOnly sets a Boolean value that determines whether the layer’s textures are used only for rendering.
https://developer.apple.com/documentation/quartzcore/cametallayer/1478168-framebufferonly
func (MetalLayer) SetMaximumDrawableCount ¶
func (ml MetalLayer) SetMaximumDrawableCount(count int)
SetMaximumDrawableCount controls the number of Metal drawables in the resource pool managed by Core Animation.
It can set to 2 or 3 only. SetMaximumDrawableCount panics for other values.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/2938720-maximumdrawablecount.
func (MetalLayer) SetOpaque ¶
func (ml MetalLayer) SetOpaque(opaque bool)
SetOpaque a Boolean value indicating whether the layer contains completely opaque content.
func (MetalLayer) SetPixelFormat ¶
func (ml MetalLayer) SetPixelFormat(pf mtl.PixelFormat)
SetPixelFormat controls the pixel format of textures for rendering layer content.
The pixel format for a Metal layer must be PixelFormatBGRA8UNorm, PixelFormatBGRA8UNormSRGB, PixelFormatRGBA16Float, PixelFormatBGRA10XR, or PixelFormatBGRA10XRSRGB. SetPixelFormat panics for other values.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/1478155-pixelformat.
func (MetalLayer) SetPresentsWithTransaction ¶ added in v2.2.0
func (ml MetalLayer) SetPresentsWithTransaction(presentsWithTransaction bool)
SetPresentsWithTransaction sets a Boolean value that determines whether the layer presents its content using a Core Animation transaction.
Reference: https://developer.apple.com/documentation/quartzcore/cametallayer/1478157-presentswithtransaction