## Class Legend

La classe Legend permet de manipuler des légendes. Un objet de la classe Legend est disponible sur tous les composants. N'importe quel objet peut être légendé à condition qu'il implémente l'interface Legendable.

- Retourner voir la liste de toutes les classes

## Méthodes et propriétés

- const int LINE := 1
- const int BACKGROUND := 2
- const int MARK := 3
- const int MARKONLY := 4
- const int MODEL_RIGHT := 1
- const int MODEL_BOTTOM := 2
- const int LEFT := 0
- const int RIGHT := 1
- const int CENTER := 2
- const int TOP := 3
- const int BOTTOM := 4
- const int MIDDLE := 5

- public Shadow $shadow
- protected bool $hide
- protected ArrayOject $legends

- public __construct(int $model := Legend::MODEL_RIGHT)
- public hide(bool $hide := TRUE)
- public show(bool $show := TRUE)
- public setModel(int $model)
- public add(Legendable $legendable, string $title, int $type := Legend::LINE)
- public setPadding(int $left, int $right, int $top, int $bottom)
- public setSpace(int $space)
- public setAlign(int $h := NULL, int $v := NULL)
- public setColumns(int $columns)
- public setRows(int $rows)
- public setPosition(float $x := NULL, float $y := NULL)
- public Point getPosition()
- public setTextFont(Font $font)
- public setTextMargin(int $left, int $right)
- public setTextColor(Color $color)
- public setBackground(mixed $background)
- public setBackgroundColor(Color $color)
- public setBackgroundGradient(Gradient $gradient)
- public setBorderSize(int $size)
- public setBorderColor(Color $color)
- public int count()
- public draw(Driver $driver)

## Documentation

- const int LINE := 1
  Utilise une couleur de ligne pour identifier un objet dans la légende.
  Remonter
- const int BACKGROUND := 2
  Utilise une couleur de fond pour identifier un objet dans la légende.
  Remonter
- const int MARK := 3
  Utilise un objet Mark et une ligne pour identifier un objet dans la légende.
  Remonter
- const int MARKONLY := 4
  Utilise un objet Mark seulement pour identifier un objet dans la légende.
  Remonter
- const int MODEL_RIGHT := 1
  Modèle prédéfini qui place la légende à droite.
  Remonter
- const int MODEL_BOTTOM := 2
  Modèle prédéfini qui place la légende en bas.
  Remonter
- const int LEFT := 0
  Aligne horizontalement la légende à gauche.
  Remonter
- const int RIGHT := 1
  Aligne horizontalement la légende à droite.
  Remonter
- const int CENTER := 2
  Centre la légende horizontalement.
  Remonter
- const int TOP := 3
  Aligne verticalement la légende en haut.
  Remonter
- const int BOTTOM := 4
  Aligne verticalement la légende en bas.
  Remonter
- const int MIDDLE := 5
  Aligne verticalement la légende au milieu.
  Remonter
- public Shadow $shadow
  Cette propriété permet de manipuler l'ombre associée éventuellement avec la légende. Par défaut, aucune ombre n'est affichée. Si vous souhaitez afficher une ombre, il vous suffit de lui donner une taille :

      <?php

      require_once "Tools.class.php";

      $legend = new Legend();

      // On associe une ombre de 4 pixels à la légende
      $legend->shadow->setSize(4);

      ?>

  Remonter
- protected bool $hide
  Détermine si la légende doit être cachée ou non.
  Remonter
- protected ArrayOject $legends
  Les objets Legendable à afficher sur la légende.
  Remonter
- public __construct(int $model := Legend::MODEL_RIGHT)
  Construit une nouvelle légende avec le modèle $model. Les valeurs possibles pour $model sont Legend::MODEL_BOTTOM et Legend::MODEL_RIGHT.
  Remonter
- public hide(bool $hide := TRUE)
  Permet de cacher (par défaut) ou d'afficher la légende.
  Remonter
- public show(bool $show := TRUE)
  Permet d'afficher (par défaut) ou de cacher la légende.
  Remonter
- public setModel(int $model)
  Change le modèle de légende pour $model. L'appel à cette méthode peut écraser les valeurs passées à d'autres méthodes comme setPadding() ou setHorizontalAlign() par exemple (liste non exhaustive). Les valeurs possibles pour $model sont Legend::MODEL_BOTTOM et Legend::MODEL_RIGHT.
  Remonter
- public add(Legendable $legendable, string $title, int $type := Legend::LINE)
  Ajoute un nouvel objet légendable avec pour titre $title à cette légende. $type permet de spécifier le type de légende, qui peut être Legend::LINE, Legend::BACKGROUND, Legend::MARK ou encore Legend::MARKONLY.
  Remonter
- public setPadding(int $left, int $right, int $top, int $bottom)
  Change l'espace interne de la légende. Les nouvelles valeurs doivent être données en pixels. Laissez les paramètres dont vous ne souhaitez pas modifier la valeur à NULL.
  Remonter
- public setSpace(int $space)
  Change l'espace entre chaque valeur. Cet espace doit être donné en pixels.
  Remonter
- public setAlign(int $h := NULL, int $v := NULL)
  Change l'alignement de la légende par rapport au point où elle sera affichée. $h correspond à l'alignement horizontal (Legend::LEFT, Legend::RIGHT ou Legend::CENTER) et $v à l'alignement vertical (Legend::TOP, Legend::BOTTOM ou Legend::MIDDLE). Si vous ne souhaitez pas modifier une des deux valeurs, vous pouvez passer NULL.
  Remonter
- public setColumns(int $columns)
  Change le nombre de colonnes qui seront affichées dans la légende pour $columns. Cette méthode est incompatible avec setRows().
  Voir aussi :
  - Legend::setColumns()
  Remonter
- public setRows(int $rows)
  Change le nombre de lignes qui seront affichées dans la légende pour $rows. Cette méthode est incompatible avec setColumns().
  Voir aussi :
  - Legend::setRows()
  Remonter
- public setPosition(float $x := NULL, float $y := NULL)
  Change la position de la légende sur l'objet légendé. Les positions $x et $y sont des fractions des largeur et hauteur de l'objet légendé.
  Remonter
- public Point getPosition()
  Retourne la position courante de la légende sur l'objet légendé sous la forme d'un point.
  Remonter
- public setTextFont(Font $font)
  Change la police à utiliser sur la légende. Voir la classe Font pour une liste des polices disponibles.
  Remonter
- public setTextMargin(int $left, int $right)
  Change la marge gauche et droite autour du texte des légendes. $left et $right sont à donner en pixels.
  Remonter
- public setTextColor(Color $color)
  Change la couleur du texte de la légende.
  Remonter
- public setBackground(mixed $background)
  Change le fond de la légende. $background peut être soit une couleur, soit un dégradé.
  Remonter
- public setBackgroundColor(Color $color)
  Change la couleur de fond de la légende.
  Voir aussi :
  - Legend::setBackground()
  Remonter
- public setBackgroundGradient(Gradient $gradient)
  Change le dégradé de fond de la légende.
  Voir aussi :
  - Legend::setBackground()
  Remonter
- public setBorderSize(int $size)
  Change la taille de la bordure qui entoure la légende. Les valeurs possibles sont 0 et 1.
  Remonter
- public setBorderColor(Color $color)
  Change la couleur de la bordure qui entoure la légende.
  Remonter
- public int count()
  Retourne le nombre d'objets légendable qui ont été ajoutés à cette légende.
  Remonter
- public draw(Driver $driver)
  Dessine la légende avec le pilote $driver.
  Remonter