Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
.
authorgiersch <giersch>
Tue, 27 Nov 2007 08:31:18 +0000 (08:31 +0000)
committergiersch <giersch>
Tue, 27 Nov 2007 08:31:18 +0000 (08:31 +0000)
DrawingWindow.cpp
chateaux/chateaux.cpp

index 8dad6f6..0cd3633 100644 (file)
  * La fonction devra ensuite être passée en paramètre pour les
  * constructeurs de la classe, ainsi que les dimension requises pour
  * la fenêtre graphique.  Le programme est ensuite compilé comme
- * n'importe programme Qt.
+ * n'importe quel programme Qt.
  *
  * Concrètement, la fonction sera exécutée dans un nouveau thread,
  * tandis que le thread principal s'occupera de la gestion des
- * évènements et du rendu.
+ * évènements et du rendu dans la fenêtre.
  *
  * <b>NB.</b> Pour toutes les méthodes de dessin, le coin en haut à gauche
  * de la fenêtre a les coordonnées (0, 0).  Le coin en bas à droite de
  * la fenêtre a les coordonnées (largeur - 1, hauteur - 1), si la
  * fenêtre est de dimension largeur × hauteur.
+ *
+ * Un appui sur la touche <Esc> provoque la fermeture de la fenêtre.
+ * Comme pour la plupart des applications, il est également possible
+ * de fermer la fenêtre via le gestionnaire de fenêtres.
+ *
+ * Il est possible, dans une application, d'ouvrir plusieurs fenêtres,
+ * avec des fonctions de dessin éventuellement différentes.
+ * L'application se terminera normalement lorsque la dernière fenêtre
+ * sera fermée.
  */
 
 /*! \example hello.cpp
index 16f10e2..9238389 100644 (file)
@@ -61,23 +61,23 @@ float deg2rad(float deg)
 // conversion coordonnées réelles -> coordonnées fenêtre
 int rtowX(const DrawingWindow& w, float rx)
 {
-    return (int )roundf(w.width * (rx - rXMin) / (rXMax - rXMin + 1.0));
+    return (int )roundf((w.width - 1) * (rx - rXMin) / (rXMax - rXMin));
 }
 
 int rtowY(const DrawingWindow& w, float ry)
 {
-    return (int )roundf(w.height * (rYMax - ry) / (rYMax - rYMin + 1.0));
+    return (int )roundf((w.height - 1) * (rYMax - ry) / (rYMax - rYMin));
 }
 
-// conversion coordonnées réelles -> coordonnées fenêtre
+// conversion coordonnées fenêtre -> coordonnées réelles
 float wtorX(const DrawingWindow& w, int wx)
 {
-    return (rXMax - rXMin + 1.0) * wx / w.width + rXMin;
+    return (rXMax - rXMin) * wx / (w.width - 1) + rXMin;
 }
 
 float wtorY(const DrawingWindow& w, int wy)
 {
-    return -(rYMax - rYMin + 1.0) * wy / w.height - rYMax;
+    return -(rYMax - rYMin) * wy / (w.height - 1) - rYMax;
 }
 
 float hauteurMontagne(float largeur, float hauteur, float x)