# TextPropertiesManager¶

from panda3d.core import TextPropertiesManager

class TextPropertiesManager

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, “x1up1n2 + 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 setGraphic() call. Then “5name5” will embed the named graphic.

Inheritance diagram

clearGraphic(name: str)None

Removes the named TextGraphic structure from the manager.

clearProperties(name: str)None

Removes the named TextProperties structure from the manager.

static getGlobalPtr()TextPropertiesManager

Returns the pointer to the global TextPropertiesManager object.

getGraphic(name: str)TextGraphic

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 hasGraphic() instead to check whether a particular name has been defined.

getProperties(name: str)TextProperties

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 hasProperties() instead to check whether a particular name has been defined.

hasGraphic(name: str)bool

Returns true if a TextGraphic structure has been associated with the indicated name, false otherwise. Normally this means setGraphic() has been called with this name, but because getGraphic() will implicitly create a default TextGraphic structure, it may also mean simply that getGraphic() has been called with the indicated name.

hasProperties(name: str)bool

Returns true if a TextProperties structure has been associated with the indicated name, false otherwise. Normally this means setProperties() has been called with this name, but because getProperties() will implicitly create a default TextProperties structure, it may also mean simply that getProperties() has been called with the indicated name.

setGraphic(name: str, model: NodePath)None

This flavor of setGraphic() implicitly creates a frame for the model using the model’s actual computed bounding volume, as derived from NodePath.calcTightBounds(). Create a TextGraphic object first if you want to have explicit control of the frame.

setGraphic(name: str, graphic: TextGraphic)None

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(name: str, properties: TextProperties)None

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(out: ostream, indent_level: int)None