#ifndef FRAC_GEN_HH #define FRAC_GEN_HH #include <pch.hh> #include <generators/baseGen.hh> #include <vector> using std::string; using std::pair; namespace ty::gen { class fracGen : public baseGen { protected: double zoomFactor = 1.0; double realCenter = 0.0; double imagCenter = 0.0; double maxIter = 1000; const double range = 1.5; const double iterMinLimit = 0.0; const double iterMaxLimit = 5000.0; vector<pair<string, double&>> settings = {{"zf", zoomFactor}, {"rc", realCenter}, {"ic", imagCenter}, {"it", maxIter}}; pair<double, double> scaleRange(); public: fracGen(const int& w, const int& h); virtual ~fracGen(); void loadJson(const json& j) override; }; } // ty::gen #endif // FRAC_GEN_HH