2020-07-04 22:51:42 +08:00
|
|
|
#include "sai_p.h"
|
|
|
|
|
|
|
|
#include "sai.hpp"
|
|
|
|
|
|
|
|
SAIHandler::SAIHandler()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
bool SAIHandler::canRead() const
|
|
|
|
{
|
|
|
|
if (canRead(device())) {
|
|
|
|
setFormat("sai");
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool SAIHandler::read(QImage *image)
|
|
|
|
{
|
|
|
|
Q_UNUSED(image)
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool SAIHandler::write(const QImage &image)
|
|
|
|
{
|
|
|
|
Q_UNUSED(image)
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool SAIHandler::canRead(QIODevice *device)
|
|
|
|
{
|
|
|
|
if (!device) {
|
|
|
|
qWarning("SAIHandler::canRead() called with no device");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// FIXME: check
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
QImageIOPlugin::Capabilities SAIPlugin::capabilities(QIODevice *device, const QByteArray &format) const
|
|
|
|
{
|
2020-07-05 14:54:17 +08:00
|
|
|
if (format == "sai") {
|
|
|
|
return Capabilities(CanRead);
|
|
|
|
}
|
|
|
|
|
2020-07-04 22:51:42 +08:00
|
|
|
if (!format.isEmpty()) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!device->isOpen()) {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
2020-07-05 14:54:17 +08:00
|
|
|
Capabilities cap;
|
|
|
|
if (device->isReadable() && SAIHandler::canRead(device)) {
|
|
|
|
cap |= CanRead;
|
|
|
|
}
|
|
|
|
return cap;
|
2020-07-04 22:51:42 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
QImageIOHandler *SAIPlugin::create(QIODevice *device, const QByteArray &format) const
|
|
|
|
{
|
|
|
|
QImageIOHandler *handler = new SAIHandler;
|
|
|
|
handler->setDevice(device);
|
|
|
|
handler->setFormat(format);
|
|
|
|
return handler;
|
|
|
|
}
|