diff options
Diffstat (limited to 'src/koopatlas/camera.h')
-rw-r--r-- | src/koopatlas/camera.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/koopatlas/camera.h b/src/koopatlas/camera.h new file mode 100644 index 0000000..f057374 --- /dev/null +++ b/src/koopatlas/camera.h @@ -0,0 +1,37 @@ +#include "koopatlas/core.h" + +class dWorldCamera_c : public dBase_c { + public: + int onCreate(); + int onDelete(); + int onExecute(); + int onDraw(); + + dWorldCamera_c(); + + EGG::Screen screen; + EGG::LookAtCamera camera3d; + + EGG::ProjectOrtho projection2d; + EGG::LookAtCamera camera2d; + + Vec camPos, camTarget, camUp; + + + float currentX, currentY, zoomLevel; + + void calculateScreenGeometry(); + + + float zoomDivisor, screenLeft, screenTop, screenWidth, screenHeight; + + + void doStuff(float); + void generateCameraMatrices(); + void updateCameras(); + + static dWorldCamera_c *build(); + static dWorldCamera_c *instance; +}; + + |