Text

class labpyproject.core.pygame.widgets.Text(fontobj, text='', fgcolor='0x000000', linespacing=0, textalign='left', **kwargs)[source]

Bases : labpyproject.core.pygame.core.CustomSprite

Widget texte basique.

Constructeur

Paramètres
  • fontobj – un objet pygame.font.Font (de préférence) ou pygame.freetype.Font (support de caractères plus large mais rendu et wrap moins bons)

  • text – le texte à afficher

  • fgcolor – couleur du texte

  • bgcolor – couleur du fond (transparent par défaut)

  • size – taille du texte en points (par défaut celle de l’objet fontobj)

  • linespacing – espacement interlignes

  • textalign – alignement horizontal du texte (gauche par défaut), uniquement pour un objet pygame.font.Font

Rq : clipping à implémenter dans draw_display, en subclassant CustomSprite.get_display_dest pour prendre en compte les différences de rects de publication.

Attributes Summary

CENTER_ALIGN

valeur d’alignement

LEFT_ALIGN

valeur d’alignement

RIGHT_ALIGN

valeur d’alignement

fgcolor

Couleur du texte (hexa) convertie en pygame.Color

text

texte associé au widget

Methods Summary

create_text_surface()

Crée la surface de rendu du texte.

discard_render()

Indique que le texte doit être rendu à nouveau.

discard_resize()

Marque l’objet comme non resizé.

draw_display()

Dessinne ou redessinne l’objet.

get_item_dimensions()

Doit retourner les dimensions réelles du contenu (texte, image).

post_init_boxmodel()

Spécifie au besoin des valeurs par défaut.

render_text([txt])

Rendu du texte sur la surface dédiée self.text_surface.

wrap_text_font(surf, txt)

Wrap alternatif.

wrap_text_freetype(surf, txt)

Wrap simple inspiré de : https://www.pygame.org/docs/ref/freetype.html#pygame.freetype.Font.render_to

Attributes Documentation

CENTER_ALIGN = 'center'

valeur d’alignement

LEFT_ALIGN = 'left'

valeur d’alignement

RIGHT_ALIGN = 'right'

valeur d’alignement

fgcolor

Couleur du texte (hexa) convertie en pygame.Color

text

texte associé au widget

Methods Documentation

create_text_surface()[source]

Crée la surface de rendu du texte.

discard_render()[source]

Indique que le texte doit être rendu à nouveau.

discard_resize()[source]

Marque l’objet comme non resizé.

draw_display()[source]

Dessinne ou redessinne l’objet.

get_item_dimensions()[source]

Doit retourner les dimensions réelles du contenu (texte, image). A implémenter dans les subclasses utilisant le snap.

post_init_boxmodel()[source]

Spécifie au besoin des valeurs par défaut.

render_text(txt=None)[source]

Rendu du texte sur la surface dédiée self.text_surface.

wrap_text_font(surf, txt)[source]

Wrap alternatif.

wrap_text_freetype(surf, txt)[source]

Wrap simple inspiré de : https://www.pygame.org/docs/ref/freetype.html#pygame.freetype.Font.render_to