diff --git a/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/ControlManager.kt b/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/ControlManager.kt index 2a90a905..02974803 100644 --- a/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/ControlManager.kt +++ b/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/ControlManager.kt @@ -572,20 +572,20 @@ fun ControlManager.layout(init: Body.() -> Unit) { } @Deprecated("use Program.controlManager") -fun controlManager(builder: ControlManagerBuilder.() -> Unit): ControlManager { +fun controlManager(defaultStyles: List = defaultStyles(), builder: ControlManagerBuilder.() -> Unit): ControlManager { val cm = ControlManager() cm.fontManager.register("default", resourceUrl("/fonts/Roboto-Regular.ttf")) - cm.layouter.styleSheets.addAll(defaultStyles().flatMap { it.flatten() }) + cm.layouter.styleSheets.addAll(defaultStyles.flatMap { it.flatten() }) val cmb = ControlManagerBuilder(cm) cmb.builder() return cm } -fun Program.controlManager(builder: ControlManagerBuilder.() -> Unit): ControlManager { +fun Program.controlManager(defaultStyles: List = defaultStyles(), builder: ControlManagerBuilder.() -> Unit): ControlManager { val cm = ControlManager() cm.program = this cm.fontManager.register("default", resourceUrl("/fonts/Roboto-Regular.ttf")) - cm.layouter.styleSheets.addAll(defaultStyles().flatMap { it.flatten() }) + cm.layouter.styleSheets.addAll(defaultStyles.flatMap { it.flatten() }) val cmb = ControlManagerBuilder(cm) cmb.builder() return cm diff --git a/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/LayoutBuilder.kt b/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/LayoutBuilder.kt index 4e11f8bd..68045ffa 100644 --- a/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/LayoutBuilder.kt +++ b/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/LayoutBuilder.kt @@ -46,11 +46,12 @@ fun Canvas.draw(f: (Drawer) -> Unit) { this.userDraw = f } -fun Element.canvas(vararg classes: String, init: Canvas.() -> Unit) { +fun Element.canvas(vararg classes: String, init: Canvas.() -> Unit) : Canvas { val canvas = Canvas() classes.forEach { canvas.classes.add(ElementClass(it)) } canvas.init() append(canvas) + return canvas } fun Element.dropdownButton(vararg classes: String, id: String? = null, label: String = "button", init: DropdownButton.() -> Unit) = initElement(classes, DropdownButton().apply {