35 lines
933 B
C++
35 lines
933 B
C++
#ifndef _DDRAW_DISPLAYENUMERATOR_HPP_
|
|
#define _DDRAW_DISPLAYENUMERATOR_HPP_
|
|
#ifndef _COMMON_BLOCK_HPP_
|
|
#include <common/block.hpp>
|
|
#endif
|
|
#ifndef _DDRAW_DDRAW_HPP_
|
|
#include <ddraw/ddraw.hpp>
|
|
#endif
|
|
#ifndef _DDRAW_SURFACEDESCRIPTION_HPP_
|
|
#include <ddraw/sfcdesc.hpp>
|
|
#endif
|
|
|
|
class DisplayEnumerator
|
|
{
|
|
public:
|
|
friend class DirectDraw;
|
|
DisplayEnumerator(void);
|
|
virtual ~DisplayEnumerator();
|
|
Block<SurfaceDescription> &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<SurfaceDescription> mEnumeratedModes;
|
|
};
|
|
|
|
inline
|
|
Block<SurfaceDescription> &DisplayEnumerator::enumeratedModes(void)
|
|
{
|
|
return mEnumeratedModes;
|
|
}
|
|
#endif |