32 class i_native_font_face;
34 class i_texture_atlas;
49 struct no_fallback : std::logic_error {
no_fallback() : std::logic_error(
"neogfx::i_fallback_font_info::no_fallback") {} };
90 virtual font_id allocate_font_id() = 0;
101 bool has_font(std::string
const& aFamily, std::string
const& aStyle)
const
106 for (uint32_t styleIndex = 0; styleIndex <
font_style_count(familyIndex); ++styleIndex)
114 static uuid const&
iid() {
static uuid const sIid{ 0x83bbaf78, 0x66a8, 0x4862, 0x9221, { 0x4c, 0xfd, 0x93, 0xfb, 0xf3, 0xe7 } };
return sIid; }
virtual bool has_fallback_for(i_string const &aFontFamilyName) const =0
virtual i_string const & fallback_for(i_string const &aFontFamilyName) const =0
virtual i_native_font_face & create_font(i_native_font &aFont, i_string const &aStyleName, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual const i_fallback_font_info & default_fallback_font_info() const =0
virtual bool is_font_file(i_string const &aFileName) const =0
virtual i_glyph_text_factory & glyph_text_factory() const =0
virtual i_native_font_face & load_font_from_memory(const void *aData, std::size_t aSizeInBytes, i_device_resolution const &aDevice)=0
virtual neogfx::font_style font_style(uint32_t aFamilyIndex, uint32_t aStyleIndex) const =0
virtual ~i_font_manager()=default
virtual void * font_library_handle() const =0
virtual uint32_t font_family_count() const =0
virtual i_string const & font_style_name(uint32_t aFamilyIndex, uint32_t aStyleIndex) const =0
virtual i_string const & font_family(uint32_t aFamilyIndex) const =0
virtual i_native_font_face & load_font_from_file(i_string const &aFileName, i_string const &aStyleName, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual i_native_font_face & create_default_font(const i_device_resolution &aDevice)=0
static uuid const & iid()
virtual i_optional< font_info > const & default_system_font_info(system_font_role aRole) const =0
virtual i_native_font_face & create_font(i_string const &aFamilyName, neogfx::font_style aStyle, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual i_native_font_face & create_font(const font_info &aInfo, const i_device_resolution &aDevice)=0
bool has_font(std::string const &aFamily, std::string const &aStyle) const
virtual bool has_fallback_font(i_native_font_face const &aExistingFont) const =0
virtual i_native_font_face & create_font(i_string const &aFamilyName, i_string const &aStyleName, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual uint32_t font_style_count(uint32_t aFamilyIndex) const =0
virtual i_native_font_face & load_font_from_memory(const void *aData, std::size_t aSizeInBytes, neogfx::font_style aStyle, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual i_texture_atlas & glyph_atlas()=0
virtual const i_emoji_atlas & emoji_atlas() const =0
virtual i_native_font_face & load_font_from_memory(const void *aData, std::size_t aSizeInBytes, i_string const &aStyleName, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual const font & font_from_id(font_id aId) const =0
virtual const i_texture_atlas & glyph_atlas() const =0
virtual i_native_font_face & load_font_from_file(i_string const &aFileName, i_device_resolution const &aDevice)=0
virtual i_native_font_face & load_font_from_file(i_string const &aFileName, neogfx::font_style aStyle, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual i_native_font_face & create_fallback_font(i_native_font_face const &aExistingFont)=0
virtual i_native_font_face & create_font(i_native_font &aFont, neogfx::font_style aStyle, font::point_size aSize, const i_device_resolution &aDevice)=0
virtual i_emoji_atlas & emoji_atlas()=0
std::string_view to_std_string_view() const noexcept