#ifndef _CCAMERA_HPP_ #define _CCAMERA_HPP_ /*** SDL Header Files ***/ #include /*** DLL Header File ***/ #include "dllExport.h" /*** Custom Header Files ***/ #include "../UtilityEngine/cString.hpp" using UtilityEngine::cString; namespace VideoEngine { /* cCamera is texture that cSprites and cAnimatedSprites can be rendered and then renderer cCamera to the Screen */ class EXPORT_FROM_MYDLL cCamera { public: cCamera( const signed long int xPos = 0, const signed long int yPos = 0, const unsigned long int reswidth = 640, const unsigned long int reshight = 480 ); /* Copy constructor */ cCamera( const cCamera& copy ); ~cCamera(); /* Draws the camera on the video buffer */ void Draw(); /* Saves the Camera Image to a BMP file */ void SaveImage( const cString& fileName, const cString& dir = "" ); /// Sets /* Sets the x and y position on the video buffer */ void setXPosandYPos( const signed long int xPos = 0, const signed long int yPos = 0 ); /* Sets the width and height the camera should be */ void setResWidthandResHeight( const unsigned long int reswidth = 640, const unsigned long int reshight = 480 ); /* Sets the Surface */ void setTexture( SDL_Texture* texture ); /// Gets /* Gets the x position of the camera */ const unsigned long int getXPos() const; /* Gets the y position of the camera */ const unsigned long int getYPos() const; /* Gets the width of the camera */ const unsigned long int getWidthRes() const; /* Gets the height of the camera */ const unsigned long int getHeightRes() const; /* Gets the SDL_Renderer of the camera */ SDL_Texture* getCameraView() const; /* Gets the Surface of the camera */ SDL_Texture* getTexture() const; private: /// Functions void CreateCamera(); void DeleteCamera(); private: /// Variables SDL_Rect m_position; SDL_Texture* mp_texture;/// = nullptr //std::vector m_sprites; //LinkList::cLList m_sprites; };/// END CLASS DEFINITION cCamera }/// END NAMESPACE DEFINITION VideoEngine #endif/// END IFNDEF _CCAMERA_HPP_