Passage en v1.0.0 finale (il faut bien, à un moment...).
* Traitement image & commandes
* Ajout de la fonction teinte
* Ajout de la fonction saturation
* Ajout de la fonction luminosité
* Utilitaires
* Ajout de conversions RVB→TSL & TSL→RVB pour les fonctions teinte, saturation et luminosité
* L'image par défaut est désormais générée à partir de teinte et luminosité
* Affichage de la fenêtre
* La taille de l'écran est récupérable
* L'échelle est désormais variable et est calculée selon les dimensions de l'écran
Les commandes ajoutées dans le code sont désormais accessible depuis le programme, grâce à quelques modifications dans les différents arguments et beaucoup de copier/coller.
* Traitement de la commande
* Ajout des arguments valeur (v1), booléen (b1), texte (t1), fichier (f1), entree (e), sortie (s), composante (p)
* Toutes les valeurs (entier, floattant) sont désormais regroupées dans valeur
* Entree et sortie sont des fichiers qui seront lus et écrits (respectivement) sans conditions (pour une utilisation sans REPL)
* Ajout des commandes creer, ouvrir, sauver, trait, rectangle, cercle, disque, retourner, redimensionner, convRVB
* Ajout et modification de quelques codes d'erreur
* Corrections et améliorations diverses
Les fonctions sont accessibles en mode testing mais leur commande n'est pas intégrée.
* Traitement d'image
* Ajout de la fonction trait() (algorithme original), de retourner() et de convRVB()
* Correction des fonctions cercle(), disque() et redimensionner()
* Utilitaires
* Ajout d'un fichier de log (PILG-log.txt), pour éviter de surcharger la console, et fonctionner même en mode RELEASE
* Déplacement de afficherImage() depuis analyserCommande.cpp
* Ajout d'une constante ECHELLE à afficherImage() pour zoomer l'affichage
* Objet Image
* Correction d'une inversion X/Y visible sur des images plus hautes que large
* Mise à jour de TODO.md
* Modification des règles de formattage (encore des lignes pour rien)
Les fonctions marchent mais ne sont pas inclues dans les commandes disponibles, on fera ça avec tout le reste.
* traitementImage.cpp
* La fonction créer est désormais complète
* La fonction sauver est désormais complète
* utilitaires.cpp
* Ajout d'une fonction caraVersEntier() pour convertir manuellement un octet vers un int. Nécessaire car la conversion par type était assez difficile à maitriser
* test.cpp
* Ajout d'une fonction appliquer afin de faire des tests en série
* image.h
* Les unsigned int sont désormais remis en int
Cela a permis d'éviter quelques bugs lors de l'ouverture et de la fermeture de fichiers. Ils pourraient potentiellement être remis, mais ils ne servent pas à grand chose au final à par compliquer la tâche.
* Rajout de utilitaires.cpp aux dépendances du Makefile
Contient les travaux de la séance du 19/05/2014 ainsi que de précédents travaux
* traitementImage.cpp
* Ajout de la détection de l'en-tête et de ses informations dans la fonction ouvrir()
* Ajout de la fonction sauver() (non-fonctionelle)
* Mise en commentaire de la fonction trait() pour le moment
* Correction des fonctions cercle(), disque() et redimensionner() (non-testées)
* Ajout d'un fichier utilitaires.cpp
* Fonction presentation() qui montre un joli ASCII art
* Déplacement de imageDefaut()
* Déplacement de chaineVersXXX()
* testing.cpp
* Ajout d'un dossier tests avec différentes images de test
* Ajout d'instructions pour tester l'ouverture et la sauvegarde de fichiers
Des commandes qui fonctionnent vraiment ainsi quelques conversions entre types de composantes, cela suffit pour passer en alpha !
* Passage au stade d'alpha
Certaines commandes peuvent désormais être executées pleinement. On ne rajoutera pas de fonctionnalités (hormis les commandes) majeures.
* traitementImage.cpp
* Mise en fonction de convBIN et convNIV
* Correction de certaines erreurs
* Travis devrait être content
Note : convNIV et convRVB auront des valeurs par défaut en tant que maximum de composante, les fonctions n'étant pas très utiles à la base rien ne sert de les compliquer
* Enième modification du type de fonctions
* Resteront des int
* Permet de prendre en compte les erreurs qui ne devraient normalement pas arriver
* Passage de certaines lignes oubliées au formatteur
* pivoter()
* Suppression d'une stupidité mathématique (modulo 2π)
(Semble plus rapide, sans raison apparente)
* analyseCommande.cpp
* Les arguments sont désormais correctement analysés
* pivoter, convBIN et convNIV peuvent désormais être appelé
* Mise en fonction de chaineVersEntier()
* Ajout de chaineVersFlottant()
* Ajout de l'analyse de l'argument -angle
* Ajout de l'analyse de l'argument -couleur
* Ajout de messages d'erreurs correspondant à ce qui a été ennoncé précédement
Le programme dispose désormais d'une image par défaut affichée à l'écran. L'analyse de commandes a été travaillé, pour la tester la fonction rectangle fonctionne, sans arguments cependant, ce sera donc un carré prédéfini qui apparaitra sur l'image de test. Diverses améliorations notables cependant.
* Modifié main.cpp
* Ajout d'une Image par défaut (sorte de roue chromatique horizontale) aux proportions d'or
* Modifié analyserCommande.cpp
* Ajout d'une fonction d'affichage d'une Image à l'écran
* Ajout d'un objet Commande pour faciliter le transfert entre les fonctions
* Ajout d'executerCommande()
* Vérifie si les arguments requis sont présents grâce à argumentPresent()
* Execute la fonction correspondante dans traitementImage.cpp
* Ajout de procederCommande() qui gère l'execution d'analyserDecoupe() et d'executerCommande()
* Modifié traitementImage.cpp
* Puisque chaque fonction n'est pas censé échouer, les types de retour sont des void
* rectangle() codé
* Modifié affichageFenetre.cpp
* attendreFenetre() autorise une action sur le clavier
* Ajout de la valeur globale booléenne fenetreOuverte
* Corrigé un éventuel bug pouvant arriver lorsque les dimensions étaient rectangulaires
* Modifié l'objet Image
* Les validateurs sont désormais au nombre de deux, v_pixel() et v_dimensions() pour chaque Image, et sont publics
* Modifié testing.cpp
* Ajout fonctions génératrices d'images de test pour chaque type de composante
* Mis à jour TODO.md
* Amélioration du Makefile
* Modification de .travis.yml pour placer le `make testing` en post-script
Code de la séance du 05/05/14 + Code à la maison
* Différenciation entre flags de production et flags de tests
* Mise à jour de TODO.md
* Abandon de BGI
* Définition partielle de l'analyse de commande
* Ajout de la fonction decoupeCommande()
* Ajout de la fonction boucleDeCommandes()
* Modification de l'appel des fichiers externes
* Ajout d'un mode hors-REPL
* Ajout du code correct pour creer()
* Changement de l'indentation de traitementImage.cpp
* Ajout de .travis.yml
* Modification de l'instruction test en testing (ne fait pas la même chose que les test habituels)
* Ajout d'une image par défaut dans test.cpp
* Corrections d'erreurs qui empêchaient la compilation
Import du code de Geoffrey lors de la séance du 14/02/14, la plupart étant du travail à la maison
* Ajout d'un Makefile
* Seul l'objet image a été découpé
* Instruction test
* Modification de l'objet Image
* Initialisation du tableau dans le constructeur
* Changement de certains int en unsigned int (puisque ne pouvant pas avoir de valeurs négative)
* typeComposantes est maintenant un ensemble de constantes
* Correction de diverses fautes
* Ajout de g_pixelVide pour créer un objet Pixel déjà compatible avec une image
* Modification de test_affichageFenetre.cpp en test.cpp
* Vérifie désormais si l'objet Image est fonctionnel
* Changement de la façon dont la surface est bloquée dans affichageFenetreSDL.cpp
* Passage de tous les fichiers C++ au formatteur (d'où le nombre exageré de lignes modifiées)
* Correction de README.md
* Syntaxe
* Message de mise en garde sur la non-disponibilité d'un fichier binaire
* Mise à jour de TODO.md
* Correction de LICENCE.md
* Respect de l'ordre alphabétique, et de la cohérence vis-à-vis des autres fichiers
* Ajout des dossiers bin/ et obj/ pour éviter de les créer après un clone
Import du code de Geoffrey de la séance du 7/04/14
* Création et ajout de code essentiel dans l'objet Image
* Modification de l'objet Pixel en type
* Implémentation non-fonctionelle d'affichageFenetre pour BGI
* affichageFenetreSDL.cpp est désormais fonctionnel
Note : Vu la possibilité de ne pouvoir afficher qu'une seule fenêtre avec SDL, la POO pour l'objet fenêtre a été supprimée
* Ajout de test_affichageFenetre.cpp pour tester cet ajout
* Suppression de ce qui était relatif à SDL dans main.cpp
* Mise de analyserCommande() dans un autre fichier pour faciliter l'édition
- Ajout des instructions de compilation Windows dans README.md
- Impossibilité d'utiliser la console avec Windows fixée
- Liste immédiate de TODO.md supprimée (utilisation des Issues de
GitHub)
- Rajout de saut de ligne à la fin des fichiers