From b1a91acd6a19ced726afcbf033420a2615b48010 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Thu, 10 Sep 2020 15:28:44 +0900 Subject: [PATCH] sw_engine: code refactoring. use macro for single maintenance. --- src/lib/sw_engine/tvgSwCommon.h | 5 +++++ src/lib/sw_engine/tvgSwRenderer.cpp | 2 +- src/lib/sw_engine/tvgSwStroke.cpp | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/sw_engine/tvgSwCommon.h b/src/lib/sw_engine/tvgSwCommon.h index 256c4bbe..37a40c57 100644 --- a/src/lib/sw_engine/tvgSwCommon.h +++ b/src/lib/sw_engine/tvgSwCommon.h @@ -247,6 +247,11 @@ static inline uint8_t ALPHA_MULTIPLY(uint32_t c, uint32_t a) return (c * a) >> 8; } +static inline SwCoord HALF_STROKE(float width) +{ + return TO_SWCOORD(width * 0.5); +} + int64_t mathMultiply(int64_t a, int64_t b); int64_t mathDivide(int64_t a, int64_t b); int64_t mathMulDiv(int64_t a, int64_t b, int64_t c); diff --git a/src/lib/sw_engine/tvgSwRenderer.cpp b/src/lib/sw_engine/tvgSwRenderer.cpp index 7a69038d..ff1055f4 100644 --- a/src/lib/sw_engine/tvgSwRenderer.cpp +++ b/src/lib/sw_engine/tvgSwRenderer.cpp @@ -41,7 +41,7 @@ struct SwTask : Task //Valid Stroking? uint8_t strokeAlpha = 0; auto strokeWidth = sdata->strokeWidth(); - if (TO_SWCOORD(strokeWidth * 0.5) > 0) { + if (HALF_STROKE(strokeWidth) > 0) { sdata->strokeColor(nullptr, nullptr, nullptr, &strokeAlpha); } diff --git a/src/lib/sw_engine/tvgSwStroke.cpp b/src/lib/sw_engine/tvgSwStroke.cpp index 08754f84..e87ec4c6 100644 --- a/src/lib/sw_engine/tvgSwStroke.cpp +++ b/src/lib/sw_engine/tvgSwStroke.cpp @@ -831,7 +831,7 @@ void strokeReset(SwStroke* stroke, const Shape* sdata, const Matrix* transform) stroke->sx = stroke->sy = 1.0f; } - stroke->width = TO_SWCOORD(sdata->strokeWidth() * 0.5); + stroke->width = HALF_STROKE(sdata->strokeWidth()); stroke->cap = sdata->strokeCap(); //Save line join: it can be temporarily changed when stroking curves...