summaryrefslogtreecommitdiff
path: root/Runtime/GfxDevice/GfxDeviceWindow.h
blob: 0b8b022b508b8f28450a3acaea38fb31f76f28c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef GFXDEVICEWINDOW_H
#define GFXDEVICEWINDOW_H

#include "GfxDeviceTypes.h"

class GfxDeviceWindow
{
protected:
	NativeWindow	m_Window;
	int		m_Width;
	int		m_Height;
	bool	m_InvalidState;
	bool	m_CanUseBlitOptimization;
public:
	GfxDeviceWindow (NativeWindow window, int width, int height, DepthBufferFormat depthFormat, int antiAlias);
	virtual ~GfxDeviceWindow();

	//Returns true if reshaping was successful
	virtual bool		Reshape( int width, int height, DepthBufferFormat depthFormat, int antiAlias );

	//Returns true if succeeded to prepare for rendering
	virtual bool		BeginRendering();

	virtual void		SetAsActiveWindow () { };

	//Returns true if succeeded to finish rendering
	virtual bool		EndRendering( bool presentContent );

	inline bool			CanUseBlitOptimization() const { return m_CanUseBlitOptimization; }

	inline int			GetWidth() const  { return m_Width; }
	inline int			GetHeight() const { return m_Height; }
	inline NativeWindow GetHandle () const { return m_Window; }
};

#endif