7 #ifndef _INC_cDXDeviceWindow_H
8 #define _INC_cDXDeviceWindow_H
23 #define USE_DEV_FEATURES
33 bool m_bFullScreenPref;
34 cWinSize m_SizeFullScreen;
37 cWindowPlacement m_WindowPlacement;
46 bool m_bClipCursorWhenFullScreen;
60 typedef cWindow SUPER_t;
64 cDXDevicePrefs& m_rPrefs;
65 cDXEnumeration& m_rEnumeration;
67 cDXSettings m_d3dSettings;
69 cThreadLockMutex m_LoaderMutex;
70 bool m_bInitInstanceComplete;
73 cRectI m_rcWindowBounds;
74 cWinSize m_szWindowedClient;
83 cTimeSys m_timeSizing;
84 bool m_bIgnoreSizeChange;
86 DWORD m_dwWindowStyle;
91 D3DPRESENT_PARAMETERS m_d3dpp;
94 DWORD m_dwDeviceCreateFlags;
97 cValueStats<float> m_FPS;
108 HRESULT Initialize3DEnvironment();
109 HRESULT HandlePossibleSizeChange();
112 void Cleanup3DEnvironment();
114 virtual void BuildPresentParamsFromSettings();
115 virtual HRESULT AdjustWindowForChange();
118 virtual HRESULT OneTimeSceneInit() = 0;
119 virtual void FinalCleanup() = 0;
122 virtual HRESULT RenderApp() = 0;
124 void OnSize(UINT nType);
126 bool OnPaint(HDC hDCAlt);
129 cDXDeviceWindow(
cString sWindowTitle, cDXDevicePrefs& rPrefs, cDXEnumeration& rEnumeration);
130 virtual ~cDXDeviceWindow();
138 virtual void Pause(
bool bPause);
140 #ifdef USE_DEV_FEATURES
141 HRESULT OpenDisplayAdvancedDlg();
144 virtual HRESULT PresentFrame();
145 HRESULT RenderAndPresentFrame();
147 HRESULT SetFullScreenMode(
bool bFullScreen);
149 virtual LRESULT WindowProc(
WINMSG_t uMsg, WPARAM wParam, LPARAM lParam)
override;
#define GRAY3D_LINK
Definition: Gray3D.h:15
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
UINT WINMSG_t
Supplement _WIN32 "windows.h".
Definition: WinTypes.h:111
#define UNITTEST_FRIEND(n)
Define this in the class body to be unit tested. Allow the unit test to access private/protected stuf...
Definition: cUnitTestDecl.h:17
Definition: Gray3D.cpp:12
LOGLEV_TYPE
Definition: cLogLevel.h:22
WORD RESOURCEID_t
A resource in .RC attached to a file/module. like MAKEINTRESOURCE(). https://docs....
Definition: cResourceBase.h:19
char GChar_t
My version of TCHAR, _TCHAR.
Definition: StrConst.h:26
float TIMESECF_t
delta float seconds.
Definition: cTimeSys.h:20
cStringT< GChar_t > cString
Definition: cString.h:636