fun visualProp()

in platf-skia/src/commonMain/kotlin/org/jetbrains/letsPlot/skia/shape/Node.kt [89:103]


    fun <T> visualProp(
        initialValue: T,
        managed: Boolean = false
    ): PropertyDelegateProvider<Node, ReadWriteProperty<Node, T>> {
        return PropertyDelegateProvider<Node, ReadWriteProperty<Node, T>> { thisRef, property ->
            val visualProperty = VisualProperty(initialValue, thisRef::handlePropertyChange)
            visualPropInstances[property] = visualProperty

            if (managed) {
                propFinalizers[property] = { visualProperty.getValue(thisRef, property) as Managed? }
            }

            return@PropertyDelegateProvider visualProperty
        }
    }