coordinates are the same for drawLine or drawRect.
--- ven., 03 déc. 2010 09:34:15 +0100
+-- dim. 10 nov. 2013 18:26:00 +0100
+
+ * Contournement d'un bug avec certaines versions de Qt,
+ lorsque les deux paires de coordonnées sont égales pour
+ drawLine ou drawRect.
+
+-- ven. 03 déc. 2010 09:34:15 +0100
* Ajout des méthodes setAntialiasing et setPenWidth.
Merci à Yoann Blein pour sa suggestion.
--- mer., 01 déc. 2010 12:11:36 +0100
+-- mer. 01 déc. 2010 12:11:36 +0100
* Autorise un paramètre de type std::string pour drawText et drawTextBg.
--- lun., 22 nov. 2010 21:27:00 +0100
+-- lun. 22 nov. 2010 21:27:00 +0100
* Ajout des méthodes drawTriangle et fillTriangle.
* Ajout des méthodes getFont et setFont.
* Indique que les chaînes sont encodées en UTF8 pour drawText.
--- mar., 27 avr. 2010 17:30:13 +0200
+-- mar. 27 avr. 2010 17:30:13 +0200
* Rend les méthodes *sleep statiques.
* Recodé en UTF8.
--- mer., 20 jan. 2010 19:20:49 +0100
+-- mer. 20 jan. 2010 19:20:49 +0100
* Ajout des méthodes waitMousePress et mousePressEvent.
--- mar., 27 nov. 2007 09:31:18 +0100
+-- mar. 27 nov. 2007 09:31:18 +0100
* Version initiale.
-Copyright (c) 2007-2010, Arnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
+Copyright (c) 2007-2013, Arnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
All rights reserved.
Redistribution and use in source and binary forms, with or without
/*
- * Copyright (c) 2007-2010, Arnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
+ * Copyright (c) 2007-2013, Arnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* \brief Fenêtre de dessin.
*
* \author Arnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
- * \date 2007-2010
+ * \date 2007-2013
*
* Cette classe décrit un widget Qt permettant d'écrire des
* applications graphiques simples. Pour cela, il faut définir une
*/
void DrawingWindow::drawLine(int x1, int y1, int x2, int y2)
{
- safeLock(imageMutex);
- painter->drawLine(x1, y1, x2, y2);
- dirty(x1, y1, x2, y2);
- safeUnlock(imageMutex);
+ if (x1 == x2 && y1 == y2) {
+ drawPoint(x1, y1);
+ } else {
+ safeLock(imageMutex);
+ painter->drawLine(x1, y1, x2, y2);
+ dirty(x1, y1, x2, y2);
+ safeUnlock(imageMutex);
+ }
}
//! Dessine un rectangle.
*/
void DrawingWindow::drawRect(int x1, int y1, int x2, int y2)
{
- QRect r;
- r.setCoords(x1, y1, x2 - 1, y2 - 1);
- r = r.normalized();
- safeLock(imageMutex);
- painter->drawRect(r);
- r.adjust(0, 0, 1, 1);
- dirty(r);
- safeUnlock(imageMutex);
+ if (x1 == x2 && y1 == y2) {
+ drawPoint(x1, y1);
+ } else {
+ QRect r;
+ r.setCoords(x1, y1, x2 - 1, y2 - 1);
+ r = r.normalized();
+ safeLock(imageMutex);
+ painter->drawRect(r);
+ r.adjust(0, 0, 1, 1);
+ dirty(r);
+ safeUnlock(imageMutex);
+ }
}
//! Dessine un rectangle plein.