aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-01 14:35:40 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-01 14:35:40 +0000
commitdb2a09f2408728871ed9e26eb1197cad6585a15d (patch)
treed4b4f36635f0e8f72b4a09a1463754d1aa32150b /src/ports
parent22c8bb8ebddcf695035b7f9c7f47405ae160b485 (diff)
fix chrome build, check OSX version before referencing 10.6 APIs
git-svn-id: http://skia.googlecode.com/svn/trunk@1776 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/ports')
-rw-r--r--src/ports/SkFontHost_mac_coretext.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/ports/SkFontHost_mac_coretext.cpp b/src/ports/SkFontHost_mac_coretext.cpp
index 8ee3d44b39..397eaa2d62 100644
--- a/src/ports/SkFontHost_mac_coretext.cpp
+++ b/src/ports/SkFontHost_mac_coretext.cpp
@@ -36,6 +36,10 @@
#include "SkUtils.h"
#include "SkTypefaceCache.h"
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
+ #define SK_SUPPORT_MAC_FONT_SUBPIXEL
+#endif
+
using namespace skia_advanced_typeface_metrics_utils;
static const size_t FONT_CACHE_MEMORY_BUDGET = 1024 * 1024;
@@ -521,10 +525,11 @@ void SkScalerContext_Mac::generateImage(const SkGlyph& glyph) {
// Draw the glyph
if (cgFont != NULL && cgContext != NULL) {
- CGContextSetAllowsFontSmoothing(cgContext, doLCD);
CGContextSetShouldSmoothFonts(cgContext, doLCD);
-#ifdef WE_ARE_RUNNING_ON_10_5_OR_LATER
+#ifdef SK_SUPPORT_MAC_FONT_SUBPIXEL
+ CGContextSetAllowsFontSmoothing(cgContext, doLCD);
+
// need to pass the fractional part of our position to cg...
bool doSubPosition = SkToBool(fRec.fFlags & kSubpixelPositioning_Flag);
CGContextSetAllowsFontSubpixelPositioning(cgContext, doSubPosition);
@@ -956,6 +961,14 @@ SkFontID SkFontHost::NextLogicalFont(SkFontID currFontID, SkFontID origFontID) {
}
void SkFontHost::FilterRec(SkScalerContext::Rec* rec) {
+ unsigned flagsWeDontSupport = SkScalerContext::kDevKernText_Flag |
+ SkScalerContext::kAutohinting_Flag;
+#ifndef SK_SUPPORT_MAC_FONT_SUBPIXEL
+ flagsWeDontSupport |= SkScalerContext::kSubpixelPositioning_Flag;
+#endif
+
+ rec->fFlags &= ~flagsWeDontSupport;
+
// we only support 2 levels of hinting
SkPaint::Hinting h = rec->getHinting();
if (SkPaint::kSlight_Hinting == h) {