OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "skia_sandbox_support_win.h" | 5 #include "skia_sandbox_support_win.h" |
6 #include "SkFontHost.h" | 6 #include "SkFontHost.h" |
7 #include "SkTypeface_win.h" | 7 #include "SkTypeface_win.h" |
8 | 8 |
9 static SkiaEnsureTypefaceAccessible g_skia_ensure_typeface_accessible = NULL; | 9 static SkiaEnsureTypefaceAccessible g_skia_ensure_typeface_accessible = NULL; |
| 10 static SkiaEnsureTypefaceCharactersAccessible |
| 11 g_skia_ensure_typeface_characters_accessible = NULL; |
10 | 12 |
11 SK_API void SetSkiaEnsureTypefaceAccessible(SkiaEnsureTypefaceAccessible func) { | 13 SK_API void SetSkiaEnsureTypefaceAccessible(SkiaEnsureTypefaceAccessible func) { |
12 // This function is supposed to be called once in process life time. | 14 // This function is supposed to be called once in process life time. |
13 SkASSERT(g_skia_ensure_typeface_accessible == NULL); | 15 SkASSERT(g_skia_ensure_typeface_accessible == NULL); |
14 g_skia_ensure_typeface_accessible = func; | 16 g_skia_ensure_typeface_accessible = func; |
15 } | 17 } |
16 | 18 |
| 19 SK_API void SetSkiaEnsureTypefaceCharactersAccessible( |
| 20 SkiaEnsureTypefaceCharactersAccessible func) { |
| 21 // This function is supposed to be called once in process life time. |
| 22 SkASSERT(g_skia_ensure_typeface_characters_accessible == NULL); |
| 23 g_skia_ensure_typeface_characters_accessible = func; |
| 24 } |
| 25 |
17 // static | 26 // static |
18 void SkFontHost::EnsureTypefaceAccessible(const SkTypeface& typeface) { | 27 void SkFontHost::EnsureTypefaceAccessible(const SkTypeface& typeface) { |
19 if (g_skia_ensure_typeface_accessible) { | 28 if (g_skia_ensure_typeface_accessible) { |
20 LOGFONT lf; | 29 LOGFONT lf; |
21 SkLOGFONTFromTypeface(&typeface, &lf); | 30 SkLOGFONTFromTypeface(&typeface, &lf); |
22 g_skia_ensure_typeface_accessible(lf); | 31 g_skia_ensure_typeface_accessible(lf); |
23 } | 32 } |
24 } | 33 } |
| 34 |
| 35 // static |
| 36 void SkFontHost::EnsureTypefaceCharactersAccessible( |
| 37 const SkTypeface& typeface, const wchar_t* text, unsigned int text_length) { |
| 38 if (g_skia_ensure_typeface_characters_accessible) { |
| 39 LOGFONT lf; |
| 40 SkLOGFONTFromTypeface(&typeface, &lf); |
| 41 g_skia_ensure_typeface_characters_accessible(lf, text, text_length); |
| 42 } |
| 43 } |
| 44 |
OLD | NEW |