Package-level declarations

Types

Link copied to clipboard

Bitmap-style layer (raster, sample, contour, particle, grid): encoded/image tiles plus optional built-in mask and timing.

Link copied to clipboard
data class CircleLayerDescriptor(var id: String, var source: String, var sourceLayer: String? = null, var paint: CircleLayerPaint = CircleLayerPaint( fill = FillPaint(), stroke = StrokePaint(), circle = CirclePaint() ), var filter: Expression? = null, var stencilOnly: Boolean = false, var useGlRendering: Boolean = true, var timing: LayerTiming? = null, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null) : VectorLayerDescriptor<CircleLayerPaint> , LayerEventEmitter

Descriptor for a Mapbox circle layer: points rendered as filled disks with optional stroke, driven by a vector or GeoJSON source.

Link copied to clipboard
data class ContourLayerDescriptor(var id: String, var source: String, var quality: DataQuality = DataQuality.low, var paint: ContourLayerPaint = ContourLayerPaint( sample = SamplePaint(), contour = ContourPaint() ), var mask: MaskLayerKind = MaskLayerKind.NONE, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null, var maskCountryIso3166Alpha2: String? = null, var timing: LayerTiming? = null) : BitmapLayerDescriptor<ContourLayerPaint> , LayerEventEmitter

Isoline layer on an encoded sample field.

Link copied to clipboard
data class FillLayerDescriptor(var id: String, var source: String, var sourceLayer: String? = null, var paint: FillLayerPaint = FillLayerPaint( fill = FillPaint(), stroke = StrokePaint() ), var filter: Expression? = null, var stencilOnly: Boolean = false, var useGlRendering: Boolean = true, var timing: LayerTiming? = null, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null) : VectorLayerDescriptor<FillLayerPaint> , LayerEventEmitter

Descriptor for a Mapbox fill layer: polygon features filled with optional outline, backed by a vector or GeoJSON source.

Link copied to clipboard
class GenericLayerWrapper<P : LayerPaint>(val paint: P)
Link copied to clipboard
data class GridLayerDescriptor(var id: String, var source: String, var sourceLayer: String? = null, var mask: MaskLayerKind = MaskLayerKind.NONE, var paint: GridLayerPaint = GridLayerPaint( icon = IconPaint(), text = emptyList() ), var filter: Expression? = null, var quality: DataQuality = DataQuality.medium, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null, var maskCountryIso3166Alpha2: String? = null, var stencilOnly: Boolean = false, var useGlRendering: Boolean = false, var timing: LayerTiming? = null) : VectorLayerDescriptor<GridLayerPaint> , LayerEventEmitter

Descriptor for symbol-style layers that share GridLayerPaint with SymbolLayerDescriptor but add masking and data quality knobs used by gridded and dense icon workflows (e.g. encoded-grid sidecars).

Link copied to clipboard
data class HeatmapLayerDescriptor(var id: String, var source: String, var sourceLayer: String? = null, var paint: HeatmapLayerPaint = HeatmapLayerPaint( heatmap = HeatmapPaint() ), var filter: Expression? = null, var stencilOnly: Boolean = false, var useGlRendering: Boolean = true, var timing: LayerTiming? = null, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null) : VectorLayerDescriptor<HeatmapLayerPaint> , LayerEventEmitter

Descriptor for a Mapbox heatmap layer: point density visualized as a color ramp, backed by vector or GeoJSON point data.

Link copied to clipboard

Declarative layer configuration passed to com.xweather.mapsgl.map.MapController.addLayer.

Link copied to clipboard

Subscribe to layer paint/data events (on / off / trigger). Layer descriptors implement this so host code can listen for PAINT_CHANGE and similar.

Link copied to clipboard

Default LayerEventEmitter used by layer descriptor data classes.

Link copied to clipboard
data class LayerMaskLayerConfig(val id: String, val maskId: String? = null, val overrides: (WeatherConfiguration) -> Unit? = null, val maskFilter: Expression? = null)

One entry in LayerMaskSpec.layers: either an existing map layer id or a weather layer code used to auto-create a mask layer.

Link copied to clipboard
object LayerMasks

Factory helpers mirroring the MapsGL JS LayerMaskSpecification.

Link copied to clipboard
data class LayerMaskSpec(val layers: List<LayerMaskLayerConfig> = emptyList(), val type: LayerMaskType? = null, val mode: StencilMaskCombineMode = StencilMaskCombineMode.ALL, val invert: Boolean? = null)

JavaScript SDK–style mask configuration for weather layers on Android.

Link copied to clipboard

JS-style layer mask convenience for weather layers:

Link copied to clipboard
data class LineLayerDescriptor(var id: String, var source: String, var sourceLayer: String? = null, var paint: LineLayerPaint = LineLayerPaint( stroke = StrokePaint() ), var filter: Expression? = null, var stencilOnly: Boolean = false, var useGlRendering: Boolean = true, var timing: LayerTiming? = null, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null) : VectorLayerDescriptor<LineLayerPaint> , LayerEventEmitter

Descriptor for a Mapbox line layer: line strings (and polygon rings when applicable) stroked from a vector or GeoJSON source.

Link copied to clipboard

Built-in GLES stencil mask kinds for weather / bitmap layers (JS mask: "land"|"water"|…).

Link copied to clipboard
data class ParticleLayerDescriptor(var id: String, var source: String, var quality: DataQuality = DataQuality.exact, var paint: ParticleLayerPaint = ParticleLayerPaint( sample = SamplePaint(), particle = ParticlePaint() ), var mask: MaskLayerKind = MaskLayerKind.NONE, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null, var maskCountryIso3166Alpha2: String? = null, var timing: LayerTiming? = null) : BitmapLayerDescriptor<ParticleLayerPaint> , LayerEventEmitter

Particle field over an encoded vector sample. Pair with an com.xweather.mapsgl.sources.source.spec.EncodedSourceDescriptor.

Link copied to clipboard
data class RasterLayerDescriptor(var id: String, var source: String, var quality: DataQuality = DataQuality.exact, var paint: RasterLayerPaint = RasterLayerPaint( raster = RasterPaint() ), var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null, var timing: LayerTiming? = null) : BitmapLayerDescriptor<RasterLayerPaint> , LayerEventEmitter
Link copied to clipboard
data class SampleLayerDescriptor(var id: String, var source: String, var quality: DataQuality = DataQuality.high, var paint: SampleLayerPaint = SampleLayerPaint( sample = SamplePaint() ), var mask: MaskLayerKind = MaskLayerKind.NONE, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null, var maskCountryIso3166Alpha2: String? = null, var timing: LayerTiming? = null) : BitmapLayerDescriptor<SampleLayerPaint> , LayerEventEmitter

Encoded sample (color field) layer. Pair with an com.xweather.mapsgl.sources.source.spec.EncodedSourceDescriptor.

Link copied to clipboard
data class StencilLayerMaskSpec(val layers: List<StencilMaskLayerRef> = emptyList(), val mode: StencilMaskCombineMode = StencilMaskCombineMode.ALL, val invert: Boolean = false, val clipBounds: LatLonBounds? = null)

GLES stencil mask built from one triangle mesh per referenced vector layer, combined per mode. Up to MAX_STENCIL_MASK_LAYERS entries are supported (one stencil bit per slot in the non-sequential combine path; typical GLES stencil buffers expose 8 bits — see MAX_STENCIL_MASK_LAYERS).

Link copied to clipboard

How multiple StencilMaskLayerRef entries combine in the stencil buffer (mirrors JS mask.mode).

Link copied to clipboard
data class StencilMaskLayerRef(val layerId: String)

References a Mapbox style layer (typically com.xweather.mapsgl.layers.tile.VectorTileLayer) by id. That layer’s com.xweather.mapsgl.layers.tile.VectorTileLayer.sourceLayer and filter define which MVT features fill this stencil slot.

Link copied to clipboard
class StyleJSON(val id: String, val type: StyleJSON.LayerType, val sourceID: String, val sourceLayer: String? = null)

Represents a layer style in the Mapbox Style Specification. Reference: https://docs.mapbox.com/style-spec/reference/layers/

Link copied to clipboard
data class SymbolLayerDescriptor(var id: String, var source: String, var sourceLayer: String? = null, var paint: SymbolLayerPaint = SymbolLayerPaint( icon = IconPaint(), text = emptyList() ), var filter: Expression? = null, var stencilOnly: Boolean = false, var useGlRendering: Boolean = true, var timing: LayerTiming? = null, var maskLayerIds: List<String> = emptyList(), var maskLayerId: String? = null, var layerMask: LayerMaskSpec? = null, var stencilLayerMask: StencilLayerMaskSpec? = null) : VectorLayerDescriptor<SymbolLayerPaint> , LayerEventEmitter

Descriptor for a Mapbox symbol layer using SymbolLayerPaint: icons, text labels, and optional fill/stroke.

Link copied to clipboard

Marker for layer descriptors that map to Mapbox vector style layers (fill, line, circle, symbol, heatmap). Implementations add sourceLayer (MVT layer name, or null for GeoJSON) and an optional feature filter.

Link copied to clipboard