cairo_matrix_t ctm;
cairo_get_matrix(cr, &ctm);
- cairo_matrix_t matrix = cairo_matrix_t(patternTransform);
+ cairo_matrix_t patternMatrix = cairo_matrix_t(patternTransform);
cairo_matrix_t totalMatrix;
- cairo_matrix_multiply(&totalMatrix, &ctm, &matrix);
+ cairo_matrix_multiply(&totalMatrix, &ctm, &patternMatrix);
double scaleX = ctm.xx ? ctm.xx : 1;
double scaleY = ctm.yy ? ctm.yy : 1;
if (shouldScalePattern)
cairo_matrix_init(&combined, 1 / scaleX, 0, 0, 1 / scaleY, phase.x() + tileRect.x() * patternTransform.a(), phase.y() + tileRect.y() * patternTransform.d());
else {
- cairo_matrix_t patternMatrix = cairo_matrix_t(patternTransform);
cairo_matrix_t phaseMatrix = {1, 0, 0, 1, phase.x() + tileRect.x() * patternTransform.a(), phase.y() + tileRect.y() * patternTransform.d()};
cairo_matrix_multiply(&combined, &patternMatrix, &phaseMatrix);
}