Exemplo n.º 1
0
void ut_rotate::testRotateFilter()
{
    QuillImageFilter *filter =
        QuillImageFilterFactory::createImageFilter("org.maemo.rotate");

    QVERIFY(filter);

    QVERIFY(filter->supportsOption(QuillImageFilter::Angle));
    QVERIFY(filter->setOption(QuillImageFilter::Angle, QVariant(90)));

    bool bOK = true;
    QCOMPARE(filter->option(QuillImageFilter::Angle).toDouble(&bOK), 90.0);
    QVERIFY(bOK);

    QuillImage image = Unittests::generatePaletteImage();
    QCOMPARE(image.size(), QSize(8, 2));

    QuillImage filteredImage = filter->apply(image);

    QCOMPARE(filteredImage.size(), QSize(2, 8));

    // Get reference image with QImage::transformed()
    QuillImage compareToQImage = image.transformed(QTransform().rotate(90));
    QCOMPARE(filteredImage, compareToQImage);

    // Four rotates should produce the original image
    QCOMPARE(filter->apply(filter->apply(filter->apply(filteredImage))),
        image);

    delete filter;
}