FontPool¶
-
class
FontPool
¶ This is the preferred interface for loading fonts for the
TextNode
system. It is similar toModelPool
andTexturePool
in that it unifies references to the same filename.Inheritance diagram
-
void
add_font
(std::string const &filename, TextFont *font)¶ Adds the indicated already-loaded font to the pool. The font will always replace any previously-loaded font in the pool that had the same filename.
-
int
garbage_collect
(void)¶ Releases only those fonts in the pool that have a reference count of exactly 1; i.e. only those fonts that are not being used outside of the pool. Returns the number of fonts released.
-
bool
has_font
(std::string const &filename)¶ Returns true if the font has ever been loaded, false otherwise.
-
void
list_contents
(std::ostream &out)¶ Lists the contents of the font pool to the indicated output stream.
-
TextFont *
load_font
(std::string const &filename)¶ Loads the given filename up into a font, if it has not already been loaded, and returns the new font. If a font with the same filename was previously loaded, returns that one instead. If the font file cannot be found, returns NULL.
-
void
release_all_fonts
(void)¶ Releases all fonts in the pool and restores the pool to the empty state.
-
void
release_font
(std::string const &filename)¶ Removes the indicated font from the pool, indicating it will never be loaded again; the font may then be freed. If this function is never called, a reference count will be maintained on every font every loaded, and fonts will never be freed.
-
bool
verify_font
(std::string const &filename)¶ Loads the given filename up into a font, if it has not already been loaded, and returns true to indicate success, or false to indicate failure. If this returns true, it is guaranteed that a subsequent call to
load_font()
with the same font name will return a valid Font pointer.
-
static void
write
(std::ostream &out)¶ Lists the contents of the font pool to the indicated output stream.
-
void