File indexing completed on 2024-06-23 04:25:56

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Agata Cacko <cacko.azh@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #include "TestAssistants.h"
0008 
0009 #include <testui.h>
0010 #include <testutil.h>
0011 
0012 
0013 #include <kis_painting_assistant.h>
0014 #include <PerspectiveBasedAssistantHelper.h>
0015 #include <kis_algebra_2d.h>
0016 #include <kis_global.h>
0017 
0018 #include <ConcentricEllipseAssistant.h>
0019 
0020 void TestAssistants::testConcentricEllipseAdjustLine()
0021 {
0022     ConcentricEllipseAssistantFactory factory;
0023     KisPaintingAssistantSP assistant = KisPaintingAssistantSP(factory.createPaintingAssistant());
0024     //ConcentricEllipseAssistant* ellipse = new ConcentricEllipseAssistant();
0025     ConcentricEllipseAssistant* ellipse = dynamic_cast<ConcentricEllipseAssistant*>(assistant.data());
0026     QVERIFY(ellipse);
0027 
0028     ellipse->addHandle(new KisPaintingAssistantHandle(0, 100), HandleType::NORMAL);
0029     ellipse->addHandle(new KisPaintingAssistantHandle(100, 0), HandleType::NORMAL);
0030     ellipse->addHandle(new KisPaintingAssistantHandle(200, 200), HandleType::NORMAL);
0031 
0032     QPointF begin = QPointF(0, 100);
0033     //QPointF end = QPointF(100, 5);
0034     //QPointF end = QPointF(100, 0);
0035     //ellipse->adjustLine(end, begin);
0036     //ENTER_FUNCTION() << begin << end;
0037 
0038     ENTER_FUNCTION() << "Begin is " << begin;
0039 
0040     QList<QPointF> ends;
0041     ends << QPointF(100, 0) << QPointF(100, 5) << QPointF(200, 200) << QPointF(400, 400);
0042 
0043     for (int i = 0; i < ends.size(); i++) {
0044         QPointF endHere = ends[i];
0045         ellipse->adjustLine(endHere, begin);
0046         ENTER_FUNCTION() << ends[i] << "=>" << endHere;
0047     }
0048 
0049 
0050     begin = QPointF(0, 200);
0051 
0052     ENTER_FUNCTION() << "Begin is " << begin;
0053 
0054     ends.clear();
0055     ends << QPointF(200, 0) << QPointF(200, 5) << QPointF(400, 400) << QPointF(500, 500);
0056 
0057     for (int i = 0; i < ends.size(); i++) {
0058         QPointF endHere = ends[i];
0059         ellipse->adjustLine(endHere, begin);
0060         ENTER_FUNCTION() << ends[i] << "=>" << endHere;
0061     }
0062 
0063 
0064 
0065 }
0066 
0067 
0068 KISTEST_MAIN(TestAssistants)