#ifndef _DDRAW_DIRECT3D_HPP_ #define _DDRAW_DIRECT3D_HPP_ #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _DDRAW_DDRAW_HPP_ #include #endif #ifndef _DDRAW_DIRECTDRAWERROR_HPP_ #include #endif class DeviceEnumerator; class DeviceDescription; class Surface; class DirectDevice3D; class Direct3D : private SmartPointer { public: Direct3D(void); virtual ~Direct3D(); void destroy(void); BOOL enumerateDevice(DeviceEnumerator &deviceEnumerator); DirectDrawError createDevice(const DeviceDescription &deviceDescription,Surface &surface,DirectDevice3D &device3D); private: Direct3D(const Direct3D &someDirect3D); Direct3D &operator=(const Direct3D &someDirect3D); }; #endif