extend

abstract fun <T : Extension> extend(extension: T): T(source)
abstract fun <T : Extension> extend(extension: T, configure: T.() -> Unit): T(source)
abstract fun extend(stage: ExtensionStage = ExtensionStage.BEFORE_DRAW, userDraw: Program.() -> Unit)(source)