TextProperties
from panda3d.core import TextProperties
- class TextProperties
Bases:
This defines the set of visual properties that may be assigned to the individual characters of the text. (Properties which affect the overall block of text can only be specified on the
TextNode
directly).Typically, there is just one set of properties on a given block of text, which is set directly on the
TextNode
(TextNode inherits from TextProperties). That makes all of the text within a particular block have the same appearance.This separate class exists in order to implement multiple different kinds of text appearing within one block. The text string itself may reference a TextProperties structure by name using the 1 and 2 tokens embedded within the string; each nested TextProperties structure modifies the appearance of subsequent text within the block.
Inheritance diagram
-
enum Alignment
-
enumerator A_left = 0
-
enumerator A_right = 1
-
enumerator A_center = 2
-
enumerator A_boxed_left = 3
-
enumerator A_boxed_right = 4
-
enumerator A_boxed_center = 5
-
enumerator A_left = 0
- __eq__(other: TextProperties) bool
- __init__()
- __init__(copy: TextProperties)
- __ne__(other: TextProperties) bool
- addProperties(other: TextProperties)
Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.
- property align Alignment
Getter Setter
Specifies the alignment of the text within its margins.
- assign(copy: TextProperties) TextProperties
- property bin string
- Getter
Returns the drawing bin set with
setBin()
, or empty string if no bin has been set.- Setter
Names the CullBin that the text geometry should be assigned to. If this is set, then a
CullBinAttrib
will be created to explicitly place each component in the named bin.The draw_order value will also be passed to each
CullBinAttrib
as appropriate; this is particularly useful if this names a CullBinFixed, e.g. “fixed”.
- clear()
Unsets all properties that have been specified so far, and resets the
TextProperties
structure to its initial empty state.
- clearAlign()
Restores the default alignment of the text.
- clearBin()
Removes the effect of a previous call to
setBin()
. Text will be drawn in whatever bin it would like to be drawn in, with no explicit ordering.
- clearDirection()
Clears the text direction setting. If no text direction is specified, it will be guessed based on the contents of the string.
New in version 1.10.0.
- clearDrawOrder()
- clearFont()
Restores the default font to the text.
- clearGlyphScale()
- clearGlyphShift()
- clearIndent()
Removes the indent setting from the text. Text will be as wide as it is.
- clearPreserveTrailingWhitespace()
- clearShadow()
Specifies that a shadow will not be drawn behind the text.
- clearShadowColor()
Removes the shadow color specification.
- clearSlant()
- clearSmallCaps()
- clearSmallCapsScale()
- clearTabWidth()
- clearTextColor()
Removes the text color specification; the text will be colored whatever it was in the source font file.
- clearTextScale()
- clearUnderscore()
- clearUnderscoreHeight()
- clearWordwrap()
Removes the wordwrap setting from the text. Text will be as wide as it is.
- property direction Direction
- Getter
Returns the direction of the text as specified by
setDirection()
.New in version 1.10.0.
- Setter
Specifies the text direction. If none is specified, it will be guessed based on the contents of the string.
New in version 1.10.0.
- property draw_order int
- Getter
Returns the drawing order set with
setDrawOrder()
.- Setter
Sets the drawing order of text created by the
TextNode
. This is actually the draw order of the card and frame. The shadow is drawn at _draw_order+1, and the text at _draw_order+2.This affects the sorting order assigned to the nodes as they are created, and also is passed to whatever bin may be assigned via
setBin()
.The return value is the first unused draw_order number, e.g. _draw_order + 3.
- property font TextFont
- Getter
Returns the font currently in use, if any. If no font is in use, this returns the default font.
- Setter
Sets the font that will be used when making text. If this is set to NULL, the default font will be used, which can be set via
setDefaultFont()
.
- getAlign() Alignment
- static getClassType() TypeHandle
- static getDefaultFont() TextFont
Specifies the default font to be used for any
TextNode
whose font is uninitialized or NULL. SeesetFont()
.
- getDirection() Direction
Returns the direction of the text as specified by
setDirection()
.New in version 1.10.0.
- getDrawOrder() int
Returns the drawing order set with
setDrawOrder()
.
- getFont() TextFont
Returns the font currently in use, if any. If no font is in use, this returns the default font.
- getGlyphScale() float
Returns the scale factor of each letter as specified by
setGlyphScale()
.
- getGlyphShift() float
Returns the vertical shift of each letter as specified by
setGlyphShift()
.
- getPreserveTrailingWhitespace() bool
Returns the preserve_trailing_whitespace flag. See
setPreserveTrailingWhitespace()
.
- getShadow() LVector2
Returns the offset of the shadow as set by
setShadow()
. It is an error to call this ifhasShadow()
is false.
- getSmallCaps() bool
Returns the small_caps flag. See
setSmallCaps()
.
- getSmallCapsScale() float
Returns the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See
setSmallCaps()
andsetSmallCapsScale()
.
- getTabWidth() float
Returns the width set via
setTabWidth()
.
- getTextScale() float
Returns the scale factor of the text as specified by
setTextScale()
.
- getUnderscore() bool
Returns the underscore flag. See
setUnderscore()
.
- getUnderscoreHeight() float
Returns the vertical height of the underscore; see
setUnderscoreHeight()
.
- property glyph_scale float
- Getter
Returns the scale factor of each letter as specified by
setGlyphScale()
.- Setter
Specifies the factor by which to scale each letter of the text as it is placed, in addition to any scales inherited from the node or from
setTextScale()
. This can be used (possibly in conjunction withsetGlyphShift()
) to implement superscripting or subscripting.The glyph scale is cumulative when applied to nested
TextProperties
. It is intended primarily for implementing superscripts, not for scaling the text in general. See alsosetTextScale()
, which is intended primarily for scaling the text in general, and is not cumulative.
- property glyph_shift float
- Getter
Returns the vertical shift of each letter as specified by
setGlyphShift()
.- Setter
Specifies a vertical amount to shift each letter of the text as it is placed. This can be used (possibly in conjunction with
setGlyphScale()
) to implement superscripting or subscripting.
- hasTextColor() bool
Returns true if a text color was specified with
setTextColor()
.
- property indent float
Getter Setter
Specifies the amount of extra space that is inserted before the first character of each line. This can be thought of as a left margin.
- property preserve_trailing_whitespace bool
- Getter
Returns the preserve_trailing_whitespace flag. See
setPreserveTrailingWhitespace()
.- Setter
Sets the preserve_trailing_whitespace flag. When this is set, trailing whitespace at the end of the line is not stripped when the text is wordwrapped (it is stripped by default). Since the trailing whitespace is invisible, this is important primarily for determining the proper width of a frame or card behind the text.
- setAlign(align_type: Alignment)
Specifies the alignment of the text within its margins.
- setBin(bin: str)
Names the CullBin that the text geometry should be assigned to. If this is set, then a
CullBinAttrib
will be created to explicitly place each component in the named bin.The draw_order value will also be passed to each
CullBinAttrib
as appropriate; this is particularly useful if this names a CullBinFixed, e.g. “fixed”.
- static setDefaultFont(param0: TextFont)
Specifies the default font to be used for any
TextNode
whose font is uninitialized or NULL. SeesetFont()
.
- setDirection(direction: Direction)
Specifies the text direction. If none is specified, it will be guessed based on the contents of the string.
New in version 1.10.0.
- setDrawOrder(draw_order: int) int
Sets the drawing order of text created by the
TextNode
. This is actually the draw order of the card and frame. The shadow is drawn at _draw_order+1, and the text at _draw_order+2.This affects the sorting order assigned to the nodes as they are created, and also is passed to whatever bin may be assigned via
setBin()
.The return value is the first unused draw_order number, e.g. _draw_order + 3.
- setFont(font: TextFont)
Sets the font that will be used when making text. If this is set to NULL, the default font will be used, which can be set via
setDefaultFont()
.
- setGlyphScale(glyph_scale: float)
Specifies the factor by which to scale each letter of the text as it is placed, in addition to any scales inherited from the node or from
setTextScale()
. This can be used (possibly in conjunction withsetGlyphShift()
) to implement superscripting or subscripting.The glyph scale is cumulative when applied to nested
TextProperties
. It is intended primarily for implementing superscripts, not for scaling the text in general. See alsosetTextScale()
, which is intended primarily for scaling the text in general, and is not cumulative.
- setGlyphShift(glyph_shift: float)
Specifies a vertical amount to shift each letter of the text as it is placed. This can be used (possibly in conjunction with
setGlyphScale()
) to implement superscripting or subscripting.
- setIndent(indent: float)
Specifies the amount of extra space that is inserted before the first character of each line. This can be thought of as a left margin.
- setPreserveTrailingWhitespace(preserve_trailing_whitespace: bool)
Sets the preserve_trailing_whitespace flag. When this is set, trailing whitespace at the end of the line is not stripped when the text is wordwrapped (it is stripped by default). Since the trailing whitespace is invisible, this is important primarily for determining the proper width of a frame or card behind the text.
- setShadow(shadow_offset: LVecBase2)
Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.
- setShadow(xoffset: float, yoffset: float)
Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.
- setSmallCaps(small_caps: bool)
Sets the small_caps flag. When this is set, lowercase letters are generated as scaled-down versions of their uppercase equivalents. This is particularly useful to set for fonts that do not have lowercase letters.
It is also a good idea to set this for a (dynamic) font that has already implemented lowercase letters as scaled-down versions of their uppercase equivalents, since without this flag the texture memory may needlessly duplicate equivalent glyphs for upper and lowercase letters. Setting this flag causes the texture memory to share the mixed-case letters.
The amount by which the lowercase letters are scaled is specified by
setSmallCapsScale()
.
- setSmallCapsScale(small_caps_scale: float)
Sets the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See
setSmallCaps()
. Normally, this will be a number less than one.
- setTabWidth(tab_width: float)
Sets the width of each tab stop, in screen units. A tab character embedded in the text will advance the horizontal position to the next tab stop.
- setTextColor(text_color: LColor)
Sets the color of the text. Note that this will modulate the color of all components of the text, including the shadow and outline. If you wish to only set the foreground color, see
DynamicTextFont.setFg()
.
- setTextColor(r: float, g: float, b: float, a: float)
Sets the color of the text. Note that this will modulate the color of all components of the text, including the shadow and outline. If you wish to only set the foreground color, see
DynamicTextFont.setFg()
.
- setTextScale(text_scale: float)
Specifies the factor by which to scale the text, in addition to any scalings imposed by the node, as well as in addition to the glyph scale.
The text scale is not cumulative when applied to nested
TextProperties
. See alsosetGlyphScale()
, which is cumulative.
- setUnderscore(underscore: bool)
Sets the underscore flag. When this is set, the text is underscored with a one-pixel line the same color as the text foreground, drawn at the baseline.
- setUnderscoreHeight(underscore_height: float)
Specifies the vertical height of the underscore, relative to the text baseline. This only has meaning if the underscore mode is enabled with
setUnderscore()
.
- setWordwrap(wordwrap: float)
Sets the text up to automatically wordwrap when it exceeds the indicated width. This can be thought of as a right margin or margin width.
- property shadow LVector2
- Getter
Returns the offset of the shadow as set by
setShadow()
. It is an error to call this ifhasShadow()
is false.- Setter
Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.
Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.
- property slant float
- Getter
Returns the factor by which the text is specified to slant to the right.
- Setter
Specifies the factor by which the text slants to the right.
- property small_caps bool
- Getter
Returns the small_caps flag. See
setSmallCaps()
.- Setter
Sets the small_caps flag. When this is set, lowercase letters are generated as scaled-down versions of their uppercase equivalents. This is particularly useful to set for fonts that do not have lowercase letters.
It is also a good idea to set this for a (dynamic) font that has already implemented lowercase letters as scaled-down versions of their uppercase equivalents, since without this flag the texture memory may needlessly duplicate equivalent glyphs for upper and lowercase letters. Setting this flag causes the texture memory to share the mixed-case letters.
The amount by which the lowercase letters are scaled is specified by
setSmallCapsScale()
.
- property small_caps_scale float
- Getter
Returns the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See
setSmallCaps()
andsetSmallCapsScale()
.- Setter
Sets the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See
setSmallCaps()
. Normally, this will be a number less than one.
- property tab_width float
- Getter
Returns the width set via
setTabWidth()
.- Setter
Sets the width of each tab stop, in screen units. A tab character embedded in the text will advance the horizontal position to the next tab stop.
- property text_color LColor
Getter Setter
Sets the color of the text. Note that this will modulate the color of all components of the text, including the shadow and outline. If you wish to only set the foreground color, see
DynamicTextFont.setFg()
.Sets the color of the text. Note that this will modulate the color of all components of the text, including the shadow and outline. If you wish to only set the foreground color, see
DynamicTextFont.setFg()
.
- property text_scale float
- Getter
Returns the scale factor of the text as specified by
setTextScale()
.- Setter
Specifies the factor by which to scale the text, in addition to any scalings imposed by the node, as well as in addition to the glyph scale.
The text scale is not cumulative when applied to nested
TextProperties
. See alsosetGlyphScale()
, which is cumulative.
- property underscore bool
- Getter
Returns the underscore flag. See
setUnderscore()
.- Setter
Sets the underscore flag. When this is set, the text is underscored with a one-pixel line the same color as the text foreground, drawn at the baseline.
- property underscore_height float
- Getter
Returns the vertical height of the underscore; see
setUnderscoreHeight()
.- Setter
Specifies the vertical height of the underscore, relative to the text baseline. This only has meaning if the underscore mode is enabled with
setUnderscore()
.
-
enum Alignment