| Index: gfx/canvas_direct2d.cc
|
| ===================================================================
|
| --- gfx/canvas_direct2d.cc (revision 53218)
|
| +++ gfx/canvas_direct2d.cc (working copy)
|
| @@ -117,13 +117,23 @@
|
| }
|
|
|
| void CanvasDirect2D::TranslateInt(int x, int y) {
|
| - rt_->SetTransform(D2D1::Matrix3x2F::Translation(static_cast<float>(x),
|
| - static_cast<float>(y)));
|
| + D2D1_MATRIX_3X2_F raw;
|
| + rt_->GetTransform(&raw);
|
| + D2D1::Matrix3x2F transform(raw._11, raw._12, raw._21, raw._22, raw._31,
|
| + raw._32);
|
| + transform = D2D1::Matrix3x2F::Translation(static_cast<float>(x),
|
| + static_cast<float>(y)) * transform;
|
| + rt_->SetTransform(transform);
|
| }
|
|
|
| void CanvasDirect2D::ScaleInt(int x, int y) {
|
| - rt_->SetTransform(D2D1::Matrix3x2F::Scale(static_cast<float>(x),
|
| - static_cast<float>(y)));
|
| + D2D1_MATRIX_3X2_F raw;
|
| + rt_->GetTransform(&raw);
|
| + D2D1::Matrix3x2F transform(raw._11, raw._12, raw._21, raw._22, raw._31,
|
| + raw._32);
|
| + transform = D2D1::Matrix3x2F::Scale(static_cast<float>(x),
|
| + static_cast<float>(y)) * transform;
|
| + rt_->SetTransform(transform);
|
| }
|
|
|
| void CanvasDirect2D::FillRectInt(int x, int y, int w, int h,
|
|
|