All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlinx.ggdsl.dsl.bindings.kt Maven / Gradle / Ivy

/*
* Copyright 2020-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/

package org.jetbrains.kotlinx.ggdsl.dsl

import org.jetbrains.kotlinx.ggdsl.ir.bindings.*
import org.jetbrains.kotlinx.ggdsl.ir.data.ColumnPointer
import kotlin.reflect.typeOf

/**
 * Sets the given constant value to this non-positional aesthetic attribute.
 *
 * @param value the assigned value.
 */
public operator fun  NonPositionalAes.invoke(value: T) {
    context.bindingCollector.settings[this.name] = NonPositionalSetting(this.name, value)
}

/**
 * Sets the given constant value to this positional aesthetic attribute.
 *
 * @param value the assigned value.
 */
public operator fun  PositionalAes.invoke(value: T) {
    context.bindingCollector.settings[this.name] = PositionalSetting(this.name, value)
}

/**
 * Maps the given [ColumnPointer] to this non-scalable ("sub-positional") aesthetic attribute.
 *
 * @param source the mapped raw data source.
 */

public inline operator fun  NonScalablePositionalAes.invoke(
    source: ColumnPointer
) {
    context.bindingCollector.mappings[this.name] =
        NonScalablePositionalMapping(this.name, source, typeOf())
}

/**
 * Maps the given [ColumnPointer] to this positional aesthetic attribute with default scale.
 *
 * @param source the mapped raw data source.
 */
public inline operator fun  ScalablePositionalAes.invoke(
    source: ColumnPointer
): ScaledUnspecifiedDefaultPositionalMapping {
    val mapping = ScaledUnspecifiedDefaultPositionalMapping(
        this.name,
        source.scaled(),
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}

/**
 * Maps the given [ColumnPointer] to this non-positional aesthetic attribute with default scale.
 *
 * @param source the mapped raw data source.
 */
public inline operator fun  MappableNonPositionalAes.invoke(
    source: ColumnPointer
): ScaledUnspecifiedDefaultNonPositionalMapping {
    val mapping = ScaledUnspecifiedDefaultNonPositionalMapping(
        this.name,
        source.scaled(),
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}

/**
 * Maps the given scaled source to this positional aesthetic attribute with an unspecified scale.
 *
 * @param sourceScaledDefault the mapped source scaled default.
 */
public inline operator fun  ScalablePositionalAes.invoke(
    sourceScaledDefault: ColumnScaledUnspecifiedDefault
): ScaledUnspecifiedDefaultPositionalMapping {
    val mapping = ScaledUnspecifiedDefaultPositionalMapping(
        this.name,
        sourceScaledDefault,
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}

/**
 * Maps the given scaled source to this non-positional aesthetic attribute with an unspecified scale.
 *
 * @param sourceScaledDefault the mapped source scaled default.
 */
public inline operator fun  MappableNonPositionalAes.invoke(
    sourceScaledDefault: ColumnScaledUnspecifiedDefault
): ScaledUnspecifiedDefaultNonPositionalMapping {
    val mapping = ScaledUnspecifiedDefaultNonPositionalMapping(
        this.name,
        sourceScaledDefault,
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}

/**
 * Maps the given scaled source to this positional aesthetic attribute with a default scale.
 *
 * @param sourceScaledDefault the mapped source scaled unspecified positional.
 */
public inline operator fun  ScalablePositionalAes.invoke(
    sourceScaledDefault: ColumnScaledPositionalUnspecified
): ScaledPositionalUnspecifiedMapping {
    val mapping = ScaledPositionalUnspecifiedMapping(
        this.name,
        sourceScaledDefault,
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}


/**
 * Maps the given scaled source to this non-positional aesthetic attribute with an unspecified scale.
 *
 * @param columnScaledDefault the mapped source scaled unspecified non-positional.
 */
public inline operator fun  MappableNonPositionalAes.invoke(
    columnScaledDefault: ColumnScaledNonPositionalUnspecified
): ScaledNonPositionalDefaultMapping {
    val mapping = ScaledNonPositionalDefaultMapping(
        this.name,
        columnScaledDefault,
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}

/**
 * Maps the given scaled source to this positional aesthetic attribute.
 *
 * @param columnScaledPositional the mapped source scaled positional.
 */
public inline operator fun  ScalablePositionalAes.invoke(
    columnScaledPositional: ColumnScaledPositional
): ScaledPositionalMapping {
    val mapping = ScaledPositionalMapping(
        this.name,
        columnScaledPositional,
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}

/**
 * Maps the given scaled source to this non-positional aesthetic attribute.
 *
 * @param columnScaledNonPositional the mapped source scaled non-positional.
 */
public inline operator fun 
        MappableNonPositionalAes.invoke(
    columnScaledNonPositional: ColumnScaledNonPositional
): ScaledNonPositionalMapping {
    val mapping = ScaledNonPositionalMapping(
        this.name,
        columnScaledNonPositional,
        typeOf()
    )
    context.bindingCollector.mappings[this.name] = mapping
    return mapping
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy