Small ImageData code cleanup.

This commit is contained in:
Alex Szpakowski
2019-06-04 20:33:44 -03:00
parent 8455ef22d5
commit 2a534893b1
4 changed files with 14 additions and 25 deletions
+4 -8
View File
@@ -46,23 +46,19 @@ CompressedMemory::~CompressedMemory()
} }
CompressedSlice::CompressedSlice(PixelFormat format, int width, int height, CompressedMemory *memory, size_t offset, size_t size) CompressedSlice::CompressedSlice(PixelFormat format, int width, int height, CompressedMemory *memory, size_t offset, size_t size)
: memory(memory) : ImageDataBase(format, width, height)
, memory(memory)
, offset(offset) , offset(offset)
, dataSize(size) , dataSize(size)
{ {
this->format = format;
this->width = width;
this->height = height;
} }
CompressedSlice::CompressedSlice(const CompressedSlice &s) CompressedSlice::CompressedSlice(const CompressedSlice &s)
: memory(s.memory) : ImageDataBase(s.getFormat(), s.getWidth(), s.getHeight())
, memory(s.memory)
, offset(s.offset) , offset(s.offset)
, dataSize(s.dataSize) , dataSize(s.dataSize)
{ {
this->format = s.getFormat();
this->width = s.getWidth();
this->height = s.getHeight();
} }
CompressedSlice::~CompressedSlice() CompressedSlice::~CompressedSlice()
+4 -12
View File
@@ -32,19 +32,17 @@ namespace image
love::Type ImageData::type("ImageData", &Data::type); love::Type ImageData::type("ImageData", &Data::type);
ImageData::ImageData(Data *data) ImageData::ImageData(Data *data)
: ImageDataBase(PIXELFORMAT_UNKNOWN, 0, 0)
{ {
decode(data); decode(data);
} }
ImageData::ImageData(int width, int height, PixelFormat format) ImageData::ImageData(int width, int height, PixelFormat format)
: ImageDataBase(format, width, height)
{ {
if (!validPixelFormat(format)) if (!validPixelFormat(format))
throw love::Exception("Unsupported pixel format for ImageData"); throw love::Exception("Unsupported pixel format for ImageData");
this->width = width;
this->height = height;
this->format = format;
create(width, height, format); create(width, height, format);
// Set to black/transparency. // Set to black/transparency.
@@ -52,14 +50,11 @@ ImageData::ImageData(int width, int height, PixelFormat format)
} }
ImageData::ImageData(int width, int height, PixelFormat format, void *data, bool own) ImageData::ImageData(int width, int height, PixelFormat format, void *data, bool own)
: ImageDataBase(format, width, height)
{ {
if (!validPixelFormat(format)) if (!validPixelFormat(format))
throw love::Exception("Unsupported pixel format for ImageData"); throw love::Exception("Unsupported pixel format for ImageData");
this->width = width;
this->height = height;
this->format = format;
if (own) if (own)
this->data = (unsigned char *) data; this->data = (unsigned char *) data;
else else
@@ -67,11 +62,8 @@ ImageData::ImageData(int width, int height, PixelFormat format, void *data, bool
} }
ImageData::ImageData(const ImageData &c) ImageData::ImageData(const ImageData &c)
: ImageDataBase(c.format, c.width, c.height)
{ {
width = c.width;
height = c.height;
format = c.format;
create(width, height, format, c.getData()); create(width, height, format, c.getData());
} }
+4 -4
View File
@@ -25,10 +25,10 @@ namespace love
namespace image namespace image
{ {
ImageDataBase::ImageDataBase() ImageDataBase::ImageDataBase(PixelFormat format, int width, int height)
: format(PIXELFORMAT_UNKNOWN) : format(format)
, width(0) , width(width)
, height(0) , height(height)
{ {
} }
+2 -1
View File
@@ -33,7 +33,6 @@ class ImageDataBase : public Data
{ {
public: public:
ImageDataBase();
virtual ~ImageDataBase() {} virtual ~ImageDataBase() {}
PixelFormat getFormat() const; PixelFormat getFormat() const;
@@ -45,6 +44,8 @@ public:
protected: protected:
ImageDataBase(PixelFormat format, int width, int height);
PixelFormat format; PixelFormat format;
int width; int width;
int height; int height;