Ma lib SDL

La lib basique

La plupart des programmes sur ce site vont utiliser une collection basique de fonctions basées sur la SDL.
Elle a pour but de simplifier l'utilisation d'un affichage 2D où on peut modifier la couleur de chaque pixel.
Comme vous le verrez ça sera très pratique pour créer des représentations graphiques simples pour expliquer la
plupart des algorithmes.
Vous pouvez télécharger cette bibliothèque de base ici mais ce n'est pas obligatoire car elle sera inclue dans
la plupart des programmes de ce site.

Voici une explication des fichiers qu'elle contient.

CSDL.cpp & CSDL.h:
Pour garder le code de mes programmes le plus clair possible je veux éviter d'ajouter trop de tests d'erreur dans
le code principal.
Alors cette classe est une simple interface avec la SDL, où chaque fonction appelle la fonction SDL du même nom et
s'occupe d'afficher les messages d'erreurs qui peuvent se produire.
Néanmoins, ces fonctions ne sont pas vouées à être appelées directement dans nos programmes. Elle seront plutôt
utilisées par les autres modules de la lib (Graphics et System).

Graphics.cpp & Graphics.h:
Ce module contient les fonctions principales de la plupart des programmes que vous verrez:
System.cpp & System.h:
Ces fichiers contiennent les fonctions générales qui ne sont pas en relation avec les graphismes.
Par exemple c'est là qu'on gérera les entrées clavier et souris.
La lib basique contient seulement 3 fonctions:

La lib mise à jour

Pendant que j'écris de nouveaux programmes pour ce site, j'ajouterai au fur et à mesure de nouvelles fonctions à cette lib.
Ici, vous pourrez télécharger une version mise à jour de ma lib qui réunit toutes ces additions.

La lib mise à jour

Changements:
gfx.line(), sys.StartPerfCounter(), sys.StopPerfCounter(), ABS() and SGN() ajoutés dans L'algorithme de ligne de Bresenham
Classe pour les nombres complexes ajoutée dans L'ensemble de Mandelbrot
DEG_TO_RAD() ajouté dans Cercles et ellipses
Evènement SDL_MOUSEMOTION ajouté dans L'ensemble de Julia
Classe Vec2f ajoutée dans Vecteurs
gfx.rect() et gfx.rectFill() ajoutées dans Ségrégation
Classe Vec2f mise à jour dans Vecteurs 2
Classe Vec2f mise à jour dans Transformations basiques
Correction de la division dans Vec2f
Mise à jour de la classe de nombres complexes
Nombres complexes mis à jour et gestion souris ajoutée dans Outil pour Newton
Fonctions perdues dans Vec2f
Optimisations et cercle dans L'algorithme de cercle de Bresenham
circleFill dans Cercles pleins
fonctions de fichier et format Targa dans TrueVision Targa