1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:37:35 +00:00

LibWeb+WebContent: Add abstraction layer for generic font families

Instead of hard-coding the names of system fonts to use for the CSS
generic fonts (like "sans-serif", "monospace", etc.) we now call out
to a Platform::FontPlugin and ask for the generic names.
This commit is contained in:
Andreas Kling 2022-09-08 11:55:12 +02:00
parent 26544f559c
commit 5c2e3d1637
8 changed files with 153 additions and 8 deletions

View file

@ -0,0 +1,36 @@
/*
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Forward.h>
namespace Web::Platform {
enum class GenericFont {
Cursive,
Fantasy,
Monospace,
SansSerif,
Serif,
UiMonospace,
UiRounded,
UiSansSerif,
UiSerif,
__Count,
};
class FontPlugin {
public:
static FontPlugin& the();
static void install(FontPlugin&);
virtual ~FontPlugin();
virtual String generic_font_name(GenericFont) = 0;
};
}