Commit 8dc9b649 authored by dmMaze's avatar dmMaze
Browse files

try to fix float conversion err (#89)

parent efd71443
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -495,16 +495,14 @@ class DrawingPanel(Widget):
        painter.setPen(pen)
        painter.setRenderHint(QPainter.RenderHint.Antialiasing)
        if draw_shape:
            if shape == PenShape.Circle:
                painter.drawEllipse(cursor_center-pen_radius + thickness, 
            shape_rect = QRectF(cursor_center-pen_radius + thickness, 
                                cursor_center-pen_radius + thickness, 
                                pen_size - 2*thickness, 
                                pen_size - 2*thickness)
            if shape == PenShape.Circle:
                painter.drawEllipse(shape_rect)
            elif shape == PenShape.Rectangle:
                painter.drawRect(cursor_center-pen_radius + thickness, 
                                    cursor_center-pen_radius + thickness, 
                                    pen_size - 2*thickness, 
                                    pen_size - 2*thickness)
                painter.drawRect(shape_rect)
            else:
                raise NotImplementedError
            # elif shape == PenShape.Triangle:
+4 −22
Original line number Diff line number Diff line
@@ -96,11 +96,13 @@ class StrokeImgItem(QGraphicsItem):
            pen.setWidthF(0)
            self.painter.setPen(pen)
            self.painter.setBrush(self.pen.color())
            self.painter.drawEllipse(pnt1.x() - self._r, pnt1.y() - self._r, self._d, self._d)
            rect = QRectF(pnt1.x() - self._r, pnt1.y() - self._r, self._d, self._d)
            self.painter.drawEllipse(rect)
            self.painter.setPen(self.pen)

    def _line_to_rectangle(self, pnt1: QPointF, pnt2: QPointF):
        self.painter.drawRect(pnt1.x() - self._r, pnt1.y() - self._r, self._d, self._d)
        shape_rect = QRectF(pnt1.x() - self._r, pnt1.y() - self._r, self._d, self._d)
        self.painter.drawRect(shape_rect)

    def lineTo(self, new_pnt: QPointF, update=True) -> QRectF:
        delta = self.cur_point - new_pnt
@@ -122,26 +124,6 @@ class StrokeImgItem(QGraphicsItem):
        painter.drawImage(0, 0, self._img)


class PenCursor(QCursor):
    def __init__(self, *args, **kwargs):
        super().__init__()
        self.thickness = 2

    def updatePenCursor(self, size: int, color: QColor):
        
        pen = QPen(color, self.thickness, Qt.PenStyle.DotLine, Qt.PenCapStyle.RoundCap, Qt.PenJoinStyle.RoundJoin)
        if size < 20:
            pen.setWidth(3)
            pen.setStyle(Qt.PenStyle.SolidLine)
        cur_pixmap = QPixmap(QSize(int(size), int(size)))
        cur_pixmap.fill(Qt.GlobalColor.transparent)
        painter = QPainter(cur_pixmap)
        painter.setPen(pen)
        painter.setRenderHint(QPainter.RenderHint.Antialiasing)
        painter.drawEllipse(self.thickness, self.thickness, size-2*self.thickness, size-2*self.thickness)
        painter.end()


class PixmapItem(QGraphicsPixmapItem):
    def __init__(self, border_pen: QPen, *args, **kwargs):
        super().__init__(*args, **kwargs)
+0 −1
Original line number Diff line number Diff line
@@ -519,7 +519,6 @@ class TextBlkItem(QGraphicsTextItem):
        if self.isSelected() and not self.is_editting():
            pen = QPen(TEXTRECT_SELECTED_COLOR, 3.5 / self.get_scale(), Qt.PenStyle.DashLine)
            painter.setPen(pen)
            # painter.drawRect(br)
            painter.drawRect(self.unpadRect(br))
        elif draw_rect:
            pen = QPen(TEXTRECT_SHOW_COLOR, 3 / self.get_scale(), Qt.PenStyle.SolidLine)