コード例 #1
0
ファイル: ReaderQt.cpp プロジェクト: spillerrec/imgviewer
AReader::Error ReaderQt::read( imageCache &cache, const uint8_t* data, unsigned length, QString format ) const{
	QByteArray byte_data = fromData( data, length );
	QBuffer buffer( &byte_data );
	QImageReader image_reader( &buffer, format.toLocal8Bit() );
	
	if( image_reader.canRead() ){
		//Read first image
		QImage frame;
		if( !image_reader.read( &frame ) )
			return ERROR_TYPE_UNKNOWN;
		
		int frame_amount = image_reader.imageCount();
		auto isAnim = image_reader.supportsAnimation();
		cache.set_info( frame_amount, isAnim, isAnim ? image_reader.loopCount() : -1 );
		
		int current_frame = 1;
		do{
			cache.add_frame( frame, image_reader.nextImageDelay() );
			if( frame_amount > 0 && current_frame >= frame_amount )
				break;
			current_frame++;
			image_reader.jumpToNextImage();
		}
		while( image_reader.read( &frame ) );
		
		cache.set_fully_loaded();
		//TODO: What to do on fail?
	}
	else
		return ERROR_TYPE_UNKNOWN;
	
	return ERROR_NONE;
}
コード例 #2
0
/*!
    This is an overloaded function.

    This convenience function creates a new message from \a data, \a encoding and \a parent.
 */
IrcMessage* IrcMessage::fromData(const QByteArray& data, const QByteArray& encoding, QObject* parent)
{
    IrcMessage* message = fromData(data, parent);
    if (message)
        message->setEncoding(encoding);
    return message;
}
コード例 #3
0
bool QDirectFBPixmapData::fromFile(const QString &filename, const char *format,
                                   Qt::ImageConversionFlags flags)
{
    if (!QFile::exists(filename))
        return false;
    if (flags == Qt::AutoColor) {
        if (filename.startsWith(QLatin1Char(':'))) { // resource
            QFile file(filename);
            if (!file.open(QIODevice::ReadOnly))
                return false;
            const QByteArray data = file.readAll();
            file.close();
            return fromData(reinterpret_cast<const uchar*>(data.constData()), data.size(), format, flags);
        } else {
            DFBDataBufferDescription description;
            description.flags = DBDESC_FILE;
            const QByteArray fileNameData = filename.toLocal8Bit();
            description.file = fileNameData.constData();
            if (fromDataBufferDescription(description)) {
                return true;
            }
            // fall back to Qt
        }
    }
    return QPixmapData::fromFile(filename, format, flags);
}
コード例 #4
0
/*!
    Searches for and parses all certificates in \a device that are
    encoded in the specified \a format and returns them in a list of
    certificates.

    \sa fromData()
*/
QList<QSslCertificate> QSslCertificate::fromDevice(QIODevice *device, QSsl::EncodingFormat format)
{
    if (!device) {
        qWarning("QSslCertificate::fromDevice: cannot read from a null device");
        return QList<QSslCertificate>();
    }
    return fromData(device->readAll(), format);
}
コード例 #5
0
	static PrivateKey getKey(Provider *p, const I &in, const QSecureArray &passphrase, ConvertResult *result)
	{
		PrivateKey k;
		PKeyContext *c = static_cast<PKeyContext *>(getContext("pkey", p));
		if(!c)
		{
			if(result)
				*result = ErrorDecode;
			return k;
		}
		ConvertResult r = fromData(c, in, passphrase);
		if(result)
			*result = r;
		if(r == ConvertGood)
			k.change(c);
		return k;
	}
コード例 #6
0
ファイル: qca_publickey.cpp プロジェクト: fL4M3R/qca
	static PublicKey getKey(Provider *p, const I &in, const SecureArray &, ConvertResult *result)
	{
		PublicKey k;
		PKeyContext *c = static_cast<PKeyContext *>(getContext("pkey", p));
		if(!c)
		{
			if(result)
				*result = ErrorDecode;
			return k;
		}
		ConvertResult r = fromData(c, in);
		if(result)
			*result = r;
		if(r == ConvertGood)
			k.change(c);
		else
			delete c;
		return k;
	}
コード例 #7
0
ファイル: qbitmap.cpp プロジェクト: husninazer/qt
QBitmap::QBitmap(const QSize &size, const uchar *bits, bool isXbitmap)
{
    *this = fromData(size, bits, isXbitmap ? QImage::Format_MonoLSB : QImage::Format_Mono);
}
コード例 #8
0
ファイル: qbitmap.cpp プロジェクト: husninazer/qt
QBitmap::QBitmap(int w, int h, const uchar *bits, bool isXbitmap)
{
    *this = fromData(QSize(w, h), bits, isXbitmap ? QImage::Format_MonoLSB : QImage::Format_Mono);
}
コード例 #9
0
ファイル: ReaderQt.cpp プロジェクト: spillerrec/imgviewer
bool ReaderQt::can_read( const uint8_t* data, unsigned length, QString format ) const{
	QByteArray byte_data = fromData( data, length );
	QBuffer buffer( &byte_data );
	QImageReader image_reader( &buffer, format.toLocal8Bit() );
	return image_reader.canRead();
}
コード例 #10
0
/*!
    Creates a new message from \a sender and \a command with \a parent.
 */
IrcMessage* IrcMessage::fromCommand(const QString& sender, IrcCommand* command, QObject* parent)
{
    return fromData(":" + sender.toUtf8() + " " + command->toString().toUtf8(), "UTF-8", parent);
}
コード例 #11
0
/*!
    \internal
    \deprecated
    \sa fromData()
 */
IrcMessage* IrcMessage::fromString(const QString& str, QObject* parent)
{
    return fromData(str.toUtf8(), "UTF-8", parent);
}