1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #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);
- };
- 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
|