1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
\r
2 // This file is part of the "Irrlicht Engine".
\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
\r
5 #ifndef __S_EXPOSED_VIDEO_DATA_H_INCLUDED__
\r
6 #define __S_EXPOSED_VIDEO_DATA_H_INCLUDED__
\r
8 // forward declarations for internal pointers
\r
10 struct IDirect3DDevice9;
\r
12 struct IDirect3DDevice8;
\r
19 //! structure for holding data describing a driver and operating system specific data.
\r
20 /** This data can be retrieved by IVideoDriver::getExposedVideoData(). Use this with caution.
\r
21 This only should be used to make it possible to extend the engine easily without
\r
22 modification of its source. Note that this structure does not contain any valid data, if
\r
23 you are using the software or the null device.
\r
25 struct SExposedVideoData
\r
27 SExposedVideoData() {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=0;}
\r
28 explicit SExposedVideoData(void* Window) {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=Window;}
\r
32 //! Pointer to the IDirect3D9 interface
\r
35 //! Pointer to the IDirect3DDevice9 interface
\r
36 IDirect3DDevice9* D3DDev9;
\r
39 /** Get with for example HWND h = reinterpret_cast<HWND>(exposedData.D3D9.HWnd) */
\r
45 //! Private GDI Device Context.
\r
46 /** Get if for example with: HDC h = reinterpret_cast<HDC>(exposedData.OpenGLWin32.HDc) */
\r
49 //! Permanent Rendering Context.
\r
50 /** Get if for example with: HGLRC h = reinterpret_cast<HGLRC>(exposedData.OpenGLWin32.HRc) */
\r
54 /** Get with for example with: HWND h = reinterpret_cast<HWND>(exposedData.OpenGLWin32.HWnd) */
\r
63 unsigned long X11Window;
\r
64 unsigned long GLXWindow;
\r
69 //! The NSOpenGLContext object.
\r
72 //! The NSWindow object.
\r
78 //! The EGLNativeWindowType object.
\r
84 //! The EAGLContext object.
\r
87 //! The subview UIView object where the drawing happens.
\r
90 //! The UIViewController object.
\r
91 void* ViewController;
\r
93 //! The UIWindow object.
\r
97 struct SOGLESAndroid
\r
99 //! The ANativeWindow object.
\r
106 SOpenGLWin32 OpenGLWin32;
\r
107 SOpenGLLinux OpenGLLinux;
\r
108 SOpenGLOSX OpenGLOSX;
\r
109 SOpenGLFB OpenGLFB;
\r
110 SOpenGLiOS OpenGLiOS;
\r
111 SOGLESAndroid OGLESAndroid;
\r
115 } // end namespace video
\r
116 } // end namespace irr
\r