mirror of
https://github.com/thorvg/thorvg.git
synced 2025-07-23 14:48:24 +00:00
lottie: fix offset with miter join
One point was skipped during the creation of the offset corner. The error was not visible because the point lies on the line, but it will become apparent if further modifiers are applied to the object (not supported now).
This commit is contained in:
parent
fef0be9f72
commit
2901d30cbd
1 changed files with 5 additions and 2 deletions
|
@ -115,9 +115,12 @@ void LottieOffsetModifier::corner(const Line& line, const Line& nextLine, uint32
|
|||
auto norm = normal(line.pt1, line.pt2);
|
||||
auto nextNorm = normal(nextLine.pt1, nextLine.pt2);
|
||||
auto miterDirection = (norm + nextNorm) / length(norm + nextNorm);
|
||||
if (1.0f <= miterLimit * fabsf(miterDirection.x * norm.x + miterDirection.y * norm.y)) {
|
||||
outCmds.push(PathCommand::LineTo);
|
||||
outPts.push(intersect);
|
||||
}
|
||||
outCmds.push(PathCommand::LineTo);
|
||||
if (1.0f <= miterLimit * fabsf(miterDirection.x * norm.x + miterDirection.y * norm.y)) outPts.push(intersect);
|
||||
else outPts.push(nextLine.pt1);
|
||||
outPts.push(nextLine.pt1);
|
||||
} else {
|
||||
outCmds.push(PathCommand::LineTo);
|
||||
outPts.push(nextLine.pt1);
|
||||
|
|
Loading…
Add table
Reference in a new issue