Package-level declarations
Types
Error for a loaded native library with an unsupported C ABI version. The status is Status.UNSUPPORTED.
A rendered frame that the caller holds to read or show.
How a gesture's zoom, bearing, or pitch keeps changing after release.
Borrowed JNI reference to an Android android.content.Context.
The Android hardware buffer of an acquired frame.
A ring of Android hardware buffers that the library allocates, for MapHandle.attachAndroidHardwareBufferRing().
Borrowed JNI environment address for the current Android host thread.
An Android window to present to, for MapHandle.attachAndroidSurface().
A new Android window for RenderSessionHandle.setAndroidSurfaceTarget().
How a camera change animates.
An owner whose native release completes asynchronously.
Limits on the camera, for MapHandle.setBounds().
A maintenance action on a runtime's cache database.
Reports an exception that a native callback threw, which native cannot receive. Native receives the callback's failure value instead, and the binding hands this exception to the platform's handler for exceptions that no caller can receive.
All the limits on a map's camera.
Whether a camera change jumps or animates.
What moved the camera.
A change to the camera from where it is now, for gestures.
Options for finding the camera that fits an area.
A camera change that fits an area, for MapHandle.fitCameraToLatLngBounds() and the other fit commands.
A camera, with only the members that fields selects.
A map's camera, with the snapshot generation that it matches.
The end of a camera change.
Receives the end of a camera change.
A callback for the end of a camera change, for AnimationOptions.
How a camera change ended.
A camera change for MapHandle.updateCamera().
How a camera command moves the camera.
How fast each part of a camera change moves.
A tile's zoom level z, column x, and row y, with row 0 at the north.
The generations that one committed ordered command published.
The result of an asynchronous call, which the library completes once.
The result of an asynchronous call, which the library completes once.
The result of an asynchronous call, which the library completes once.
The result of an asynchronous call, which the library completes once.
How the map keeps the camera within the world or within its bounds.
The callbacks and options of a custom geometry source.
Reports that a custom source no longer needs a tile.
Asks for the data of a tile in a custom source.
The callbacks and options of a custom vector source.
A DRM format and modifier that you can import.
The dmabuf of an acquired frame.
Where one plane of a dmabuf keeps its data.
A ring of dmabufs that the library allocates, for MapHandle.attachDmaBufRing().
The DXGI shared texture of an acquired frame.
A ring of DXGI shared textures that the library allocates, for MapHandle.attachDxgiSharedTextureRing().
Distances in logical pixels from each edge of the map.
The EGL objects that a render session makes its OpenGL context from.
The features whose state to set, read, or remove.
A demand for one frame.
How a frame demand behaves.
Demands render sessions' frames at a display's refreshes.
Options for creating a frame pacer.
A map camera's whole position and orientation in three dimensions.
The camera's position and orientation in three dimensions.
Options for a GeoJSON [source](https://maplibre.org/maplibre-style-spec/sources/#geojson).
How a gesture keeps moving the camera after the user lets go.
Where a camera change falls in a gesture that the user makes.
A point in GPU work that the other side waits for before using a texture.
How one side waits for the other's GPU work on a shared texture.
A GPU sync kind, as a bit in a set.
An HTTP header.
Headers to add to the HTTP requests whose URL matches a pattern.
Headers to add to HTTP requests, for RuntimeHandle.setHttpHeaderTransform(). Kotlin/Wasm takes HttpHeaderTransformRules in its place.
Sets the headers of an HTTP request before the library sends it.
The headers that an HTTP header transform callback sets.
Headers to add to HTTP requests, for RuntimeHandle.setHttpHeaderTransform(). This is the Kotlin/Wasm form, which holds only native header rules, because the page cannot run Kotlin while native waits for an answer. The JVM, Android, and Kotlin/Native take HttpHeaderTransform.
The area of an image, in image pixels, that text fits inside.
A range of image pixels, from from to to, that stretches to fit text.
A WebGPU object of the page, imported into the browser module by WebGraphics. Close it only after every session that names pointer has completed its detach or been destroyed: close releases the module's reference at once, and the JavaScript object stays usable.
The IOSurface of an acquired frame.
A ring of IOSurfaces that the library allocates, for MapHandle.attachIoSurfaceRing().
A rectangle of coordinates, from its southwest to its northeast corner.
Receives a log message.
A log callback, for setLogCallback().
A size in logical pixels, and the physical pixels in each logical pixel.
A size in logical pixels, which the map's scale factor turns into pixels.
The severity of a log message.
A log severity, as a bit in a set.
A debug overlay that the map draws.
The commands of a MapHandle that drop their completions.
A map, with its style and camera.
Error for a status that the native MapLibre C ABI reported, or that the binding raised.
Why a map failed to load a style.
Options for RuntimeHandle.createMap().
A projection's camera, as MapProjectionHandle.getCamera() reports it.
A camera view for converting between screen points and coordinates.
A map's state, as MapHandle.getSnapshot() reads it.
How the map picks the tiles to load.
All the settings for how a map picks the tiles to load.
One view of a map: its camera, size, and projection.
A map's whole viewport.
How the map orients and constrains its view.
A Metal texture of a borrowed ring.
A ring of your Metal textures, for MapHandle.attachMetalBorrowedTexture().
New Metal textures for a borrowed ring, for RenderSessionHandle.setMetalBorrowedTextureTarget().
The Metal device that a render session uses.
A Metal layer to render to, for MapHandle.attachMetalSurface().
A new Metal layer for RenderSessionHandle.setMetalSurfaceTarget().
The Metal texture of an acquired frame.
How one part of a gesture's momentum slows from its release speed.
How a part of a gesture's momentum slows from its release speed.
Where a part settles after a gesture that changed it.
Opaque borrowed native address value used for backend interop handles.
Whether the library may use the network.
The screen direction that north points to when the bearing is 0.
The area, zoom range, and style that an offline region covers.
Whether an offline region is downloading.
An offline region in the runtime's cache file.
The download progress of an offline region.
An offline region that covers a rectangle of the map.
The image that MapHandle.attachOffscreen() renders. The session renders it at the map's scale factor.
A GPU device that the library creates to render maps offscreen.
Options for OffscreenDeviceHandle.create().
An OpenGL texture of a borrowed ring.
A ring of your OpenGL textures, for MapHandle.attachOpenGlBorrowedTexture().
New OpenGL textures for a borrowed ring, for RenderSessionHandle.setOpenGlBorrowedTextureTarget().
The OpenGL API that a context renders with.
How a render session gets the OpenGL context that it renders with.
The WGL, EGL, or WebGL part of an OpenGL context descriptor.
Whether a render session's OpenGL context shares objects with yours.
An OpenGL context platform, as a bit in a set.
An OpenGL surface to present to, for MapHandle.attachOpenGlSurface().
A new OpenGL surface for RenderSessionHandle.setOpenGlSurfaceTarget().
How a gesture's pan keeps moving the map's content after release.
An image of 8-bit RGBA pixels whose colors are multiplied by their alpha.
A point in the Web Mercator projection, in meters.
A map's whole projection mode.
Settings that skew the map or draw it without perspective.
A rotation, as a quaternion.
Locks or unlocks the Vulkan queue that you share with a render session.
A WebGL 2 context of the page, registered with the browser module by WebGraphics. Close it only after every session that names context has completed its detach or been destroyed: close removes the registration at once, and the JavaScript context stays usable.
What RenderSessionHandle.abandon() did with a session's graphics objects.
The outcome of RenderSessionHandle.abandon().
A render backend, as a bit in a set.
The thread that runs a render session's graphics work.
Options for a rendered feature query.
The screen area that a rendered feature query covers.
How one frame demand finished.
Whether a frame drew the map complete, or lacked resources that are still loading.
How a frame demand finished.
Options for attaching a render session to a map.
What an attached render session supports.
Something that a render session can do.
The commands of a RenderSessionHandle that drop their completions.
A render session draws a map into a surface or a texture.
The state of a render session at one moment.
Where a render session is in its life.
Why a resource request failed.
The kind of a resource that the library loads.
A resource kind, as a bit in a set.
Where a request may load its resource from.
The priority of a resource request.
A resource provider, for RuntimeHandle.setResourceProvider().
Serves a network request in place of the library.
The bytes from start to end of a resource, both included.
Reports that the library no longer needs a resource request.
A cancel callback, for ResourceRequestHandle.setCancelCallback().
A resource load that a resource provider answers.
A request that a resource provider serves.
The answer to a resource request.
The outcome of a resource request.
The requests that a resource provider serves.
Whether the library keeps a loaded resource in its cache.
How to rewrite request URLs, for RuntimeHandle.setResourceTransform().
Rewrites the URL of a network request before the library sends it.
Why a resource transform fails a request.
A URL rewrite that a resource transform answers with the URL to load.
Query parameters to add to the URLs of requests that match a pattern.
Whether a request loads a resource for a map or an offline region.
The commands of a RuntimeHandle that drop their completions.
An event that a runtime or one of its maps raised.
Receives a batch of events.
The details of RuntimeEventType.MAP_CAMERA_WILL_CHANGE and RuntimeEventType.MAP_CAMERA_DID_CHANGE.
An event type, as a bit in a set.
An event callback, for RuntimeHandle.setEventHandler().
The details of RuntimeEventType.MAP_LOADING_FAILED.
The details of RuntimeEventType.OFFLINE_REGION_RESPONSE_ERROR.
The details of RuntimeEventType.OFFLINE_REGION_STATUS_CHANGED.
The details of RuntimeEventType.OFFLINE_REGION_TILE_COUNT_LIMIT_EXCEEDED.
The details of an event, in the member that its payload_type names.
The details of RuntimeEventType.MAP_RENDER_FRAME_FINISHED.
The details of RuntimeEventType.MAP_SOURCE_CHANGED.
The kind of handle that raised an event.
The details of a sprite event.
The details of RuntimeEventType.MAP_STYLE_IMAGE_MISSING.
The details of RuntimeEventType.MAP_TILE_ACTION.
The kind of an event.
A runtime owns maps and the network and cache settings that they share.
Options for RuntimeHandle.create().
A rectangle of the screen, from its min corner to its max corner.
A line through points on the screen.
A point on the screen, in logical pixels from the map's top-left corner.
A feature that a source feature query found.
Options for a source feature query.
A parsed style expression.
What a style expression's result depends on.
The inputs that a style expression reads while it evaluates.
Options for parsing a style expression.
The type of a style expression's result.
The type of a style expression's result, or of the items of an array result.
An image in the map's style.
Options for a style image, as the [sprite](https://maplibre.org/maplibre-style-spec/sprite/) spec describes them.
How an image stretches to fit text along one axis.
A layer in the map's style.
Whether a layer shows.
How a raster DEM tile encodes elevation in its colors.
A source in the map's style.
The tiles of a source, as the style lists them.
The type of a style source.
Whether a tileset counts tile rows from the north (XYZ) or the south (TMS).
The default [transition](https://maplibre.org/maplibre-style-spec/transition/) for changes to a style's paint properties.
The format of vector tiles.
The layout of the pixels that RenderSessionHandle.readTexture() reads.
The pixels that RenderSessionHandle.readTexture() reads.
How the map picks the level of detail of its tiles.
A step in loading a tile.
A timing curve from (0, 0) to (1, 1), with the control points (x1, y1) and (x2, y2).
How a URL pattern matches a request's URL.
A query parameter that a resource transform rule adds to a URL.
The vertical direction of the image that the map renders.
A Vulkan image of a borrowed ring.
A ring of your Vulkan images, for MapHandle.attachVulkanBorrowedTexture().
New Vulkan images for a borrowed ring, for RenderSessionHandle.setVulkanBorrowedTextureTarget().
The Vulkan device and queue that a render session uses.
A Vulkan device's context, as VulkanDeviceHandle.getContext() reports it.
A Vulkan instance, device, and queue that the library creates and owns.
Options for VulkanDeviceHandle.create().
The queue family that a borrowed image goes to after each frame.
A Vulkan surface to present to, for MapHandle.attachVulkanSurface().
A new Vulkan surface for RenderSessionHandle.setVulkanSurfaceTarget().
The Vulkan image of an acquired frame.
Tells the caller that work is ready for it.
A Wayland surface to present to, for MapHandle.attachWaylandSurface().
A new Wayland surface for RenderSessionHandle.setWaylandSurfaceTarget().
The WebGL context or canvas that a render session uses.
How a render session gets its WebGL context.
A WebGPU texture of a borrowed ring.
A ring of your WebGPU textures, for MapHandle.attachWebGpuBorrowedTexture().
New WebGPU textures for a borrowed ring, for RenderSessionHandle.setWebGpuBorrowedTextureTarget().
The WebGPU device that a render session uses.
A WebGPU surface to present to, for MapHandle.attachWebGpuSurface().
A new WebGPU surface for RenderSessionHandle.setWebGpuSurfaceTarget().
The WebGPU texture of an acquired frame.
Browser-only graphics interop entry points.
The WGL objects that a render session makes its OpenGL context from.
A Win32 window to present to, for MapHandle.attachWin32Window().
A new Win32 window for RenderSessionHandle.setWin32WindowTarget().
Properties
The size of a diagnostic message in bytes, with its terminator.
The C ABI version that this binding requires; loading fails on any other.
The token of the frame results that a session adds when it renders an image for MapHandle.requestStillImage(). Your own demands can't use it.
The most textures that a render session's texture ring can have.
The null Vulkan non-dispatchable handle.
Functions
Creates a frame pacer that follows the display through the calling thread's AChoreographer.
Creates a frame pacer that follows the display through the calling thread's AChoreographer.
Creates a frame pacer that follows the display through a CADisplayLink.
Creates a frame pacer that follows the display through a CADisplayLink.
Creates a session that renders the map into a ring of Android hardware buffers that the library allocates.
Creates a session that renders the map into a ring of Android hardware buffers that the library allocates.
Creates a session that presents the map to an Android window, with a graphics context that the library creates.
Creates a session that presents the map to surface's window, with a graphics context that the library creates.
Creates a session that presents the map to an Android window, with a graphics context that the library creates.
Creates a session that renders the map into a ring of dmabufs that the library allocates.
Creates a session that renders the map into a ring of dmabufs that the library allocates.
Creates a session that renders the map into a ring of DXGI shared textures that the library allocates.
Creates a session that renders the map into a ring of DXGI shared textures that the library allocates.
Creates a session that renders the map into a ring of IOSurfaces that the library allocates.
Creates a session that renders the map into a ring of IOSurfaces that the library allocates.
Creates a session that renders the map into a ring of your Metal textures.
Creates a session that renders the map into a ring of your Metal textures.
Creates a session that renders the map to a Metal layer.
Creates a session that renders the map to a Metal layer.
Creates a session that renders the map into a ring of your Vulkan images.
Creates a session that renders the map into a ring of your Vulkan images.
Creates a session that renders the map into a ring of your Vulkan images.
Creates a session that renders the map into a ring of your Vulkan images.
Creates a session that renders the map into a ring of your Vulkan images.
Creates a session that renders the map to a Vulkan surface.
Creates a session that renders the map to a Vulkan surface.
Creates a session that renders the map to a Vulkan surface.
Creates a session that renders the map to a Vulkan surface.
Creates a session that renders the map to a Vulkan surface.
Creates a session that presents the map to a Wayland surface, with a graphics context that the library creates.
Creates a session that presents the map to a Wayland surface, with a graphics context that the library creates.
Creates a session that renders the map into a ring of your WebGPU textures.
Creates a session that renders the map to a WebGPU surface.
Creates a session that presents the map to a Win32 window, with a graphics context that the library creates.
Creates a session that presents the map to a Win32 window, with a graphics context that the library creates.
Computes the camera that shows exactly one tile on a square map.
Sends log messages to the platform's log again, instead of a callback.
Creates a Vulkan instance, device, and graphics queue for render sessions.
Creates a Vulkan instance, device, and graphics queue for render sessions.
Creates a Vulkan instance, device, and graphics queue for render sessions.
Creates a Vulkan instance, device, and graphics queue for render sessions.
Creates a Vulkan instance, device, and graphics queue for render sessions.
Gets the context to attach render sessions to the device with.
Gets the context to attach render sessions to the device with.
Gets the context to attach render sessions to the device with.
Gets the context to attach render sessions to the device with.
Gets the context to attach render sessions to the device with.
Gets the hardware buffer of an acquired frame as a HardwareBuffer, such as for Bitmap.wrapHardwareBuffer.
Reads whether the library may use the network.
Returns the function that registers a plugin's style layer types.
Initializes Android platform services.
Initializes Android platform services using JNI handles from the host.
Converts meters in the Web Mercator projection to a coordinate.
Loads the native library, or verifies it where the platform links it, and checks its C ABI version.
Loads the native library, or verifies it where the platform links it, and checks its C ABI version.
Loads the native library from a runtime JAR on the classpath, or else with System.loadLibrary("maplibre-native-c"), which searches java.library.path.
Loads the native library from an exact file path, after the graphics libraries that sit beside it.
Checks the C ABI version of the library that the runtime KLIB links into the binary.
Verifies that loadWasmModule loaded the browser module, which no call can do synchronously.
Loads the browser module bundled by the selected maplibre-native-ffi-runtime-opengl or maplibre-native-ffi-runtime-webgpu dependency. The runtime and binding must have the same version. This checks the module's C ABI version. Every other call throws an IllegalStateException until this returns. A later call returns once the first load finishes, and ignores its own arguments. Cancelling a caller ends only that caller's wait, and the load goes on for the others.
Computes the size in pixels of a target with a logical size and scale factor.
Creates a Wake of the host's native functions, which the binding copies to native code unchanged. Each function has the C type of the record field that it fills, and native code calls each with userData. A null pointer leaves its field null.
Creates a QueueLock of the host's native functions, which the binding copies to native code unchanged. Each function has the C type of the record field that it fills, and native code calls each with userData. A null pointer leaves its field null.
Reports the OpenGL context platforms that this build of the library has.
Converts a coordinate to meters in the Web Mercator projection.
Replaces the Android window that the session presents to.
Replaces the window that the session presents to with surface's.
Replaces the Android window that the session presents to.
Sets a header on the request that an HTTP header transform callback handles.
RuntimeHandle.setHttpHeaderTransform without its completion.
Adds headers to the runtime's HTTP requests.
RuntimeHandle.setHttpHeaderTransform without its completion.
Adds headers to the runtime's HTTP requests.
Selects the severities that the library logs on a background thread.
Sends the log messages of every runtime in the process to a callback.
Replaces the Metal textures that a borrowed ring renders into.
Replaces the Metal textures that a borrowed ring renders into.
Replaces the Metal layer that the session renders to.
Replaces the Metal layer that the session renders to.
Tells the library whether it may use the network.
Replaces the Vulkan images that a borrowed ring renders into.
Replaces the Vulkan images that a borrowed ring renders into.
Replaces the Vulkan images that a borrowed ring renders into.
Replaces the Vulkan images that a borrowed ring renders into.
Replaces the Vulkan images that a borrowed ring renders into.
Replaces the Vulkan surface that the session presents to.
Replaces the Vulkan surface that the session presents to.
Replaces the Vulkan surface that the session presents to.
Replaces the Vulkan surface that the session presents to.
Replaces the Vulkan surface that the session presents to.
Replaces the Wayland surface that the session presents to.
Replaces the Wayland surface that the session presents to.
Replaces the WebGPU textures that a borrowed ring renders into.
Replaces the WebGPU surface that the session presents to.
Replaces the Win32 window that the session presents to.
Replaces the Win32 window that the session presents to.
Returns the render backends that this build of the library draws with.
Gets the Android hardware buffer of an acquired frame.
Gets the Android hardware buffer of an acquired frame.
Gets the dmabuf of an acquired frame.
Gets the dmabuf of an acquired frame.
Gets the DXGI shared texture of an acquired frame.
Gets the DXGI shared texture of an acquired frame.
Gets the IOSurface of an acquired frame.
Gets the IOSurface of an acquired frame.
Gets the Metal texture of an acquired frame.
Gets the Metal texture of an acquired frame.
Gets the Vulkan image of an acquired frame.
Gets the Vulkan image of an acquired frame.
Gets the Vulkan image of an acquired frame.
Gets the Vulkan image of an acquired frame.
Gets the Vulkan image of an acquired frame.
Gets the WebGPU texture of an acquired frame.