#ifndef _DDRAW_DISPLAYENUMERATOR_HPP_ #define _DDRAW_DISPLAYENUMERATOR_HPP_ #ifndef _COMMON_BLOCK_HPP_ #include #endif #ifndef _DDRAW_DDRAW_HPP_ #include #endif #ifndef _DDRAW_SURFACEDESCRIPTION_HPP_ #include #endif class DisplayEnumerator { public: friend class DirectDraw; DisplayEnumerator(void); virtual ~DisplayEnumerator(); Block &enumeratedModes(void); protected: virtual void enumModes(SurfaceDescription &surfaceDescription); private: DisplayEnumerator(const DisplayEnumerator &someDisplayEnumerator); DisplayEnumerator &operator=(const DisplayEnumerator &someDisplayEnumerator); static HRESULT WINAPI enumModesCallback(LPDDSURFACEDESC2 lpDDSurfaceDesc,LPVOID lpContext); Block mEnumeratedModes; }; inline Block &DisplayEnumerator::enumeratedModes(void) { return mEnumeratedModes; } #endif