void KisSelectionTest::testSelectionComponents() { KisSelectionSP selection = new KisSelection(); QVERIFY(selection->hasPixelSelection() == false); QVERIFY(selection->hasShapeSelection() == false); QVERIFY(selection->pixelSelection() == 0); QVERIFY(selection->shapeSelection() == 0); KisPixelSelectionSP pixelSelection = selection->getOrCreatePixelSelection(); QVERIFY(selection->pixelSelection() == pixelSelection); QVERIFY(selection->hasPixelSelection() == true); KisMaskSP mask = new KisTransparencyMask(); mask->select(QRect(0, 0, 100, 100)); QCOMPARE(mask->selection()->selectedRect(), QRect(0,0,128, 128)); QCOMPARE(mask->selection()->selectedExactRect(), QRect(0, 0, 100, 100)); selection = new KisSelection(0, mask); selection->updateProjection(); QVERIFY(selection->hasPixelSelection() == true); QCOMPARE(selection->selectedRect(), QRect(0,0,128, 128)); QCOMPARE(selection->selectedExactRect(), QRect(0, 0, 100, 100)); }