QCssUtil: use std::array instead QPolygonF

Use std::array<QPointF, 4> instead a dynamic QPolygonF since there is no
dynamic allocation needed here.

Change-Id: I45e124de7db7263c9291e169165bf74174f032a6
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
This commit is contained in:
Christian Ehrlicher 2023-11-16 20:12:31 +01:00
parent 7e362f76a6
commit 48080c2327

View File

@ -168,28 +168,28 @@ void qDrawEdge(QPainter *p, qreal x1, qreal y1, qreal x2, qreal y2, qreal dw1, q
if (width == 1 || (dw1 == 0 && dw2 == 0)) {
p->drawRect(QRectF(x1, y1, x2-x1, y2-y1));
} else { // draw trapezoid
QPolygonF quad;
std::array<QPointF, 4> quad;
switch (edge) {
case TopEdge:
quad << QPointF(x1, y1) << QPointF(x1 + dw1, y2)
<< QPointF(x2 - dw2, y2) << QPointF(x2, y1);
quad = {QPointF(x1, y1), QPointF(x1 + dw1, y2),
QPointF(x2 - dw2, y2), QPointF(x2, y1)};
break;
case BottomEdge:
quad << QPointF(x1 + dw1, y1) << QPointF(x1, y2)
<< QPointF(x2, y2) << QPointF(x2 - dw2, y1);
quad = {QPointF(x1 + dw1, y1), QPointF(x1, y2),
QPointF(x2, y2), QPointF(x2 - dw2, y1)};
break;
case LeftEdge:
quad << QPointF(x1, y1) << QPointF(x1, y2)
<< QPointF(x2, y2 - dw2) << QPointF(x2, y1 + dw1);
quad = {QPointF(x1, y1), QPointF(x1, y2),
QPointF(x2, y2 - dw2), QPointF(x2, y1 + dw1)};
break;
case RightEdge:
quad << QPointF(x1, y1 + dw1) << QPointF(x1, y2 - dw2)
<< QPointF(x2, y2) << QPointF(x2, y1);
quad = {QPointF(x1, y1 + dw1), QPointF(x1, y2 - dw2),
QPointF(x2, y2), QPointF(x2, y1)};
break;
default:
break;
}
p->drawConvexPolygon(quad);
p->drawConvexPolygon(quad.data(), static_cast<int>(quad.size()));
}
break;
}