00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkDirectXGPUInfoList.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 00028 #ifndef __vtkDirectXGPUInfoList_h 00029 #define __vtkDirectXGPUInfoList_h 00030 00031 #include "vtkGPUInfoList.h" 00032 00033 #include <d3d9.h> // DirectX, HMONITOR 00034 00035 class VTK_RENDERING_EXPORT vtkDirectXGPUInfoList : public vtkGPUInfoList 00036 { 00037 public: 00038 static vtkDirectXGPUInfoList* New(); 00039 vtkTypeMacro(vtkDirectXGPUInfoList, vtkGPUInfoList); 00040 void PrintSelf(ostream& os, vtkIndent indent); 00041 00044 virtual void Probe(); 00045 00046 protected: 00048 00049 vtkDirectXGPUInfoList(); 00050 virtual ~vtkDirectXGPUInfoList(); 00052 00054 00057 bool ProbeInfoWithDXGI(HMONITOR m, 00058 vtkGPUInfo *info); 00060 00062 00064 void ProbeInfoWithWMI(HMONITOR m, 00065 vtkGPUInfo *info); 00067 00069 00072 bool GetDeviceIDFromHMonitor(HMONITOR hm, 00073 WCHAR *strDeviceID, 00074 int cchDeviceID); 00076 00077 private: 00078 vtkDirectXGPUInfoList(const vtkDirectXGPUInfoList&); // Not implemented. 00079 void operator=(const vtkDirectXGPUInfoList&); // Not implemented. 00080 }; 00081 00082 #endif