// Object Graphics // Mark Iuzzolino // mark.iuzzolino@gmail.com // ogTypes.h #pragma once #include <map> #define ogVERSION 1.0 typedef int8_t int8; typedef int16_t int16; typedef int32_t int32; typedef int64_t int64; typedef uint8_t uInt8; typedef uint16_t uInt16; typedef uint32_t uInt32; typedef uint64_t uInt64; enum ogDataState { ogNone, ogOwner, ogAliasing }; enum ogErrorCode { ogOK, ogMemAllocFail, ogAlreadyOwner, ogNoSurface, ogNoPalette, ogBadBPP, ogSourceOutOfBounds, ogDestOutOfBounds, ogFileNotFound, ogFileReadError, ogFileWriteError, ogNoCloning, ogNoAliasing, ogNoModeSupport }; // enum ogErrorCode //static std::map<ogErrorCode, std::string> ogErrorCodes = SetupErrorCodes(); struct ogRGB8 { uInt8 red; uInt8 green; uInt8 blue; }; struct ogRGBA8 { uInt8 red; uInt8 green; uInt8 blue; uInt8 alpha; }; struct ogRGB16 { uInt16 red; uInt16 blue; uInt16 green; }; struct ogRGBA16 { uInt16 red; uInt16 green; uInt16 blue; uInt16 alpha; }; struct ogRGB32 { uInt32 red; uInt32 green; uInt32 blue; }; struct ogRGBA32 { uInt32 red; uInt32 green; uInt32 blue; uInt32 alpha; }; struct ogPoint2d { int32 x; int32 y; }; struct ogPoint3d { int32 x; int32 y; int32 z; }; struct ogAttribute { uInt32 transparentColor; uInt32 defaultAlpha; bool antiAlias; bool blending; ogAttribute( uInt32 transparentColor = 0, uInt32 defaultAlpha = 255, bool antiAlias = true, bool blending = false) { this->transparentColor = transparentColor; this->defaultAlpha = defaultAlpha; this->antiAlias = antiAlias; this->blending = blending; } // ogAttribute() }; // struct ogAttribute