LCOV - code coverage report
Current view: top level - usr/include/irrlicht - SExposedVideoData.h (source / functions) Hit Total Coverage
Test: report Lines: 1 1 100.0 %
Date: 2015-07-11 18:23:49 Functions: 1 1 100.0 %

          Line data    Source code
       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
       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        1333 :         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             : 

Generated by: LCOV version 1.11