~baltix/+junk/irrlicht-test

« back to all changes in this revision

Viewing changes to include/SExposedVideoData.h

  • Committer: Mantas Kriaučiūnas
  • Date: 2011-07-18 13:06:25 UTC
  • Revision ID: mantas@akl.lt-20110718130625-c5pvifp61e7kj1ol
Included whole irrlicht SVN libraries to work around launchpad recipe issue with quilt, see https://answers.launchpad.net/launchpad/+question/165193

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (C) 2002-2011 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
 
9
struct IDirect3D9;
 
10
struct IDirect3DDevice9;
 
11
struct IDirect3D8;
 
12
struct IDirect3DDevice8;
 
13
 
 
14
namespace irr
 
15
{
 
16
namespace 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.
 
21
This only should be used to make it possible to extend the engine easily without
 
22
modification of its source. Note that this structure does not contain any valid data, if
 
23
you are using the software or the null device.
 
24
*/
 
25
struct 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 IDirect3D9 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 IDirect3D8 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