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