FontPlugin.h 671 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Forward.h>
  8. #include <LibGfx/Forward.h>
  9. namespace Web::Platform {
  10. enum class GenericFont {
  11. Cursive,
  12. Fantasy,
  13. Monospace,
  14. SansSerif,
  15. Serif,
  16. UiMonospace,
  17. UiRounded,
  18. UiSansSerif,
  19. UiSerif,
  20. __Count,
  21. };
  22. class FontPlugin {
  23. public:
  24. static FontPlugin& the();
  25. static void install(FontPlugin&);
  26. virtual ~FontPlugin();
  27. virtual Gfx::Font& default_font() = 0;
  28. virtual Gfx::Font& default_fixed_width_font() = 0;
  29. virtual DeprecatedString generic_font_name(GenericFont) = 0;
  30. };
  31. }