if (event->button() == Qt::LeftButton) {
if((event->pos().x() < bx && event->pos().x() > tx) &&
(event->pos().y() < by && event->pos().y() > ty)){
startPoint = event->pos();
drawing = true;
}
}
}
if (event->button() == Qt::LeftButton && drawing) {
if((event->pos().x() < bx && event->pos().x() > tx) &&
(event->pos().y() < by && event->pos().y() > ty)){
endPoint = event->pos();
drawing = false;
}
}
saveSelection
(QRect(startPoint,endPoint
));
}
if ((event->buttons() & Qt::LeftButton) && drawing){
drawRect(startPoint,event->pos());
}
}
{
QRect dirtyRect
= event
->rect
();
painter.drawImage(dirtyRect, image, dirtyRect);
}
painter.
setPen(QPen(myPenColor, myPenWidth, Qt
::SolidLine, Qt
::RoundCap,
Qt::RoundJoin));
painter.
drawRect(QRect(_s,_e
));
modified = true;
int rad = (myPenWidth / 2) + 2;
update
(QRect(_s,_e
).
normalized() .adjusted(-rad, -rad, +rad, +rad));
}
void theGui::mousePressEvent(QMouseEvent *event){
if (event->button() == Qt::LeftButton) {
if((event->pos().x() < bx && event->pos().x() > tx) &&
(event->pos().y() < by && event->pos().y() > ty)){
startPoint = event->pos();
drawing = true;
}
}
}
void theGui::mouseReleaseEvent(QMouseEvent *event){
if (event->button() == Qt::LeftButton && drawing) {
if((event->pos().x() < bx && event->pos().x() > tx) &&
(event->pos().y() < by && event->pos().y() > ty)){
endPoint = event->pos();
drawing = false;
}
}
saveSelection(QRect(startPoint,endPoint));
}
void theGui::mouseMoveEvent(QMouseEvent *event){
if ((event->buttons() & Qt::LeftButton) && drawing){
drawRect(startPoint,event->pos());
}
}
void theGui::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QRect dirtyRect = event->rect();
painter.drawImage(dirtyRect, image, dirtyRect);
}
void theGui::drawRect(QPoint _s, QPoint, _e){
QPainter painter(&image);
painter.setPen(QPen(myPenColor, myPenWidth, Qt::SolidLine, Qt::RoundCap,
Qt::RoundJoin));
painter.drawRect(QRect(_s,_e));
modified = true;
int rad = (myPenWidth / 2) + 2;
update(QRect(_s,_e).normalized()
.adjusted(-rad, -rad, +rad, +rad));
}
To copy to clipboard, switch view to plain text mode
Bookmarks