2
* This file is part of the KDE project, module kdecore.
3
* Copyright (C) 2006 Oswald Buddenhagen <ossi@kde.org>
5
* This is free software; it comes under the GNU Library General
6
* Public License, version 2. See the file "COPYING.LIB" for the
7
* exact licensing terms.
10
#include "ksvgrenderer.h"
12
#include <kfilterdev.h>
14
#include <QtCore/QBuffer>
15
#include <QtCore/QFile>
17
KSvgRenderer::KSvgRenderer(QObject *parent) : QSvgRenderer(parent)
21
KSvgRenderer::KSvgRenderer(const QString &filename, QObject *parent) :
27
KSvgRenderer::KSvgRenderer(const QByteArray &contents, QObject *parent) :
34
KSvgRenderer::load(const QString &filename)
37
if (!fi.open(QIODevice::ReadOnly))
39
return load(fi.readAll());
43
KSvgRenderer::load(const QByteArray &contents)
45
if (!contents.startsWith("<?xml")) {
46
QBuffer buf(const_cast<QByteArray *>(&contents));
47
QIODevice *flt = KFilterDev::device(
48
&buf, QString::fromLatin1("application/x-gzip"), false);
51
if (!flt->open(QIODevice::ReadOnly)) {
55
QByteArray ar = flt->readAll();
57
return QSvgRenderer::load(ar);
59
return QSvgRenderer::load(contents);
62
#include "ksvgrenderer.moc"