From aa139a7d2b3f26af7590edbf413df67195c5d900 Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 27 Apr 2009 00:25:16 +0200 Subject: Adding ue2 --- ue2/imgsynth2/cpixelformat_bgr555.h | 96 +++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 ue2/imgsynth2/cpixelformat_bgr555.h (limited to 'ue2/imgsynth2/cpixelformat_bgr555.h') diff --git a/ue2/imgsynth2/cpixelformat_bgr555.h b/ue2/imgsynth2/cpixelformat_bgr555.h new file mode 100644 index 0000000..7a49c7c --- /dev/null +++ b/ue2/imgsynth2/cpixelformat_bgr555.h @@ -0,0 +1,96 @@ +/** + * @module cpixelformat_bgr555 + * @author Guenther Neuwirth (0626638), Manuel Mausz (0728348) + * @brief Implementation of CPixelFormat handling BGR555 color (real color) + * Windows Bitmaps. + * @date 26.04.2009 + */ + +#ifndef CPIXELFORMAT_BGR555_H +#define CPIXELFORMAT_BGR555_H + +#include +#include "cpixelformat.h" + +/* TODO */ +#define BGR555_RED_SHIFT 10 +#define BGR555_GREEN_SHIFT 5 +#define BGR555_BLUE_SHIFT 0 +#define BGR555_RED_MASK 0x7C00 +#define BGR555_GREEN_MASK 0x03E0 +#define BGR555_BLUE_MASK 0x001F + +/** + * @class CPixelFormat_BGR555 + * @brief Implementation of CPixelFormat handling BGR555 color (real color) + * Windows Bitmaps. + * + * On error CPixelFormat::PixelFormatError is thrown. + */ +class CPixelFormat_BGR555 : public CPixelFormat +{ + public: + /** + * @method CPixelFormat_BGR55 + * @brief Default ctor + * @param bitmap pointer to CBitmap instance + * @return - + * @globalvars none + * @exception none + * @conditions none + */ + CPixelFormat_BGR555(CBitmap *bitmap) + : CPixelFormat(bitmap) + {} + + /** + * @method ~CPixelFormat_BGR555 + * @brief Default dtor + * @param - + * @return - + * @globalvars none + * @exception none + * @conditions none + */ + ~CPixelFormat_BGR555() + {} + + /** + * @method setPixel + * @brief Modifies pixel at coordinates x, y + * @param pixel pointer to new pixel data + * @param x x-coordinate + * @param y y-coordinate + * @return - + * @globalvars none + * @exception PixelFormatError + * @conditions none + */ + void setPixel(const uint32_t *pixel, uint32_t x, uint32_t y); + + /** + * @method getBitCount + * @brief returns color bitcount supported by this class + * @param - + * @return color bitcount supported by this class + * @globalvars none + * @exception none + * @conditions none + */ + uint32_t getBitCount() + { + return 16; + } + + /* + * TODO + */ + void getMaxColor(unsigned int *red, unsigned int *green, unsigned int *blue) + { + *red = *green = *blue = 31; /* 2^5 -1 */ + } +}; + +#endif + +/* vim: set et sw=2 ts=2: */ -- cgit v1.2.3