00001 00009 #ifndef CPIXELFORMAT_H 00010 #define CPIXELFORMAT_H 00011 00012 #include <fstream> 00013 #include <stdexcept> 00014 00015 class CBitmap; 00016 #include "cbitmap.h" 00017 00026 class CPixelFormat 00027 { 00028 public: 00033 class PixelFormatError : public std::invalid_argument { 00034 public: 00044 PixelFormatError(const std::string& what) 00045 : std::invalid_argument(what) 00046 {} 00047 }; 00048 00058 CPixelFormat(CBitmap *bitmap) 00059 : m_bitmap(bitmap) 00060 {} 00061 00071 virtual ~CPixelFormat() 00072 {}; 00073 00085 virtual void setPixel(const uint32_t *pixel, const uint32_t x, const uint32_t y) = 0; 00086 00096 virtual uint32_t getBitCount() = 0; 00097 00098 protected: 00099 /* members */ 00101 CBitmap *m_bitmap; 00102 }; 00103 00104 #endif 00105 00106 /* vim: set et sw=2 ts=2: */
1.5.3