Irrlicht 3D Engine
SExposedVideoData.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __S_EXPOSED_VIDEO_DATA_H_INCLUDED__
00006 #define __S_EXPOSED_VIDEO_DATA_H_INCLUDED__
00007 
00008 // forward declarations for internal pointers
00009 struct IDirect3D9;
00010 struct IDirect3DDevice9;
00011 struct IDirect3D8;
00012 struct IDirect3DDevice8;
00013 
00014 namespace irr
00015 {
00016 namespace video
00017 {
00018 
00020 
00025 struct SExposedVideoData
00026 {
00027     SExposedVideoData() {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=0;}
00028     explicit SExposedVideoData(void* Window) {OpenGLWin32.HDc=0; OpenGLWin32.HRc=0; OpenGLWin32.HWnd=Window;}
00029 
00030     union
00031     {
00032         struct
00033         {
00035             IDirect3D9* D3D9;
00036 
00038             IDirect3DDevice9* D3DDev9;
00039 
00041 
00042             void* HWnd;
00043 
00044         } D3D9;
00045 
00046         struct
00047         {
00049             IDirect3D8* D3D8;
00050 
00052             IDirect3DDevice8* D3DDev8;
00053 
00055 
00056             void* HWnd;
00057 
00058         } D3D8;
00059 
00060         struct
00061         {
00063 
00064             void* HDc;
00065 
00067 
00068             void* HRc;
00069 
00071 
00072             void* HWnd;
00073         } OpenGLWin32;
00074 
00075         struct
00076         {
00077             // XWindow handles
00078             void* X11Display;
00079             void* X11Context;
00080             unsigned long X11Window;
00081         } OpenGLLinux;
00082     };
00083 };
00084 
00085 } // end namespace video
00086 } // end namespace irr
00087 
00088 
00089 #endif
00090