IntelliPhoto  0.4
IntelliToolLine.cpp
Go to the documentation of this file.
1 #include "IntelliToolLine.h"
2 #include "Layer/PaintingArea.h"
3 #include "QColorDialog"
4 #include "QInputDialog"
5 
7  :IntelliTool(Area, colorPicker){
8  this->lineWidth = QInputDialog::getInt(nullptr,"Line Width Input", "Width",1,1,50,1);
9  //create checkbox or scroll dialog to get line style
10  this->lineStyle = LineStyle::SOLID_LINE;
11 }
12 
14 
15 }
16 
17 
20 }
21 
24 }
25 
28  this->start=QPoint(x,y);
29  this->Canvas->image->drawLine(start, start, colorPicker->getFirstColor(),lineWidth);
31 }
32 
35 }
36 
37 void IntelliToolLine::onMouseMoved(int x, int y){
39  if(this->drawing){
40  this->Canvas->image->drawPlain(Qt::transparent);
41  QPoint next(x,y);
42  switch(lineStyle){
44  this->Canvas->image->drawLine(start,next,colorPicker->getFirstColor(),lineWidth);
45  break;
47  QPoint p1 =start.x() <= next.x() ? start : next;
48  QPoint p2 =start.x() < next.x() ? next : start;
49  int m = (float)(p2.y()-p1.y())/(float)(p2.x()-p1.x())+0.5f;
50  int c = start.y()-start.x()*m;
51 
52  break;
53  }
54  }
56 }
IntelliTool::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y)
Definition: IntelliTool.cpp:14
IntelliTool::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y)
Definition: IntelliTool.cpp:32
IntelliTool::colorPicker
IntelliColorPicker * colorPicker
Definition: IntelliTool.h:17
IntelliImage::drawLine
virtual void drawLine(const QPoint &p1, const QPoint &p2, const QColor &color, const int &penWidth)
Definition: IntelliImage.cpp:55
LineStyle::SOLID_LINE
IntelliTool::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y)
Definition: IntelliTool.cpp:25
IntelliToolLine::onMouseMoved
virtual void onMouseMoved(int x, int y) override
Definition: IntelliToolLine.cpp:37
IntelliToolLine::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y) override
Definition: IntelliToolLine.cpp:22
IntelliToolLine::IntelliToolLine
IntelliToolLine(PaintingArea *Area, IntelliColorPicker *colorPicker)
Definition: IntelliToolLine.cpp:6
LineStyle::DOTTED_LINE
PaintingArea
Definition: PaintingArea.h:28
IntelliToolLine.h
IntelliToolLine::~IntelliToolLine
virtual ~IntelliToolLine() override
Definition: IntelliToolLine.cpp:13
IntelliToolLine::onMouseLeftReleased
virtual void onMouseLeftReleased(int x, int y) override
Definition: IntelliToolLine.cpp:33
IntelliToolLine::onMouseRightPressed
virtual void onMouseRightPressed(int x, int y) override
Definition: IntelliToolLine.cpp:18
IntelliTool::onMouseRightReleased
virtual void onMouseRightReleased(int x, int y)
Definition: IntelliTool.cpp:21
IntelliTool::Canvas
LayerObject * Canvas
Definition: IntelliTool.h:20
IntelliTool::drawing
bool drawing
Definition: IntelliTool.h:21
IntelliTool
Definition: IntelliTool.h:10
PaintingArea.h
IntelliColorPicker::getFirstColor
QColor getFirstColor()
Definition: IntelliColorPicker.cpp:16
IntelliColorPicker
Definition: IntelliColorPicker.h:8
LayerObject::image
IntelliImage * image
Definition: PaintingArea.h:18
IntelliToolLine::onMouseLeftPressed
virtual void onMouseLeftPressed(int x, int y) override
Definition: IntelliToolLine.cpp:26
IntelliTool::onMouseMoved
virtual void onMouseMoved(int x, int y)
Definition: IntelliTool.cpp:41
IntelliImage::calculateVisiblity
virtual void calculateVisiblity()=0
IntelliImage::drawPlain
virtual void drawPlain(const QColor &color)
Definition: IntelliImage.cpp:67