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