Commit graph

30 commits

Author SHA1 Message Date
Geoffrey Frogeye 82a60fccf9 [v1.0.0] Teinte, Saturation, Luminosité
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
2014-05-22 20:14:36 +02:00
Geoffrey Frogeye 386ff0b51b Mise en utilisation des nouvelles commandes
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
2014-05-20 22:15:37 +02:00
Geoffrey Frogeye a618bdaf42 Fonctions trait(), retourner(), convRVB(), cercle(), disque(), redimensionner
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)
2014-05-20 20:00:32 +02:00
Geoffrey Frogeye 077ef18a41 Finalisation de ouvrir() et sauver()
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
2014-05-19 22:43:59 +02:00
Geoffrey Frogeye 68b61139b8 Avancement sur l'ouverture et la fermeture de fichiers (demi-commit)
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
2014-05-19 17:37:00 +02:00
LuKiLL fbf5df1888 FAIL DE COMMIT 2014-05-19 11:41:42 +02:00
LuKiLL f06c222fa7 Update 3/4 séance 19/05/2014
Code de certaines fonctions.
2014-05-19 11:40:08 +02:00
Geoffrey Frogeye 1f5f2f9c91 [ALPHA] Fin du travail du 12/05/14
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
2014-05-13 22:23:45 +02:00
Geoffrey Frogeye 425af05430 Update fin séance 12/05/2014
* Commencement des travaux sur l'analyse des arguments
* Ajout d'un Makefile pour Windows fonctionnel
On verra pour la correction du code plus tard.
2014-05-12 12:01:56 +02:00
LuKiLL 9bbdb6b3ee Update 3/4 séance 12/05/2014
Ajout des fonctions suivantes :
- Cercle ;
- Disque ;
- Conversion Binaire ;
- Conversion Niveaux de gris.
2014-05-12 11:33:32 +02:00
Geoffrey Frogeye 2af24e2cc8 Ajout de la fonction pivoter
* Ajout de la fonction pivoter()
* Ajout de Image::g_dupplicata()
* Corrections diverses, au Makefile notamment
2014-05-10 12:13:06 +02:00
Geoffrey Frogeye 43550b265f Avancement dans l'éxecution de commandes
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
2014-05-08 19:44:09 +02:00
Geoffrey Frogeye 2e5cbafa3c Analyse syntaxique de la commande
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
2014-05-05 21:00:08 +02:00
LuKiLL c65e17bc7b Update fin-séance 05/05/14
Ajout de la fonction redimensionner.
2014-05-05 12:01:42 +02:00
LuKiLL 1bdea35e4f Update 3/4-séance 05/05/2014
Ajout des fonctions copier, import, trait et rectangle.
MàJ de la liste des fonctions.
2014-05-05 11:29:04 +02:00
Geoffrey Frogeye f237beee15 Instructions pour Travis CI
* 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
2014-05-03 19:57:33 +02:00
Geoffrey Frogeye 22bcfb2b2f Mise en fonction de l'objet Image
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
2014-04-28 15:01:14 +02:00
LuKiLL f5a82baaf6 Definition des algos de traitement d'image
Import du code de Lucas des séances du 14/04 et du 07/04.
2014-04-14 12:02:13 +02:00
Geoffrey Frogeye 015aa04a56 Codage de l'objet Image et test BGI
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
2014-04-14 00:16:49 +02:00
Geoffrey Frogeye 9ee9a54415 Merge remote-tracking branch 'origin/master' 2014-03-31 19:15:12 +02:00
Geoffrey Frogeye 7786bb4454 Mise en fonction de l'objet Fenetre via SDL
* 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
2014-03-31 19:12:27 +02:00
LuKiLL 8dbf32af67 Fixé une erreur dans le TODO.md
Fix ! https://github.com/GeoffreyFrogeye/PILG/issues/1
2014-03-31 10:23:37 +02:00
Geoffrey Frogeye a53b1b4c84 Ajout des instructions de compilation Linux
* Ajout des instructions de compilation Linux dans README.md
* Correction de quelques fautes dans README.md
2014-03-27 19:20:34 +01:00
Geoffrey Frogeye 502802c2d8 Ajout des instructions de compilation Windows
- 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
2014-03-27 19:03:14 +01:00
Geoffrey Frogeye f5b32a9a4e Légère réorganisation
Mise des fichiers de programmation dans /src
Petite modification de TODO.md
2014-03-24 18:48:08 +01:00
Geoffrey Frogeye fce44de4b1 Ajout de TODO.md
Une liste de chose à faire
2014-03-24 18:34:32 +01:00
Geoffrey Frogeye 75a395734e Ajout de LICENCE.md 2014-03-24 18:20:53 +01:00
Geoffrey Frogeye 33fccd02dd Ajout de README.md
Tant de texte ne servira pas à grand chose, mais c'est fun !
2014-03-24 18:12:15 +01:00
Geoffrey Frogeye 7ddc40d626 Import du code lors de la séance du 24/03/2014
Qui étaient censés être inclus dans le précédent commit sauf que j'avais oublié de faire *git add*
2014-03-24 13:46:08 +01:00
Geoffrey Frogeye b86557fbf7 Premier commit
Reprend le code crée pendant la séance du 24/03/2014
Pas de changements effectués depuis
2014-03-24 13:41:38 +01:00