#ifndef _DDRAW_DEVICEDESCRIPTION_HPP_ #define _DDRAW_DEVICEDESCRIPTION_HPP_ #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _DDRAW_DDRAW_HPP_ #include #endif class DeviceDescription { public: DeviceDescription(void); DeviceDescription(const DeviceDescription &someDeviceDescription); virtual ~DeviceDescription(); DeviceDescription &operator=(const DeviceDescription &someDeviceDescription); const GUID &guid(void)const; void guid(const GUID &guid); const String &deviceName(void)const; void deviceName(const String &deviceName); const String &deviceDescription(void)const; void deviceDescription(const String &deviceDescription); const D3DDEVICEDESC &hwDeviceDescription(void)const; void hwDeviceDescription(const D3DDEVICEDESC &hwDeviceDescription); const D3DDEVICEDESC &swDeviceDescription(void)const; void swDeviceDescription(const D3DDEVICEDESC &swDeviceDescription); BOOL isHardware(void)const; BOOL selected(void)const; void selected(BOOL selected); private: void zeroInit(void); GUID mGUID; String mDeviceName; String mDeviceDescription; D3DDEVICEDESC mHWDeviceDescription; D3DDEVICEDESC mSWDeviceDescription; BOOL mIsSelected; }; inline DeviceDescription::DeviceDescription(void) { zeroInit(); } inline DeviceDescription::DeviceDescription(const DeviceDescription &someDeviceDescription) { *this=someDeviceDescription; } inline DeviceDescription::~DeviceDescription() { } inline DeviceDescription &DeviceDescription::operator=(const DeviceDescription &someDeviceDescription) { guid(someDeviceDescription.guid()); deviceName(someDeviceDescription.deviceName()); deviceDescription(someDeviceDescription.deviceDescription()); hwDeviceDescription(someDeviceDescription.hwDeviceDescription()); swDeviceDescription(someDeviceDescription.swDeviceDescription()); selected(someDeviceDescription.selected()); return *this; } inline const GUID &DeviceDescription::guid(void)const { return mGUID; } inline void DeviceDescription::guid(const GUID &guid) { ::memcpy(&mGUID,&((GUID&)guid),sizeof(GUID)); } inline const String &DeviceDescription::deviceName(void)const { return mDeviceName; } inline void DeviceDescription::deviceName(const String &deviceName) { mDeviceName=deviceName; } inline const String &DeviceDescription::deviceDescription(void)const { return mDeviceDescription; } inline void DeviceDescription::deviceDescription(const String &deviceDescription) { mDeviceDescription=deviceDescription; } inline const D3DDEVICEDESC &DeviceDescription::hwDeviceDescription(void)const { return mHWDeviceDescription; } inline void DeviceDescription::hwDeviceDescription(const D3DDEVICEDESC &hwDeviceDescription) { ::memcpy(&mHWDeviceDescription,&(D3DDEVICEDESC&)hwDeviceDescription,sizeof(D3DDEVICEDESC)); } inline const D3DDEVICEDESC &DeviceDescription::swDeviceDescription(void)const { return mSWDeviceDescription; } inline void DeviceDescription::swDeviceDescription(const D3DDEVICEDESC &swDeviceDescription) { ::memcpy(&mSWDeviceDescription,&(D3DDEVICEDESC&)swDeviceDescription,sizeof(D3DDEVICEDESC)); } inline BOOL DeviceDescription::isHardware(void)const { return hwDeviceDescription().dcmColorModel; } inline BOOL DeviceDescription::selected(void)const { return mIsSelected; } inline void DeviceDescription::selected(BOOL selected) { mIsSelected=selected; } inline void DeviceDescription::zeroInit(void) { ::memset(&mGUID,0,sizeof(mGUID)); ::memset(&mHWDeviceDescription,0,sizeof(mHWDeviceDescription)); ::memset(&mSWDeviceDescription,0,sizeof(mSWDeviceDescription)); mIsSelected=FALSE; } #endif