X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fregiongrabber.cpp;h=1ff587b74c3e6dd9f51a04da1a32d41808c6202f;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=d85e923254cd45fe1b59303e0949703511de7766;hpb=5c822c42a9a536c8d25d1e42e439efaca13dbba3;p=kdenlive diff --git a/src/regiongrabber.cpp b/src/regiongrabber.cpp index d85e9232..1ff587b7 100644 --- a/src/regiongrabber.cpp +++ b/src/regiongrabber.cpp @@ -29,13 +29,24 @@ #include RegionGrabber::RegionGrabber() : - QWidget(0), selection(), mouseDown(false), newSelection(false), - handleSize(10), mouseOverHandle(0), idleTimer(), - showHelp(true), grabbing(false), - TLHandle(0, 0, handleSize, handleSize), TRHandle(0, 0, handleSize, handleSize), - BLHandle(0, 0, handleSize, handleSize), BRHandle(0, 0, handleSize, handleSize), - LHandle(0, 0, handleSize, handleSize), THandle(0, 0, handleSize, handleSize), - RHandle(0, 0, handleSize, handleSize), BHandle(0, 0, handleSize, handleSize) { + QWidget(0), + selection(), + mouseDown(false), + newSelection(false), + handleSize(10), + mouseOverHandle(0), + idleTimer(), + showHelp(true), + grabbing(false), + TLHandle(0, 0, handleSize, handleSize), + TRHandle(0, 0, handleSize, handleSize), + BLHandle(0, 0, handleSize, handleSize), + BRHandle(0, 0, handleSize, handleSize), + LHandle(0, 0, handleSize, handleSize), + THandle(0, 0, handleSize, handleSize), + RHandle(0, 0, handleSize, handleSize), + BHandle(0, 0, handleSize, handleSize) +{ handles << &TLHandle << &TRHandle << &BLHandle << &BRHandle << &LHandle << &THandle << &RHandle << &BHandle; setMouseTracking(true); @@ -46,10 +57,12 @@ RegionGrabber::RegionGrabber() : idleTimer.start(3000); } -RegionGrabber::~RegionGrabber() { +RegionGrabber::~RegionGrabber() +{ } -void RegionGrabber::init() { +void RegionGrabber::init() +{ pixmap = QPixmap::grabWindow(QApplication::desktop()->winId()); showFullScreen(); resize(pixmap.size()); @@ -57,13 +70,15 @@ void RegionGrabber::init() { setCursor(Qt::CrossCursor); } -void RegionGrabber::displayHelp() { +void RegionGrabber::displayHelp() +{ showHelp = true; update(); } -void RegionGrabber::paintEvent(QPaintEvent* e) { - Q_UNUSED(e); +void RegionGrabber::paintEvent(QPaintEvent* e) +{ + Q_UNUSED(e) if (grabbing) // grabWindow() should just get the background return; @@ -152,8 +167,9 @@ void RegionGrabber::paintEvent(QPaintEvent* e) { } } -void RegionGrabber::resizeEvent(QResizeEvent* e) { - Q_UNUSED(e); +void RegionGrabber::resizeEvent(QResizeEvent* e) +{ + Q_UNUSED(e) if (selection.isNull()) return; QRect r = selection; @@ -164,7 +180,8 @@ void RegionGrabber::resizeEvent(QResizeEvent* e) { selection = r; } -void RegionGrabber::mousePressEvent(QMouseEvent* e) { +void RegionGrabber::mousePressEvent(QMouseEvent* e) +{ showHelp = false; idleTimer.stop(); if (e->button() == Qt::LeftButton) { @@ -186,7 +203,8 @@ void RegionGrabber::mousePressEvent(QMouseEvent* e) { update(); } -void RegionGrabber::mouseMoveEvent(QMouseEvent* e) { +void RegionGrabber::mouseMoveEvent(QMouseEvent* e) +{ if (mouseDown) { if (newSelection) { QPoint p = e->pos(); @@ -257,7 +275,8 @@ void RegionGrabber::mouseMoveEvent(QMouseEvent* e) { } } -void RegionGrabber::mouseReleaseEvent(QMouseEvent* e) { +void RegionGrabber::mouseReleaseEvent(QMouseEvent* e) +{ mouseDown = false; newSelection = false; idleTimer.start(); @@ -266,11 +285,13 @@ void RegionGrabber::mouseReleaseEvent(QMouseEvent* e) { update(); } -void RegionGrabber::mouseDoubleClickEvent(QMouseEvent*) { +void RegionGrabber::mouseDoubleClickEvent(QMouseEvent*) +{ grabRect(); } -void RegionGrabber::keyPressEvent(QKeyEvent* e) { +void RegionGrabber::keyPressEvent(QKeyEvent* e) +{ if (e->key() == Qt::Key_Escape) { emit regionGrabbed(QRect()); close(); @@ -281,7 +302,8 @@ void RegionGrabber::keyPressEvent(QKeyEvent* e) { } } -void RegionGrabber::grabRect() { +void RegionGrabber::grabRect() +{ QRect r = selection.normalized(); if (!r.isNull() && r.isValid()) { grabbing = true; @@ -290,7 +312,8 @@ void RegionGrabber::grabRect() { close(); } -void RegionGrabber::updateHandles() { +void RegionGrabber::updateHandles() +{ QRect r = selection.normalized().adjusted(0, 0, -1, -1); int s2 = handleSize / 2; @@ -305,14 +328,16 @@ void RegionGrabber::updateHandles() { BHandle.moveBottomLeft(QPoint(r.x() + r.width() / 2 - s2, r.bottom())); } -QRegion RegionGrabber::handleMask() const { +QRegion RegionGrabber::handleMask() const +{ // note: not normalized QRects are bad here, since they will not be drawn QRegion mask; - foreach(QRect* rect, handles) mask += QRegion(*rect); + foreach(const QRect* rect, handles) mask += QRegion(*rect); return mask; } -QPoint RegionGrabber::limitPointToRect(const QPoint &p, const QRect &r) const { +QPoint RegionGrabber::limitPointToRect(const QPoint &p, const QRect &r) const +{ QPoint q; q.setX(p.x() < r.x() ? r.x() : p.x() < r.right() ? p.x() : r.right()); q.setY(p.y() < r.y() ? r.y() : p.y() < r.bottom() ? p.y() : r.bottom());