31 lines
949 B
C++
31 lines
949 B
C++
#ifndef _DDRAW_DEVICEENUMERATOR_HPP_
|
|
#define _DDRAW_DEVICEENUMERATOR_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_BLOCK_HPP_
|
|
#include <common/block.hpp>
|
|
#endif
|
|
#ifndef _DDRAW_DEVICEDESCRIPTION_HPP_
|
|
#include <ddraw/devdesc.hpp>
|
|
#endif
|
|
|
|
class DeviceEnumerator
|
|
{
|
|
public:
|
|
friend class Direct3D;
|
|
DeviceEnumerator(void);
|
|
virtual ~DeviceEnumerator();
|
|
Block<DeviceDescription> &enumeratedDevices(void);
|
|
protected:
|
|
virtual void enumDevice(DeviceDescription &deviceDescription);
|
|
private:
|
|
enum{PreferredDeviceBitDepth=24};
|
|
DeviceEnumerator(const DeviceEnumerator &someDeviceEnumerator);
|
|
DeviceEnumerator &operator=(const DeviceEnumerator &someDeviceEnumerator);
|
|
static HRESULT WINAPI enumDeviceCallback(LPGUID lpGUID,LPSTR lpszDeviceDesc,LPSTR lpszDeviceName,LPD3DDEVICEDESC lpd3dHWDeviceDesc,LPD3DDEVICEDESC lpd3dSWDeviceDesc,LPVOID lpUserArg);
|
|
|
|
Block<DeviceDescription> mEnumeratedDevices;
|
|
};
|
|
#endif
|