commonMain.jetbrains.datalore.plot.builder.GeomLayer.kt Maven / Gradle / Ivy
/*
* Copyright (c) 2019. JetBrains s.r.o.
* Use of this source code is governed by the MIT license that can be found in the LICENSE file.
*/
package jetbrains.datalore.plot.builder
import jetbrains.datalore.base.interval.DoubleSpan
import jetbrains.datalore.base.values.Color
import jetbrains.datalore.plot.base.*
import jetbrains.datalore.plot.base.aes.AestheticsDefaults
import jetbrains.datalore.plot.base.annotations.Annotations
import jetbrains.datalore.plot.base.geom.LiveMapProvider
import jetbrains.datalore.plot.base.interact.ContextualMapping
import jetbrains.datalore.plot.base.interact.GeomTargetLocator.LookupSpec
import jetbrains.datalore.plot.base.render.LegendKeyElementFactory
import jetbrains.datalore.plot.builder.assemble.PosProvider
import jetbrains.datalore.plot.builder.presentation.FontFamilyRegistry
interface GeomLayer {
val dataFrame: DataFrame
val group: (Int) -> Int
val geomKind: GeomKind
val geom: Geom
val posProvider: PosProvider
val scaleMap: Map, Scale>
val scaleMapppersNP: Map, ScaleMapper<*>>
val legendKeyElementFactory: LegendKeyElementFactory
val aestheticsDefaults: AestheticsDefaults
val isLiveMap: Boolean
val isLegendDisabled: Boolean
val locatorLookupSpec: LookupSpec
val isYOrientation: Boolean
val isMarginal: Boolean
val marginalSide: MarginSide
val marginalSize: Double
val fontFamilyRegistry: FontFamilyRegistry
val colorByAes: Aes
val fillByAes: Aes
fun renderedAes(): List>
fun hasBinding(aes: Aes<*>): Boolean
fun getBinding(aes: Aes): VarBinding
fun hasConstant(aes: Aes<*>): Boolean
fun getConstant(aes: Aes): T
fun getDefault(aes: Aes): T
fun preferableNullDomain(aes: Aes<*>): DoubleSpan
fun rangeIncludesZero(aes: Aes<*>): Boolean
fun setLiveMapProvider(liveMapProvider: LiveMapProvider)
fun createContextualMapping(): ContextualMapping
fun createAnnotations(): Annotations?
}