FeatureStore
class FeatureStore<T : Any>(val space: CoordinateSpace<T>) : CoordinateSpace<T> , FeatureBuilder<T> , FeatureSet<T>
Properties
Functions
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.arc(oval: Rectangle<T>, startAngle: Angle, arcLength: Angle, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, ArcFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.circle(center: T, size: Dp = 5.dp, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, CircleFeature<T>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.draggableLine(aId: FeatureRef<T, MarkerFeature<T>>, bId: FeatureRef<T, MarkerFeature<T>>, id: String? = null): FeatureRef<T, LineFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.draggableMultiLine(points: List<T>, id: String? = null): FeatureRef<T, MultiLineFeature<T>>
fun <T : Any> FeatureBuilder<T>.draggableMultiLine(points: List<FeatureRef<T, MarkerFeature<T>>>, id: String? = null): FeatureRef<T, MultiLineFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.draw(position: T, attributes: Attributes = Attributes.EMPTY, id: String? = null, draw: DrawScope.() -> Unit): FeatureRef<T, DrawFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureSet<T>.forEachUntil(block: FeatureSet<T>.(ref: FeatureRef<T, *>, feature: Feature<T>) -> Boolean)
Recursively search for feature until function returns true
Link copied to clipboard
inline fun <T : Any, A> FeatureSet<T>.forEachWithAttribute(key: Attribute<A>, block: FeatureSet<T>.(ref: FeatureRef<T, *>, feature: Feature<T>, attribute: A) -> Unit)
Process all features with a given attribute from the one with highest z to lowest
Link copied to clipboard
inline fun <T : Any, A> FeatureSet<T>.forEachWithAttributeUntil(key: Attribute<A>, block: FeatureSet<T>.(ref: FeatureRef<T, *>, feature: Feature<T>, attribute: A) -> Boolean)
Link copied to clipboard
inline fun <T : Any, F : Feature<T>> FeatureSet<T>.forEachWithType(crossinline block: FeatureSet<T>.(ref: FeatureRef<T, F>, feature: F) -> Unit)
Link copied to clipboard
fun <T : Any> FeatureSet<T>.generateBitmap(canvasState: CanvasState<T>, painterCache: Map<PainterFeature<T>, Painter>, textMeasurer: TextMeasurer, size: Size): ImageBitmap
Link copied to clipboard
fun <T : Any> FeatureSet<T>.generateSvg(canvasState: CanvasState<T>, painterCache: Map<PainterFeature<T>, Painter>, id: String? = null): String
Link copied to clipboard
Link copied to clipboard
open override fun group(id: String?, attributes: Attributes, builder: FeatureGroup<T>.() -> Unit): FeatureRef<T, FeatureGroup<T>>
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.icon(position: T, image: ImageVector, size: DpSize = DpSize(image.defaultWidth, image.defaultHeight), attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, VectorIconFeature<T>>
Link copied to clipboard
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.line(aCoordinates: T, bCoordinates: T, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, LineFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.multiLine(points: List<T>, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, MultiLineFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureStore<T>.pixelMap(rectangle: Rectangle<T>, pixelMap: Structure2D<Color?>, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, PixelMapFeature<T>>
Link copied to clipboard
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.points(points: List<T>, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, PointsFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.polygon(points: List<T>, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, PolygonFeature<T>>
Link copied to clipboard
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.rectangle(centerCoordinates: T, size: DpSize = DpSize(5.dp, 5.dp), attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, RectangleFeature<T>>
Link copied to clipboard
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.scalableImage(box: Rectangle<T>, attributes: Attributes = Attributes.EMPTY, id: String? = null, painter: @Composable () -> Painter): FeatureRef<T, ScalableImageFeature<T>>
Link copied to clipboard
fun <T : Any> FeatureBuilder<T>.text(position: T, text: String, font: Font.() -> Unit = { size = 16f }, attributes: Attributes = Attributes.EMPTY, id: String? = null): FeatureRef<T, TextFeature<T>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard