mirror of
https://github.com/creyD/intelliphoto.git
synced 2026-04-15 21:00:37 +02:00
Scroll implemented
This commit is contained in:
@@ -19,7 +19,7 @@
|
|||||||
PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget *parent)
|
PaintingArea::PaintingArea(int maxWidth, int maxHeight, QWidget *parent)
|
||||||
:QWidget(parent){
|
:QWidget(parent){
|
||||||
//test yout tool here and reset after accomplished test
|
//test yout tool here and reset after accomplished test
|
||||||
this->Tool = nullptr;
|
this->Tool = new IntelliToolRechteck(this, &colorPicker);
|
||||||
this->setUp(maxWidth, maxHeight);
|
this->setUp(maxWidth, maxHeight);
|
||||||
//tetsing
|
//tetsing
|
||||||
this->addLayer(200,200,0,0,ImageType::Shaped_Image);
|
this->addLayer(200,200,0,0,ImageType::Shaped_Image);
|
||||||
@@ -234,6 +234,14 @@ void PaintingArea::mouseReleaseEvent(QMouseEvent *event){
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PaintingArea::wheelEvent(QWheelEvent *event){
|
||||||
|
QPoint numDegrees = event->angleDelta() / 8;
|
||||||
|
if(!numDegrees.isNull()){
|
||||||
|
QPoint numSteps = numDegrees / 15;
|
||||||
|
Tool->onWheelScrolled(numSteps.y()*-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// QPainter provides functions to draw on the widget
|
// QPainter provides functions to draw on the widget
|
||||||
// The QPaintEvent is sent to widgets that need to
|
// The QPaintEvent is sent to widgets that need to
|
||||||
// update themselves
|
// update themselves
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ protected:
|
|||||||
void mouseMoveEvent(QMouseEvent *event) override;
|
void mouseMoveEvent(QMouseEvent *event) override;
|
||||||
void mouseReleaseEvent(QMouseEvent *event) override;
|
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||||
|
|
||||||
|
void wheelEvent(QWheelEvent *event) override;
|
||||||
// Updates the painting area where we are painting
|
// Updates the painting area where we are painting
|
||||||
void paintEvent(QPaintEvent *event) override;
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ void IntelliTool::onMouseMoved(int x, int y){
|
|||||||
Canvas->image->calculateVisiblity();
|
Canvas->image->calculateVisiblity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IntelliTool::onWheelScrolled(int value){
|
||||||
|
//if needed for future general tasks implement in here
|
||||||
|
}
|
||||||
|
|
||||||
void IntelliTool::createToolLayer(){
|
void IntelliTool::createToolLayer(){
|
||||||
Area->createTempLayerAfter(Area->activeLayer);
|
Area->createTempLayerAfter(Area->activeLayer);
|
||||||
this->Active=&Area->layerBundle[Area->activeLayer];
|
this->Active=&Area->layerBundle[Area->activeLayer];
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ public:
|
|||||||
virtual void onMouseLeftPressed(int x, int y);
|
virtual void onMouseLeftPressed(int x, int y);
|
||||||
virtual void onMouseLeftReleased(int x, int y);
|
virtual void onMouseLeftReleased(int x, int y);
|
||||||
|
|
||||||
|
virtual void onWheelScrolled(int value);
|
||||||
|
|
||||||
virtual void onMouseMoved(int x, int y);
|
virtual void onMouseMoved(int x, int y);
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ void IntelliToolCircle::drawCyrcle(int radius){
|
|||||||
this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1);
|
this->Canvas->image->drawLine(QPoint(xMin,i), QPoint(xMax,i),inner,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO implement circle drawing algorithm
|
//TODO implement circle drawing algorithm bresenham
|
||||||
radius = radius +(this->edgeWidth/2.)-0.5;
|
radius = radius +(this->edgeWidth/2.)-1.;
|
||||||
yMin = (Middle.y()-radius);
|
yMin = (Middle.y()-radius);
|
||||||
yMax = (Middle.y()+radius);
|
yMax = (Middle.y()+radius);
|
||||||
for(int i=yMin; i<=yMax; i++){
|
for(int i=yMin; i<=yMax; i++){
|
||||||
@@ -68,6 +68,14 @@ void IntelliToolCircle::onMouseLeftReleased(int x, int y){
|
|||||||
IntelliTool::onMouseLeftReleased(x,y);
|
IntelliTool::onMouseLeftReleased(x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IntelliToolCircle::onWheelScrolled(int value){
|
||||||
|
IntelliTool::onWheelScrolled(value);
|
||||||
|
this->edgeWidth+=value;
|
||||||
|
if(this->edgeWidth<=0){
|
||||||
|
this->edgeWidth=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void IntelliToolCircle::onMouseMoved(int x, int y){
|
void IntelliToolCircle::onMouseMoved(int x, int y){
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
if(this->drawing){
|
if(this->drawing){
|
||||||
|
|||||||
@@ -15,12 +15,14 @@ public:
|
|||||||
IntelliToolCircle(PaintingArea* Area, IntelliColorPicker* colorPicker);
|
IntelliToolCircle(PaintingArea* Area, IntelliColorPicker* colorPicker);
|
||||||
virtual ~IntelliToolCircle() override;
|
virtual ~IntelliToolCircle() override;
|
||||||
|
|
||||||
virtual void onMouseRightPressed(int x, int y);
|
virtual void onMouseRightPressed(int x, int y) override;
|
||||||
virtual void onMouseRightReleased(int x, int y);
|
virtual void onMouseRightReleased(int x, int y) override;
|
||||||
virtual void onMouseLeftPressed(int x, int y);
|
virtual void onMouseLeftPressed(int x, int y) override;
|
||||||
virtual void onMouseLeftReleased(int x, int y);
|
virtual void onMouseLeftReleased(int x, int y) override;
|
||||||
|
|
||||||
virtual void onMouseMoved(int x, int y);
|
virtual void onWheelScrolled(int value) override;
|
||||||
|
|
||||||
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INTELLITOOLCIRCLE_H
|
#endif // INTELLITOOLCIRCLE_H
|
||||||
|
|||||||
@@ -34,6 +34,14 @@ void IntelliToolLine::onMouseLeftReleased(int x, int y){
|
|||||||
IntelliTool::onMouseLeftReleased(x,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){
|
void IntelliToolLine::onMouseMoved(int x, int y){
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
if(this->drawing){
|
if(this->drawing){
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ public:
|
|||||||
virtual void onMouseLeftPressed(int x, int y) override;
|
virtual void onMouseLeftPressed(int x, int y) override;
|
||||||
virtual void onMouseLeftReleased(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;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -40,3 +40,11 @@ void IntelliToolPen::onMouseMoved(int x, int y){
|
|||||||
}
|
}
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IntelliToolPen::onWheelScrolled(int value){
|
||||||
|
IntelliTool::onWheelScrolled(value);
|
||||||
|
this->penWidth+=value;
|
||||||
|
if(this->penWidth<=0){
|
||||||
|
this->penWidth=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public:
|
|||||||
virtual void onMouseLeftPressed(int x, int y) override;
|
virtual void onMouseLeftPressed(int x, int y) override;
|
||||||
virtual void onMouseLeftReleased(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;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -28,3 +28,7 @@ void IntelliToolPlainTool::onMouseRightReleased(int x, int y){
|
|||||||
void IntelliToolPlainTool::onMouseMoved(int x, int y){
|
void IntelliToolPlainTool::onMouseMoved(int x, int y){
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IntelliToolPlainTool::onWheelScrolled(int value){
|
||||||
|
IntelliTool::onWheelScrolled(value);
|
||||||
|
}
|
||||||
|
|||||||
@@ -8,11 +8,14 @@ class IntelliToolPlainTool : public IntelliTool{
|
|||||||
public:
|
public:
|
||||||
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker* colorPicker);
|
IntelliToolPlainTool(PaintingArea *Area, IntelliColorPicker* colorPicker);
|
||||||
|
|
||||||
void onMouseLeftPressed(int x, int y) override;
|
virtual void onMouseLeftPressed(int x, int y) override;
|
||||||
void onMouseLeftReleased(int x, int y) override;
|
virtual void onMouseLeftReleased(int x, int y) override;
|
||||||
void onMouseRightPressed(int x, int y) override;
|
virtual void onMouseRightPressed(int x, int y) override;
|
||||||
void onMouseRightReleased(int x, int y) override;
|
virtual void onMouseRightReleased(int x, int y) override;
|
||||||
void onMouseMoved(int x, int y) override;
|
|
||||||
|
virtual void onWheelScrolled(int value) override;
|
||||||
|
|
||||||
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -58,3 +58,11 @@ void IntelliToolRechteck::onMouseMoved(int x, int y){
|
|||||||
}
|
}
|
||||||
IntelliTool::onMouseMoved(x,y);
|
IntelliTool::onMouseMoved(x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IntelliToolRechteck::onWheelScrolled(int value){
|
||||||
|
IntelliTool::onWheelScrolled(value);
|
||||||
|
this->edgeWidth+=value;
|
||||||
|
if(this->edgeWidth<=0){
|
||||||
|
this->edgeWidth=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ public:
|
|||||||
virtual void onMouseLeftPressed(int x, int y) override;
|
virtual void onMouseLeftPressed(int x, int y) override;
|
||||||
virtual void onMouseLeftReleased(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;
|
virtual void onMouseMoved(int x, int y) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user