diff --git a/src/examples/images/lineargrad1.tvg b/src/examples/images/lineargrad1.tvg index f307bb9d..9ff29eae 100644 Binary files a/src/examples/images/lineargrad1.tvg and b/src/examples/images/lineargrad1.tvg differ diff --git a/src/examples/images/radialgrad1.tvg b/src/examples/images/radialgrad1.tvg index 3fdbeae9..9c71ee69 100644 Binary files a/src/examples/images/radialgrad1.tvg and b/src/examples/images/radialgrad1.tvg differ diff --git a/src/examples/images/test.tvg b/src/examples/images/test.tvg index f354a5bc..3070b706 100644 Binary files a/src/examples/images/test.tvg and b/src/examples/images/test.tvg differ diff --git a/src/loaders/tvg/tvgTvgBinInterpreter.cpp b/src/loaders/tvg/tvgTvgBinInterpreter.cpp index 383ae89b..5469494e 100644 --- a/src/loaders/tvg/tvgTvgBinInterpreter.cpp +++ b/src/loaders/tvg/tvgTvgBinInterpreter.cpp @@ -87,9 +87,8 @@ static bool _parsePaintProperty(TvgBinBlock block, Paint *paint) } case TVG_TAG_PAINT_TRANSFORM: { if (block.length != SIZE(Matrix)) return false; - Matrix matrix; - memcpy(&matrix, block.data, SIZE(Matrix)); - paint->transform(matrix); + auto transform = (Matrix*)(block.data); + paint->transform(*transform); return true; } case TVG_TAG_PAINT_CMP_TARGET: { @@ -227,9 +226,8 @@ static unique_ptr _parseShapeFill(const char *ptr, const char *end) } case TVG_TAG_FILL_TRANSFORM: { if (!fillGrad || block.length != SIZE(Matrix)) return nullptr; - Matrix gradTransform; - memcpy(&gradTransform, block.data, SIZE(Matrix)); - fillGrad->transform(gradTransform); + auto transform = (Matrix*)(block.data); + fillGrad->transform(*transform); break; } default: {