updated functionality and set true to test.

Todo: Cleanub and make it activalable
This commit is contained in:
Jan Schuffenhauer
2020-01-15 11:14:01 +01:00
parent d8f6f0f8f7
commit 2a1561ecfb
3 changed files with 28 additions and 20 deletions

View File

@@ -79,7 +79,10 @@ void IntelliTool::mergeToolLayer(){
updatedImage.setPixelColor(x, y, clr_0);
}
}
activeLayer->image->setImageData(updatedImage);
activeLayer->image->setImageData(updatedImage);
if(Canvas->image->getPolygonData().size() != 0){
activeLayer->image->setPolygon(Canvas->image->getPolygonData());
}
Area->DummyGui->UpdateGui();
}

View File

@@ -73,24 +73,30 @@ void IntelliToolPolygon::onMouseLeftReleased(int x, int y){
isInside = false;
isPointNearStart = false;
isDrawing = false;
std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(QPointList);
QPoint Point;
QColor colorTwo(colorPicker->getSecondColor());
colorTwo.setAlpha(Toolsettings->getInnerAlpha());
for(int i = 0; i < activeLayer->width; i++) {
for(int j = 0; j < activeLayer->height; j++) {
Point = QPoint(i,j);
if(IntelliTriangulation::isInPolygon(Triangles,Point)) {
this->Canvas->image->drawPixel(Point, colorTwo);
}
}
}
for(int i=0; i<static_cast<int>(QPointList.size()); i++) {
int next = static_cast<int>((i+static_cast<int>(1))%static_cast<int>(QPointList.size()));
this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
}
QPointList.clear();
IntelliTool::onMouseLeftReleased(x,y);
if(false){
std::vector<Triangle> Triangles = IntelliTriangulation::calculateTriangles(QPointList);
QPoint Point;
QColor colorTwo(colorPicker->getSecondColor());
colorTwo.setAlpha(Toolsettings->getInnerAlpha());
for(int i = 0; i < activeLayer->width; i++) {
for(int j = 0; j < activeLayer->height; j++) {
Point = QPoint(i,j);
if(IntelliTriangulation::isInPolygon(Triangles,Point)) {
this->Canvas->image->drawPixel(Point, colorTwo);
}
}
}
for(int i=0; i<static_cast<int>(QPointList.size()); i++) {
int next = static_cast<int>((i+static_cast<int>(1))%static_cast<int>(QPointList.size()));
this->Canvas->image->drawLine(QPointList[static_cast<unsigned long long>(i)], QPointList[static_cast<unsigned long long>(next)], colorPicker->getFirstColor(), Toolsettings->getLineWidth());
}
}
else{
Canvas->image->setPolygon(QPointList);
}
IntelliTool::onMouseLeftReleased(x,y);
QPointList.clear();
}
}

View File

@@ -91,7 +91,6 @@ virtual void onWheelScrolled(int value) override;
*/
virtual void onMouseMoved(int x, int y) override;
};
#endif // INTELLITOOLPOLYGON_H