Why is Korma's Easing interface not an enum?
-
Question for @soywiz: why are all the easings in Easing.kt in a hidden object and not in an enum?
Seems like
interface Easing { operator fun invoke(it: Double): Double } enum class Easings : Easing { LINEAR { override fun invoke(it: Double) = it } // etc }
should work great, no?
While working on https://github.com/korlibs/korma/pull/42 I thought it'd be nice to have a test case that iterated over all the easings to perform some basic assertions on them, but the current structure makes this difficult.
-
Well, the problem of enums is that are closed. What if a user wants to provide his/her own Easing?
Maybe what we can provide is a list or a map with all the standard provided easings. That would work for you?
-
To close the loop on this, I've submitted a PR to change this in korge-next and it's been merged.