summaryrefslogtreecommitdiffstats
path: root/skia
diff options
context:
space:
mode:
authorbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-03 20:26:51 +0000
committerbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-03 20:26:51 +0000
commit24a14e8415f49c0aa2d7f1d0debc6faf2e3d7d20 (patch)
tree6584e9b579451f10e9cf7730bebe7919b36fc380 /skia
parente6430507f70668ac76560d532ed9515525bd41ae (diff)
downloadchromium_src-24a14e8415f49c0aa2d7f1d0debc6faf2e3d7d20.zip
chromium_src-24a14e8415f49c0aa2d7f1d0debc6faf2e3d7d20.tar.gz
chromium_src-24a14e8415f49c0aa2d7f1d0debc6faf2e3d7d20.tar.bz2
Move skia_utils_mac from base/gfx to skia/ext.
Review URL: http://codereview.chromium.org/12911 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6302 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia')
-rwxr-xr-xskia/ext/bitmap_platform_device_mac.cc2
-rwxr-xr-xskia/ext/platform_device_mac.cc2
-rw-r--r--skia/ext/skia_utils_mac.cc83
-rw-r--r--skia/ext/skia_utils_mac.h51
-rw-r--r--skia/skia.xcodeproj/project.pbxproj10
5 files changed, 144 insertions, 4 deletions
diff --git a/skia/ext/bitmap_platform_device_mac.cc b/skia/ext/bitmap_platform_device_mac.cc
index d4458d7..52ce586 100755
--- a/skia/ext/bitmap_platform_device_mac.cc
+++ b/skia/ext/bitmap_platform_device_mac.cc
@@ -10,8 +10,8 @@
#include "SkRegion.h"
#include "SkUtils.h"
-#include "base/gfx/skia_utils_mac.h"
#include "base/logging.h"
+#include "skia/ext/skia_utils_mac.h"
namespace gfx {
diff --git a/skia/ext/platform_device_mac.cc b/skia/ext/platform_device_mac.cc
index 9539e0f..3cc6fb4 100755
--- a/skia/ext/platform_device_mac.cc
+++ b/skia/ext/platform_device_mac.cc
@@ -5,7 +5,7 @@
#include "skia/ext/bitmap_platform_device_mac.h"
#include "base/logging.h"
-#include "base/gfx/skia_utils_mac.h"
+#include "skia/ext/skia_utils_mac.h"
#include "SkMatrix.h"
#include "SkPath.h"
#include "SkUtils.h"
diff --git a/skia/ext/skia_utils_mac.cc b/skia/ext/skia_utils_mac.cc
new file mode 100644
index 0000000..a7610aa
--- /dev/null
+++ b/skia/ext/skia_utils_mac.cc
@@ -0,0 +1,83 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "skia/ext/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),
+ SkScalarRound(rect.origin.y),
+ SkScalarRound(rect.origin.x + rect.size.width),
+ SkScalarRound(rect.origin.y + rect.size.height)
+ };
+ return sk_rect;
+}
+
+SkRect CGRectToSkRect(const CGRect& rect) {
+ SkRect sk_rect = {
+ rect.origin.x,
+ rect.origin.y,
+ rect.origin.x + rect.size.width,
+ rect.origin.y + rect.size.height,
+ };
+ return sk_rect;
+}
+
+CGRect SkIRectToCGRect(const SkIRect& rect) {
+ CGRect cg_rect = {
+ { rect.fLeft, rect.fTop },
+ { rect.fRight - rect.fLeft, rect.fBottom - rect.fTop }
+ };
+ return cg_rect;
+}
+
+CGRect SkRectToCGRect(const SkRect& rect) {
+ CGRect cg_rect = {
+ { rect.fLeft, rect.fTop },
+ { rect.fRight - rect.fLeft, rect.fBottom - rect.fTop }
+ };
+ return cg_rect;
+}
+
+// Converts CGColorRef to the ARGB layout Skia expects.
+SkColor CGColorRefToSkColor(CGColorRef color) {
+ DCHECK(CGColorGetNumberOfComponents(color) == 4);
+ const CGFloat *components = CGColorGetComponents(color);
+ return SkColorSetARGB(SkScalarRound(255.0 * components[3]), // alpha
+ SkScalarRound(255.0 * components[0]), // red
+ SkScalarRound(255.0 * components[1]), // green
+ SkScalarRound(255.0 * components[2])); // blue
+}
+
+// Converts ARGB to CGColorRef.
+CGColorRef SkColorToCGColorRef(SkColor color) {
+ return CGColorCreateGenericRGB(SkColorGetR(color) / 255.0,
+ SkColorGetG(color) / 255.0,
+ SkColorGetB(color) / 255.0,
+ SkColorGetA(color) / 255.0);
+}
+
+} // namespace gfx
+
diff --git a/skia/ext/skia_utils_mac.h b/skia/ext/skia_utils_mac.h
new file mode 100644
index 0000000..c43f6eb
--- /dev/null
+++ b/skia/ext/skia_utils_mac.h
@@ -0,0 +1,51 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+
+#ifndef SKIA_EXT_SKIA_UTILS_MAC_H_
+#define SKIA_EXT_SKIA_UTILS_MAC_H_
+
+#include "SkColor.h"
+#include <CoreGraphics/CGColor.h>
+
+struct SkMatrix;
+struct SkIRect;
+struct SkPoint;
+struct SkRect;
+
+namespace gfx {
+
+// Converts a Skia point to a CoreGraphics CGPoint.
+// Both use same in-memory format.
+inline const CGPoint& SkPointToCGPoint(const SkPoint& point) {
+ return reinterpret_cast<const CGPoint&>(point);
+}
+
+// Converts a CoreGraphics point to a Skia CGPoint.
+// Both use same in-memory format.
+inline const SkPoint& CGPointToSkPoint(const CGPoint& point) {
+ return reinterpret_cast<const SkPoint&>(point);
+}
+
+// Matrix converters.
+CGAffineTransform SkMatrixToCGAffineTransform(const SkMatrix& matrix);
+
+// Rectangle converters.
+SkRect CGRectToSkRect(const CGRect& rect);
+SkIRect CGRectToSkIRect(const CGRect& rect);
+
+// Converts a Skia rect to a CoreGraphics CGRect.
+CGRect SkIRectToCGRect(const SkIRect& rect);
+CGRect SkRectToCGRect(const SkRect& rect);
+
+// Converts CGColorRef to the ARGB layout Skia expects.
+SkColor CGColorRefToSkColor(CGColorRef color);
+
+// Converts ARGB to CGColorRef.
+CGColorRef SkColorToCGColorRef(SkColor color);
+
+} // namespace gfx
+
+#endif // SKIA_EXT_SKIA_UTILS_MAC_H_
+
diff --git a/skia/skia.xcodeproj/project.pbxproj b/skia/skia.xcodeproj/project.pbxproj
index 67404c5..6e3f25e 100644
--- a/skia/skia.xcodeproj/project.pbxproj
+++ b/skia/skia.xcodeproj/project.pbxproj
@@ -10,6 +10,7 @@
7B4DF47E0E5B5FE0004D7619 /* SkNinePatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B4DF47D0E5B5FE0004D7619 /* SkNinePatch.cpp */; };
7B4DF4800E5B6005004D7619 /* SkScaledBitmapSampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B4DF47F0E5B6005004D7619 /* SkScaledBitmapSampler.cpp */; };
7B4DF48A0E5B609B004D7619 /* SkTypeface_fake.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B4DF4820E5B6087004D7619 /* SkTypeface_fake.cpp */; };
+ A708CBA30EE7078500C531EA /* skia_utils_mac.cc in Sources */ = {isa = PBXBuildFile; fileRef = A708CBA10EE7078500C531EA /* skia_utils_mac.cc */; };
A70A3BAE0ED7385F00C31871 /* bitmap_platform_device_mac.cc in Sources */ = {isa = PBXBuildFile; fileRef = A70A3BA80ED7385F00C31871 /* bitmap_platform_device_mac.cc */; };
A70A3BAF0ED7385F00C31871 /* platform_canvas_mac.cc in Sources */ = {isa = PBXBuildFile; fileRef = A70A3BAA0ED7385F00C31871 /* platform_canvas_mac.cc */; };
A70A3BB00ED7385F00C31871 /* platform_device_mac.cc in Sources */ = {isa = PBXBuildFile; fileRef = A70A3BAC0ED7385F00C31871 /* platform_device_mac.cc */; };
@@ -149,6 +150,8 @@
7B4DF47F0E5B6005004D7619 /* SkScaledBitmapSampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkScaledBitmapSampler.cpp; sourceTree = "<group>"; };
7B4DF4810E5B6087004D7619 /* SkDrawProcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkDrawProcs.h; sourceTree = "<group>"; };
7B4DF4820E5B6087004D7619 /* SkTypeface_fake.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkTypeface_fake.cpp; sourceTree = "<group>"; };
+ A708CBA10EE7078500C531EA /* skia_utils_mac.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = skia_utils_mac.cc; path = ext/skia_utils_mac.cc; sourceTree = "<group>"; };
+ A708CBA20EE7078500C531EA /* skia_utils_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = skia_utils_mac.h; path = ext/skia_utils_mac.h; sourceTree = "<group>"; };
A70A3BA80ED7385F00C31871 /* bitmap_platform_device_mac.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap_platform_device_mac.cc; path = ext/bitmap_platform_device_mac.cc; sourceTree = "<group>"; };
A70A3BA90ED7385F00C31871 /* bitmap_platform_device_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bitmap_platform_device_mac.h; path = ext/bitmap_platform_device_mac.h; sourceTree = "<group>"; };
A70A3BAA0ED7385F00C31871 /* platform_canvas_mac.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = platform_canvas_mac.cc; path = ext/platform_canvas_mac.cc; sourceTree = "<group>"; };
@@ -500,6 +503,8 @@
A70A3BAB0ED7385F00C31871 /* platform_canvas_mac.h */,
A70A3BAC0ED7385F00C31871 /* platform_device_mac.cc */,
A70A3BAD0ED7385F00C31871 /* platform_device_mac.h */,
+ A708CBA10EE7078500C531EA /* skia_utils_mac.cc */,
+ A708CBA20EE7078500C531EA /* skia_utils_mac.h */,
);
name = ext;
sourceTree = "<group>";
@@ -926,6 +931,8 @@
buildActionMask = 2147483647;
files = (
A70A3BAE0ED7385F00C31871 /* bitmap_platform_device_mac.cc in Sources */,
+ A74368B90EE61BBF003562CC /* convolver.cc in Sources */,
+ A74368BA0EE61BBF003562CC /* image_operations.cc in Sources */,
A70A3BAF0ED7385F00C31871 /* platform_canvas_mac.cc in Sources */,
A70A3BB00ED7385F00C31871 /* platform_device_mac.cc in Sources */,
E48EE4D20E34E873009DE966 /* Sk1DPathEffect.cpp in Sources */,
@@ -985,6 +992,7 @@
E48EE5060E34E873009DE966 /* SkGlyphCache.cpp in Sources */,
E48EE5070E34E873009DE966 /* SkGradientShader.cpp in Sources */,
E48EE5080E34E873009DE966 /* SkGraphics.cpp in Sources */,
+ A708CBA30EE7078500C531EA /* skia_utils_mac.cc in Sources */,
E48EE5090E34E873009DE966 /* SkImageDecoder.cpp in Sources */,
E48EE50A0E34E873009DE966 /* SkImageDecoder_Factory.cpp in Sources */,
E48EE50B0E34E873009DE966 /* SkImageRef.cpp in Sources */,
@@ -1045,8 +1053,6 @@
E48EE5380E34E873009DE966 /* SkUtils.cpp in Sources */,
E48EE5390E34E873009DE966 /* SkWriter32.cpp in Sources */,
E48EE53A0E34E873009DE966 /* SkXfermode.cpp in Sources */,
- A74368B90EE61BBF003562CC /* convolver.cc in Sources */,
- A74368BA0EE61BBF003562CC /* image_operations.cc in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};