Index: src/core/SkScalerContext.cpp |
diff --git a/src/core/SkScalerContext.cpp b/src/core/SkScalerContext.cpp |
index db3c0fb2f57e04c4aa490fb95638fd393d4b0d42..11208fec599bad1ca0dfeef7f3bab9c23f00dc96 100644 |
--- a/src/core/SkScalerContext.cpp |
+++ b/src/core/SkScalerContext.cpp |
@@ -23,6 +23,10 @@ |
#include "SkStroke.h" |
#include "SkThread.h" |
+#ifdef SK_BUILD_FOR_ANDROID |
+ #include "SkTypeface_android.h" |
+#endif |
+ |
#define ComputeBWRowBytes(width) (((unsigned)(width) + 7) >> 3) |
void SkGlyph::toMask(SkMask* mask) const { |
@@ -107,6 +111,15 @@ SkScalerContext::SkScalerContext(SkTypeface* typeface, const SkDescriptor* desc) |
desc->findEntry(kPathEffect_SkDescriptorTag, NULL), |
desc->findEntry(kMaskFilter_SkDescriptorTag, NULL)); |
#endif |
+#ifdef SK_BUILD_FOR_ANDROID |
+ uint32_t len; |
+ const void* data = desc->findEntry(kAndroidOpts_SkDescriptorTag, &len); |
+ if (data) { |
+ SkReadBuffer buffer(data, len); |
+ fPaintOptionsAndroid.unflatten(buffer); |
+ SkASSERT(buffer.offset() == buffer.size()); |
+ } |
+#endif |
} |
SkScalerContext::~SkScalerContext() { |