From 4f808620b83f31ac742c4b6347e317811c48a91a Mon Sep 17 00:00:00 2001 From: Mienek Date: Wed, 18 Dec 2019 17:49:24 +0100 Subject: [PATCH 1/2] Halbfertig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit weil Mucke es so wollte, keiner weiß warum --- src/Image/IntelliImage.cpp | 4 ++ src/Image/IntelliImage.h.autosave | 57 +++++++++++++++ src/IntelliPhoto.pro | 2 + src/Tool/IntelliTool.cpp.autosave | 82 ++++++++++++++++++++++ src/Tool/IntelliTool.h.autosave | 38 ++++++++++ src/Tool/IntelliToolFloodFill.cpp | 64 +++++++++++++++++ src/Tool/IntelliToolFloodFill.cpp.autosave | 66 +++++++++++++++++ src/Tool/IntelliToolFloodFill.h | 23 ++++++ src/Tool/IntelliToolLine.h | 1 - 9 files changed, 336 insertions(+), 1 deletion(-) create mode 100644 src/Image/IntelliImage.h.autosave create mode 100644 src/Tool/IntelliTool.cpp.autosave create mode 100644 src/Tool/IntelliTool.h.autosave create mode 100644 src/Tool/IntelliToolFloodFill.cpp create mode 100644 src/Tool/IntelliToolFloodFill.cpp.autosave create mode 100644 src/Tool/IntelliToolFloodFill.h diff --git a/src/Image/IntelliImage.cpp b/src/Image/IntelliImage.cpp index f5ae7a1..36fce1f 100644 --- a/src/Image/IntelliImage.cpp +++ b/src/Image/IntelliImage.cpp @@ -77,3 +77,7 @@ void IntelliImage::drawLine(const QPoint &p1, const QPoint& p2, const QColor& co void IntelliImage::drawPlain(const QColor& color){ imageData.fill(color); } + +QColor IntelliImage::getPixelColor(int x, int y){ + return imageData.pixelColor(x,y); +} diff --git a/src/Image/IntelliImage.h.autosave b/src/Image/IntelliImage.h.autosave new file mode 100644 index 0000000..9eca63a --- /dev/null +++ b/src/Image/IntelliImage.h.autosave @@ -0,0 +1,57 @@ +#ifndef INTELLIIMAGE_H +#define INTELLIIMAGE_H + +#include +#include +#include +#include +#include +#include + +enum class ImageType{ + Raster_Image, + Shaped_Image +}; + +class IntelliTool; + +class IntelliImage{ + friend IntelliTool; +protected: + void resizeImage(QImage *image, const QSize &newSize); + + QImage imageData; + + //calculate with polygon +public: + IntelliImage(int weight, int height); + virtual ~IntelliImage() = 0; + + + //start on top left + virtual void drawPixel(const QPoint &p1, const QColor& color); + virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth); + virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth); + virtual void drawPlain(const QColor& color); + + //returns the filtered output + virtual QImage getDisplayable(const QSize& displaySize, int alpha)=0; + virtual QImage getDisplayable(int alpha=255)=0; + + //gets a copy of the image !allocated + virtual IntelliImage* getDeepCopy()=0; + virtual void calculateVisiblity()=0; + + //returns the filtered output + + //sets the data for the visible image + virtual void setPolygon(const std::vector& polygonData)=0; + virtual std::vector getPolygonData(){ return std::vector();} + + //loads an image to the ColorBuffer + virtual bool loadImage(const QString &fileName); + + virtual QColor getPixelColor(int x, int y); +}; + +#endif diff --git a/src/IntelliPhoto.pro b/src/IntelliPhoto.pro index 9b0956d..f10c416 100644 --- a/src/IntelliPhoto.pro +++ b/src/IntelliPhoto.pro @@ -25,6 +25,7 @@ SOURCES += \ Layer/PaintingArea.cpp \ Tool/IntelliTool.cpp \ Tool/IntelliToolCircle.cpp \ + Tool/IntelliToolFloodFill.cpp \ Tool/IntelliToolLine.cpp \ Tool/IntelliToolPen.cpp \ Tool/IntelliToolPlain.cpp \ @@ -41,6 +42,7 @@ HEADERS += \ Layer/PaintingArea.h \ Tool/IntelliTool.h \ Tool/IntelliToolCircle.h \ + Tool/IntelliToolFloodFill.h \ Tool/IntelliToolLine.h \ Tool/IntelliToolPen.h \ Tool/IntelliToolPlain.h \ diff --git a/src/Tool/IntelliTool.cpp.autosave b/src/Tool/IntelliTool.cpp.autosave new file mode 100644 index 0000000..4d085ea --- /dev/null +++ b/src/Tool/IntelliTool.cpp.autosave @@ -0,0 +1,82 @@ +#include"IntelliTool.h" +#include"Layer/PaintingArea.h" + +IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker){ + this->Area=Area; + this->colorPicker=colorPicker; +} + + +IntelliTool::~IntelliTool(){ + +} + +void IntelliTool::onMouseRightPressed(int x, int y){ + if(drawing){ + drawing=false; + this->deleteToolLayer(); + } +} + +void IntelliTool::onMouseRightReleased(int x, int y){ + //optional for tool +} + +void IntelliTool::onMouseLeftPressed(int x, int y){ + this->drawing=true; + //create drawing layer + this->createToolLayer(); + Canvas->image->calculateVisiblity(); +} + +void IntelliTool::onMouseLeftReleased(int x, int y){ + if(drawing){ + drawing=false; + this->mergeToolLayer(); + this->deleteToolLayer(); + Active->image->calculateVisiblity(); + } +} + +void IntelliTool::onMouseMoved(int x, int y){ + if(drawing) + Canvas->image->calculateVisiblity(); +} + +void IntelliTool::onWheelScrolled(int value){ + //if needed for future general tasks implement in here +} + +void IntelliTool::createToolLayer(){ + Area->createTempLayerAfter(Area->activeLayer); + this->Active=&Area->layerBundle[Area->activeLayer]; + this->Canvas=&Area->layerBundle[Area->activeLayer+1]; +} + +void IntelliTool::mergeToolLayer(){ + QColor clr_0; + QColor clr_1; + for(int y=0; yhight; y++){ + for(int x=0; xwidth; x++){ + clr_0=Active->image->imageData.pixelColor(x,y); + clr_1=Canvas->image->imageData.pixelColor(x,y); + float t = static_cast(clr_1.alpha())/255.f; + int r =static_cast(static_cast(clr_1.red())*(t)+static_cast(clr_0.red())*(1.f-t)+0.5f); + int g =static_cast(static_cast(clr_1.green())*(t)+static_cast(clr_0.green())*(1.f-t)+0.5f); + int b =static_cast(static_cast(clr_1.blue())*(t)+static_cast(clr_0.blue()*(1.f-t))+0.5f); + int a =std::min(clr_0.alpha()+clr_1.alpha(), 255); + clr_0.setRed(r); + clr_0.setGreen(g); + clr_0.setBlue(b); + clr_0.setAlpha(a); + + Active->image->imageData.setPixelColor(x, y, clr_0); + } + } +} + +void IntelliTool::deleteToolLayer(){ + Area->deleteLayer(Area->activeLayer+1); + this->Canvas=nullptr; +} + diff --git a/src/Tool/IntelliTool.h.autosave b/src/Tool/IntelliTool.h.autosave new file mode 100644 index 0000000..c8bfee7 --- /dev/null +++ b/src/Tool/IntelliTool.h.autosave @@ -0,0 +1,38 @@ +#ifndef Intelli_Tool_H +#define Intelli_Tool_H + +#include "IntelliHelper/IntelliColorPicker.h" +#include + +class LayerObject; +class PaintingArea; + +class IntelliTool{ +private: + void createToolLayer(); + void mergeToolLayer(); + void deleteToolLayer(); +protected: + PaintingArea* Area; + IntelliColorPicker* colorPicker; + + LayerObject* Active; + LayerObject* Canvas; + bool drawing = false; + +public: + IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker); + virtual ~IntelliTool() = 0; + + virtual void onMouseRightPressed(int x, int y); + virtual void onMouseRightReleased(int x, int y); + virtual void onMouseLeftPressed(int x, int y); + virtual void onMouseLeftReleased(int x, int y); + + virtual void onWheelScrolled(int value); + + virtual void onMouseMoved(int x, int y); + + +}; +#endif diff --git a/src/Tool/IntelliToolFloodFill.cpp b/src/Tool/IntelliToolFloodFill.cpp new file mode 100644 index 0000000..78316a7 --- /dev/null +++ b/src/Tool/IntelliToolFloodFill.cpp @@ -0,0 +1,64 @@ +#include "IntelliToolFloodFill.h" +#include "Layer/PaintingArea.h" +#include "QColorDialog" +#include "QInputDialog" + +IntelliToolLine::IntelliToolLine(PaintingArea* Area, IntelliColorPicker* colorPicker) + :IntelliTool(Area, colorPicker){ + this->lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1); + //create checkbox or scroll dialog to get line style + this->lineStyle = LineStyle::SOLID_LINE; +} + +IntelliToolLine::~IntelliToolLine(){ + +} + + +void IntelliToolLine::onMouseRightPressed(int x, int y){ + IntelliTool::onMouseRightPressed(x,y); +} + +void IntelliToolLine::onMouseRightReleased(int x, int y){ + IntelliTool::onMouseRightReleased(x,y); +} + +void IntelliToolLine::onMouseLeftPressed(int x, int y){ + IntelliTool::onMouseLeftPressed(x,y); + this->start=QPoint(x,y); + this->Canvas->image->drawLine(start, start, colorPicker->getFirstColor(),lineWidth); + Canvas->image->calculateVisiblity(); +} + +void IntelliToolLine::onMouseLeftReleased(int x, int y){ + IntelliTool::onMouseLeftReleased(x,y); +} + +void IntelliToolLine::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + this->lineWidth+=value; + if(this->lineWidth<=0){ + this->lineWidth=1; + } +} + +void IntelliToolLine::onMouseMoved(int x, int y){ + IntelliTool::onMouseMoved(x,y); + if(this->drawing){ + this->Canvas->image->drawPlain(Qt::transparent); + QPoint next(x,y); + switch(lineStyle){ + case LineStyle::SOLID_LINE: + this->Canvas->image->drawLine(start,next,colorPicker->getFirstColor(),lineWidth); + break; + case LineStyle::DOTTED_LINE: + QPoint p1 =start.x() <= next.x() ? start : next; + QPoint p2 =start.x() < next.x() ? next : start; + int m = (float)(p2.y()-p1.y())/(float)(p2.x()-p1.x())+0.5f; + int c = start.y()-start.x()*m; + + break; + } + } + IntelliTool::onMouseMoved(x,y); +} diff --git a/src/Tool/IntelliToolFloodFill.cpp.autosave b/src/Tool/IntelliToolFloodFill.cpp.autosave new file mode 100644 index 0000000..b9598fd --- /dev/null +++ b/src/Tool/IntelliToolFloodFill.cpp.autosave @@ -0,0 +1,66 @@ +#include "IntelliToolFloodFill.h" +#include "Layer/PaintingArea.h" +#include "QColorDialog" +#include "QInputDialog" + +IntelliToolFloodFill::IntelliToolFloodFill(PaintingArea* Area, IntelliColorPicker* colorPicker) + :IntelliTool(Area, colorPicker){ +} + +IntelliToolFloodFill::~IntelliToolFloodFill(){ + +} + + +void IntelliToolFloodFill::onMouseRightPressed(int x, int y){ + IntelliTool::onMouseRightPressed(x,y); +} + +void IntelliToolFloodFill::onMouseRightReleased(int x, int y){ + IntelliTool::onMouseRightReleased(x,y); +} + +void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){ + IntelliTool::onMouseLeftPressed(x,y); + this->Canvas->image->get + auto depthsearch = [](int x, int y, LayerObject* Canvas){ + + }; + + Canvas->image->calculateVisiblity(); + + +} + +void IntelliToolFloodFill::onMouseLeftReleased(int x, int y){ + IntelliTool::onMouseLeftReleased(x,y); +} + +void IntelliToolFloodFill::onWheelScrolled(int value){ + IntelliTool::onWheelScrolled(value); + this->lineWidth+=value; + if(this->lineWidth<=0){ + this->lineWidth=1; + } +} + +void IntelliToolFloodFill::onMouseMoved(int x, int y){ + IntelliTool::onMouseMoved(x,y); + if(this->drawing){ + this->Canvas->image->drawPlain(Qt::transparent); + QPoint next(x,y); + switch(lineStyle){ + case LineStyle::SOLID_LINE: + this->Canvas->image->drawLine(start,next,colorPicker->getFirstColor(),lineWidth); + break; + case LineStyle::DOTTED_LINE: + QPoint p1 =start.x() <= next.x() ? start : next; + QPoint p2 =start.x() < next.x() ? next : start; + int m = (float)(p2.y()-p1.y())/(float)(p2.x()-p1.x())+0.5f; + int c = start.y()-start.x()*m; + + break; + } + } + IntelliTool::onMouseMoved(x,y); +} diff --git a/src/Tool/IntelliToolFloodFill.h b/src/Tool/IntelliToolFloodFill.h new file mode 100644 index 0000000..0aa298f --- /dev/null +++ b/src/Tool/IntelliToolFloodFill.h @@ -0,0 +1,23 @@ +#ifndef INTELLITOOLFLOODFILL_H +#define INTELLITOOLFLOODFILL_H +#include "IntelliTool.h" + +#include "QColor" + +class IntelliToolFloodFill : public IntelliTool{ +public: + IntelliToolFloodFill(PaintingArea* Area, IntelliColorPicker* colorPicker); + virtual ~IntelliToolFloodFill() override; + + + virtual void onMouseRightPressed(int x, int y) override; + virtual void onMouseRightReleased(int x, int y) override; + virtual void onMouseLeftPressed(int x, int y) override; + virtual void onMouseLeftReleased(int x, int y) override; + + virtual void onWheelScrolled(int value) override; + + virtual void onMouseMoved(int x, int y) override; +}; + +#endif // INTELLITOOLFLOODFILL_H diff --git a/src/Tool/IntelliToolLine.h b/src/Tool/IntelliToolLine.h index af1f874..0d5d289 100644 --- a/src/Tool/IntelliToolLine.h +++ b/src/Tool/IntelliToolLine.h @@ -2,7 +2,6 @@ #define INTELLITOOLLINE_H #include "IntelliTool.h" -#include "QColor" #include "QPoint" enum class LineStyle{ From fa4a8ddad203247b8f3fbdc4e8612e56da4e551d Mon Sep 17 00:00:00 2001 From: Mienek Date: Wed, 18 Dec 2019 17:50:10 +0100 Subject: [PATCH 2/2] nochmal --- src/Image/IntelliImage.h | 2 + src/Image/IntelliImage.h.autosave | 57 --------------- src/Tool/IntelliTool.cpp | 1 + src/Tool/IntelliTool.cpp.autosave | 82 ---------------------- src/Tool/IntelliTool.h | 2 + src/Tool/IntelliTool.h.autosave | 38 ---------- src/Tool/IntelliToolFloodFill.cpp | 28 ++++---- src/Tool/IntelliToolFloodFill.cpp.autosave | 66 ----------------- 8 files changed, 20 insertions(+), 256 deletions(-) delete mode 100644 src/Image/IntelliImage.h.autosave delete mode 100644 src/Tool/IntelliTool.cpp.autosave delete mode 100644 src/Tool/IntelliTool.h.autosave delete mode 100644 src/Tool/IntelliToolFloodFill.cpp.autosave diff --git a/src/Image/IntelliImage.h b/src/Image/IntelliImage.h index 347cae6..9d37a31 100644 --- a/src/Image/IntelliImage.h +++ b/src/Image/IntelliImage.h @@ -50,6 +50,8 @@ public: //loads an image to the ColorBuffer virtual bool loadImage(const QString &fileName); + + virtual QColor getPixelColor(int x, int y); }; #endif diff --git a/src/Image/IntelliImage.h.autosave b/src/Image/IntelliImage.h.autosave deleted file mode 100644 index 9eca63a..0000000 --- a/src/Image/IntelliImage.h.autosave +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef INTELLIIMAGE_H -#define INTELLIIMAGE_H - -#include -#include -#include -#include -#include -#include - -enum class ImageType{ - Raster_Image, - Shaped_Image -}; - -class IntelliTool; - -class IntelliImage{ - friend IntelliTool; -protected: - void resizeImage(QImage *image, const QSize &newSize); - - QImage imageData; - - //calculate with polygon -public: - IntelliImage(int weight, int height); - virtual ~IntelliImage() = 0; - - - //start on top left - virtual void drawPixel(const QPoint &p1, const QColor& color); - virtual void drawPoint(const QPoint &p1, const QColor& color, const int& penWidth); - virtual void drawLine(const QPoint &p1, const QPoint& p2, const QColor& color, const int& penWidth); - virtual void drawPlain(const QColor& color); - - //returns the filtered output - virtual QImage getDisplayable(const QSize& displaySize, int alpha)=0; - virtual QImage getDisplayable(int alpha=255)=0; - - //gets a copy of the image !allocated - virtual IntelliImage* getDeepCopy()=0; - virtual void calculateVisiblity()=0; - - //returns the filtered output - - //sets the data for the visible image - virtual void setPolygon(const std::vector& polygonData)=0; - virtual std::vector getPolygonData(){ return std::vector();} - - //loads an image to the ColorBuffer - virtual bool loadImage(const QString &fileName); - - virtual QColor getPixelColor(int x, int y); -}; - -#endif diff --git a/src/Tool/IntelliTool.cpp b/src/Tool/IntelliTool.cpp index 608770e..4d085ea 100644 --- a/src/Tool/IntelliTool.cpp +++ b/src/Tool/IntelliTool.cpp @@ -79,3 +79,4 @@ void IntelliTool::deleteToolLayer(){ Area->deleteLayer(Area->activeLayer+1); this->Canvas=nullptr; } + diff --git a/src/Tool/IntelliTool.cpp.autosave b/src/Tool/IntelliTool.cpp.autosave deleted file mode 100644 index 4d085ea..0000000 --- a/src/Tool/IntelliTool.cpp.autosave +++ /dev/null @@ -1,82 +0,0 @@ -#include"IntelliTool.h" -#include"Layer/PaintingArea.h" - -IntelliTool::IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker){ - this->Area=Area; - this->colorPicker=colorPicker; -} - - -IntelliTool::~IntelliTool(){ - -} - -void IntelliTool::onMouseRightPressed(int x, int y){ - if(drawing){ - drawing=false; - this->deleteToolLayer(); - } -} - -void IntelliTool::onMouseRightReleased(int x, int y){ - //optional for tool -} - -void IntelliTool::onMouseLeftPressed(int x, int y){ - this->drawing=true; - //create drawing layer - this->createToolLayer(); - Canvas->image->calculateVisiblity(); -} - -void IntelliTool::onMouseLeftReleased(int x, int y){ - if(drawing){ - drawing=false; - this->mergeToolLayer(); - this->deleteToolLayer(); - Active->image->calculateVisiblity(); - } -} - -void IntelliTool::onMouseMoved(int x, int y){ - if(drawing) - Canvas->image->calculateVisiblity(); -} - -void IntelliTool::onWheelScrolled(int value){ - //if needed for future general tasks implement in here -} - -void IntelliTool::createToolLayer(){ - Area->createTempLayerAfter(Area->activeLayer); - this->Active=&Area->layerBundle[Area->activeLayer]; - this->Canvas=&Area->layerBundle[Area->activeLayer+1]; -} - -void IntelliTool::mergeToolLayer(){ - QColor clr_0; - QColor clr_1; - for(int y=0; yhight; y++){ - for(int x=0; xwidth; x++){ - clr_0=Active->image->imageData.pixelColor(x,y); - clr_1=Canvas->image->imageData.pixelColor(x,y); - float t = static_cast(clr_1.alpha())/255.f; - int r =static_cast(static_cast(clr_1.red())*(t)+static_cast(clr_0.red())*(1.f-t)+0.5f); - int g =static_cast(static_cast(clr_1.green())*(t)+static_cast(clr_0.green())*(1.f-t)+0.5f); - int b =static_cast(static_cast(clr_1.blue())*(t)+static_cast(clr_0.blue()*(1.f-t))+0.5f); - int a =std::min(clr_0.alpha()+clr_1.alpha(), 255); - clr_0.setRed(r); - clr_0.setGreen(g); - clr_0.setBlue(b); - clr_0.setAlpha(a); - - Active->image->imageData.setPixelColor(x, y, clr_0); - } - } -} - -void IntelliTool::deleteToolLayer(){ - Area->deleteLayer(Area->activeLayer+1); - this->Canvas=nullptr; -} - diff --git a/src/Tool/IntelliTool.h b/src/Tool/IntelliTool.h index 2531a55..b66a6b0 100644 --- a/src/Tool/IntelliTool.h +++ b/src/Tool/IntelliTool.h @@ -32,5 +32,7 @@ public: virtual void onWheelScrolled(int value); virtual void onMouseMoved(int x, int y); + + }; #endif diff --git a/src/Tool/IntelliTool.h.autosave b/src/Tool/IntelliTool.h.autosave deleted file mode 100644 index c8bfee7..0000000 --- a/src/Tool/IntelliTool.h.autosave +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef Intelli_Tool_H -#define Intelli_Tool_H - -#include "IntelliHelper/IntelliColorPicker.h" -#include - -class LayerObject; -class PaintingArea; - -class IntelliTool{ -private: - void createToolLayer(); - void mergeToolLayer(); - void deleteToolLayer(); -protected: - PaintingArea* Area; - IntelliColorPicker* colorPicker; - - LayerObject* Active; - LayerObject* Canvas; - bool drawing = false; - -public: - IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker); - virtual ~IntelliTool() = 0; - - virtual void onMouseRightPressed(int x, int y); - virtual void onMouseRightReleased(int x, int y); - virtual void onMouseLeftPressed(int x, int y); - virtual void onMouseLeftReleased(int x, int y); - - virtual void onWheelScrolled(int value); - - virtual void onMouseMoved(int x, int y); - - -}; -#endif diff --git a/src/Tool/IntelliToolFloodFill.cpp b/src/Tool/IntelliToolFloodFill.cpp index 78316a7..7712f90 100644 --- a/src/Tool/IntelliToolFloodFill.cpp +++ b/src/Tool/IntelliToolFloodFill.cpp @@ -3,38 +3,40 @@ #include "QColorDialog" #include "QInputDialog" -IntelliToolLine::IntelliToolLine(PaintingArea* Area, IntelliColorPicker* colorPicker) +IntelliToolFloodFill::IntelliToolFloodFill(PaintingArea* Area, IntelliColorPicker* colorPicker) :IntelliTool(Area, colorPicker){ - this->lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1); - //create checkbox or scroll dialog to get line style - this->lineStyle = LineStyle::SOLID_LINE; } -IntelliToolLine::~IntelliToolLine(){ +IntelliToolFloodFill::~IntelliToolFloodFill(){ } -void IntelliToolLine::onMouseRightPressed(int x, int y){ +void IntelliToolFloodFill::onMouseRightPressed(int x, int y){ IntelliTool::onMouseRightPressed(x,y); } -void IntelliToolLine::onMouseRightReleased(int x, int y){ +void IntelliToolFloodFill::onMouseRightReleased(int x, int y){ IntelliTool::onMouseRightReleased(x,y); } -void IntelliToolLine::onMouseLeftPressed(int x, int y){ +void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){ IntelliTool::onMouseLeftPressed(x,y); - this->start=QPoint(x,y); - this->Canvas->image->drawLine(start, start, colorPicker->getFirstColor(),lineWidth); + this->Canvas->image->get + auto depthsearch = [](int x, int y, LayerObject* Canvas){ + + }; + Canvas->image->calculateVisiblity(); + + } -void IntelliToolLine::onMouseLeftReleased(int x, int y){ +void IntelliToolFloodFill::onMouseLeftReleased(int x, int y){ IntelliTool::onMouseLeftReleased(x,y); } -void IntelliToolLine::onWheelScrolled(int value){ +void IntelliToolFloodFill::onWheelScrolled(int value){ IntelliTool::onWheelScrolled(value); this->lineWidth+=value; if(this->lineWidth<=0){ @@ -42,7 +44,7 @@ void IntelliToolLine::onWheelScrolled(int value){ } } -void IntelliToolLine::onMouseMoved(int x, int y){ +void IntelliToolFloodFill::onMouseMoved(int x, int y){ IntelliTool::onMouseMoved(x,y); if(this->drawing){ this->Canvas->image->drawPlain(Qt::transparent); diff --git a/src/Tool/IntelliToolFloodFill.cpp.autosave b/src/Tool/IntelliToolFloodFill.cpp.autosave deleted file mode 100644 index b9598fd..0000000 --- a/src/Tool/IntelliToolFloodFill.cpp.autosave +++ /dev/null @@ -1,66 +0,0 @@ -#include "IntelliToolFloodFill.h" -#include "Layer/PaintingArea.h" -#include "QColorDialog" -#include "QInputDialog" - -IntelliToolFloodFill::IntelliToolFloodFill(PaintingArea* Area, IntelliColorPicker* colorPicker) - :IntelliTool(Area, colorPicker){ -} - -IntelliToolFloodFill::~IntelliToolFloodFill(){ - -} - - -void IntelliToolFloodFill::onMouseRightPressed(int x, int y){ - IntelliTool::onMouseRightPressed(x,y); -} - -void IntelliToolFloodFill::onMouseRightReleased(int x, int y){ - IntelliTool::onMouseRightReleased(x,y); -} - -void IntelliToolFloodFill::onMouseLeftPressed(int x, int y){ - IntelliTool::onMouseLeftPressed(x,y); - this->Canvas->image->get - auto depthsearch = [](int x, int y, LayerObject* Canvas){ - - }; - - Canvas->image->calculateVisiblity(); - - -} - -void IntelliToolFloodFill::onMouseLeftReleased(int x, int y){ - IntelliTool::onMouseLeftReleased(x,y); -} - -void IntelliToolFloodFill::onWheelScrolled(int value){ - IntelliTool::onWheelScrolled(value); - this->lineWidth+=value; - if(this->lineWidth<=0){ - this->lineWidth=1; - } -} - -void IntelliToolFloodFill::onMouseMoved(int x, int y){ - IntelliTool::onMouseMoved(x,y); - if(this->drawing){ - this->Canvas->image->drawPlain(Qt::transparent); - QPoint next(x,y); - switch(lineStyle){ - case LineStyle::SOLID_LINE: - this->Canvas->image->drawLine(start,next,colorPicker->getFirstColor(),lineWidth); - break; - case LineStyle::DOTTED_LINE: - QPoint p1 =start.x() <= next.x() ? start : next; - QPoint p2 =start.x() < next.x() ? next : start; - int m = (float)(p2.y()-p1.y())/(float)(p2.x()-p1.x())+0.5f; - int c = start.y()-start.x()*m; - - break; - } - } - IntelliTool::onMouseMoved(x,y); -}