OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 The Android Open Source Project | 2 * Copyright 2011 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkAdvancedTypefaceMetrics.h" | 8 #include "SkAdvancedTypefaceMetrics.h" |
9 #include "SkEndian.h" | 9 #include "SkEndian.h" |
10 #include "SkFontDescriptor.h" | 10 #include "SkFontDescriptor.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 | 33 |
34 /////////////////////////////////////////////////////////////////////////////// | 34 /////////////////////////////////////////////////////////////////////////////// |
35 | 35 |
36 class SkEmptyTypeface : public SkTypeface { | 36 class SkEmptyTypeface : public SkTypeface { |
37 public: | 37 public: |
38 static SkEmptyTypeface* Create() { return new SkEmptyTypeface; } | 38 static SkEmptyTypeface* Create() { return new SkEmptyTypeface; } |
39 protected: | 39 protected: |
40 SkEmptyTypeface() : SkTypeface(SkFontStyle(), 0, true) { } | 40 SkEmptyTypeface() : SkTypeface(SkFontStyle(), 0, true) { } |
41 | 41 |
42 SkStreamAsset* onOpenStream(int* ttcIndex) const override { return nullptr;
} | 42 SkStreamAsset* onOpenStream(int* ttcIndex) const override { return nullptr;
} |
43 SkScalerContext* onCreateScalerContext(const SkDescriptor*) const override { | 43 SkScalerContext* onCreateScalerContext(const SkScalerContextEffects&, |
| 44 const SkDescriptor*) const override { |
44 return nullptr; | 45 return nullptr; |
45 } | 46 } |
46 void onFilterRec(SkScalerContextRec*) const override { } | 47 void onFilterRec(SkScalerContextRec*) const override { } |
47 virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( | 48 virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( |
48 PerGlyphInfo, | 49 PerGlyphInfo, |
49 const uint32_t*, uint32_t) const override { retu
rn nullptr; } | 50 const uint32_t*, uint32_t) const override { retu
rn nullptr; } |
50 void onGetFontDescriptor(SkFontDescriptor*, bool*) const override { } | 51 void onGetFontDescriptor(SkFontDescriptor*, bool*) const override { } |
51 virtual int onCharsToGlyphs(const void* chars, Encoding encoding, | 52 virtual int onCharsToGlyphs(const void* chars, Encoding encoding, |
52 uint16_t glyphs[], int glyphCount) const overrid
e { | 53 uint16_t glyphs[], int glyphCount) const overrid
e { |
53 if (glyphs && glyphCount > 0) { | 54 if (glyphs && glyphCount > 0) { |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 paint.setLinearText(true); | 342 paint.setLinearText(true); |
342 | 343 |
343 SkScalerContext::Rec rec; | 344 SkScalerContext::Rec rec; |
344 SkScalerContext::MakeRec(paint, nullptr, nullptr, &rec); | 345 SkScalerContext::MakeRec(paint, nullptr, nullptr, &rec); |
345 | 346 |
346 SkAutoDescriptor ad(sizeof(rec) + SkDescriptor::ComputeOverhead(1)); | 347 SkAutoDescriptor ad(sizeof(rec) + SkDescriptor::ComputeOverhead(1)); |
347 SkDescriptor* desc = ad.getDesc(); | 348 SkDescriptor* desc = ad.getDesc(); |
348 desc->init(); | 349 desc->init(); |
349 desc->addEntry(kRec_SkDescriptorTag, sizeof(rec), &rec); | 350 desc->addEntry(kRec_SkDescriptorTag, sizeof(rec), &rec); |
350 | 351 |
351 SkAutoTDelete<SkScalerContext> ctx(this->createScalerContext(desc, true)); | 352 SkScalerContextEffects noeffects; |
| 353 SkAutoTDelete<SkScalerContext> ctx(this->createScalerContext(noeffects, desc
, true)); |
352 if (ctx.get()) { | 354 if (ctx.get()) { |
353 SkPaint::FontMetrics fm; | 355 SkPaint::FontMetrics fm; |
354 ctx->getFontMetrics(&fm); | 356 ctx->getFontMetrics(&fm); |
355 bounds->set(fm.fXMin * invTextSize, fm.fTop * invTextSize, | 357 bounds->set(fm.fXMin * invTextSize, fm.fTop * invTextSize, |
356 fm.fXMax * invTextSize, fm.fBottom * invTextSize); | 358 fm.fXMax * invTextSize, fm.fBottom * invTextSize); |
357 return true; | 359 return true; |
358 } | 360 } |
359 return false; | 361 return false; |
360 } | 362 } |
OLD | NEW |