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 #include <boost/optional.hpp> 00010 #include <boost/utility.hpp> 00011 00012 namespace Gosu 00013 { 00017 struct GLTexInfo 00018 { 00019 int texName; 00020 double left, right, top, bottom; 00021 }; 00022 00028 class ImageData : boost::noncopyable 00029 { 00030 public: 00031 virtual ~ImageData() 00032 { 00033 } 00034 00035 virtual unsigned width() const = 0; 00036 virtual unsigned height() const = 0; 00037 00038 virtual void draw(double x1, double y1, Color c1, 00039 double x2, double y2, Color c2, 00040 double x3, double y3, Color c3, 00041 double x4, double y4, Color c4, 00042 ZPos z, AlphaMode mode) const = 0; 00043 00044 virtual boost::optional<GLTexInfo> glTexInfo() const = 0; 00045 }; 00046 } 00047 00048 #endif
Documentation not clear enough? Please go to one of the places listed on http://www.libgosu.org/ and leave feedback. Thanks!