189 lines
5.5 KiB
C++
189 lines
5.5 KiB
C++
#ifndef _DDRAW_DIRECTDRAWERROR_HPP_
|
|
#define _DDRAW_DIRECTDRAWERROR_HPP_
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
#ifndef _DDRAW_DDRAW_HPP_
|
|
#include <ddraw/ddraw.hpp>
|
|
#endif
|
|
|
|
class DirectDrawError
|
|
{
|
|
public:
|
|
enum DirectDrawResult{Ok=DD_OK,GenericFailure=DDERR_GENERIC,IncompatiblePrimary=DDERR_INCOMPATIBLEPRIMARY,
|
|
InvalidCaps=DDERR_INVALIDCAPS,InvalidPixelFormat=DDERR_INVALIDPIXELFORMAT,Exception=DDERR_EXCEPTION,
|
|
NoAlphaHardware=DDERR_NOALPHAHW,NoCooperativeLevelSet=DDERR_NOCOOPERATIVELEVELSET,
|
|
NoDirectDrawHardware=DDERR_NODIRECTDRAWHW,NoEmulation=DDERR_NOEMULATION,InvalidObject=DDERR_INVALIDOBJECT,
|
|
NoExclusiveMode=DDERR_NOEXCLUSIVEMODE,NoFlipHardware=DDERR_NOFLIPHW,NoMipMapHardware=DDERR_NOMIPMAPHW,
|
|
NoOverlayHardware=DDERR_NOOVERLAYHW,NoZBufferHardware=DDERR_NOZBUFFERHW,OutOfMemory=DDERR_OUTOFMEMORY,
|
|
OutOfVideoMemory=DDERR_OUTOFVIDEOMEMORY,PrimarySurfaceAlreadyExists=DDERR_PRIMARYSURFACEALREADYEXISTS,
|
|
UnsupportedMode=DDERR_UNSUPPORTEDMODE,InvalidParams=DDERR_INVALIDPARAMS,InvalidRect=DDERR_INVALIDRECT,
|
|
NoBltHardware=DDERR_NOBLTHW,SurfaceBusy=DDERR_SURFACEBUSY,SurfaceLost=DDERR_SURFACELOST,
|
|
NoSupport=DDERR_UNSUPPORTED,WasStillDrawing=DDERR_WASSTILLDRAWING,InvalidClipList=DDERR_INVALIDCLIPLIST,
|
|
NoClipList=DDERR_NOCLIPLIST,NoRasterHardware=DDERR_NODDROPSHW,NoMirrorHardware=DDERR_NOMIRRORHW,
|
|
NoRasterOpHardware=DDERR_NORASTEROPHW,NoRotationHardware=DDERR_NOROTATIONHW,
|
|
NoStretchHardware=DDERR_NOSTRETCHHW,NoLockedSurfaces=DDERR_LOCKEDSURFACES,NotFound=DDERR_NOTFOUND};
|
|
DirectDrawError(void);
|
|
DirectDrawError(const DirectDrawError &someDirectDrawError);
|
|
DirectDrawError(DirectDrawResult directDrawResult);
|
|
virtual ~DirectDrawError();
|
|
DirectDrawError &operator=(const DirectDrawError &someDirectDrawError);
|
|
DirectDrawError &operator=(DirectDrawResult directDrawResult);
|
|
BOOL operator==(const DirectDrawError &someDirectDrawError)const;
|
|
BOOL operator==(DirectDrawResult directDrawResult)const;
|
|
operator String(void)const;
|
|
DirectDrawResult result(void)const;
|
|
void result(DirectDrawResult result);
|
|
BOOL okResult(void)const;
|
|
private:
|
|
DirectDrawResult mDirectDrawResult;
|
|
};
|
|
|
|
inline
|
|
DirectDrawError::DirectDrawError(void)
|
|
: mDirectDrawResult(GenericFailure)
|
|
{
|
|
}
|
|
|
|
inline
|
|
DirectDrawError::DirectDrawError(const DirectDrawError &someDirectDrawError)
|
|
{
|
|
*this=someDirectDrawError;
|
|
}
|
|
|
|
inline
|
|
DirectDrawError::DirectDrawError(DirectDrawResult directDrawResult)
|
|
{
|
|
*this=directDrawResult;
|
|
}
|
|
|
|
inline
|
|
DirectDrawError::~DirectDrawError()
|
|
{
|
|
}
|
|
|
|
inline
|
|
DirectDrawError &DirectDrawError::operator=(const DirectDrawError &someDirectDrawError)
|
|
{
|
|
result(someDirectDrawError.result());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
DirectDrawError &DirectDrawError::operator=(DirectDrawResult directDrawResult)
|
|
{
|
|
result(directDrawResult);
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
BOOL DirectDrawError::operator==(const DirectDrawError &someDirectDrawError)const
|
|
{
|
|
return result()==someDirectDrawError.result();
|
|
}
|
|
|
|
inline
|
|
BOOL DirectDrawError::operator==(DirectDrawResult directDrawResult)const
|
|
{
|
|
return result()==directDrawResult;
|
|
}
|
|
|
|
inline
|
|
DirectDrawError::operator String(void)const
|
|
{
|
|
switch(result())
|
|
{
|
|
case Ok :
|
|
return String("Ok");
|
|
case GenericFailure :
|
|
return String("GenericFailure");
|
|
case IncompatiblePrimary :
|
|
return String("IncompatiblePrimary");
|
|
case InvalidCaps :
|
|
return String("InvalidCaps");
|
|
case InvalidPixelFormat :
|
|
return String("InvalidPixelFormat");
|
|
case NoAlphaHardware :
|
|
return String("NoAlphaHardware");
|
|
case NoCooperativeLevelSet :
|
|
return String("NoCooperativeLevelSet");
|
|
case NoDirectDrawHardware :
|
|
return String("NoDirectDrawHardware");
|
|
case NoEmulation :
|
|
return String("NoEmulation");
|
|
case NoExclusiveMode :
|
|
return String("NoExclusiveMode");
|
|
case NoFlipHardware :
|
|
return String("NoFlipHardware");
|
|
case NoMipMapHardware :
|
|
return String("NoMipMapHardware");
|
|
case NoOverlayHardware :
|
|
return String("NoOverlayHardware");
|
|
case NoZBufferHardware :
|
|
return String("NoZBufferHardware");
|
|
case OutOfMemory :
|
|
return String("OutOfMemory");
|
|
case OutOfVideoMemory :
|
|
return String("OutOfVideoMemory");
|
|
case PrimarySurfaceAlreadyExists :
|
|
return String("PrimarySurfaceAlreadyExists");
|
|
case UnsupportedMode :
|
|
return String("UnsupportedMode");
|
|
case Exception :
|
|
return String("Exception");
|
|
case InvalidParams :
|
|
return String("InvalidParams");
|
|
case InvalidRect :
|
|
return String("InvalidRect");
|
|
case NoBltHardware :
|
|
return String("NoBltHardware");
|
|
case SurfaceBusy :
|
|
return String("SurfaceBusy");
|
|
case SurfaceLost :
|
|
return String("SurfaceLost");
|
|
case NoSupport :
|
|
return String("NoSupport");
|
|
case WasStillDrawing :
|
|
return String("WasStillDrawing");
|
|
case InvalidClipList :
|
|
return String("InvalidClipList");
|
|
case NoClipList :
|
|
return String("NoClipList");
|
|
case NoRasterHardware :
|
|
return String("NoRasterHardware");
|
|
case NoMirrorHardware :
|
|
return String("NoMirrorHardware");
|
|
case NoRasterOpHardware :
|
|
return String("NoRasterOpHardware");
|
|
case NoRotationHardware :
|
|
return String("NoRotationHardware");
|
|
case NoStretchHardware :
|
|
return String("NoStretchHardware");
|
|
case NoLockedSurfaces :
|
|
return String("NoLockedSurfaces");
|
|
case NotFound :
|
|
return String("NotFound");
|
|
default :
|
|
return String("UndefinedError");
|
|
}
|
|
}
|
|
|
|
inline
|
|
DirectDrawError::DirectDrawResult DirectDrawError::result(void)const
|
|
{
|
|
return mDirectDrawResult;
|
|
}
|
|
|
|
inline
|
|
void DirectDrawError::result(DirectDrawResult result)
|
|
{
|
|
mDirectDrawResult=result;
|
|
}
|
|
|
|
inline
|
|
BOOL DirectDrawError::okResult(void)const
|
|
{
|
|
return Ok==mDirectDrawResult;
|
|
}
|
|
#endif
|