diff options
Diffstat (limited to 'source/rendering/StarDrawablePainter.cpp')
-rw-r--r-- | source/rendering/StarDrawablePainter.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/rendering/StarDrawablePainter.cpp b/source/rendering/StarDrawablePainter.cpp index 8c50b2b..0ef1f31 100644 --- a/source/rendering/StarDrawablePainter.cpp +++ b/source/rendering/StarDrawablePainter.cpp @@ -17,12 +17,16 @@ void DrawablePainter::drawDrawable(Drawable const& drawable) { Vec2F left = Vec2F(vnorm(line.diff())).rot90() * linePart->width / 2.0f; float fullbright = drawable.fullbright ? 0.0f : 1.0f; - primitives.emplace_back(std::in_place_type_t<RenderQuad>(), + auto& primitive = primitives.emplace_back(std::in_place_type_t<RenderQuad>(), line.min() + left, line.min() - left, line.max() - left, line.max() + left, color, fullbright); + if (auto* endColor = linePart->endColor.ptr()) { + RenderQuad& quad = primitive.get<RenderQuad>(); + quad.c.color = quad.d.color = endColor->toRgba(); + } } else if (auto polyPart = drawable.part.ptr<Drawable::PolyPart>()) { PolyF poly = polyPart->poly; poly.translate(drawable.position); |