Globalement, l’interface de programmation ne change pas beaucoup, si ce n’est pour les nouvelles fonctionnalités (d’ailleurs, certaines fonctionnalités seront disponibles dans une version 1.4 à venir, avec une garantie de rétrocompatibilité).
Une grande nouveauté est que QCustomPlot peut maintenant gérer des graphiques où certaines données manquent : le rendu n’interpolera pas les données absentes, les points correspondants ne seront juste pas dessinés.
Le mécanisme de sélection a aussi été largement retravaillé, permettant d’opérer à l’échelle du point, mais aussi de plages de points, dans toutes les dimensions (en rectangle, par exemple).
La gestion des marques sur les axes a été complètement repensée, avec la classe QCPAxisTicker : elle gère tout l’affichage de ces marques (les coordonnées et les étiquettes associées). Auparavant, QCustomPlot laissait très peu de choix : soit les étiquettes étaient numériques (ou des dates, mais avec de nombreuses limitations), soit elles étaient entièrement spécifiées par l’utilisateur. Maintenant, l’API propose une grande flexibilité à ce niveau.
Un système de stockage de données unifié a vu le jour pour les graphiques à une dimension (comme QCPGraph ou QCPBars), avec à la clé une performance largement améliorée (en lecture comme en écriture) et une consommation de mémoire moindre par rapport à l’implémentation précédente (à base d’arbres rouge-noir). Il est accompagné d’une interface commune pour tous ces types de graphiques, QCPPlottableInterface1D.
Source et images : QCustomPlot 2.0.0 released!.
Voir aussi : tous les changements depuis la version 1.3.2.