- | ## abstract Class Component Un composant est un objet qui peut être ajouté à une Image. Les composants sont indépendants les uns des autres. La classe Component est une classe abstraite, dont doivent dériver tous les objets qui vont pouvoir être ajoutés sur une image. Sur un composant, l'axe des abscisses rejoint l'axe des ordonnées sur le coin haut-gauche. Le coin haut-gauche du composant a donc pour coordonnées (0, 0) et le coin bas-droite (largeur, hauteur). Par exemple, sur une image de largeur 100 et de hauteur 50, un point à 50 sur l'axe des abscisses et 25 sur l'axe des ordonnées sera au centre de l'image. Les classes suivantes dérivent de Component : ComponentGroup MathPlot Pie Plot Retourner voir la liste de toutes les classes ## Méthodes et propriétés protected Driver $driver public float $width public float $height public float $x public float $y public int $w public int $h public int $top public int $left protected mixed $background public Side $padding public Side $space protected bool $auto public Label $title public Legend $legend public __construct() public auto(bool $auto) public setSize(float $width, float $height) public setAbsSize(int $w, int $h) public setBackgroundColor(Color $color) public setBackgroundGradient(Gradient $gradient) public setBackgroundImage(Image $image) public mixed getBackground(int $type) public setPadding(int $left := NULL, int $right := NULL, int $top := NULL, int $bottom := NULL) public setSpace(int $left := NULL, int $right := NULL, int $top := NULL, int $bottom := NULL) public setCenter(float $x, float $y) public setAbsPosition(int $left, int $top) public init(Driver $driver) public finalize(Driver $driver) abstract public array getPosition(Driver $driver) abstract public drawEnvelope(Driver $driver) abstract public drawComponent(Driver $driver, int $x1, int $y1, int $x2, int $y2, bool $aliasing) protected getSpace(int $width, int $height) ## Documentation protected Driver $driver Un objet Driver pour dessiner sur l'image. Remonter public float $width Largeur du composant entre 0 et 1. Représente une fraction de la largeur de l'image. Remonter public float $height Hauteur du composant entre 0 et 1. Représente une fraction de la hauteur de l'image. Remonter public float $x Position du composant sur l'axe des abscisses entre 0 et 1. Représente une fraction de la largeur de l'image. Remonter public float $y Position du composant sur l'axe des ordonnées entre 0 et 1. Représente une fraction de la hauteur de l'image. Attention, la position 0 correspond au haut de l'image. Remonter public int $w Largeur du composant en pixels. Remonter public int $h Hauteur du composant en pixels. Remonter public int $top Position du composant sur l'axe des ordonnées en pixels. Remonter public int $left Position du composant sur l'axe des abscisses en pixels. Remonter protected mixed $background Fond du composant. Peut être une couleur, un dégradé ou peut être laissé à NULL pour ne spécifier aucune couleur de fond. Remonter public Side $padding Espace interne du composant. Remonter public Side $space Espace interne dans la zone de dessin effective du composant. Les valeurs doivent être données en pourcentage de la taille de la zone de dessin. Le zone de dessin est la zone dans laquelle est dessiné le composant, c'est-à-dire la zone du composant amputée des axes et de l'espace interne. Remonter protected bool $auto Doit-on ajuster automatiquement le composant ? Remonter public Label $title Le titre du composant. Si un titre est spécifié, il sera affiché sur l'image. Remonter public Legend $legend La légende associée au composant. Remonter public __construct() Construit le composant en lui affectant une taille égale à celle de l'image et en le positionnant au centre de cette image. Le composant remplit donc toute la surface de l'image. Remonter public auto(bool $auto) TRUE si le composant doit être automatiquement ajusté, FALSE sinon. La notion d'ajustage automatique est propre à chaque classe qui dérive de celle-ci. Par exemple, sur les histogrammes, si le composant n'est pas automatiquement ajusté, alors les barres ne seront pas centrées sur zéro mais sur leur valeur minimum. Remonter public setSize(float $width, float $height) Change la largeur $width et la hauteur $height du composant. Les nouvelles valeurs doivent être comprises entre 0 et 1 et correspondent à une fraction des largeur et hauteur de l'image à laquelle le composant appartient.
      <?php

      require_once "LinePlot.class.php";

      $graph = new Graph(400, 400);

      // LinePLot dérive de Component
      $plot = new LinePlot(array(1, 2, 3));

      // Le taille du composant sera 1 / 3 de celle de l'image, soit 133x133 pixels
      $plot->setSize(1 / 3, 1 / 3);

      $graph->add($plot);
      $graph->draw();

      ?>
- Remonter public setAbsSize(int $w, int $h) Donne une taille absolue au composant. La largeur $width et la hauteur $height doivent être données en pixels. Remonter public setBackgroundColor(Color $color) Change la couleur de fond du composant. Remonter public setBackgroundGradient(Gradient $gradient) Change le dégradé de fond du composant. Remonter public setBackgroundImage(Image $image) Change l'image de fond du composant. Remonter public mixed getBackground(int $type) Retourne le fond de l'image. Cela peut être une couleur, un dégradé ou encore une image. Si aucun fond n'a été spécifié, cette méthode retourne NULL. Remonter public setPadding(int $left := NULL, int $right := NULL, int $top := NULL, int $bottom := NULL) Change l'espace interne du composant. Les valeurs doivent être données en pixels. Remonter public setSpace(int $left := NULL, int $right := NULL, int $top := NULL, int $bottom := NULL) Change l'espace interne dans la zone de dessin effective du composant. Les valeurs doivent être données en pourcentage de la taille de la zone de dessin. Le zone de dessin est la zone dans laquelle est dessiné le composant, c'est-à-dire la zone du composant amputée des axes et de l'espace interne.
      <?php

      require_once "LinePlot.class.php";

      $graph = new Graph(400, 400);

      $plot = new LinePlot(array(43, 23, 65, 37));
      $plot->setSpace(10, 10, 20, 20);

      $graph->add($plot);
      $graph->draw();

      ?>
- Remonter public setCenter(float $x, float $y) Change la position du centre du composant sur l'image. Les nouvelles positions $x et $y représentent une fraction des largeur et hauteur de l'image. Attention, la position 0 pour $y place le centre du composant en haut de l'image. La position 1 le place en bas de l'image.
      <?php

      require_once "LinePlot.class.php";

      $graph = new Graph(400, 400);

      // LinePLot dérive de Component
      $plot = new LinePlot(array(1, 2, 3));

      // Le taille du composant sera 1 / 3 de celle de l'image, soit 133x133 pixels
      $plot->setSize(1 / 3, 1 / 3);
      // Place le composant en haut à gauche
      $plot->setCenter(1 / 6, 1 / 6);

      $graph->add($plot);
      $graph->draw();

      ?>
- Remonter public setAbsPosition(int $left, int $top) Change la position du composant sur l'image. Contrairement à setCenter(), cette méthode ne place pas le composant par rapport à son centre, mais par rapport à son coin haut-gauche. Les positions $left à gauche et $top pour la hauteur doivent être données en pixels. Attention, la position 0 pour $top place le composant en haut de l'image.
      <?php

      require_once "LinePlot.class.php";

      $graph = new Graph(400, 400);

      // LinePLot dérive de Component
      $plot = new LinePlot(array(1, 2, 3));

      // Le taille du composant sera 1 / 3 de celle de l'image, soit 133x133 pixels
      $plot->setSize(1 / 3, 1 / 3);
      // Place le composant en haut à gauche
      $plot->setAbsPosition(0, 0);

      $graph->add($plot);
      $graph->draw();

      ?>
Remonter public init(Driver $driver) Initialise le composant avant son affichage. Remonter public finalize(Driver $driver) Finalize l'affichage du composant. Remonter abstract public array getPosition(Driver $driver) Retourne la position de la zone de dessin effective du composant. Les coordonnées doivent être retournées sous la forme d'un tableau de quatre valeurs. Les première et deuxième valeurs sont les positions en abscisse et en ordonnée du coin haut-gauche de la zone de dessin. Les troisième et quatrième valeurs sont les positions en abscisse et en ordonnée du coin bas-droit de la zone de dessin. Remonter abstract public drawEnvelope(Driver $driver) Dessine l'enveloppe autour de la zone de dessin effective du composant. Cette enveloppe comprend généralement les axes et la grille du composant. Remonter abstract public drawComponent(Driver $driver, int $x1, int $y1, int $x2, int $y2, bool $aliasing) Dessine effectivement le composant, c'est-à-dire le graphique. Le paramètre $aliasing est à TRUE si l'anti-aliasing est activé, FALSE sinon. Remonter protected getSpace(int $width, int $height) Convertit l'espace interne du composant de pourcentages en pixels, en fonction de la taille $width et de la hauteur $height, exprimées en pixels. Remonter |