OLD | NEW |
1 /* libs/graphics/ports/SkFontHost_fontconfig_direct.h | 1 /* libs/graphics/ports/SkFontHost_fontconfig_direct.h |
2 ** | 2 ** |
3 ** Copyright 2009, Google Inc. | 3 ** Copyright 2009, Google Inc. |
4 ** | 4 ** |
5 ** Licensed under the Apache License, Version 2.0 (the "License"); | 5 ** Licensed under the Apache License, Version 2.0 (the "License"); |
6 ** you may not use this file except in compliance with the License. | 6 ** you may not use this file except in compliance with the License. |
7 ** You may obtain a copy of the License at | 7 ** You may obtain a copy of the License at |
8 ** | 8 ** |
9 ** http://www.apache.org/licenses/LICENSE-2.0 | 9 ** http://www.apache.org/licenses/LICENSE-2.0 |
10 ** | 10 ** |
11 ** Unless required by applicable law or agreed to in writing, software | 11 ** Unless required by applicable law or agreed to in writing, software |
12 ** distributed under the License is distributed on an "AS IS" BASIS, | 12 ** distributed under the License is distributed on an "AS IS" BASIS, |
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 ** See the License for the specific language governing permissions and | 14 ** See the License for the specific language governing permissions and |
15 ** limitations under the License. | 15 ** limitations under the License. |
16 */ | 16 */ |
17 | 17 |
18 #ifndef FontConfigDirect_DEFINED | 18 #ifndef FontConfigDirect_DEFINED |
19 #define FontConfigDirect_DEFINED | 19 #define FontConfigDirect_DEFINED |
20 #pragma once | 20 #pragma once |
21 | 21 |
22 #include <map> | 22 #include <map> |
23 #include <string> | 23 #include <string> |
24 | 24 |
| 25 #include "base/compiler_specific.h" |
25 #include "SkThread.h" | 26 #include "SkThread.h" |
26 #include "SkFontHost_fontconfig_impl.h" | 27 #include "SkFontHost_fontconfig_impl.h" |
27 | 28 |
28 class SK_API FontConfigDirect : public FontConfigInterface { | 29 class SK_API FontConfigDirect : public FontConfigInterface { |
29 public: | 30 public: |
30 FontConfigDirect(); | 31 FontConfigDirect(); |
31 virtual ~FontConfigDirect(); | 32 virtual ~FontConfigDirect(); |
32 | 33 |
33 // FontConfigInterface implementation. Thread safe. | 34 // FontConfigInterface implementation. Thread safe. |
34 virtual bool Match(std::string* result_family, unsigned* result_filefaceid, | 35 virtual bool Match(std::string* result_family, unsigned* result_filefaceid, |
35 bool filefaceid_valid, unsigned filefaceid, | 36 bool filefaceid_valid, unsigned filefaceid, |
36 const std::string& family, | 37 const std::string& family, |
37 const void* characters, size_t characters_bytes, | 38 const void* characters, size_t characters_bytes, |
38 bool* is_bold, bool* is_italic); | 39 bool* is_bold, bool* is_italic) OVERRIDE; |
39 virtual int Open(unsigned filefaceid); | 40 virtual int Open(unsigned filefaceid) OVERRIDE; |
40 | 41 |
41 private: | 42 private: |
42 SkMutex mutex_; | 43 SkMutex mutex_; |
43 // fileid stored in two maps below are unique per font file. | 44 // fileid stored in two maps below are unique per font file. |
44 std::map<unsigned, std::string> fileid_to_filename_; | 45 std::map<unsigned, std::string> fileid_to_filename_; |
45 std::map<std::string, unsigned> filename_to_fileid_; | 46 std::map<std::string, unsigned> filename_to_fileid_; |
46 unsigned next_file_id_; | 47 unsigned next_file_id_; |
47 }; | 48 }; |
48 | 49 |
49 #endif // FontConfigDirect_DEFINED | 50 #endif // FontConfigDirect_DEFINED |
OLD | NEW |