PNMTextMaker
-
class PNMTextMaker
Bases:
FreetypeFont
This object uses the Freetype library to generate text directly into an image. It is different from the TextNode/DynamicTextFont interface, which use the Freetype library to generate text in the scene graph, to be rendered onscreen via the Panda render traversal.
Inheritance diagram
-
explicit PNMTextMaker(char const *font_data, int data_length, int face_index)
-
explicit PNMTextMaker(FreetypeFont const ©)
-
PNMTextMaker(PNMTextMaker const ©)
The constructor expects the name of some font file that FreeType can read, along with face_index, indicating which font within the file to load (usually 0).
This constructor works as above, but it takes the font data from an in- memory buffer instead of from a named file.
-
int calc_width(std::string const &text)
-
int calc_width(std::wstring const &text)
Returns the width in pixels of the indicated line of text.
-
int generate_into(std::wstring const &text, PNMImage &dest_image, int x, int y)
Generates a single line of text into the indicated image at the indicated position; the return value is the total width in pixels.
-
int get_distance_field_radius(void) const
Returns the radius previously set with
set_distance_field_radius
, or 0 otherwise.
-
LColor const &get_fg(void) const
Returns the foreground color of text that will be generated by future calls to
generate_into()
.
-
PNMTextGlyph *get_glyph(int character)
Returns the glyph for the indicated index, or NULL if it is not defined in the font.
-
LColor const &get_interior(void) const
Returns the color that will be used to render the interior portions of hollow fonts.
-
bool get_interior_flag(void) const
-
bool is_valid(void) const
Returns true if the
PNMTextMaker
is valid and ready to generate text, false otherwise.
-
void set_align(PNMTextMaker::Alignment align_type)
-
void set_distance_field_radius(int radius)
If this is set to something other than 0, Panda will generate a signed distance field with the given radius.
-
void set_fg(LColor const &fg)
Sets the foreground color of text that will be generated by future calls to
generate_into()
. This is the color that all of the “on” pixels in the font will show as.
-
void set_interior(LColor const &interior)
Sets the color that will be used to render the interior portions of hollow fonts in future calls to
generate_into()
. This is respected only if interior_flag is true.
-
void set_interior_flag(bool interior_flag)
Sets the flag that indicates whether the interior of hollow fonts is identified as a preprocess as each glyph is loaded. If this flag is true, you may specify an interior color along with a fg and bg color when you place text; if the flag is false, the interior color is ignored.
It is generally best to set_native_antialias(0) when using this feature. Also, this works best when the pixel size is not very small.
-
explicit PNMTextMaker(char const *font_data, int data_length, int face_index)