From 1ae0e01accbca4b96a10b8a8c21917dd7bf27dc3 Mon Sep 17 00:00:00 2001 From: bungeman Date: Mon, 19 Sep 2016 12:13:16 -0700 Subject: Split SkFontConfigInterface globals and factory. Chromium needs to be able to set up their build such that the globals continue existing but the SkFontMgr::Factory can be defined separately. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2346333002 CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/2346333002 --- include/ports/SkFontConfigInterface.h | 11 ++++------- include/ports/SkFontMgr_FontConfigInterface.h | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 include/ports/SkFontMgr_FontConfigInterface.h (limited to 'include/ports') diff --git a/include/ports/SkFontConfigInterface.h b/include/ports/SkFontConfigInterface.h index 30fc8a35fb..74f766f52e 100644 --- a/include/ports/SkFontConfigInterface.h +++ b/include/ports/SkFontConfigInterface.h @@ -25,9 +25,10 @@ class SK_API SkFontConfigInterface : public SkRefCnt { public: /** - * Returns the global SkFontConfigInterface instance, and if it is not - * NULL, calls ref() on it. The caller must balance this with a call to - * unref(). + * Returns the global SkFontConfigInterface instance. If it is not + * nullptr, calls ref() on it. The caller must balance this with a call to + * unref(). The default SkFontConfigInterface is the result of calling + * GetSingletonDirectInterface. */ static SkFontConfigInterface* RefGlobal(); @@ -105,7 +106,6 @@ public: /** * Return a singleton instance of a direct subclass that calls into * libfontconfig. This does not affect the refcnt of the returned instance. - * The mutex may be used to guarantee the singleton is only constructed once. */ static SkFontConfigInterface* GetSingletonDirectInterface(); @@ -115,7 +115,4 @@ public: typedef SkRefCnt INHERITED; }; -/** Creates a SkFontMgr which wraps a SkFontConfigInterface. */ -SK_API SkFontMgr* SkFontMgr_New_FCI(SkFontConfigInterface* fci); - #endif diff --git a/include/ports/SkFontMgr_FontConfigInterface.h b/include/ports/SkFontMgr_FontConfigInterface.h new file mode 100644 index 0000000000..356e54c87d --- /dev/null +++ b/include/ports/SkFontMgr_FontConfigInterface.h @@ -0,0 +1,20 @@ +/* + * Copyright 2016 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SkFontMgr_FontConfigInterface_DEFINED +#define SkFontMgr_FontConfigInterface_DEFINED + +#include "SkTypes.h" +#include "SkRefCnt.h" + +class SkFontMgr; +class SkFontConfigInterface; + +/** Creates a SkFontMgr which wraps a SkFontConfigInterface. */ +SK_API SkFontMgr* SkFontMgr_New_FCI(sk_sp fci); + +#endif // #ifndef SkFontMgr_FontConfigInterface_DEFINED -- cgit v1.2.3