SDFXColorPicker
SDFXColorPicker — всплывающий JavaFX-пикер цвета (StageStyle.UTILITY) с поддержкой:
Статического цвета (RGBA)
Динамического цвета (набор цветовых сегментов + длительность каждого сегмента)
Пипетки (eyedropper): выбор цвета с экрана поверх всех окон
Представлений HSV/Alpha + инпут в разных форматах (RGB/HEX/... через ColorType)
Архитектура/состояния:
Синглтон (см. companion object + operator fun invoke) — переиспользуется один и тот же Stage.
Внутреннее состояние хранится в colorProperty (SDFXColor) и currentColorProperty (Color).
Двусторонняя синхронизация HSV <-> текущий Color; флаги updatingFromColor / updatingFromHSV защищают от рекурсии.
В динамическом режиме компонент рисует ленту цветовых «сегментов» (Region) + рядом поля времени (ms) для каждого сегмента.
CSS/стили:
Подтягивает /ru/sydis/ui/core/css/SDFXColorPicker.css (должен быть на classpath).
Используются псевдоклассы: :first, :middle, :last, :selected — для отрисовки сегментов.
API для внешнего кода:
Создание/показ: SDFXColorPicker(initial).apply { onApply = { picked -> ... } }.show()
Колбэк onApply вызывается по кнопке «Применить».
Свойство isDynamicColor можно менять программно или через кнопки «Сделать динамическим/статическим».
Ограничения/заметки:
Стадия одна на всё приложение. Повторные вызовы SDFXColorPicker(...) меняют цвет и переиспользуют окно.
Кнопка копирования цвета (copyColor) подготовлена визуально, но логика не назначена — добавьте обработчик при необходимости.
Properties
Внешний выбранный цвет (модель высокого уровня: статический/динамический)
Панель управления динамическими сегментами
Левая «лунка» предпросмотра — исходный цвет из colorProperty
Правая «лунка» предпросмотра — редактируемый текущий цвет
Functions
Безопасное извлечение цвета из Background (если его нет — Color.TRANSPARENT)