ladybird/Libraries/LibHTML/FontCache.cpp
Andreas Kling 60be51f908 LibHTML: Add a simple font cache
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.
2019-10-18 23:06:03 +02:00

22 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));
}