| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009 The Android Open Source Project | 2 * Copyright 2009 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 "SkFontLCDConfig.h" | 8 #include "SkFontLCDConfig.h" |
| 9 #include "SkOnce.h" | 9 #include "SkLazyPtr.h" |
| 10 | 10 |
| 11 static SkFontLCDConfig::LCDOrientation gLCDOrientation = SkFontLCDConfig::kHoriz
ontal_LCDOrientation; | 11 static SkFontLCDConfig::LCDOrientation gLCDOrientation = SkFontLCDConfig::kHoriz
ontal_LCDOrientation; |
| 12 static SkFontLCDConfig::LCDOrder gLCDOrder = SkFontLCDConfig::kRGB_LCDOrder; | 12 static SkFontLCDConfig::LCDOrder gLCDOrder = SkFontLCDConfig::kRGB_LCDOrder; |
| 13 | 13 |
| 14 SkFontLCDConfig::LCDOrientation SkFontLCDConfig::GetSubpixelOrientation() { | 14 SkFontLCDConfig::LCDOrientation SkFontLCDConfig::GetSubpixelOrientation() { |
| 15 return gLCDOrientation; | 15 return gLCDOrientation; |
| 16 } | 16 } |
| 17 | 17 |
| 18 void SkFontLCDConfig::SetSubpixelOrientation(LCDOrientation orientation) { | 18 void SkFontLCDConfig::SetSubpixelOrientation(LCDOrientation orientation) { |
| 19 gLCDOrientation = orientation; | 19 gLCDOrientation = orientation; |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 return NULL; | 191 return NULL; |
| 192 } | 192 } |
| 193 return this->onCreateFromFile(path, ttcIndex); | 193 return this->onCreateFromFile(path, ttcIndex); |
| 194 } | 194 } |
| 195 | 195 |
| 196 SkTypeface* SkFontMgr::legacyCreateTypeface(const char familyName[], | 196 SkTypeface* SkFontMgr::legacyCreateTypeface(const char familyName[], |
| 197 unsigned styleBits) const { | 197 unsigned styleBits) const { |
| 198 return this->onLegacyCreateTypeface(familyName, styleBits); | 198 return this->onLegacyCreateTypeface(familyName, styleBits); |
| 199 } | 199 } |
| 200 | 200 |
| 201 void set_up_default(SkFontMgr** singleton) { | 201 SkFontMgr* SkFontMgr::CreateDefault() { |
| 202 *singleton = SkFontMgr::Factory(); | 202 SkFontMgr* fm = SkFontMgr::Factory(); |
| 203 // we never want to return NULL | 203 return fm ? fm : SkNEW(SkEmptyFontMgr); |
| 204 if (NULL == *singleton) { | |
| 205 *singleton = SkNEW(SkEmptyFontMgr); | |
| 206 } | |
| 207 } | 204 } |
| 208 | 205 |
| 209 SkFontMgr* SkFontMgr::RefDefault() { | 206 SkFontMgr* SkFontMgr::RefDefault() { |
| 210 static SkFontMgr* gFM = NULL; | 207 SK_DECLARE_STATIC_LAZY_PTR(SkFontMgr, singleton, CreateDefault); |
| 211 SK_DECLARE_STATIC_ONCE(once); | 208 return SkRef(singleton.get()); |
| 212 SkOnce(&once, set_up_default, &gFM); | |
| 213 return SkRef(gFM); | |
| 214 } | 209 } |
| 215 | 210 |
| 216 ////////////////////////////////////////////////////////////////////////// | 211 ////////////////////////////////////////////////////////////////////////// |
| 217 | 212 |
| 218 #ifndef SK_FONTHOST_DOES_NOT_USE_FONTMGR | 213 #ifndef SK_FONTHOST_DOES_NOT_USE_FONTMGR |
| 219 | 214 |
| 220 #if 0 | 215 #if 0 |
| 221 static SkFontStyle TypefaceStyleBitsToFontStyle(SkTypeface::Style styleBits) { | 216 static SkFontStyle TypefaceStyleBitsToFontStyle(SkTypeface::Style styleBits) { |
| 222 SkFontStyle::Weight weight = (styleBits & SkTypeface::kBold) ? | 217 SkFontStyle::Weight weight = (styleBits & SkTypeface::kBold) ? |
| 223 SkFontStyle::kBold_Weight : | 218 SkFontStyle::kBold_Weight : |
| (...skipping 28 matching lines...) Expand all Loading... |
| 252 SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault()); | 247 SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault()); |
| 253 return fm->createFromFile(path); | 248 return fm->createFromFile(path); |
| 254 } | 249 } |
| 255 | 250 |
| 256 SkTypeface* SkFontHost::CreateTypefaceFromStream(SkStream* stream) { | 251 SkTypeface* SkFontHost::CreateTypefaceFromStream(SkStream* stream) { |
| 257 SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault()); | 252 SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault()); |
| 258 return fm->createFromStream(stream); | 253 return fm->createFromStream(stream); |
| 259 } | 254 } |
| 260 | 255 |
| 261 #endif | 256 #endif |
| OLD | NEW |