| 69 | } |
| 70 | |
| 71 | static void paintTriangle(QPainter &painter, QColor c, int xOffset, int yOffset, int width, int height, bool open) |
| 72 | { |
| 73 | painter.setRenderHint(QPainter::Antialiasing); |
| 74 | |
| 75 | qreal size = qMin(width, height); |
| 76 | |
| 77 | QPen pen; |
| 78 | pen.setJoinStyle(Qt::RoundJoin); |
| 79 | pen.setColor(c); |
| 80 | pen.setWidthF(1.5); |
| 81 | painter.setPen(pen); |
| 82 | painter.setBrush(c); |
| 83 | |
| 84 | // let some border, if possible |
| 85 | size *= 0.6; |
| 86 | |
| 87 | qreal halfSize = size / 2; |
| 88 | qreal halfSizeP = halfSize * 0.6; |
| 89 | QPointF middle(xOffset + ((qreal)width / 2), yOffset + ((qreal)height / 2)); |
| 90 | |
| 91 | if (open) { |
| 92 | QPointF points[3] = {middle + QPointF(-halfSize, -halfSizeP), middle + QPointF(halfSize, -halfSizeP), middle + QPointF(0, halfSizeP)}; |
| 93 | painter.drawConvexPolygon(points, 3); |
| 94 | } else { |
| 95 | QPointF points[3] = {middle + QPointF(-halfSizeP, -halfSize), middle + QPointF(-halfSizeP, halfSize), middle + QPointF(halfSizeP, 0)}; |
| 96 | painter.drawConvexPolygon(points, 3); |
| 97 | } |
| 98 | |
| 99 | painter.setRenderHint(QPainter::Antialiasing, false); |
| 100 | } |
| 101 | |
| 102 | void LineNumArea::paintEvent(QPaintEvent *event) |
| 103 | { |