renderer/shape: fixed the issue of a missing miterlimit property copy.

This commit is contained in:
Hermet Park 2023-08-30 21:26:23 +09:00 committed by Hermet Park
parent c23c556f61
commit 1112444bd2

View file

@ -345,25 +345,17 @@ struct Shape::Impl
//Stroke //Stroke
if (rs.stroke) { if (rs.stroke) {
dup->rs.stroke = new RenderStroke(); dup->rs.stroke = new RenderStroke();
dup->rs.stroke->width = rs.stroke->width; *dup->rs.stroke = *rs.stroke;
dup->rs.stroke->dashCnt = rs.stroke->dashCnt;
dup->rs.stroke->dashOffset = rs.stroke->dashOffset;
dup->rs.stroke->cap = rs.stroke->cap;
dup->rs.stroke->join = rs.stroke->join;
dup->rs.stroke->strokeFirst = rs.stroke->strokeFirst;
memcpy(dup->rs.stroke->color, rs.stroke->color, sizeof(rs.stroke->color)); memcpy(dup->rs.stroke->color, rs.stroke->color, sizeof(rs.stroke->color));
if (rs.stroke->dashCnt > 0) { if (rs.stroke->dashCnt > 0) {
dup->rs.stroke->dashPattern = static_cast<float*>(malloc(sizeof(float) * rs.stroke->dashCnt)); dup->rs.stroke->dashPattern = static_cast<float*>(malloc(sizeof(float) * rs.stroke->dashCnt));
memcpy(dup->rs.stroke->dashPattern, rs.stroke->dashPattern, sizeof(float) * rs.stroke->dashCnt); memcpy(dup->rs.stroke->dashPattern, rs.stroke->dashPattern, sizeof(float) * rs.stroke->dashCnt);
} }
dup->flag |= RenderUpdateFlag::Stroke;
if (rs.stroke->fill) { if (rs.stroke->fill) {
dup->rs.stroke->fill = rs.stroke->fill->duplicate(); dup->rs.stroke->fill = rs.stroke->fill->duplicate();
dup->flag |= RenderUpdateFlag::GradientStroke; dup->flag |= RenderUpdateFlag::GradientStroke;
} }
dup->flag |= RenderUpdateFlag::Stroke;
} }
//Fill //Fill