From 4cf68b75e592aa9e72dd1adb668b0da38569be47 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 22 Apr 2025 00:13:40 +0900 Subject: [PATCH] renderer: code clean++ --- src/renderer/gl_engine/tvgGlRenderer.cpp | 2 +- src/renderer/sw_engine/tvgSwRenderer.cpp | 4 ++-- src/renderer/tvgRender.h | 9 +++++++-- src/renderer/tvgShape.h | 6 +++--- src/renderer/wg_engine/tvgWgRenderData.cpp | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/renderer/gl_engine/tvgGlRenderer.cpp b/src/renderer/gl_engine/tvgGlRenderer.cpp index f38504a9..9064feb2 100644 --- a/src/renderer/gl_engine/tvgGlRenderer.cpp +++ b/src/renderer/gl_engine/tvgGlRenderer.cpp @@ -1357,7 +1357,7 @@ bool GlRenderer::renderShape(RenderData data) } }; - if (sdata->rshape->stroke && sdata->rshape->stroke->strokeFirst) { + if (sdata->rshape->strokeFirst()) { processStroke(); processFill(); } else { diff --git a/src/renderer/sw_engine/tvgSwRenderer.cpp b/src/renderer/sw_engine/tvgSwRenderer.cpp index c4e3bf2b..8b199414 100644 --- a/src/renderer/sw_engine/tvgSwRenderer.cpp +++ b/src/renderer/sw_engine/tvgSwRenderer.cpp @@ -85,7 +85,7 @@ struct SwShapeTask : SwTask Additionally, the stroke style should not be dashed. */ bool antialiasing(float strokeWidth) { - return strokeWidth < 2.0f || rshape->stroke->dash.count > 0 || rshape->stroke->strokeFirst || rshape->trimpath() || rshape->stroke->color.a < 255; + return strokeWidth < 2.0f || rshape->stroke->dash.count > 0 || rshape->stroke->first || rshape->trimpath() || rshape->stroke->color.a < 255; } float validStrokeWidth(bool clipper) @@ -418,7 +418,7 @@ bool SwRenderer::renderShape(RenderData data) if (task->opacity == 0) return true; //Main raster stage - if (task->rshape->stroke && task->rshape->stroke->strokeFirst) { + if (task->rshape->strokeFirst()) { _renderStroke(task, surface, task->opacity); _renderFill(task, surface, task->opacity); } else { diff --git a/src/renderer/tvgRender.h b/src/renderer/tvgRender.h index 16e209c2..f1a18cd8 100644 --- a/src/renderer/tvgRender.h +++ b/src/renderer/tvgRender.h @@ -150,7 +150,7 @@ struct RenderStroke RenderTrimPath trim; StrokeCap cap = StrokeCap::Square; StrokeJoin join = StrokeJoin::Bevel; - bool strokeFirst = false; + bool first = false; void operator=(const RenderStroke& rhs) { @@ -174,7 +174,7 @@ struct RenderStroke miterlimit = rhs.miterlimit; cap = rhs.cap; join = rhs.join; - strokeFirst = rhs.strokeFirst; + first = rhs.first; trim = rhs.trim; } @@ -213,6 +213,11 @@ struct RenderShape return stroke->trim.valid(); } + bool strokeFirst() const + { + return (stroke && stroke->first) ? true : false; + } + float strokeWidth() const { if (!stroke) return 0; diff --git a/src/renderer/tvgShape.h b/src/renderer/tvgShape.h index c0950724..72d81454 100644 --- a/src/renderer/tvgShape.h +++ b/src/renderer/tvgShape.h @@ -320,13 +320,13 @@ struct ShapeImpl : Shape bool strokeFirst() { if (!rs.stroke) return true; - return rs.stroke->strokeFirst; + return rs.stroke->first; } - void strokeFirst(bool strokeFirst) + void strokeFirst(bool first) { if (!rs.stroke) rs.stroke = new RenderStroke(); - rs.stroke->strokeFirst = strokeFirst; + rs.stroke->first = first; impl.mark(RenderUpdateFlag::Stroke); } diff --git a/src/renderer/wg_engine/tvgWgRenderData.cpp b/src/renderer/wg_engine/tvgWgRenderData.cpp index c84afe73..696a5785 100644 --- a/src/renderer/wg_engine/tvgWgRenderData.cpp +++ b/src/renderer/wg_engine/tvgWgRenderData.cpp @@ -366,7 +366,7 @@ void WgRenderDataShape::updateAABB(const Matrix& tr) { void WgRenderDataShape::updateMeshes(WgContext& context, const RenderShape &rshape, const Matrix& tr, WgGeometryBufferPool* pool) { releaseMeshes(context); - strokeFirst = rshape.stroke ? rshape.stroke->strokeFirst : false; + strokeFirst = rshape.strokeFirst(); // get object scale float scale = std::max(std::min(length(Point{tr.e11 + tr.e12,tr.e21 + tr.e22}), 8.0f), 1.0f);