+ // Check if all annotations are of the same type (i.e. we can use one color)
+ // or if we should use a neutral color (i.e. gray)
+ const int format = annotations.front().format();
+ const bool single_format = all_of(
+ annotations.begin(), annotations.end(),
+ [&](const Annotation &a) { return a.format() == format; });
+
+ const QRectF rect(start, top, end - start, bottom - top);
+ const int r = h / 4;
+
+ p.setPen(QPen(Qt::NoPen));
+ p.setBrush(Qt::white);
+ p.drawRoundedRect(rect, r, r);
+
+ p.setPen((single_format ? OutlineColours[colour] : Qt::gray));
+ p.setBrush(QBrush((single_format ? Colours[colour] : Qt::gray),
+ Qt::Dense4Pattern));
+ p.drawRoundedRect(rect, r, r);