using latest love-android @ changeset 8659be0e75a3

This commit is contained in:
fysx
2014-05-25 16:05:26 +02:00
parent 1d29da2d80
commit 49265f0596
58 changed files with 2008 additions and 366 deletions
+23 -4
View File
@@ -25,6 +25,11 @@
#include "DevilHandler.h"
#include "ddsHandler.h"
#include "PVRHandler.h"
#include "KTXHandler.h"
#include "PKMHandler.h"
namespace love
{
namespace image
@@ -35,14 +40,22 @@ namespace magpie
Image::Image()
{
formatHandlers.push_back(new DevilHandler);
compressedFormatHandlers.push_back(new DDSHandler);
compressedFormatHandlers.push_back(new PVRHandler);
compressedFormatHandlers.push_back(new KTXHandler);
compressedFormatHandlers.push_back(new PKMHandler);
}
Image::~Image()
{
// ImageData objects reference the FormatHandlers in our list, so we should
// release them instead of deleting them completely here.
for (auto it = formatHandlers.begin(); it != formatHandlers.end(); ++it)
(*it)->release();
for (FormatHandler *handler : formatHandlers)
handler->release();
for (CompressedFormatHandler *handler : compressedFormatHandlers)
handler->release();
}
const char *Image::getName() const
@@ -67,12 +80,18 @@ love::image::ImageData *Image::newImageData(int width, int height, void *data, b
love::image::CompressedData *Image::newCompressedData(love::filesystem::FileData *data)
{
return new CompressedData(data);
return new CompressedData(compressedFormatHandlers, data);
}
bool Image::isCompressed(love::filesystem::FileData *data)
{
return CompressedData::isCompressed(data);
for (CompressedFormatHandler *handler : compressedFormatHandlers)
{
if (handler->canParse(data))
return true;
}
return false;
}
} // magpie