Panda3D
Static Public Member Functions | List of all members
FontPool Class Reference

This is the preferred interface for loading fonts for the TextNode system. More...

Static Public Member Functions

static addFont (str filename, TextFont font)
 Adds the indicated already-loaded font to the pool. More...
 
static int garbageCollect ()
 Releases only those fonts in the pool that have a reference count of exactly 1; i.e. More...
 
static bool hasFont (str filename)
 Returns true if the font has ever been loaded, false otherwise. More...
 
static listContents (Ostream out)
 Lists the contents of the font pool to the indicated output stream. More...
 
static TextFont loadFont (str filename)
 Loads the given filename up into a font, if it has not already been loaded, and returns the new font. More...
 
static releaseAllFonts ()
 Releases all fonts in the pool and restores the pool to the empty state. More...
 
static releaseFont (str filename)
 Removes the indicated font from the pool, indicating it will never be loaded again; the font may then be freed. More...
 
static bool verifyFont (str 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. More...
 
static write (Ostream out)
 Lists the contents of the font pool to the indicated output stream. More...
 

Detailed Description

This is the preferred interface for loading fonts for the TextNode system.

It is similar to ModelPool and TexturePool in that it unifies references to the same filename.

Member Function Documentation

◆ addFont()

static addFont ( str  filename,
TextFont  font 
)
static

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.

◆ garbageCollect()

static int garbageCollect ( )
static

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.

◆ hasFont()

static bool hasFont ( str  filename)
static

Returns true if the font has ever been loaded, false otherwise.

◆ listContents()

static listContents ( Ostream  out)
static

Lists the contents of the font pool to the indicated output stream.

◆ loadFont()

static TextFont loadFont ( str  filename)
static

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.

◆ releaseAllFonts()

static releaseAllFonts ( )
static

Releases all fonts in the pool and restores the pool to the empty state.

◆ releaseFont()

static releaseFont ( str  filename)
static

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.

◆ verifyFont()

static bool verifyFont ( str  filename)
static

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.

◆ write()

static write ( Ostream  out)
static

Lists the contents of the font pool to the indicated output stream.