Method
MaplibreNativeFfiMapattach_wayland_surface
Declaration [src]
MaplibreNativeFfiRenderSession*
maplibre_native_ffi_map_attach_wayland_surface (
MaplibreNativeFfiMap* self,
MaplibreNativeFfiWaylandSurfaceDescriptor* descriptor,
MaplibreNativeFfiVulkanDevice* device,
MaplibreNativeFfiRenderSessionAttachOptions* options,
GError** error
)
Description [src]
Creates a session that presents the map to a Wayland surface, with a graphics context that the library creates.
A Vulkan build presents with device, or, when device is null, with a
device that the library creates. An OpenGL build uses an EGL context on the
display, and device must be null. Attach with
MAPLIBRE_NATIVE_FFI_RENDER_DRIVER_CORE_WORKER.
The session presents without waiting for the compositor, so demand at most one frame per display refresh.
Keep the surface until a release or replacement of the target, or a detach of the session, completes. Keep the display connected until the session’s detach completes. In an OpenGL build, if you also use EGL on the display, initialize it before you attach.
The object is ready once maplibre_native_ffi_render_session_ready_async
finishes, which fails with the errors that the completion reports.
See mln_map_attach_wayland_surface in the
C API reference.
It fails with these errors:
MAPLIBRE_NATIVE_FFI_ERROR_UNSUPPORTEDwhen you createddevicewithoutMaplibreNativeFfiVulkanDeviceOptions:presentation.MAPLIBRE_NATIVE_FFI_ERROR_UNSUPPORTEDwhen the GPU or the Vulkan loader can’t present to Wayland.MAPLIBRE_NATIVE_FFI_ERROR_NATIVE_ERRORwhen the library can’t create the graphics context or present to the surface.
Parameters
descriptor-
Type:
MaplibreNativeFfiWaylandSurfaceDescriptorNo description available.
The data is owned by the caller of the method. device-
Type:
MaplibreNativeFfiVulkanDeviceThe handle, or
NULL.The argument can be NULL.The data is owned by the caller of the method. options-
Type:
MaplibreNativeFfiRenderSessionAttachOptionsNo description available.
The data is owned by the caller of the method. error-
Type:
GError **The return location for a recoverable error.
The argument can be NULL.If the return location is not NULL, then you must initialize it to aNULLGError*.The argument will be left initialized to NULLby the method if there are no errors.In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.
Return value
Type: MaplibreNativeFfiRenderSession
The new object, or NULL with error set.
| The caller of the method takes ownership of the returned data, and is responsible for freeing it. |