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

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