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.
explicit TextGraphic(NodePath const &model, PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top)
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
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.
NodePath get_model(void) const
NodePathassociated with the graphic, that renders the desired image.
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
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