Fichier Classe(s) définie(s) Description
Point2D.java Point2D Des classes de nature mathématique / géométrique
Vector2D.java Vector2D
AlignedRectangle2D.java AlignedRectangle2D
Point2DUtil.java Point2DUtil Une classe contenant des méthodes pour tester si un point est à l'intérieur d'un polygone (utile pour réaliser des effets de surbrilliance, et pour réaliser la sélection en lasso), pour calculer l'enveloppe convexe d'un ensemble de points (utile pour dessiner des "bulles" autour d'un ou plusieurs objets), et pour transformer un ensemble de points selon le déplacement d'un ou deux doigts (utile dans les interfaces multitactiles).
GraphicsWrapper.java GraphicsWrapper Une classe qui facilite le dessin en 2D. Il y a deux intérêts à utiliser cette classe: d'abord, elle facilite la gestion de zoom et pan dans une vue 2D (transformation entre les systèmes de coordonnées "pixels" et "espace monde" au moment du dessin et au moment de la réception d'événements de souris). Deuxièmement, l'implementation qui vous est fournie utilise Java2D/Graphics2D pour dessiner, mais on peut faciliment changer cette implementation pour une autre version qui utilise OpenGL pour dessiner, ce qui permet de dessiner beaucoup d'objets rapidement. (Demandez au prof pour une copie de la version OpenGL de GraphicsWrapper, si cela vous intéresse.)
Constant.java Constant Quelques constantes
CustomWidget.java CustomWidget Des classes servant à définir des widgets contextuels
ColorPaletteWidget.java ColorPaletteWidget


    

RadialMenuWidget.java RadialMenuWidget


    

ControlMenuWidget.java ControlMenuWidget


    

SimplePaint.java MyShape, MyCanvas, SimplePaint Les classes principales et le point d'entrée main()