summaryrefslogtreecommitdiff
path: root/Runtime/GfxDevice/threaded/ThreadedWindow.h
blob: 60489f41fdb07def947caed0d38aed1e6b3f3a6f (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 THREADEDWINDOW_H
#define THREADEDWINDOW_H

#if UNITY_WIN && UNITY_EDITOR

#include "Runtime/GfxDevice/GfxDeviceWindow.h"
#include "ThreadedDeviceStates.h"

class ThreadedWindow : public GfxDeviceWindow
{
public:
	ThreadedWindow( HWND window, int width, int height, DepthBufferFormat depthFormat, int antiAlias );
	~ThreadedWindow();

	bool				Reshape( int width, int height, DepthBufferFormat depthFormat, int antiAlias );

	bool				BeginRendering();
	bool				EndRendering( bool presentContent );
	void				SetAsActiveWindow();

	static int			GetCurrentFSAALevel() { return ms_CurrentFSAALevel; }

private:
	void				OnActivateWindow();

	friend class GfxDeviceClient;
	friend class GfxDeviceWorker;

	ClientDeviceWindow* m_ClientWindow;
	int				m_FSAALevel;
	bool			m_Reshaped;
	static int		ms_CurrentFSAALevel;
};

#endif
#endif