diff options
author | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-01 21:40:28 +0000 |
---|---|---|
committer | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-01 21:40:28 +0000 |
commit | dc4f63c80cb90efe594131030aad6776e5945fcc (patch) | |
tree | 28c988d870db5b25535b333eb7676f6584329bea /base/gfx/skia_utils_mac.cc | |
parent | a2914d54e7d8f460cfd98b1ba02d0aa86bacbd45 (diff) | |
download | chromium_src-dc4f63c80cb90efe594131030aad6776e5945fcc.zip chromium_src-dc4f63c80cb90efe594131030aad6776e5945fcc.tar.gz chromium_src-dc4f63c80cb90efe594131030aad6776e5945fcc.tar.bz2 |
Add platform_canvas_unittest.cc
Also fixes issue 2977.
Review URL: http://codereview.chromium.org/5644
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2777 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/gfx/skia_utils_mac.cc')
-rw-r--r-- | base/gfx/skia_utils_mac.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/base/gfx/skia_utils_mac.cc b/base/gfx/skia_utils_mac.cc index d9ccb3f..b5962c3 100644 --- a/base/gfx/skia_utils_mac.cc +++ b/base/gfx/skia_utils_mac.cc @@ -5,10 +5,26 @@ #include "base/gfx/skia_utils_mac.h" #include "base/logging.h" +#include "SkMatrix.h" #include "SkRect.h" namespace gfx { +CGAffineTransform SkMatrixToCGAffineTransform(const SkMatrix& matrix) { + // CGAffineTransforms don't support perspective transforms, so make sure + // we don't get those. + DCHECK(matrix[SkMatrix::kMPersp0] == 0.0f); + DCHECK(matrix[SkMatrix::kMPersp1] == 0.0f); + DCHECK(matrix[SkMatrix::kMPersp2] == 1.0f); + + return CGAffineTransformMake(matrix[SkMatrix::kMScaleX], + matrix[SkMatrix::kMSkewY], + matrix[SkMatrix::kMSkewX], + matrix[SkMatrix::kMScaleY], + matrix[SkMatrix::kMTransX], + matrix[SkMatrix::kMTransY]); +} + SkIRect CGRectToSkIRect(const CGRect& rect) { SkIRect sk_rect = { SkScalarRound(rect.origin.x), |