1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-19 19:07:34 +00:00

LibWeb: Move FontCache into the Web namespace

This commit is contained in:
Andreas Kling 2023-08-24 15:41:24 +02:00 committed by Sam Atkins
parent 6267037a74
commit c98829f7c9
2 changed files with 16 additions and 7 deletions

View file

@ -8,6 +8,8 @@
#include <LibGfx/Font/Font.h> #include <LibGfx/Font/Font.h>
#include <LibWeb/FontCache.h> #include <LibWeb/FontCache.h>
namespace Web {
RefPtr<Gfx::Font const> FontCache::get(FontSelector const& font_selector) const RefPtr<Gfx::Font const> FontCache::get(FontSelector const& font_selector) const
{ {
auto cached_font = m_fonts.get(font_selector); auto cached_font = m_fonts.get(font_selector);
@ -36,3 +38,5 @@ void FontCache::set(FontSelector const& font_selector, NonnullRefPtr<Gfx::Font c
{ {
m_fonts.set(font_selector, move(font)); m_fonts.set(font_selector, move(font));
} }
}

View file

@ -10,6 +10,9 @@
#include <AK/HashMap.h> #include <AK/HashMap.h>
#include <LibGfx/Font/Font.h> #include <LibGfx/Font/Font.h>
#include <LibGfx/Forward.h> #include <LibGfx/Forward.h>
#include <LibWeb/Forward.h>
namespace Web {
struct FontSelector { struct FontSelector {
FlyString family; FlyString family;
@ -24,13 +27,6 @@ struct FontSelector {
} }
}; };
namespace AK {
template<>
struct Traits<FontSelector> : public GenericTraits<FontSelector> {
static unsigned hash(FontSelector const& key) { return pair_int_hash(pair_int_hash(key.family.hash(), key.weight), key.point_size); }
};
}
class FontCache { class FontCache {
public: public:
FontCache() = default; FontCache() = default;
@ -42,3 +38,12 @@ public:
private: private:
mutable HashMap<FontSelector, NonnullRefPtr<Gfx::Font const>> m_fonts; mutable HashMap<FontSelector, NonnullRefPtr<Gfx::Font const>> m_fonts;
}; };
}
namespace AK {
template<>
struct Traits<Web::FontSelector> : public GenericTraits<Web::FontSelector> {
static unsigned hash(Web::FontSelector const& key) { return pair_int_hash(pair_int_hash(key.family.hash(), key.weight), key.point_size); }
};
}