From 86bb6428e4aeab4b28f5b88809dd642c7c53fb36 Mon Sep 17 00:00:00 2001 From: giersch Date: Tue, 27 Nov 2007 08:31:18 +0000 Subject: [PATCH] . --- DrawingWindow.cpp | 13 +++++++++++-- chateaux/chateaux.cpp | 10 +++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/DrawingWindow.cpp b/DrawingWindow.cpp index 8dad6f6..0cd3633 100644 --- a/DrawingWindow.cpp +++ b/DrawingWindow.cpp @@ -48,16 +48,25 @@ * 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. * * NB. 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 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 diff --git a/chateaux/chateaux.cpp b/chateaux/chateaux.cpp index 16f10e2..9238389 100644 --- a/chateaux/chateaux.cpp +++ b/chateaux/chateaux.cpp @@ -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) -- 2.20.1