00001 #ifndef _PIXMAP_IMAGE_H_
00002 #define _PIXMAP_IMAGE_H_ 1
00003
00011 #include <lib/sconfig.h>
00012 #include <lib/tl/refnode.h>
00013 #include <lib/pixmap/format.h>
00014
00015 #include <lib/tl/linkedlist.h>
00016
00017
00030 class _IPixmapImage : InternalRefNodeBase_ThreadSave
00031 {
00032 public:
00033
00034
00035 #error go on
00036 struct Tile : LinkedListBase<Tile>, PixmapImageTile
00037 {
00038 public:
00039 Tile() : LinkedListBase<Tile>(),PixmapImageTile() {}
00040 ~Tile() {}
00041 };
00042
00043 private:
00044 PixmapFormat pfmt;
00045 uint w,h;
00046
00047 public:
00048
00049 _IPixmapImage();
00050
00051 _IPixmapImage(const PixmapFormat &pf,uint width,uint height);
00052
00053 ~_IPixmapImage();
00054
00055
00056 inline uint width() const { return(width); }
00057 inline uint height() const { return(height); }
00058 inline const PixmapFormat &format() const { return(pfmt); }
00059
00060
00061
00062
00063 inline void GetPixel8(uint x,uint y,uint8 *p) const
00064 inline void PutPixel8(uint x,uint y,const uint8 *p)
00065 inline void GetPixel16(uint x,uint y,uint16 *p) const
00066 inline void PutPixel16(uint x,uint y,const uint16 *p)
00067
00068
00069
00070
00071
00072
00073 inline void GetPixelF(uint x,uint y,flt *p) const
00074 inline void PutPixelF(uint x,uint y,const flt *p)
00075
00076 };
00077
00078
00079
00080
00081 typedef RefNode<_IPixmapImage> PixmapImage;
00082
00083 #endif