def qwtDrawXCrossSymbols(painter, points, numPoints, symbol): size =symbol.size() off = 0 pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) off = 1 painter.setPen(pen) if QwtPainter.roundingAlignment(painter): sw = np.floor(size.width()) sh = np.floor(size.height()) sw2 = size.width()//2 sh2 = size.height()//2 for pos in points: x = round(pos.x()) y = round(pos.y()) x1 = x-sw2 x2 = x1+sw+off y1 = y-sh2 y2 = y1+sh+off QwtPainter.drawLine(painter, x1, y1, x2, y2) QwtPainter.drawLine(painter, x2, y1, x1, y2) else: sw = size.width() sh = size.height() sw2 = .5*size.width() sh2 = .5*size.height() for pos in points: x1 = pos.x()-sw2 x2 = x1+sw y1 = pos.y()-sh2 y2 = y1+sh QwtPainter.drawLine(painter, x1, y1, x2, y2) QwtPainter.drawLine(painter, x2, y1, x1, y2)
def qwtDrawStar2Symbols(painter, points, numPoints, symbol): pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) pen.setJoinStyle(Qt.MiterJoin) painter.setPen(pen) painter.setBrush(symbol.brush()) cos30 = np.cos(30*np.pi/180.) dy = .25*symbol.size().height() dx = .5*symbol.size().width()*cos30/3. for pos in points: x = pos.x() y = pos.y() x1 = x-3*dx y1 = y-2*dy x2 = x1+1*dx x3 = x1+2*dx x4 = x1+3*dx x5 = x1+4*dx x6 = x1+5*dx x7 = x1+6*dx y2 = y1+1*dy y3 = y1+2*dy y4 = y1+3*dy y5 = y1+4*dy star = [QPointF(x4, y1), QPointF(x5, y2), QPointF(x7, y2), QPointF(x6, y3), QPointF(x7, y4), QPointF(x5, y4), QPointF(x4, y5), QPointF(x3, y4), QPointF(x1, y4), QPointF(x2, y3), QPointF(x1, y2), QPointF(x3, y2)] painter.drawPolygon(QPolygonF(star))
def qwtDrawXCrossSymbols(painter, points, numPoints, symbol): size = symbol.size() off = 0 pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) off = 1 painter.setPen(pen) if QwtPainter.roundingAlignment(painter): sw = np.floor(size.width()) sh = np.floor(size.height()) sw2 = size.width() // 2 sh2 = size.height() // 2 for pos in points: x = round(pos.x()) y = round(pos.y()) x1 = x - sw2 x2 = x1 + sw + off y1 = y - sh2 y2 = y1 + sh + off QwtPainter.drawLine(painter, x1, y1, x2, y2) QwtPainter.drawLine(painter, x2, y1, x1, y2) else: sw = size.width() sh = size.height() sw2 = .5 * size.width() sh2 = .5 * size.height() for pos in points: x1 = pos.x() - sw2 x2 = x1 + sw y1 = pos.y() - sh2 y2 = y1 + sh QwtPainter.drawLine(painter, x1, y1, x2, y2) QwtPainter.drawLine(painter, x2, y1, x1, y2)
def qwtDrawStar2Symbols(painter, points, numPoints, symbol): pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) pen.setJoinStyle(Qt.MiterJoin) painter.setPen(pen) painter.setBrush(symbol.brush()) cos30 = np.cos(30 * np.pi / 180.) dy = .25 * symbol.size().height() dx = .5 * symbol.size().width() * cos30 / 3. doAlign = QwtPainter.roundingAlignment(painter) for pos in points: if doAlign: x = round(pos.x()) y = round(pos.y()) x1 = round(x - 3 * dx) y1 = round(y - 2 * dy) else: x = pos.x() y = pos.y() x1 = x - 3 * dx y1 = y - 2 * dy x2 = x1 + 1 * dx x3 = x1 + 2 * dx x4 = x1 + 3 * dx x5 = x1 + 4 * dx x6 = x1 + 5 * dx x7 = x1 + 6 * dx y2 = y1 + 1 * dy y3 = y1 + 2 * dy y4 = y1 + 3 * dy y5 = y1 + 4 * dy star = [ QPointF(x4, y1), QPointF(x5, y2), QPointF(x7, y2), QPointF(x6, y3), QPointF(x7, y4), QPointF(x5, y4), QPointF(x4, y5), QPointF(x3, y4), QPointF(x1, y4), QPointF(x2, y3), QPointF(x1, y2), QPointF(x3, y2) ] QwtPainter.drawPolygon(painter, QPolygonF(star))
def qwtDrawXCrossSymbols(painter, points, numPoints, symbol): size =symbol.size() pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) painter.setPen(pen) sw = size.width() sh = size.height() sw2 = .5*size.width() sh2 = .5*size.height() for pos in points: x1 = pos.x()-sw2 x2 = x1+sw y1 = pos.y()-sh2 y2 = y1+sh painter.drawLine(x1, y1, x2, y2) painter.drawLine(x2, y1, x1, y2)
def qwtDrawXCrossSymbols(painter, points, numPoints, symbol): size = symbol.size() pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) painter.setPen(pen) sw = size.width() sh = size.height() sw2 = .5 * size.width() sh2 = .5 * size.height() for pos in points: x1 = pos.x() - sw2 x2 = x1 + sw y1 = pos.y() - sh2 y2 = y1 + sh painter.drawLine(x1, y1, x2, y2) painter.drawLine(x2, y1, x1, y2)
def qwtDrawLineSymbols(painter, orientations, points, numPoints, symbol): size =symbol.size() pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing, False) sw = size.width() sh = size.height() sw2 = .5*size.width() sh2 = .5*size.height() for pos in points: if orientations & Qt.Horizontal: x = round(pos.x())-sw2 y = round(pos.y()) painter.drawLine(x, y, x+sw, y) if orientations & Qt.Vertical: x = round(pos.x()) y = round(pos.y())-sh2 painter.drawLine(x, y, x, y+sh)
def qwtDrawLineSymbols(painter, orientations, points, numPoints, symbol): size = symbol.size() pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing, False) sw = size.width() sh = size.height() sw2 = .5 * size.width() sh2 = .5 * size.height() for pos in points: if orientations & Qt.Horizontal: x = round(pos.x()) - sw2 y = round(pos.y()) painter.drawLine(x, y, x + sw, y) if orientations & Qt.Vertical: x = round(pos.x()) y = round(pos.y()) - sh2 painter.drawLine(x, y, x, y + sh)
def qwtDrawLineSymbols(painter, orientations, points, numPoints, symbol): size =symbol.size() off = 0 pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) off = 1 painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing, False) if QwtPainter.roundingAlignment(painter): sw = np.floor(size.width()) sh = np.floor(size.height()) sw2 = size.width()//2 sh2 = size.height()//2 for pos in points: if orientations & Qt.Horizontal: x = round(pos.x())-sw2 y = round(pos.y()) QwtPainter.drawLine(painter, x, y, x+sw+off, y) if orientations & Qt.Vertical: x = round(pos.x()) y = round(pos.y())-sh2 QwtPainter.drawLine(painter, x, y, x, y+sh+off) else: sw = size.width() sh = size.height() sw2 = .5*size.width() sh2 = .5*size.height() for pos in points: if orientations & Qt.Horizontal: x = round(pos.x())-sw2 y = round(pos.y()) QwtPainter.drawLine(painter, x, y, x+sw, y) if orientations & Qt.Vertical: x = round(pos.x()) y = round(pos.y())-sh2 QwtPainter.drawLine(painter, x, y, x, y+sh)
def qwtDrawLineSymbols(painter, orientations, points, numPoints, symbol): size = symbol.size() off = 0 pen = QPen(symbol.pen()) if pen.width() > 1: pen.setCapStyle(Qt.FlatCap) off = 1 painter.setPen(pen) painter.setRenderHint(QPainter.Antialiasing, False) if QwtPainter.roundingAlignment(painter): sw = np.floor(size.width()) sh = np.floor(size.height()) sw2 = size.width() // 2 sh2 = size.height() // 2 for pos in points: if orientations & Qt.Horizontal: x = round(pos.x()) - sw2 y = round(pos.y()) QwtPainter.drawLine(painter, x, y, x + sw + off, y) if orientations & Qt.Vertical: x = round(pos.x()) y = round(pos.y()) - sh2 QwtPainter.drawLine(painter, x, y, x, y + sh + off) else: sw = size.width() sh = size.height() sw2 = .5 * size.width() sh2 = .5 * size.height() for pos in points: if orientations & Qt.Horizontal: x = round(pos.x()) - sw2 y = round(pos.y()) QwtPainter.drawLine(painter, x, y, x + sw, y) if orientations & Qt.Vertical: x = round(pos.x()) y = round(pos.y()) - sh2 QwtPainter.drawLine(painter, x, y, x, y + sh)