Files
SDLPongCPP/TrooperEngineDLL/TrooperEngine/VideoEngine/cCamera.hpp
T

73 lines
2.0 KiB
C++

#ifndef _CCAMERA_HPP_
#define _CCAMERA_HPP_
/*** SDL Header Files ***/
#include <SDL.h>
/*** 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<cSprite*> m_sprites;
//LinkList::cLList m_sprites;
};/// END CLASS DEFINITION cCamera
}/// END NAMESPACE DEFINITION VideoEngine
#endif/// END IFNDEF _CCAMERA_HPP_