12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #pragma once
- #ifndef QUEUEMANAGER_H_
- #define QUEUEMANAGER_H_
- #include <cinttypes>
- #include <vector>
- #include <future>
- #include "Bitmap.h"
- struct MandelViewport
- {
-
- double x = -2.1;
-
- double y = -1.5;
-
- double width = 3;
-
- double height = 3;
-
- void adjustAspectRatio(double nwidth, double nheight);
-
- void normalize(void);
- };
- struct MandelInfo
- {
-
- MandelViewport view;
-
- long bWidth;
-
- long bHeight;
-
-
- int maxIter;
- };
- class MandelGenerator
- {
- public:
- MandelGenerator(void) = default;
- virtual ~MandelGenerator(void);
- virtual Bitmap<RGBColor> generate(const MandelInfo& mandelInfo);
- virtual Bitmap<float> generateRaw(const MandelInfo& info) = 0;
- };
- class QueueManager
- {
- public:
- QueueManager(void);
- ~QueueManager(void);
- std::future<Bitmap<RGBColor>> generate(const MandelInfo& mandelInfo);
- };
- #endif
|