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