TextGraphic

class TextGraphic

Bases: MemoryBase

This defines a special model that has been constructed for the purposes of embedding an arbitrary graphic image within a text paragraph.

It can be any arbitrary model, though it should be built along the same scale as the text, and it should probably be at least mostly two- dimensional. Typically, this means it should be constructed in the X-Z plane, and it should have a maximum vertical (Z) height of 1.0.

The frame specifies an arbitrary bounding volume in the form (left, right, bottom, top). This indicates the amount of space that will be reserved within the paragraph. The actual model is not actually required to fit within this rectangle, but if it does not, it may visually overlap with nearby text.

Inheritance diagram

Inheritance diagram of TextGraphic

TextGraphic(void)
explicit TextGraphic(NodePath const &model, LVecBase4 const &frame)
explicit TextGraphic(NodePath const &model, PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top)
TextGraphic(TextGraphic const&) = default
LVecBase4 get_frame(void) const

Returns the frame specified for the graphic. This is the amount of space that will be reserved for the graphic when it is embedded in a text paragraph, in the form (left, right, bottom, top).

The actual graphic, as rendered by the NodePath specified via set_model(), should more or less fit within this rectangle. It is not required to fit completely within it, but if it does not, it may visually overlap with nearby text.

bool get_instance_flag(void) const

Returns the instance_flag. See set_instance_flag().

NodePath get_model(void) const

Returns the NodePath associated with the graphic, that renders the desired image.

void set_frame(LVecBase4 const &frame)
void set_frame(PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top)

Specifies the (left, right, bottom, top) bounding frame for the graphic. See get_frame().

void set_instance_flag(bool instance_flag)

Sets the instance_flag. When this is true, the graphic is directly instanced to the scene graph whenever it appears; when it is false, the graphic is copied. The default is false, which is best for most applications. You might need to set it true for special kinds of “graphics” like interactive elements, for instance a PGEntry.

void set_model(NodePath const &model)

Changes the NodePath associated with the graphic. This NodePath should contain geometry that will render the desired graphic image.