Le ChangeLog d'Artichow 1.X.X

Le ChangeLog vous présente toutes les modifications qui ont été apportées à Artichow entre les différentes versions déjà publiées.

Artichow 1.1.0

  • Toute nouvelle architecture basée sur des pilotes : séparation entre les données du graphique et la manière dont elles sont dessinées. Cette réorganisation doit permettre d'ajouter très facilement de nouveaux moteurs de rendu, sans retravailler le reste du code.
  • La classe Drawer est devenu Driver.
  • Les classes liées aux polices ont aussi été remaniées, dans leur fonctionnalités tout comme dans leur organisation. Toutefois, 99% des scripts déjà écrits devraient fonctionner sans problème.
  • Disparition des deux méthodes Font::getTextWidth() et Font::getTextHeight().
  • Ajout de deux nouvelles classes pour le dessin et les calculs liés aux polices : FileFontDriver et PHPFontDriver.
  • Ajout de la classe GDDriver permettant de dessiner les graphiques à l'aide des fonctions GD.
  • La méthode GDDriver::rectangle() n'altère plus l'objet Line passé en paramètre.
  • Correction d'un bug dans GDDriver::polygon() qui ne fermait pas la figure dans le cas où la bordure n'était pas une ligne continue.
  • Ajout de la constante ARTICHOW_DRIVER qui définit le pilote à utiliser par défaut (GD).
  • Correction d'un bug dans Grid::setGrid() qui empêchait les valeurs d'être prises en compte.
  • Ajout de quatre nouvelles marques : triangle inversé, rhombus, croix et plus.
  • Image::drawError() n'affiche plus les balises HTML dans les messages d'erreur.
  • Modification de Label::setCallbackFunction pour qu'il soit possible de faire appel à des méthodes statiques via setCallbackFunction(array($this, 'methodName')).

Artichow 1.0.9

Un nouveau type de marque en triangle.
  • Ajout d'un nouveau type de marque : le triangle.
  • Il est désormais possible d'utiliser des polices dont le chemin contient des espaces, et ce quelle que soit la version de GD utilisée.
  • Correction d'un bug dans la classe Drawer qui empechait le calcul correct de la taille des polices.
  • Les en-têtes HTTP ne sont plus envoyés lorsque l'utilisateur demande la sauvegarde du graph dans un fichier.
  • La classe Drawer gère maintenant l'anti-aliasing.
  • En plus de l'ajout de la méthode Drawer::setAntiAliasing(), correction d'un bug qui ne respectait pas le réglage d'anti-aliasing dans le cas de graphiques à multiples courbes.
  • Correction d'un bug dans lequel l'axe des abscisses n'était pas correctement étiquetté.
  • Correction d'un bug dans lequel l'appel à la méthode Axis::setYMax() n'avait pas l'effet escompté.
  • Correction d'un bug similaire dans lequel l'appel des méthodes Label::setPrecision() et Label::setCallbackFunction() n'avait aucun effet.
  • Correction d'un cas d'erreur "division par zéro" lors de l'utilisation d'un dégradé sur une courbe.
  • Il est maintenant possible de dessiner des camemberts anti-aliasé sur des fonds de couleur unie.
  • Le ménage du code a commencé. Artichow devrait voir son code réorganisé en grande partie dans l'avenir, notamment la partie de dessin pur, afin de permettre une plus grande flexibilité dans l'ajout de nouvelles fonctionnalités.

Artichow 1.0.8

Exemple d'erreur survenue dans Artichow
  • Les erreurs qui surviennent dans Artichow sont maintenant affichées de manière user-friendly
  • Il est désormais possible d'écrire du texte sur plusieurs lignes quelque soit la police via la méthode Font::draw()
  • La documentation a été améliorée et mise à jour
  • La méthode Graph::draw() a été modifiée pour accepter plus d'options (la compatibilité ascendante a été préservée)
  • Le prototype de la méthode Image::send() a été modifié
  • Correction d'une Fatal Error en cas d'accès direct aux fichiers Image.class.php et inc/*
  • L'existence de la constante 'ARTICHOW_CACHE_DIRECTORY' était mal vérifiée dans le fichier de configuration

Artichow 1.0.7

  • Ajout d'une directive de configuration ARTICHOW_CACHE_DIRECTORY pour choisir le répertoire de cache
  • Amélioration de la gestion du cache
  • Correction d'un bug de division par zéro dans la classe Axis
  • Correction d'un bug dans la gestion des handlers ob_*
  • Correction d'un bug sur l'épaisseur des lignes
  • Les couleurs sur les ombres fonctionnent maintenant correctement

Artichow 1.0.6

Artichow 1.0.5

  • Ajout d'une constante ARTICHOW_PREFIX dans le fichier de configuration pour préfixer les classes de Artichow et éviter des conflits avec des classes existantes (bug #000002)
  • Ajout d'une méthode Plot::reduce()
  • Ajout de méthodes Shadow::show() et Shadow::hide()
  • Il est désormais possible d'enregistrer ses graphiques dans un fichier
  • Correction d'un bug pour dans PlotGroup (setYMax() et setYMin() ne fonctionnait pas)
  • Correction d'un comportement inattendu si les clés de $datay ne sont pas numériques (LinePlot, BarPlot, ScatterPlot)
  • Correction d'un bug d'inclusion de fichier dans Pattern
  • Correction d'un bug pour PHP 5.1 (Tools.class.php)

Artichow 1.0.4

  • Possibilité d'exporter ses images en GIF
  • Ajout de patterns (Pattern.class.php)
  • Ajout d'un fichier README
  • Ajout du support pour les ScatterPlot
  • Ajout de titres sur les axes
  • Le fond de la grille est maintenant blanc par défaut pour les Plot
  • La classe Polygon accepte maintenant des valeurs nulles
  • Ajout d'un nouveau type de légende (Legend::MARKONLY)
  • Ajout d'une méthode Legend::show()
  • Les méthodes setBackgroundColor() et setBackgroundGradient() ont été fusionnées en setFill() dans la classe Mark
  • Ajout d'un argument $size optionnel à Mark::setType()
  • Ajout de méthodes Mark::move(), Mark::hide() et Mark::show()
  • Ajout de méthodes Label::setBackground() et Legend::setBackground()
  • Ajout de nouvelles marques (étoile, trombonne, livre)
  • Ajout de méthodes Plot::setXMax(), Plot::setXMin(), PlotGroup::setXMax() et PlotGroup::setXMin()
  • Ajout de nouvelles couleurs dans le thème par défaut de Pie
  • Le fichier Artichow.class.php a été renommé en Graph.class.php
  • Les tests ont été supprimés des archives finales (laissés uniquement dans la version de développement)
  • Les méthodes setBackgroundColor, setBackgroundGradient, setBackgroundImage, ont été supprimées de la classe Drawer
  • Les méthodes Component::addLabel() et Component::addAbsLabel() ont été déplacées vers la classe Graph
  • Correction d'un bug dans Artichow.cfg.php (il était impossible d'utiliser les polices TTF dans certains cas)
  • Correction d'un bug dans Legend (la position des marques est désormais plus précise)
  • Correction d'un bug dans Pie (les camemberts peuvent maintenant ne prendre qu'une valeur)
  • Correction d'un bug dans Font (appel à une fonction inexistante trigger__error())
  • Correction de bugs mineurs dans Plot et LinePlot

Artichow 1.0.3 (beta)

  • Réécriture de la classe Axis (ajout d'une classe Tick)
  • Ajout d'un support EXPERIMENTAL pour PHP 4
  • Ajout d'une classe Border et utilisation dans :
    • BarPlot
    • Legend
    • Mark
    • Label
    • Text
  • Ajout d'une propriété style aux rectangles et polygones
  • Ajout d'une méthode BarPlot::setBarWidth()
  • Ajout d'une bordure optionnelle dans la classe Image
  • Ajout du support pour les MathPlot
  • Ajout de méthodes Label::get(), Label::setFormat() et modifications pour Label::setFont()
  • Ajout d'un paramètre $smooth dans Shadow::setSize()
  • Ajout du remplissage de zones dans LinePlot
  • Ajout de nombreuses nouvelles fonctions dans la classe Math
  • La méthode Line::setType() a été renommée en Line::setStyle()
  • La méthode LinePlot::setLineType() a été renommée en LinePlot::setStyle()
  • La méthode LinePlot::setLineThickness() a été renommée en LinePlot::setThickness()
  • La méthode LinePlot::setLineColor() a été renommée en LinePlot::setColor()
  • La méthode LinePlot::setLineBackgroundColor() a été renommée en LinePlot::setFillColor()
  • La méthode LinePlot::setLineBackgroundGradient() a été renommée en LinePlot::setFillGradient()
  • Drawer::drawRectangle() et Drawer::drawFilledRectangle() prennent maintenant un objet Line en second argument
  • BarPlot::setPadding() prend maintenant des valeurs en pourcentages plutôt qu'en pixels
  • Fusion des méthodes Drawer::drawFilledRectangleColor() et Drawer::drawFilledRectangleGradient()
  • Fusion des méthodes Drawer::drawFilledPolygonColor() et Drawer::drawFilledPolygonGradient()
  • Fusion des méthodes Drawer::drawFilledEllipseColor() et Drawer::drawFilledEllipseGradient()
  • Fusion des classes Paragraph et Label (pas de changements dans l'API)
  • LinePlot::STEP a été supprimé
  • La méthode Plot::setLabelCenter() est devenue obsolète et a été supprimée
  • Les méthodes draw*Triangle*() ont été supprimées
  • Le préfixe draw a été supprimé dans tous les noms de méthodes de la classe Drawer
  • Correction de bugs dans les méthodes Math::isVertical() et Math::isHorizontal()
  • Correction d'un bug dans la classe Legend (l'ombre est dorénavant correctement positionnée)
  • Beaucoup de changements mineurs

Artichow 1.0.2 (beta)

  • Ajout du support pour les camemberts (2D et 3D)
  • L'axe des X est maintenant centré sur zéro par défaut sur les courbes et histogrammes
  • L'ombre du graphique a été déplacée de la class Component vers Graph
  • Ajout de titre sur les Graph
  • Ajout de 4 polices nommées
  • Ajout de 50 couleurs nommées
  • Ajout de l'ombre sur les légendes
  • Ajout de méthode Image::setBackgroundGradient()
  • Ajout de méthodes Label::setCallbackFunction() et Label::hide()
  • Ajout de méthode Legend::hide()
  • Ajout de méthodes Drawer::copyResizeImage(), Drawer::drawArc() et Drawer::drawFilledArcColor()
  • Positionable::setHorizontalAlign() et Positionable::setVerticalAlign() ont été renommés en Positionable::setAlign()
  • L'API pour les ellipses a changé
  • Le titre est maintenant une propriété et non plus une méthode dans Component
  • Suppression d'un vieux code (et correction d'un bug sur les grilles)
  • Correction d'un bug sur les ombres (mauvaise taille)
  • Correction d'un bug qui affectait la position des barres dans les histogrammes
  • Correction d'un bug dans Plot::setYMin() et Plot::setYMax()

Artichow 1.0.1 (alpha)

  • Ajout des images anti-spam

Artichow 1.0.0 (alpha)

  • Version initiale
  • Support des courbes et des histogrammes
 
 
 
  Le contenu de ce site est placé sous license Creative Commons.