File indexing completed on 2024-06-09 04:24:42
0001 /* 0002 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@valdyas.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "kis_image_view_converter_test.h" 0008 #include <QApplication> 0009 0010 #include <kis_debug.h> 0011 #include <simpletest.h> 0012 #include <KoColorSpace.h> 0013 #include <KoColorSpaceRegistry.h> 0014 0015 #include "kis_image_view_converter.h" 0016 #include "kis_paint_device.h" 0017 #include "kis_image.h" 0018 #include "kis_types.h" 0019 0020 void KisImageViewConverterTest::testDocumentToView() 0021 { 0022 const KoColorSpace * colorSpace = KoColorSpaceRegistry::instance()->rgb8(); 0023 KisImageSP image = new KisImage(0, 512, 512, colorSpace, "test"); 0024 KisImageViewConverter viewConverter(image); 0025 0026 image->setResolution(1.38888888, 1.38888888); 0027 0028 QVERIFY(viewConverter.documentToView(QPointF(0.0, 0.0)) 0029 == QPointF(0.0, 0.0)); 0030 0031 QPointF f = viewConverter.documentToView(QPointF(3.2, 5.2)); 0032 QVERIFY(f.x() < 4.44445 && f.x() > 4.44443 && f.y() < 7.22223 && f.y() > 7.22221); 0033 0034 QRectF r = viewConverter.documentToView(QRectF(0.0, 0.0, 10.0, 10.0)); 0035 QVERIFY(r.width() < 13.889 && r.width() > 13.8888 0036 && r.height() < 13.889 && r.height() > 13.8888); 0037 0038 QSizeF s = viewConverter.documentToView(QSizeF(1.0, 1.0)); 0039 QVERIFY(s.width() < 1.3888889 && s.width() > 1.388887 0040 && s.height() < 1.3888889 && s.height() > 1.388887); 0041 0042 double x = viewConverter.documentToViewX(1.0); 0043 QVERIFY(x < 1.3888889 && x > 1.388887); 0044 0045 double y = viewConverter.documentToViewY(1.0); 0046 QVERIFY(y < 1.3888889 && y > 1.388887); 0047 0048 } 0049 0050 void KisImageViewConverterTest::testViewToDocument() 0051 { 0052 const KoColorSpace * colorSpace = KoColorSpaceRegistry::instance()->rgb8(); 0053 KisImageSP image = new KisImage(0, 512, 512, colorSpace, "test"); 0054 KisImageViewConverter viewConverter(image); 0055 0056 image->setResolution(1.38888888, 1.38888888); 0057 0058 QVERIFY(viewConverter.viewToDocument(QPointF(0.0, 0.0)) 0059 == QPointF(0.0, 0.0)); 0060 0061 QPointF f = viewConverter.viewToDocument(QPointF(5, 5)); 0062 QVERIFY(f.x() < 3.7 && f.x() > 3.5 && f.y() < 3.7 && f.y() > 3.5); 0063 0064 QRectF r = viewConverter.viewToDocument(QRectF(0.0, 0.0, 5, 5)); 0065 QVERIFY(r.width() < 3.7 && r.width() > 3.5 0066 && r.height() < 3.7 && r.height() > 3.5); 0067 0068 QSizeF s = viewConverter.viewToDocument(QSizeF(1.0, 1.0)); 0069 QVERIFY(s.width() < 0.721 && s.width() > 0.719 0070 && s.height() < 0.721 && s.height() > 0.719); 0071 0072 double x = viewConverter.viewToDocumentX(1.0); 0073 QVERIFY(x < 0.721 && x > 0.719); 0074 0075 double y = viewConverter.viewToDocumentY(1.0); 0076 QVERIFY(y < 0.721 && y > 0.719); 0077 0078 } 0079 0080 void KisImageViewConverterTest::testZoom() 0081 { 0082 const KoColorSpace * colorSpace = KoColorSpaceRegistry::instance()->rgb8(); 0083 KisImageSP image = new KisImage(0, 512, 512, colorSpace, "test"); 0084 KisImageViewConverter viewConverter(image); 0085 0086 image->setResolution(1.38888888, 5.38888888); 0087 0088 qreal zoomX, zoomY; 0089 0090 viewConverter.zoom(&zoomX, &zoomY); 0091 QVERIFY(zoomX < 1.388889 && zoomX > 1.3888887); 0092 QVERIFY(zoomY < 5.388889 && zoomY > 5.3888887); 0093 } 0094 0095 SIMPLE_TEST_MAIN(KisImageViewConverterTest)