mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-25 22:08:59 +00:00
The FontCache caches the result of font lookups. The cache key is a simple object called FontSelector which consists of the font family and font weight (both strings.) This drastically reduces time spent in font lookup.
21 lines
480 B
C++
21 lines
480 B
C++
#include <LibDraw/Font.h>
|
|
#include <LibHTML/FontCache.h>
|
|
|
|
FontCache& FontCache::the()
|
|
{
|
|
static FontCache cache;
|
|
return cache;
|
|
}
|
|
|
|
RefPtr<Font> FontCache::get(const FontSelector& font_selector) const
|
|
{
|
|
auto cached_font = m_fonts.get(font_selector);
|
|
if (cached_font.has_value())
|
|
return cached_font.value();
|
|
return nullptr;
|
|
}
|
|
|
|
void FontCache::set(const FontSelector& font_selector, NonnullRefPtr<Font> font)
|
|
{
|
|
m_fonts.set(font_selector, move(font));
|
|
}
|