Files
Work/ddraw/DEVENUM.HPP
2024-08-07 09:16:27 -04:00

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