Go to the documentation of this file.00001
00002
00003
00004 #ifndef GOSU_IMAGEDATA_HPP
00005 #define GOSU_IMAGEDATA_HPP
00006
00007 #include <Gosu/Color.hpp>
00008 #include <Gosu/GraphicsBase.hpp>
00009
00010 namespace Gosu
00011 {
00015 struct GLTexInfo
00016 {
00017 int texName;
00018 float left, right, top, bottom;
00019 };
00020
00026 class ImageData
00027 {
00028
00029 ImageData(const ImageData&);
00030 ImageData& operator=(const ImageData&);
00031
00032 public:
00033 ImageData()
00034 {
00035 }
00036
00037 virtual ~ImageData()
00038 {
00039 }
00040
00041 virtual unsigned width() const = 0;
00042 virtual unsigned height() const = 0;
00043
00044 virtual void draw(double x1, double y1, Color c1,
00045 double x2, double y2, Color c2,
00046 double x3, double y3, Color c3,
00047 double x4, double y4, Color c4,
00048 ZPos z, AlphaMode mode) const = 0;
00049
00050 virtual const GLTexInfo* glTexInfo() const = 0;
00051 virtual Bitmap toBitmap() const = 0;
00052
00054 virtual void insert(const Bitmap& bitmap, int x, int y) = 0;
00055 };
00056 }
00057
00058 #endif