that if we see a setMatrix command. In this way we can respect the caller's
overall playback matrix environment.
Review URL: https://codereview.appspot.com/6495092
git-svn-id: http://skia.googlecode.com/svn/trunk@5409
2bbb7eff-a529-9590-31e7-
b0007b416f81
SkReader32 reader(fOpData->bytes(), fOpData->size());
TextContainer text;
+ // Record this, so we can concat w/ it if we encounter a setMatrix()
+ SkMatrix initialMatrix = canvas.getTotalMatrix();
+
while (!reader.eof()) {
switch (reader.readInt()) {
case CLIP_PATH: {
SkScalar sy = reader.readScalar();
canvas.scale(sx, sy);
} break;
- case SET_MATRIX:
- canvas.setMatrix(*getMatrix(reader));
- break;
+ case SET_MATRIX: {
+ SkMatrix matrix;
+ matrix.setConcat(initialMatrix, *getMatrix(reader));
+ canvas.setMatrix(matrix);
+ } break;
case SKEW: {
SkScalar sx = reader.readScalar();
SkScalar sy = reader.readScalar();