OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
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 "SkFontConfigParser_android.h" | 8 #include "SkFontConfigParser_android.h" |
9 #include "SkFontDescriptor.h" | 9 #include "SkFontDescriptor.h" |
10 #include "SkFontHost_FreeType_common.h" | 10 #include "SkFontHost_FreeType_common.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 }; | 88 }; |
89 | 89 |
90 class SkTypeface_AndroidStream : public SkTypeface_Android { | 90 class SkTypeface_AndroidStream : public SkTypeface_Android { |
91 public: | 91 public: |
92 SkTypeface_AndroidStream(SkStream* stream, | 92 SkTypeface_AndroidStream(SkStream* stream, |
93 int index, | 93 int index, |
94 Style style, | 94 Style style, |
95 bool isFixedPitch, | 95 bool isFixedPitch, |
96 const SkString familyName) | 96 const SkString familyName) |
97 : INHERITED(index, style, isFixedPitch, familyName) | 97 : INHERITED(index, style, isFixedPitch, familyName) |
98 , fStream(stream) { } | 98 , fStream(SkRef(stream)) { } |
99 | 99 |
100 virtual void onGetFontDescriptor(SkFontDescriptor* desc, | 100 virtual void onGetFontDescriptor(SkFontDescriptor* desc, |
101 bool* serialize) const SK_OVERRIDE { | 101 bool* serialize) const SK_OVERRIDE { |
102 SkASSERT(desc); | 102 SkASSERT(desc); |
103 SkASSERT(serialize); | 103 SkASSERT(serialize); |
104 desc->setFamilyName(fFamilyName.c_str()); | 104 desc->setFamilyName(fFamilyName.c_str()); |
105 desc->setFontFileName(NULL); | 105 desc->setFontFileName(NULL); |
106 *serialize = true; | 106 *serialize = true; |
107 } | 107 } |
108 | 108 |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 virtual SkTypeface* onCreateFromData(SkData* data, int ttcIndex) const SK_OV
ERRIDE { | 375 virtual SkTypeface* onCreateFromData(SkData* data, int ttcIndex) const SK_OV
ERRIDE { |
376 SkAutoTUnref<SkStream> stream(new SkMemoryStream(data)); | 376 SkAutoTUnref<SkStream> stream(new SkMemoryStream(data)); |
377 return this->createFromStream(stream, ttcIndex); | 377 return this->createFromStream(stream, ttcIndex); |
378 } | 378 } |
379 | 379 |
380 virtual SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const
SK_OVERRIDE { | 380 virtual SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const
SK_OVERRIDE { |
381 SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(path)); | 381 SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(path)); |
382 return stream.get() ? this->createFromStream(stream, ttcIndex) : NULL; | 382 return stream.get() ? this->createFromStream(stream, ttcIndex) : NULL; |
383 } | 383 } |
384 | 384 |
385 virtual SkTypeface* onCreateFromStream(SkStream* s, int ttcIndex) const SK_O
VERRIDE { | 385 virtual SkTypeface* onCreateFromStream(SkStream* stream, int ttcIndex) const
SK_OVERRIDE { |
386 SkAutoTUnref<SkStream> stream(s); | |
387 | |
388 bool isFixedPitch; | 386 bool isFixedPitch; |
389 SkTypeface::Style style; | 387 SkTypeface::Style style; |
390 SkString name; | 388 SkString name; |
391 if (!SkTypeface_FreeType::ScanFont(stream, ttcIndex, &name, &style, &isF
ixedPitch)) { | 389 if (!SkTypeface_FreeType::ScanFont(stream, ttcIndex, &name, &style, &isF
ixedPitch)) { |
392 return NULL; | 390 return NULL; |
393 } | 391 } |
394 return SkNEW_ARGS(SkTypeface_AndroidStream, (stream.detach(), ttcIndex, | 392 return SkNEW_ARGS(SkTypeface_AndroidStream, (stream, ttcIndex, |
395 style, isFixedPitch, name))
; | 393 style, isFixedPitch, name))
; |
396 } | 394 } |
397 | 395 |
398 | 396 |
399 virtual SkTypeface* onLegacyCreateTypeface(const char familyName[], | 397 virtual SkTypeface* onLegacyCreateTypeface(const char familyName[], |
400 unsigned styleBits) const SK_OVER
RIDE { | 398 unsigned styleBits) const SK_OVER
RIDE { |
401 SkTypeface::Style oldStyle = (SkTypeface::Style)styleBits; | 399 SkTypeface::Style oldStyle = (SkTypeface::Style)styleBits; |
402 SkFontStyle style = SkFontStyle(oldStyle & SkTypeface::kBold | 400 SkFontStyle style = SkFontStyle(oldStyle & SkTypeface::kBold |
403 ? SkFontStyle::kBold_Weight | 401 ? SkFontStyle::kBold_Weight |
404 : SkFontStyle::kNormal_Weight, | 402 : SkFontStyle::kNormal_Weight, |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 } | 480 } |
483 | 481 |
484 typedef SkFontMgr INHERITED; | 482 typedef SkFontMgr INHERITED; |
485 }; | 483 }; |
486 | 484 |
487 /////////////////////////////////////////////////////////////////////////////// | 485 /////////////////////////////////////////////////////////////////////////////// |
488 | 486 |
489 SkFontMgr* SkFontMgr::Factory() { | 487 SkFontMgr* SkFontMgr::Factory() { |
490 return SkNEW(SkFontMgr_Android); | 488 return SkNEW(SkFontMgr_Android); |
491 } | 489 } |
OLD | NEW |