aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/include/SExposedVideoData.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/include/SExposedVideoData.h')
-rw-r--r--src/others/irrlicht-1.8.1/include/SExposedVideoData.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/include/SExposedVideoData.h b/src/others/irrlicht-1.8.1/include/SExposedVideoData.h
new file mode 100644
index 0000000..c30f4a7
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/include/SExposedVideoData.h
@@ -0,0 +1,90 @@
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5#ifndef __S_EXPOSED_VIDEO_DATA_H_INCLUDED__
6#define __S_EXPOSED_VIDEO_DATA_H_INCLUDED__
7
8// forward declarations for internal pointers
9struct IDirect3D9;
10struct IDirect3DDevice9;
11struct IDirect3D8;
12struct IDirect3DDevice8;
13
14namespace irr
15{
16namespace video
17{
18
19//! structure for holding data describing a driver and operating system specific data.
20/** This data can be retrived by IVideoDriver::getExposedVideoData(). Use this with caution.
21This only should be used to make it possible to extend the engine easily without
22modification of its source. Note that this structure does not contain any valid data, if
23you are using the software or the null device.
24*/
25struct SExposedVideoData
26{
27 SExposedVideoData() {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=0;}
28 explicit SExposedVideoData(void* Window) {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=Window;}
29
30 union
31 {
32 struct
33 {
34 //! Pointer to the IDirect3D9 interface
35 IDirect3D9* D3D9;
36
37 //! Pointer to the IDirect3DDevice9 interface
38 IDirect3DDevice9* D3DDev9;
39
40 //! Window handle.
41 /** Get with for example HWND h = reinterpret_cast<HWND>(exposedData.D3D9.HWnd) */
42 void* HWnd;
43
44 } D3D9;
45
46 struct
47 {
48 //! Pointer to the IDirect3D8 interface
49 IDirect3D8* D3D8;
50
51 //! Pointer to the IDirect3DDevice8 interface
52 IDirect3DDevice8* D3DDev8;
53
54 //! Window handle.
55 /** Get with for example with: HWND h = reinterpret_cast<HWND>(exposedData.D3D8.HWnd) */
56 void* HWnd;
57
58 } D3D8;
59
60 struct
61 {
62 //! Private GDI Device Context.
63 /** Get if for example with: HDC h = reinterpret_cast<HDC>(exposedData.OpenGLWin32.HDc) */
64 void* HDc;
65
66 //! Permanent Rendering Context.
67 /** Get if for example with: HGLRC h = reinterpret_cast<HGLRC>(exposedData.OpenGLWin32.HRc) */
68 void* HRc;
69
70 //! Window handle.
71 /** Get with for example with: HWND h = reinterpret_cast<HWND>(exposedData.OpenGLWin32.HWnd) */
72 void* HWnd;
73 } OpenGLWin32;
74
75 struct
76 {
77 // XWindow handles
78 void* X11Display;
79 void* X11Context;
80 unsigned long X11Window;
81 } OpenGLLinux;
82 };
83};
84
85} // end namespace video
86} // end namespace irr
87
88
89#endif
90