Browse Source

patchcanvas: Last antialiasing fix

tags/v2.1-alpha1-winvst
Nikita Zlobin Filipe Coelho <falktx@falktx.com> 7 years ago
parent
commit
a7e0097f93
1 changed files with 14 additions and 5 deletions
  1. +14
    -5
      source/frontend/patchcanvas.py

+ 14
- 5
source/frontend/patchcanvas.py View File

@@ -1686,7 +1686,7 @@ class CanvasLine(QGraphicsLineItem):
elif port_type2 == PORT_TYPE_PARAMETER: elif port_type2 == PORT_TYPE_PARAMETER:
port_gradient.setColorAt(pos2, canvas.theme.line_parameter_sel if self.m_lineSelected else canvas.theme.line_parameter) port_gradient.setColorAt(pos2, canvas.theme.line_parameter_sel if self.m_lineSelected else canvas.theme.line_parameter)


self.setPen(QPen(port_gradient, 2, Qt.SolidLine, Qt.RoundCap))
self.setPen(QPen(port_gradient, 2.00001, Qt.SolidLine, Qt.RoundCap))


def paint(self, painter, option, widget): def paint(self, painter, option, widget):
painter.save() painter.save()
@@ -1695,12 +1695,13 @@ class CanvasLine(QGraphicsLineItem):
pen = self.pen() pen = self.pen()
cosm_pen = QPen(pen) cosm_pen = QPen(pen)
cosm_pen.setCosmetic(True) cosm_pen.setCosmetic(True)
cosm_pen.setWidthF(0.20)
cosm_pen.setWidthF(1.00001)


QGraphicsLineItem.paint(self, painter, option, widget) QGraphicsLineItem.paint(self, painter, option, widget)


painter.setPen(cosm_pen) painter.setPen(cosm_pen)
painter.setBrush(Qt.NoBrush) painter.setBrush(Qt.NoBrush)
painter.setOpacity(0.2)
painter.drawLine(self.line()) painter.drawLine(self.line())


painter.restore() painter.restore()
@@ -1805,7 +1806,7 @@ class CanvasBezierLine(QGraphicsPathItem):
elif port_type2 == PORT_TYPE_PARAMETER: elif port_type2 == PORT_TYPE_PARAMETER:
port_gradient.setColorAt(pos2, canvas.theme.line_parameter_sel if self.m_lineSelected else canvas.theme.line_parameter) port_gradient.setColorAt(pos2, canvas.theme.line_parameter_sel if self.m_lineSelected else canvas.theme.line_parameter)


self.setPen(QPen(port_gradient, 2, Qt.SolidLine, Qt.FlatCap))
self.setPen(QPen(port_gradient, 2.00001, Qt.SolidLine, Qt.FlatCap))


def paint(self, painter, option, widget): def paint(self, painter, option, widget):
painter.save() painter.save()
@@ -1814,12 +1815,13 @@ class CanvasBezierLine(QGraphicsPathItem):
pen = self.pen() pen = self.pen()
cosm_pen = QPen(pen) cosm_pen = QPen(pen)
cosm_pen.setCosmetic(True) cosm_pen.setCosmetic(True)
cosm_pen.setWidthF(0.20)
cosm_pen.setWidthF(1.00001)


QGraphicsPathItem.paint(self, painter, option, widget) QGraphicsPathItem.paint(self, painter, option, widget)


painter.setPen(cosm_pen) painter.setPen(cosm_pen)
painter.setBrush(Qt.NoBrush) painter.setBrush(Qt.NoBrush)
painter.setOpacity(0.2)
painter.drawPath(self.path()) painter.drawPath(self.path())


painter.restore() painter.restore()
@@ -1852,6 +1854,7 @@ class CanvasLineMov(QGraphicsLineItem):
pen = QPen(Qt.black) pen = QPen(Qt.black)


pen.setCapStyle(Qt.RoundCap) pen.setCapStyle(Qt.RoundCap)
pen.setWidthF(pen.widthF() + 0.00001)
self.setPen(pen) self.setPen(pen)


def updateLinePos(self, scenePos): def updateLinePos(self, scenePos):
@@ -1906,6 +1909,7 @@ class CanvasBezierLineMov(QGraphicsPathItem):
pen = QPen(Qt.black) pen = QPen(Qt.black)


pen.setCapStyle(Qt.FlatCap) pen.setCapStyle(Qt.FlatCap)
pen.setWidthF(pen.widthF() + 0.00001)
self.setPen(pen) self.setPen(pen)


def updateLinePos(self, scenePos): def updateLinePos(self, scenePos):
@@ -2227,6 +2231,10 @@ class CanvasPort(QGraphicsItem):
qCritical("PatchCanvas::CanvasPort.paint() - invalid port type '%s'" % port_type2str(self.m_port_type)) qCritical("PatchCanvas::CanvasPort.paint() - invalid port type '%s'" % port_type2str(self.m_port_type))
return return


# To prevent quality worsening
poly_pen = QPen(poly_pen)
poly_pen.setWidthF(poly_pen.widthF() + 0.00001)

if self.m_is_alternate: if self.m_is_alternate:
poly_color = poly_color.darker(180) poly_color = poly_color.darker(180)
#poly_pen.setColor(poly_pen.color().darker(110)) #poly_pen.setColor(poly_pen.color().darker(110))
@@ -2790,7 +2798,8 @@ class CanvasBox(QGraphicsItem):
rect = QRectF(0, 0, self.p_width, self.p_height) rect = QRectF(0, 0, self.p_width, self.p_height)


# Draw rectangle # Draw rectangle
pen = canvas.theme.box_pen_sel if self.isSelected() else canvas.theme.box_pen
pen = QPen(canvas.theme.box_pen_sel if self.isSelected() else canvas.theme.box_pen)
pen.setWidthF(pen.widthF() + 0.00001)
painter.setPen(pen) painter.setPen(pen)
lineHinting = pen.widthF() / 2 lineHinting = pen.widthF() / 2




Loading…
Cancel
Save