Table of Contents

Struct IoSurfaceRingDescriptor

Namespace
Maplibre.NativeFfi
Assembly
Maplibre.NativeFfi.dll

A ring of IOSurfaces that the library allocates, for MapHandle.AttachIoSurfaceRing().

public readonly record struct IoSurfaceRingDescriptor : IEquatable<IoSurfaceRingDescriptor>
Implements
Inherited Members

Remarks

Each surface has the map's size in pixels, logical_size times the map's scale factor, and the pixel format kCVPixelFormatType_32BGRA, which Metal names MTLPixelFormatBGRA8Unorm.

See mln_io_surface_ring_descriptor in the C API reference.

Constructors

IoSurfaceRingDescriptor(LogicalSize, uint, MetalContextDescriptor)

[SetsRequiredMembers]
public IoSurfaceRingDescriptor(LogicalSize LogicalSize, uint BufferCount, MetalContextDescriptor Context)

Parameters

LogicalSize LogicalSize
BufferCount uint
Context MetalContextDescriptor

Properties

BufferCount

How many surfaces the ring has, from 1 to 8.

public required uint BufferCount { get; init; }

Property Value

uint

Context

The MTLDevice to render with. A null device picks the system's default.

public MetalContextDescriptor Context { get; init; }

Property Value

MetalContextDescriptor

LogicalSize

public required LogicalSize LogicalSize { get; init; }

Property Value

LogicalSize