diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
commit | 59203c63bb777a3bacec32fb8830fba33540e809 (patch) | |
tree | 58298e711c0ff0575818c30485b44a2f21bf28a0 /gfx/thebes/gfxFontEntry.h | |
parent | Adding upstream version 126.0.1. (diff) | |
download | firefox-59203c63bb777a3bacec32fb8830fba33540e809.tar.xz firefox-59203c63bb777a3bacec32fb8830fba33540e809.zip |
Adding upstream version 127.0.upstream/127.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'gfx/thebes/gfxFontEntry.h')
-rw-r--r-- | gfx/thebes/gfxFontEntry.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gfx/thebes/gfxFontEntry.h b/gfx/thebes/gfxFontEntry.h index 364cf6c79e..82218d5611 100644 --- a/gfx/thebes/gfxFontEntry.h +++ b/gfx/thebes/gfxFontEntry.h @@ -273,6 +273,18 @@ class gfxFontEntry { return flag == LazyFlag::Yes; } + inline bool AlwaysNeedsMaskForShadow() { + LazyFlag flag = mNeedsMaskForShadow; + if (flag == LazyFlag::Uninitialized) { + flag = + TryGetColorGlyphs() || TryGetSVGData(nullptr) || HasColorBitmapTable() + ? LazyFlag::Yes + : LazyFlag::No; + mNeedsMaskForShadow = flag; + } + return flag == LazyFlag::Yes; + } + inline bool HasCmapTable() { if (!mCharacterMap && !mShmemCharacterMap) { ReadCMAP(); @@ -670,6 +682,7 @@ class gfxFontEntry { std::atomic<LazyFlag> mHasGraphiteTables; std::atomic<LazyFlag> mHasGraphiteSpaceContextuals; std::atomic<LazyFlag> mHasColorBitmapTable; + std::atomic<LazyFlag> mNeedsMaskForShadow; enum class SpaceFeatures : uint8_t { Uninitialized = 0xff, |