diff options
Diffstat (limited to 'skia/ext/SkFontHost_fontconfig_impl.h')
-rw-r--r-- | skia/ext/SkFontHost_fontconfig_impl.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/skia/ext/SkFontHost_fontconfig_impl.h b/skia/ext/SkFontHost_fontconfig_impl.h new file mode 100644 index 0000000..a593891 --- /dev/null +++ b/skia/ext/SkFontHost_fontconfig_impl.h @@ -0,0 +1,60 @@ +/* libs/graphics/ports/SkFontHost_fontconfig_impl.h +** +** Copyright 2009, Google Inc. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + +/* The SkFontHost_fontconfig code requires an implementation of an abstact + * fontconfig interface. We do this because sometimes fontconfig is not + * directly availible and this provides an ability to change the fontconfig + * implementation at run-time. + */ + +#ifndef FontConfigInterface_DEFINED +#define FontConfigInterface_DEFINED + +#include <string> + +class FontConfigInterface { + public: + virtual ~FontConfigInterface() { } + + /** Performs config match + * + * @param result_family (output) on success, the resulting family name. + * @param result_fileid (output) on success, the resulting file id. + * @param fileid_valid if true, then |fileid| is valid + * @param fileid the fileid (as returned by this function) which we are + * trying to match. + * @param family (optional) the family of the font that we are trying to + * match. + * @param is_bold (optional, set to -1 to ignore) + * @param is_italic (optional, set to -1 to ignore) + * @return true iff successful. + */ + virtual bool Match( + std::string* result_family, + unsigned* result_fileid, + bool fileid_valid, + unsigned fileid, + const std::string& family, + int is_bold, + int is_italic) = 0; + + /** Open a font file given the fileid as returned by Match + */ + virtual int Open(unsigned fileid) = 0; +}; + +#endif // FontConfigInterface_DEFINED |