diff --git a/orx-palette/src/main/kotlin/PaletteStudio.kt b/orx-palette/src/main/kotlin/PaletteStudio.kt index 5caa558e..4a140e26 100644 --- a/orx-palette/src/main/kotlin/PaletteStudio.kt +++ b/orx-palette/src/main/kotlin/PaletteStudio.kt @@ -46,7 +46,6 @@ class PaletteStudio( var palettes: MutableList> = mutableListOf() var palette: Palette = defaultPalette - var randomPaletteKey = 'l' var randomizeKey = 'k' @@ -92,6 +91,8 @@ class PaletteStudio( } } + private var onChangeListener = {} + private fun loadCollection(newCollection: Collections) { val collectionPath: URL = collectionsResource.getValue(newCollection) palettes = mutableListOf() @@ -159,6 +160,17 @@ class PaletteStudio( return Palette(background, foreground, colors1, colors2) } + fun onChange(fn: () -> Unit) { + onChangeListener = fn + } + + fun add(newPalette: List) { + palette = createPalette(newPalette) + + palettes.add(newPalette) + paletteIndex = palettes.lastIndex + } + fun loadExternal(filePath: String) { palettes = mutableListOf() @@ -205,9 +217,11 @@ class PaletteStudio( if (!it.propagationCancelled) { if (it.name == "$randomPaletteKey") { randomPalette() + onChangeListener() } if (it.name == "$randomizeKey") { randomize() + onChangeListener() } } }