summaryrefslogtreecommitdiffstats
path: root/gfx/thebes/gfxFontEntry.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 05:35:29 +0000
commit59203c63bb777a3bacec32fb8830fba33540e809 (patch)
tree58298e711c0ff0575818c30485b44a2f21bf28a0 /gfx/thebes/gfxFontEntry.h
parentAdding upstream version 126.0.1. (diff)
downloadfirefox-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.h13
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,