summaryrefslogtreecommitdiffstats
path: root/base/gfx/skia_utils_mac.cc
diff options
context:
space:
mode:
authorjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-01 21:40:28 +0000
committerjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-01 21:40:28 +0000
commitdc4f63c80cb90efe594131030aad6776e5945fcc (patch)
tree28c988d870db5b25535b333eb7676f6584329bea /base/gfx/skia_utils_mac.cc
parenta2914d54e7d8f460cfd98b1ba02d0aa86bacbd45 (diff)
downloadchromium_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.cc16
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),