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) {
+ RHandle(0, 0, handleSize, handleSize), BHandle(0, 0, handleSize, handleSize)
+{
handles << &TLHandle << &TRHandle << &BLHandle << &BRHandle
<< &LHandle << &THandle << &RHandle << &BHandle;
setMouseTracking(true);
idleTimer.start(3000);
}
-RegionGrabber::~RegionGrabber() {
+RegionGrabber::~RegionGrabber()
+{
}
-void RegionGrabber::init() {
+void RegionGrabber::init()
+{
pixmap = QPixmap::grabWindow(QApplication::desktop()->winId());
showFullScreen();
resize(pixmap.size());
setCursor(Qt::CrossCursor);
}
-void RegionGrabber::displayHelp() {
+void RegionGrabber::displayHelp()
+{
showHelp = true;
update();
}
-void RegionGrabber::paintEvent(QPaintEvent* e) {
+void RegionGrabber::paintEvent(QPaintEvent* e)
+{
Q_UNUSED(e);
if (grabbing) // grabWindow() should just get the background
return;
}
}
-void RegionGrabber::resizeEvent(QResizeEvent* e) {
+void RegionGrabber::resizeEvent(QResizeEvent* e)
+{
Q_UNUSED(e);
if (selection.isNull())
return;
selection = r;
}
-void RegionGrabber::mousePressEvent(QMouseEvent* e) {
+void RegionGrabber::mousePressEvent(QMouseEvent* e)
+{
showHelp = false;
idleTimer.stop();
if (e->button() == Qt::LeftButton) {
update();
}
-void RegionGrabber::mouseMoveEvent(QMouseEvent* e) {
+void RegionGrabber::mouseMoveEvent(QMouseEvent* e)
+{
if (mouseDown) {
if (newSelection) {
QPoint p = e->pos();
}
}
-void RegionGrabber::mouseReleaseEvent(QMouseEvent* e) {
+void RegionGrabber::mouseReleaseEvent(QMouseEvent* e)
+{
mouseDown = false;
newSelection = false;
idleTimer.start();
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();
}
}
-void RegionGrabber::grabRect() {
+void RegionGrabber::grabRect()
+{
QRect r = selection.normalized();
if (!r.isNull() && r.isValid()) {
grabbing = true;
close();
}
-void RegionGrabber::updateHandles() {
+void RegionGrabber::updateHandles()
+{
QRect r = selection.normalized().adjusted(0, 0, -1, -1);
int s2 = handleSize / 2;
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(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());