+
+ const double cap_width = min((end - start) / 2, EndCapWidth);
+
+ QPointF pts[] = {
+ QPointF(start, y + .5f),
+ QPointF(start + cap_width, y + .5f - h / 2),
+ QPointF(end - cap_width, y + .5f - h / 2),
+ QPointF(end, y + .5f),
+ QPointF(end - cap_width, y + .5f + h / 2),
+ QPointF(start + cap_width, y + .5f + h / 2)
+ };
+
+ p.setPen(outline);
+ p.setBrush(fill);
+ p.drawConvexPolygon(pts, countof(pts));
+
+ if (_annotations.empty())