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

157 lines
3.5 KiB
C++

#ifndef _DDRAW_DEVICEDESCRIPTION_HPP_
#define _DDRAW_DEVICEDESCRIPTION_HPP_
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _DDRAW_DDRAW_HPP_
#include <ddraw/ddraw.hpp>
#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