diff options
author | Toby Tomkins <toby.tomkins@nokia.com> | 2012-02-06 11:42:06 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-08 11:15:48 +0100 |
commit | 2e2fa4802fad88371aaf20a6b83a29a103e88e35 (patch) | |
tree | 3b88412ee4fe648fc14f67806f0cc4af910eb0d9 /tests/auto | |
parent | f68a3dc48d8fb8c04fe49dd9e5d07d7cdd221ad1 (diff) | |
download | qtimageformats-2e2fa4802fad88371aaf20a6b83a29a103e88e35.tar.gz |
Move tga support from Qt3d to QtImageFormats.
Rev-By: Samuel Rodal
Fix-for: QTBUG-21955
Part of fix for https://bugreports.qt.nokia.com/browse/QTBUG-21955
Having tga plugin inside a Qt add-on causes packaging problems.
There have been many queries over the years for tga support even tho it
is a niche image format. It is particularly useful for OpenGL work as a
texture format since it is a blittable bitmap, but it is very
innefficient compared to png or jpg.
For this reason only read support is added, and this is documented.
Also add one unit test.
(based on cherry picked from Qt 4.8 commit 951a997893407b0a26f21fe0acec4701fa3d4279)
Adds code removed from Qt3D.
http://codereview.qt-project.org/#change,13898
Conflicts:
tests/auto/qimagereader/qimagereader.pro
tests/auto/qimagereader/tst_qimagereader.cpp
Change-Id: Ia1b7420dd3461cb1d2f1d857d11444a0a533de43
Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/auto.pro | 3 | ||||
-rw-r--r-- | tests/auto/tga/tga.pro | 11 | ||||
-rw-r--r-- | tests/auto/tga/tst_qtga.cpp | 76 |
3 files changed, 89 insertions, 1 deletions
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 793221c..70ee4ae 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -1,3 +1,4 @@ TEMPLATE = subdirs -SUBDIRS = +SUBDIRS = \ + tga contains(QT_CONFIG, system-zlib): SUBDIRS += mng tiff diff --git a/tests/auto/tga/tga.pro b/tests/auto/tga/tga.pro new file mode 100644 index 0000000..3dd9064 --- /dev/null +++ b/tests/auto/tga/tga.pro @@ -0,0 +1,11 @@ +TEMPLATE = app +TARGET = tst_qtga +DEPENDPATH += . +INCLUDEPATH += . + +QT = core gui testlib +CONFIG -= app_bundle +CONFIG += testcase + +SOURCES += tst_qtga.cpp +RESOURCES += $$PWD/../../shared/images/tga.qrc diff --git a/tests/auto/tga/tst_qtga.cpp b/tests/auto/tga/tst_qtga.cpp new file mode 100644 index 0000000..ff53e83 --- /dev/null +++ b/tests/auto/tga/tst_qtga.cpp @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the TGA autotests in the Qt ImageFormats module. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QtTest> +#include <QtGui/QtGui> + +class tst_qtga: public QObject +{ + Q_OBJECT + +private slots: + void readImage_data(); + void readImage(); +}; + +void tst_qtga::readImage_data() +{ + QTest::addColumn<QString>("fileName"); + QTest::addColumn<QSize>("size"); + + QTest::newRow("test-flag") << QString("test-flag.tga") << QSize(400, 400); +} + +void tst_qtga::readImage() +{ + QFETCH(QString, fileName); + QFETCH(QSize, size); + + QString path = QString(":/tga/") + fileName; + QImageReader reader(path); + QVERIFY(reader.canRead()); + QImage image = reader.read(); + QVERIFY(!image.isNull()); + QCOMPARE(image.size(), size); +} + +QTEST_MAIN(tst_qtga) +#include "tst_qtga.moc" |