|
@@ -401,8 +401,8 @@ class Canvas(QtWidgets.QWidget):
|
|
|
rect = shape.boundingRect()
|
|
|
x1 = rect.x() - point.x()
|
|
|
y1 = rect.y() - point.y()
|
|
|
- x2 = (rect.x() + rect.width()) - point.x()
|
|
|
- y2 = (rect.y() + rect.height()) - point.y()
|
|
|
+ x2 = (rect.x() + rect.width() - 1) - point.x()
|
|
|
+ y2 = (rect.y() + rect.height() - 1) - point.y()
|
|
|
self.offsets = QtCore.QPoint(x1, y1), QtCore.QPoint(x2, y2)
|
|
|
|
|
|
def boundedMoveVertex(self, pos):
|
|
@@ -523,7 +523,7 @@ class Canvas(QtWidgets.QWidget):
|
|
|
|
|
|
def outOfPixmap(self, p):
|
|
|
w, h = self.pixmap.width(), self.pixmap.height()
|
|
|
- return not (0 <= p.x() <= w and 0 <= p.y() <= h)
|
|
|
+ return not (0 <= p.x() < w and 0 <= p.y() < h)
|
|
|
|
|
|
def finalise(self):
|
|
|
assert self.current
|
|
@@ -547,9 +547,9 @@ class Canvas(QtWidgets.QWidget):
|
|
|
# http://paulbourke.net/geometry/lineline2d/
|
|
|
size = self.pixmap.size()
|
|
|
points = [(0, 0),
|
|
|
- (size.width(), 0),
|
|
|
- (size.width(), size.height()),
|
|
|
- (0, size.height())]
|
|
|
+ (size.width() - 1, 0),
|
|
|
+ (size.width() - 1, size.height() - 1),
|
|
|
+ (0, size.height() - 1)]
|
|
|
x1, y1 = p1.x(), p1.y()
|
|
|
x2, y2 = p2.x(), p2.y()
|
|
|
d, i, (x, y) = min(self.intersectingEdges((x1, y1), (x2, y2), points))
|