Snapshot/SnapshotRegionGrabber.py

changeset 3030
4a0a82ddd9d2
parent 2993
4933ac9daa80
child 3034
7ce719013078
child 3058
0a02c433f52d
equal deleted inserted replaced
3029:4055a15ce0f2 3030:4a0a82ddd9d2
55 Constructor 55 Constructor
56 56
57 @param mode region grabber mode (SnapshotRegionGrabber.Rectangle or 57 @param mode region grabber mode (SnapshotRegionGrabber.Rectangle or
58 SnapshotRegionGrabber.Ellipse) 58 SnapshotRegionGrabber.Ellipse)
59 """ 59 """
60 super().__init__(None, 60 super().__init__(
61 None,
61 Qt.X11BypassWindowManagerHint | Qt.WindowStaysOnTopHint | 62 Qt.X11BypassWindowManagerHint | Qt.WindowStaysOnTopHint |
62 Qt.FramelessWindowHint | Qt.Tool) 63 Qt.FramelessWindowHint | Qt.Tool)
63 64
64 assert mode in [SnapshotRegionGrabber.Rectangle, 65 assert mode in [SnapshotRegionGrabber.Rectangle,
65 SnapshotRegionGrabber.Ellipse] 66 SnapshotRegionGrabber.Ellipse]
111 if qVersion() >= "5.0.0": 112 if qVersion() >= "5.0.0":
112 self.__pixmap = QApplication.screens()[0].grabWindow( 113 self.__pixmap = QApplication.screens()[0].grabWindow(
113 self.__desktop.winId(), x, y, 114 self.__desktop.winId(), x, y,
114 self.__desktop.width(), self.__desktop.height()) 115 self.__desktop.width(), self.__desktop.height())
115 else: 116 else:
116 self.__pixmap = QPixmap.grabWindow(self.__desktop.winId(), x, y, 117 self.__pixmap = QPixmap.grabWindow(
118 self.__desktop.winId(), x, y,
117 self.__desktop.width(), self.__desktop.height()) 119 self.__desktop.width(), self.__desktop.height())
118 self.resize(self.__pixmap.size()) 120 self.resize(self.__pixmap.size())
119 self.move(x, y) 121 self.move(x, y)
120 self.setCursor(Qt.CrossCursor) 122 self.setCursor(Qt.CrossCursor)
121 self.show() 123 self.show()
167 Qt.TextWordWrap, self.__helpText).translated( 169 Qt.TextWordWrap, self.__helpText).translated(
168 -self.__desktop.x(), -self.__desktop.y()) 170 -self.__desktop.x(), -self.__desktop.y())
169 self.__helpTextRect.adjust(-2, -2, 4, 2) 171 self.__helpTextRect.adjust(-2, -2, 4, 2)
170 drawRect(painter, self.__helpTextRect, textColor, 172 drawRect(painter, self.__helpTextRect, textColor,
171 textBackgroundColor) 173 textBackgroundColor)
172 painter.drawText(self.__helpTextRect.adjusted(3, 3, -3, -3), 174 painter.drawText(
175 self.__helpTextRect.adjusted(3, 3, -3, -3),
173 Qt.TextWordWrap, self.__helpText) 176 Qt.TextWordWrap, self.__helpText)
174 177
175 if self.__selection.isNull(): 178 if self.__selection.isNull():
176 return 179 return
177 180
292 # moving the whole selection 295 # moving the whole selection
293 r = self.rect().normalized() 296 r = self.rect().normalized()
294 s = self.__selectionBeforeDrag.normalized() 297 s = self.__selectionBeforeDrag.normalized()
295 p = s.topLeft() + evt.pos() - self.__dragStartPoint 298 p = s.topLeft() + evt.pos() - self.__dragStartPoint
296 r.setBottomRight( 299 r.setBottomRight(
297 r.bottomRight() - QPoint(s.width(), 300 r.bottomRight() - QPoint(s.width(), s.height()) +
298 s.height()) + QPoint(1, 1)) 301 QPoint(1, 1))
299 if not r.isNull() and r.isValid(): 302 if not r.isNull() and r.isValid():
300 self.__selection.moveTo(self.__limitPointToRect(p, r)) 303 self.__selection.moveTo(self.__limitPointToRect(p, r))
301 else: 304 else:
302 # dragging a handle 305 # dragging a handle
303 r = QRect(self.__selectionBeforeDrag) 306 r = QRect(self.__selectionBeforeDrag)

eric ide

mercurial