## Class Label

La classe Label permet de créer et d'afficher des étiquettes de texte sur des images.

- Retourner voir la liste de toutes les classes

## Méthodes et propriétés

- public Border $border := new Border
- protected Font $font := new Font(Font::FONT_2)
- protected int $angle := 0
- protected Color $color := new Color(0, 0, 0)
- protected bool $hide
- protected bool $hideFirst
- protected bool $hideLast
- protected int $interval
- protected int $hAlign := Label::CENTER
- protected int $vAlign := Label::MIDDLE

- public __construct(string $label := NULL, Font $font := new Font(Text::FONT_2), color $color := new Color(0, 0, 0), int $angle := 0)
- public mixed get(int $key)
- public mixed all()
- public set(mixed $labels)
- public int count()
- public setCallbackFunction(mixed $function)
- public string getCallbackFunction()
- public setFormat(string $format)
- public setFont(Font $font)
- public setAngle(int $angle)
- public setColor(Color $color)
- public setBackground(mixed $background)
- public setBackgroundColor(Color $color)
- public setBackgroundGradient(Gradient $gradient)
- public setPadding(int $left, int $right, int $top, int $bottom)
- public hide(bool $hide)
- public show(bool $show)
- public hideKey(int $key)
- public hideFirst(bool $hide)
- public hideLast(bool $hide)
- public setInterval(int $interval)
- public move(int $x, int $y)
- public setAlign(int $h := NULL, int $v := NULL)
- public Text getText(int $key)
- public int getMaxWidth(Driver $driver)
- public int getMaxHeight(Driver $driver)
- public draw(Driver $driver, Point $point, int $key := 0)

## Documentation

- public Border $border := new Border
  La bordure associée à l'étiquette.
  Remonter
- protected Font $font := new Font(Font::FONT_2)
  La police utilisée pour ce paragraphe.
  Remonter
- protected int $angle := 0
  L'angle du texte du paragraphe.
  Remonter
- protected Color $color := new Color(0, 0, 0)
  La couleur du texte du paragraphe.
  Remonter
- protected bool $hide
  Détermine si les étiquettes doivent être cachées.
  Remonter
- protected bool $hideFirst
  Détermine si la première étiquette doit être cachée.
  Remonter
- protected bool $hideLast
  Détermine si la dernière étiquette doit être cachée.
  Remonter
- protected int $interval
  L'interval d'affichage des étiquettes.
  Remonter
- protected int $hAlign := Label::CENTER
  L'alignement horizontal des étiquettes.
  Remonter
- protected int $vAlign := Label::MIDDLE
  L'alignement vertical des étiquettes.
  Remonter
- public __construct(string $label := NULL, Font $font := new Font(Text::FONT_2), color $color := new Color(0, 0, 0), int $angle := 0)
  Construit un nouvel objet qui permettra l'affichage d'étiquettes sur une image. $label est un chaîne de caractères qui représente la première étiquette (peut être laissée à NULL). $font est la police à utiliser pour l'étiquette tandis que $color sera utilisé pour la couleur du texte. Enfin, l'angle du texte prendra la valeur de $angle.
  Remonter
- public mixed get(int $key)
  Retourne la valeur de l'élément de l'étiquette dont la clé vaut $key. Si la clé n'est associée à aucune valeur, alors cette méthode retourne NULL.
  Remonter
- public mixed all()
  Retourne toutes la valeur de toutes les étiquettes sous la forme d'un tableau.
  Remonter
- public set(mixed $labels)
  Change le texte des étiquettes à afficher sur l'image. $labels peut être une chaîne de caractères si vous n'avez besoin que d'une étiquette, ou un tableau de chaînes de caractères si vous avez besoin de plusieurs étiquettes.
  Remonter
- public int count()
  Retourne le nombre de textes dans le paragraphe.
  Remonter
- public setCallbackFunction(mixed $function)
  Change le nom de la fonction de callback qui sera appelé lors du dessin des textes du paragraphe. $function peut être une simple chaîne de caractères, ou un tableau du type array($this, 'methodName') pour permettre d'appeler des méthodes statiques.
  Remonter
- public string getCallbackFunction()
  Retourne le nom de la fonction de callback actuellement utilisée. Si aucune fonction de callback n'a été spécifiée, alors NULL sera retourné.
  Remonter
- public setFormat(string $format)
  Formate le texte de chaque étiquette selon $format. $format est du même format que les fonctions printf ou sprintf.
  Remonter
- public setFont(Font $font)
  Change la police utilisée pour le texte de l'étiquette.
  Remonter
- public setAngle(int $angle)
  Change l'angle du texte de l'étiquette. Les valeurs possibles sont 0 ou 90°.
  Remonter
- public setColor(Color $color)
  Change la couleur du texte de l'étiquette.
  Remonter
- public setBackground(mixed $background)
  Change le fond du texte de l'étiquette. $background peut être soit une couleur, soit un dégradé;
  Remonter
- public setBackgroundColor(Color $color)
  Change la couleur de fond du texte de l'étiquette.
  Voir aussi :
  - Label::setBackground()
  Remonter
- public setBackgroundGradient(Gradient $gradient)
  Change le dégradé de fond du texte de l'étiquette.
  Voir aussi :
  - Label::setBackground()
  Remonter
- public setPadding(int $left, int $right, int $top, int $bottom)
  Change la valeur de l'espace qui entoure le texte par rapport à sa bordure.
  Remonter
- public hide(bool $hide)
  Détermine si toutes les étiquettes doivent être cachées ou non.
  Remonter
- public show(bool $show)
  Détermine si toutes les étiquettes doivent être affichées ou non.
  Remonter
- public hideKey(int $key)
  Détermine si l'étiquette de clé $key doit être cachée ou non.
  Remonter
- public hideFirst(bool $hide)
  Détermine si la première étiquette doit être cachée ou non.
  Remonter
- public hideLast(bool $hide)
  Détermine si la dernière étiquette doit être cachée ou non.
  Remonter
- public setInterval(int $interval)
  Change l'interval d'affichage des étiquettes. L'interval est à 1 par défaut, ce qui signifie que toutes les étiquettes sont affichées. Si cet interval est placé à 2 par exemple, alors la méthode draw() n'affichera qu'une étiquette sur 2.
  Remonter
- public move(int $x, int $y)
  Déplace l'affichage de l'étiquette de $x pixels sur l'axe des abscisses et de $y pixels sur l'axe des ordonnées. Les appels à move() sont cumulés, c'est-à-dire qu'un appel avec de nouvelles valeurs additionnera ces valeurs avec les anciennes. Par défaut, $x et $y sont à 0.
  Remonter
- public setAlign(int $h := NULL, int $v := NULL)
  Change l'alignement de l'étiquette par rapport au point où elle sera affichée. $h correspond à l'alignement horizontal (Positionable::LEFT, Positionable::RIGHT ou Positionable::CENTER) et $v à l'alignement vertical (Positionable::TOP, Positionable::BOTTOM ou Positionable::MIDDLE). Si vous ne souhaitez pas modifier une des deux valeurs, vous pouvez passer NULL.
  Remonter
- public Text getText(int $key)
  Retourne un objet de type Text qui correspond à la valeur du tableau de textes passé au constructeur ou à Label::set() pour la clé $key. Cette object Text se verra attribué toutes les propriétés (couleur, police, angle, etc.) définies pour le paragraphe.
  Remonter
- public int getMaxWidth(Driver $driver)
  Essaie de déterminer la longueur maximale des étiquettes. Cette méthode a besoin d'un Driver pour établir la taille de chaque texte. La longueur maximale trouvée est déterminée et rétournée en pixels.
  Remonter
- public int getMaxHeight(Driver $driver)
  Essaie de déterminer la hauteur maximale des étiquettes. Cette méthode a besoin d'un Driver pour établir la taille de chaque texte. La hauteur maximale trouvée est déterminée et rétournée en pixels.
  Remonter
- public draw(Driver $driver, Point $point, int $key := 0)
  Dessine l'étiquette identifiée par $key avec le pilote $driver. L'étiquette sera placée au point $point décalé des valeurs successivement passées à move(), et alignée par rapport à ce point selon les valeurs passées à setAlign(). L'étiquette ne sera pas affichée si sa clé $key n'est pas dans l'interval d'affichage donné avec setInterval().
  Remonter