aboutsummaryrefslogtreecommitdiffstats
path: root/include/core/SkScalerContext.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/core/SkScalerContext.h')
-rw-r--r--include/core/SkScalerContext.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/include/core/SkScalerContext.h b/include/core/SkScalerContext.h
index 33c3c3d..4a0c70d 100644
--- a/include/core/SkScalerContext.h
+++ b/include/core/SkScalerContext.h
@@ -17,6 +17,10 @@
#include "SkPoint.h"
#include "SkTypeface.h"
+#ifdef SK_BUILD_FOR_ANDROID
+#include "SkLanguage.h"
+#endif
+
//#define SK_USE_COLOR_LUMINANCE
class SkDescriptor;
@@ -211,6 +215,7 @@ public:
uint32_t fLumBits;
#endif
#ifdef SK_BUILD_FOR_ANDROID
+ SkLanguage fLanguage;
SkPaint::FontVariant fFontVariant;
#endif
uint8_t fMaskFormat;
@@ -304,16 +309,7 @@ public:
#ifdef SK_BUILD_FOR_ANDROID
// This function must be public for SkTypeface_android.h, but should not be
// called by other callers
- SkFontID findTypefaceIdForChar(SkUnichar uni) {
- SkScalerContext* ctx = this;
- while (NULL != ctx) {
- if (ctx->generateCharToGlyph(uni)) {
- return ctx->fRec.fFontID;
- }
- ctx = ctx->getNextContext();
- }
- return 0;
- }
+ SkFontID findTypefaceIdForChar(SkUnichar uni);
unsigned getBaseGlyphCount(SkUnichar charCode);
#endif
@@ -341,6 +337,8 @@ protected:
void forceGenerateImageFromPath() { fGenerateImageFromPath = true; }
private:
+ SkScalerContext* getContextFromChar(SkUnichar uni, unsigned& glyphID);
+
SkPathEffect* fPathEffect;
SkMaskFilter* fMaskFilter;
SkRasterizer* fRasterizer;