From d411b428b878d8646105d1c01278d7dcd85d38bf Mon Sep 17 00:00:00 2001 From: Edwin Jakobs Date: Sat, 20 Sep 2025 08:20:35 +0200 Subject: [PATCH] [orx-panel] Fix colorspace used for text input in ColorPicker --- .../demo/kotlin/DemoColorPickerButton01.kt | 33 +++++++++++++++++++ .../openrndr/panel/elements/Colorpicker.kt | 3 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 orx-jvm/orx-panel/src/demo/kotlin/DemoColorPickerButton01.kt diff --git a/orx-jvm/orx-panel/src/demo/kotlin/DemoColorPickerButton01.kt b/orx-jvm/orx-panel/src/demo/kotlin/DemoColorPickerButton01.kt new file mode 100644 index 00000000..4a021324 --- /dev/null +++ b/orx-jvm/orx-panel/src/demo/kotlin/DemoColorPickerButton01.kt @@ -0,0 +1,33 @@ +import org.openrndr.application +import org.openrndr.color.ColorRGBa +import org.openrndr.panel.controlManager +import org.openrndr.panel.elements.colorpickerButton + +/** + * A simple demonstration of a ColorPickerButton + */ +fun main() = application { + configure { + width = 720 + height = 720 + } + program { + var bgColor = ColorRGBa.PINK + + val cm = controlManager { + layout { + colorpickerButton { + label = "Pick color" + color = bgColor + events.valueChanged.listen { + bgColor = it.color + } + } + } + } + extend(cm) + extend { + drawer.clear(bgColor) + } + } +} \ No newline at end of file diff --git a/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Colorpicker.kt b/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Colorpicker.kt index 5133c5fb..5537c016 100644 --- a/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Colorpicker.kt +++ b/orx-jvm/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Colorpicker.kt @@ -3,6 +3,7 @@ package org.openrndr.panel.elements import org.openrndr.* import org.openrndr.color.ColorHSVa import org.openrndr.color.ColorRGBa +import org.openrndr.color.Linearity import org.openrndr.draw.ColorBuffer import org.openrndr.draw.Drawer import org.openrndr.draw.colorBuffer @@ -121,7 +122,7 @@ class Colorpicker : Element { val g = (number shr 8) and 0xff val b = number and 0xff val oldColor = color - color = ColorRGBa(r / 255.0, g / 255.0, b / 255.0) + color = ColorRGBa(r / 255.0, g / 255.0, b / 255.0, 1.0, Linearity.SRGB) events.colorChanged.trigger(ColorChangedEvent(this, oldColor, realColor)) keyboardInput = "" draw.dirty = true