mirror of
https://github.com/love2d/love-android.git
synced 2026-08-18 11:44:13 +02:00
using latest love-android @ changeset 8659be0e75a3
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user