@@ -37,6 +37,8 @@ class CanvasPreviewFrame(QFrame): | |||
def __init__(self, parent): | |||
QFrame.__init__(self, parent) | |||
self.fUseCustomPaint = False | |||
self.fMouseDown = False | |||
self.fViewBg = QColor(0, 0, 0) | |||
@@ -56,7 +58,7 @@ class CanvasPreviewFrame(QFrame): | |||
self.fViewPadY = 0.0 | |||
self.fViewRect = [0.0, 0.0, 10.0, 10.0] | |||
def init(self, scene, realWidth, realHeight): | |||
def init(self, scene, realWidth, realHeight, useCustomPaint = False): | |||
padding = 6 | |||
self.fScene = scene | |||
@@ -69,6 +71,10 @@ class CanvasPreviewFrame(QFrame): | |||
self.fRenderTarget.setWidth(realWidth) | |||
self.fRenderTarget.setHeight(realHeight) | |||
if self.fUseCustomPaint != useCustomPaint: | |||
self.fUseCustomPaint = useCustomPaint | |||
self.repaint() | |||
def setRealParent(self, parent): | |||
self.fRealParent = parent | |||
@@ -154,9 +160,23 @@ class CanvasPreviewFrame(QFrame): | |||
def paintEvent(self, event): | |||
painter = QPainter(self) | |||
painter.setBrush(self.fViewBg) | |||
painter.setPen(self.fViewBg) | |||
painter.drawRoundRect(2, 2, self.width()-6, self.height()-6, 3, 3) | |||
if self.fUseCustomPaint: | |||
painter.setBrush(self.fViewBg) | |||
painter.setPen(QColor(12, 12, 12)) | |||
painter.drawRect(0, 0, self.width(), self.height()-2) | |||
painter.setBrush(QColor(36, 36, 36)) | |||
painter.setPen(QColor(62, 62, 62)) | |||
painter.drawRect(1, 1, self.width()-2, self.height()-4) | |||
painter.setBrush(self.fViewBg) | |||
painter.setPen(self.fViewBg) | |||
painter.drawRect(2, 3, self.width()-5, self.height()-7) | |||
else: | |||
painter.setBrush(self.fViewBg) | |||
painter.setPen(self.fViewBg) | |||
painter.drawRoundRect(2, 2, self.width()-6, self.height()-6, 3, 3) | |||
self.fScene.render(painter, self.fRenderSource, self.fRenderTarget, Qt.KeepAspectRatio) | |||
@@ -172,7 +192,10 @@ class CanvasPreviewFrame(QFrame): | |||
painter.setPen(self.fViewPen) | |||
painter.drawRect(self.fViewRect[iX], self.fViewRect[iY], maxWidth, maxHeight) | |||
QFrame.paintEvent(self, event) | |||
if self.fUseCustomPaint: | |||
event.accept() | |||
else: | |||
QFrame.paintEvent(self, event) | |||
def resizeEvent(self, event): | |||
self.fRenderSource = self.getRenderSource() | |||
@@ -1389,8 +1389,10 @@ class CanvasLine(QGraphicsLineItem): | |||
self.setPen(QPen(port_gradient, 2)) | |||
def paint(self, painter, option, widget): | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, bool(options.antialiasing)) | |||
QGraphicsLineItem.paint(self, painter, option, widget) | |||
painter.restore() | |||
# ------------------------------------------------------------------------------ | |||
# canvasbezierline.cpp | |||
@@ -1494,8 +1496,10 @@ class CanvasBezierLine(QGraphicsPathItem): | |||
self.setPen(QPen(port_gradient, 2)) | |||
def paint(self, painter, option, widget): | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, bool(options.antialiasing)) | |||
QGraphicsPathItem.paint(self, painter, option, widget) | |||
painter.restore() | |||
# ------------------------------------------------------------------------------ | |||
# canvaslivemov.cpp | |||
@@ -1549,8 +1553,10 @@ class CanvasLineMov(QGraphicsLineItem): | |||
return CanvasLineMovType | |||
def paint(self, painter, option, widget): | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, bool(options.antialiasing)) | |||
QGraphicsLineItem.paint(self, painter, option, widget) | |||
painter.restore() | |||
# ------------------------------------------------------------------------------ | |||
# canvasbezierlinemov.cpp | |||
@@ -1611,8 +1617,10 @@ class CanvasBezierLineMov(QGraphicsPathItem): | |||
return CanvasBezierLineMovType | |||
def paint(self, painter, option, widget): | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, bool(options.antialiasing)) | |||
QGraphicsPathItem.paint(self, painter, option, widget) | |||
painter.restore() | |||
# ------------------------------------------------------------------------------ | |||
# canvasport.cpp | |||
@@ -1832,6 +1840,7 @@ class CanvasPort(QGraphicsItem): | |||
return QRectF(0, 0, self.m_port_width + 12, self.m_port_height) | |||
def paint(self, painter, option, widget): | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, bool(options.antialiasing == ANTIALIASING_FULL)) | |||
poly_locx = [0, 0, 0, 0, 0] | |||
@@ -1941,6 +1950,8 @@ class CanvasPort(QGraphicsItem): | |||
self.m_last_selected_state = self.isSelected() | |||
painter.restore() | |||
# ------------------------------------------------------------------------------ | |||
# canvasbox.cpp | |||
@@ -2428,6 +2439,7 @@ class CanvasBox(QGraphicsItem): | |||
return QRectF(0, 0, self.p_width, self.p_height) | |||
def paint(self, painter, option, widget): | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, False) | |||
# Draw rectangle | |||
@@ -2475,6 +2487,8 @@ class CanvasBox(QGraphicsItem): | |||
self.repaintLines() | |||
painter.restore() | |||
# ------------------------------------------------------------------------------ | |||
# canvasicon.cpp | |||
@@ -2544,9 +2558,11 @@ class CanvasIcon(QGraphicsSvgItem): | |||
def paint(self, painter, option, widget): | |||
if self.m_renderer: | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing, False) | |||
painter.setRenderHint(QPainter.TextAntialiasing, False) | |||
self.m_renderer.render(painter, self.p_size) | |||
painter.restore() | |||
else: | |||
QGraphicsSvgItem.paint(self, painter, option, widget) | |||
@@ -447,9 +447,11 @@ class AbstractCanvasJackClass(QMainWindow): | |||
if dialog.exec_(): | |||
painter = QPainter(self.fExportPrinter) | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing) | |||
painter.setRenderHint(QPainter.TextAntialiasing) | |||
self.scene.render(painter) | |||
painter.restore() | |||
@pyqtSlot() | |||
def slot_canvasSaveImage(self): | |||
@@ -470,10 +472,12 @@ class AbstractCanvasJackClass(QMainWindow): | |||
self.fExportImage = QImage(self.scene.sceneRect().width(), self.scene.sceneRect().height(), QImage.Format_RGB32) | |||
painter = QPainter(self.fExportImage) | |||
painter.save() | |||
painter.setRenderHint(QPainter.Antialiasing) # TODO - set true, cleanup this | |||
painter.setRenderHint(QPainter.TextAntialiasing) | |||
self.scene.render(painter) | |||
self.fExportImage.save(newPath, imgFormat, 100) | |||
painter.restore() | |||
# ----------------------------------------------------------------- | |||
# Shared Connections | |||