From 7fa170ea16c0c4f201204cc3dcd005c71632ad01 Mon Sep 17 00:00:00 2001 From: Aleksey Alexandrovich Okoneshnikov Date: Sat, 21 Feb 2026 16:23:40 -0800 Subject: [PATCH] Fix issue w/ stroke not appearing when drawing past rect bounds --- beeref/items.py | 9 ++++++++- beeref/view.py | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/beeref/items.py b/beeref/items.py index c62a916..4ec58e6 100644 --- a/beeref/items.py +++ b/beeref/items.py @@ -781,7 +781,14 @@ class BeePathItem(BeeItemMixin, QtWidgets.QGraphicsItem): return self.boundingRect().contains(point) def bounding_rect_unselected(self): - return QtCore.QRectF(self._cached_rect) + rect = QtCore.QRectF(self._cached_rect) + if self.temp_stroke: + base_size = self.temp_stroke.get('base_size', 10) + for pt in self.temp_stroke.get('points', []): + r = base_size * pt.get('pressure', 1.0) / 2 + 1 + rect = rect.united(QtCore.QRectF( + pt['x'] - r, pt['y'] - r, 2 * r, 2 * r)) + return rect def add_stroke(self, stroke): self.prepareGeometryChange() diff --git a/beeref/view.py b/beeref/view.py index ded2328..c0b2b70 100644 --- a/beeref/view.py +++ b/beeref/view.py @@ -1001,6 +1001,7 @@ class BeeGraphicsView(MainControlsMixin, 'y': round(local_pos.y(), 1), 'pressure': self._tablet_pressure, }) + self.draw_item.prepareGeometryChange() self.draw_item.temp_stroke = self.draw_current_stroke self.draw_item.update() event.accept()