khaotic-engine-Reborn/enginecustom/applicationclass.h

49 lines
899 B
C++

#ifndef _APPLICATIONCLASS_H_
#define _APPLICATIONCLASS_H_
//////////////
// INCLUDES //
//////////////
#include "cameraclass.h"
#include "modelclass.h"
#include "colorshaderclass.h"
#include "d3dclass.h"
/////////////
// GLOBALS //
/////////////
const bool VSYNC_ENABLED = true;
const float SCREEN_DEPTH = 1000.0f;
const float SCREEN_NEAR = 0.3f;
class ApplicationClass
{
public:
ApplicationClass();
ApplicationClass(const ApplicationClass&);
~ApplicationClass();
D3DClass* GetDirect3D();
bool Initialize(int, int, HWND);
void Shutdown();
bool Frame();
void SetFullscreen(bool fullscreen);
bool GetFullscreen() const;
int GetScreenWidth() const;
int GetScreenHeight() const;
private:
bool Render();
private:
D3DClass* m_Direct3D;
CameraClass* m_Camera;
ModelClass* m_Model;
ColorShaderClass* m_ColorShader;
IDXGISwapChain* m_swapChain;
bool m_fullscreen = false;
};
#endif