1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef gfxMacPlatformFontList_H_
7 #define gfxMacPlatformFontList_H_
9 #include <CoreFoundation/CoreFoundation.h>
11 #include "CoreTextFontList.h"
13 class gfxMacPlatformFontList final
: public CoreTextFontList
{
15 static gfxMacPlatformFontList
* PlatformFontList() {
16 return static_cast<gfxMacPlatformFontList
*>(
17 gfxPlatformFontList::PlatformFontList());
20 nsTArray
<std::pair
<const char**, uint32_t>> GetFilteredPlatformFontLists()
23 static void LookupSystemFont(mozilla::LookAndFeel::FontID aSystemFontID
,
24 nsACString
& aSystemFontName
,
25 gfxFontStyle
& aFontStyle
);
28 bool DeprecatedFamilyIsAvailable(const nsACString
& aName
) override
;
29 FontVisibility
GetVisibilityForFamily(const nsACString
& aName
) const override
;
32 friend class gfxPlatformMac
;
34 gfxMacPlatformFontList();
35 virtual ~gfxMacPlatformFontList() = default;
37 // Special-case font faces treated as font families (set via prefs)
38 void InitSingleFaceList() MOZ_REQUIRES(mLock
) override
;
39 void InitAliasesForSingleFaceList() MOZ_REQUIRES(mLock
) override
;
41 nsTArray
<nsCString
> mSingleFaceFonts
;
44 #endif /* gfxMacPlatformFontList_H_ */