33#include "../Render/graphic_context.h"
34#include "../Image/pixel_buffer.h"
35#include "../2D/sprite.h"
36#include "../2D/texture_group.h"
37#include "font_description.h"
38#include "glyph_metrics.h"
47 class FontFamily_Impl;
64 explicit operator bool()
const {
return bool(impl); }
73 void add(
const std::string &typeface_name,
float height);
94 std::shared_ptr<FontFamily_Impl> impl;
2D Graphics Canvas
Definition: canvas.h:72
Virtual File System (VFS).
Definition: file_system.h:47
Font description class.
Definition: font_description.h:66
FontFamily class.
Definition: font_family.h:54
void add(const std::string &typeface_name, float height)
Add standard font.
void throw_if_null() const
Throw an exception if this object is invalid.
friend class Font_Impl
Definition: font_family.h:96
const std::string & get_family_name() const
Font family name used for this font family.
void add(const std::string &typeface_name, const FontDescription &desc)
void add(const FontDescription &desc, const std::string &ttf_filename, FileSystem fs)
void add(const FontDescription &desc, const std::string &ttf_filename)
bool is_null() const
Returns true if this object is invalid.
Definition: font_family.h:63
void add(Canvas &canvas, Sprite &sprite, const std::string &glyph_list, float spacelen, bool monospace, const FontMetrics &metrics)
Add a Font based on a sprite.
FontFamily()
Constructs a null font family.
FontFamily(const std::string &family_name, const TextureGroup &new_texture_group=TextureGroup(Size(256, 256)))
Constructs a font family with the given family name.
Font metrics class.
Definition: font_metrics.h:46
2D (width,height) size structure - Integer
Definition: size.h:171
Sprite class.
Definition: sprite.h:55
Texture grouping class.
Definition: texture_group.h:48