#ifndef _DDRAW_DIRECTDRAWERROR_HPP_ #define _DDRAW_DIRECTDRAWERROR_HPP_ #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _DDRAW_DDRAW_HPP_ #include #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