Polymorphic color palettes
olekscode opened this issue · 3 comments
In Roassal3, I would like to have a color palette API that could be used like this:
"Choose a color palette"
palette := RSColorPaletteA new.
palette := RSColorPaletteB new.
palette := RSColorPaletteC new.
"Use named colors"
palette red.
palette green.
palette yellow.
palette blue.
palette darkRed.
palette lightBlue.
The idea is the same as in Color red
. Color yellow
, etc.
Why?
Because in most applications, when we chart, we want to say "give me a red line and a blue line". And then we don't need those colors to be true red (i.e., Color red
) or true blue (i.e., Color blue
). We want them to be red and blue that are aestethically beutiful and match each other well.
This can be decided by the palette class.
Also, users want to say "red" and "blue", not "third color from palette diverse085"
We could take some inspiration from this package:
https://github.com/DuneSt/MaterialColors
It subclasses Color to follow Materiel Design color recommendations
https://m2.material.io/design/color/the-color-system.html
This issue is related outside of Roassal, probably this is a new project.
These sets of colors can be used by not only roassal, also spec or https://github.com/plantec/Toplo
Roassal contains already some color palettes in Roassal3-Colors
with classes like RSColorPalette
palette := RSColorPalette sequential blues9.
moved to pharo-graphics/Roassal