#ifndef ALMOND_VIDEORECIPE_H #define ALMOND_VIDEORECIPE_H #include #include "MandelUtil.h" #include "Gradient.h" namespace alm { enum class Interpolation { NONE, LINEAR, SINE }; template struct Change { T newValue; Interpolation interpolation; }; template using MaybeChange = std::optional>; struct VideoPoint; struct VideoRecipe; } struct alm::VideoPoint { MaybeChange maxIterations; MaybeChange view; MaybeChange gradient; }; class alm::VideoRecipe { int width; int height; }; #endif // ALMOND_VIDEORECIPE_H