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

This defines all of the TextProperties structures that might be referenced by name from an embedded text string. More...

Public Member Functions

 clearGraphic (str name)
 Removes the named TextGraphic structure from the manager. More...
 
 clearProperties (str name)
 Removes the named TextProperties structure from the manager. More...
 
TextGraphic getGraphic (str name)
 Returns the TextGraphic associated with the indicated name. More...
 
TextProperties getProperties (str name)
 Returns the TextProperties associated with the indicated name. More...
 
bool hasGraphic (str name)
 Returns true if a TextGraphic structure has been associated with the indicated name, false otherwise. More...
 
bool hasProperties (str name)
 Returns true if a TextProperties structure has been associated with the indicated name, false otherwise. More...
 
 setGraphic (str name, const NodePath model)
 This flavor of set_graphic implicitly creates a frame for the model using the model's actual computed bounding volume, as derived from NodePath::calc_tight_bounds(). More...
 
 setGraphic (str name, const TextGraphic graphic)
 Defines the TextGraphic associated with the indicated name. More...
 
 setProperties (str name, const TextProperties properties)
 Defines the TextProperties associated with the indicated name. More...
 
 write (Ostream out, int indent_level)
 

Static Public Member Functions

static TextPropertiesManager getGlobalPtr ()
 Returns the pointer to the global TextPropertiesManager object. More...
 

Detailed Description

This defines all of the TextProperties structures that might be referenced by name from an embedded text string.

A text string, as rendered by a TextNode, can contain embedded references to one of the TextProperties defined here, by enclosing the name between \1 (ASCII 0x01) characters; this causes a "push" to the named state. All text following the closing \1 character will then be rendered in the new state. The next \2 (ASCII 0x02) character will then restore the previous state for subsequent text.

For instance, "x\1up\1n\2 + y" indicates that the character "x" will be rendered in the normal state, the character "n" will be rendered in the "up" state, and then " + y" will be rendered in the normal state again.

This can also be used to define arbitrary models that can serve as embedded graphic images in a text paragraph. This works similarly; the convention is to create a TextGraphic that describes the graphic image, and then associate it here via the set_graphic() call. Then "\5name\5" will embed the named graphic.

Member Function Documentation

◆ clearGraphic()

clearGraphic ( str  name)

Removes the named TextGraphic structure from the manager.

◆ clearProperties()

clearProperties ( str  name)

Removes the named TextProperties structure from the manager.

◆ getGlobalPtr()

static TextPropertiesManager getGlobalPtr ( )
static

Returns the pointer to the global TextPropertiesManager object.

◆ getGraphic()

TextGraphic getGraphic ( str  name)

Returns the TextGraphic associated with the indicated name.

If there was not previously a TextGraphic associated with this name, a warning is printed and then a default TextGraphic structure is associated with the name, and returned.

Call has_graphic() instead to check whether a particular name has been defined.

◆ getProperties()

TextProperties getProperties ( str  name)

Returns the TextProperties associated with the indicated name.

If there was not previously a TextProperties associated with this name, a warning is printed and then a default TextProperties structure is associated with the name, and returned.

Call has_properties() instead to check whether a particular name has been defined.

◆ hasGraphic()

bool hasGraphic ( str  name)

Returns true if a TextGraphic structure has been associated with the indicated name, false otherwise.

Normally this means set_graphic() has been called with this name, but because get_graphic() will implicitly create a default TextGraphic structure, it may also mean simply that get_graphic() has been called with the indicated name.

◆ hasProperties()

bool hasProperties ( str  name)

Returns true if a TextProperties structure has been associated with the indicated name, false otherwise.

Normally this means set_properties() has been called with this name, but because get_properties() will implicitly create a default TextProperties structure, it may also mean simply that get_properties() has been called with the indicated name.

◆ setGraphic() [1/2]

setGraphic ( str  name,
const NodePath  model 
)

This flavor of set_graphic implicitly creates a frame for the model using the model's actual computed bounding volume, as derived from NodePath::calc_tight_bounds().

Create a TextGraphic object first if you want to have explicit control of the frame.

◆ setGraphic() [2/2]

setGraphic ( str  name,
const TextGraphic  graphic 
)

Defines the TextGraphic associated with the indicated name.

When the name is subsequently encountered in text embedded between \5 characters in a TextNode string, the specified graphic will be embedded in the text at that point.

If there was already a TextGraphic structure associated with this name, it is quietly replaced with the new definition.

◆ setProperties()

setProperties ( str  name,
const TextProperties  properties 
)

Defines the TextProperties associated with the indicated name.

When the name is subsequently encountered in text embedded between \1 characters in a TextNode string, the following text will be rendered with these properties.

If there was already a TextProperties structure associated with this name, it is quietly replaced with the new definition.

◆ write()

write ( Ostream  out,
int  indent_level 
)