1 | /* |
---|---|
2 | * Copyright 2009-2015 Google Inc. |
3 | * |
4 | * Use of this source code is governed by a BSD-style license that can be |
5 | * found in the LICENSE file. |
6 | */ |
7 | |
8 | /* migrated from chrome/src/skia/ext/SkFontHost_fontconfig_direct.cpp */ |
9 | #ifndef SKFONTCONFIGINTERFACE_DIRECT_H_ |
10 | #define SKFONTCONFIGINTERFACE_DIRECT_H_ |
11 | |
12 | #include "include/ports/SkFontConfigInterface.h" |
13 | |
14 | #include <fontconfig/fontconfig.h> |
15 | |
16 | class SkFontConfigInterfaceDirect : public SkFontConfigInterface { |
17 | public: |
18 | SkFontConfigInterfaceDirect(); |
19 | ~SkFontConfigInterfaceDirect() override; |
20 | |
21 | bool matchFamilyName(const char familyName[], |
22 | SkFontStyle requested, |
23 | FontIdentity* outFontIdentifier, |
24 | SkString* outFamilyName, |
25 | SkFontStyle* outStyle) override; |
26 | |
27 | SkStreamAsset* openStream(const FontIdentity&) override; |
28 | |
29 | protected: |
30 | virtual bool isAccessible(const char* filename); |
31 | |
32 | private: |
33 | bool isValidPattern(FcPattern* pattern); |
34 | FcPattern* MatchFont(FcFontSet* font_set, const char* post_config_family, |
35 | const SkString& family); |
36 | typedef SkFontConfigInterface INHERITED; |
37 | }; |
38 | |
39 | #endif |
40 |