#pragma once #include "Zeichnung.h" #include "Mat3.h" #include "Welt2D.h" namespace Framework { class Welt2D; class Object2D; class Kamera2D : public ZeichnungHintergrund { protected: Welt2D *welt; bool tickWelt; Vertex wPos; float rotation; float zoom; Mat3< float > matrix; Text *name; public: __declspec( dllexport ) Kamera2D(); __declspec( dllexport ) virtual ~Kamera2D(); __declspec( dllexport ) void setName( const char *name ); __declspec( dllexport ) void setName( Text *name ); __declspec( dllexport ) void lookAtWorldPos( Vertex pos ); __declspec( dllexport ) void lookAtWorldPos( float x, float y ); __declspec( dllexport ) void lookAtWorldArea( float width, float height ); __declspec( dllexport ) void setDrehung( float rotation ); __declspec( dllexport ) void setZoom( float zoom ); __declspec( dllexport ) void setWelt( Welt2D *welt, bool tick ); __declspec( dllexport ) bool tick( double time ); __declspec( dllexport ) void render( Bild &zRObj ); __declspec( dllexport ) Vertex getWorldCoordinates( Punkt screenPos ); __declspec( dllexport ) Vertex getWorldDirection( Vertex dir ); __declspec( dllexport ) Vertex getWorldPosition(); __declspec( dllexport ) float getRotation(); __declspec( dllexport ) float getZoom(); __declspec( dllexport ) const Mat3< float > &getMatrix(); __declspec( dllexport ) Text *getName(); __declspec( dllexport ) Text *zName(); }; class TestKamera2D : public Kamera2D { public: __declspec( dllexport ) bool tick( double time ); }; }