Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove multi-pass.
[graphlib.git] / DrawingWindow.cpp
index 6fad2c0..ad74339 100644 (file)
@@ -142,7 +142,7 @@ public:
     { }
 };
 
-//! Demande de tracé de texte. 
+//! Demande de tracé de texte.
 class DrawTextEvent: public QEvent {
 public:
     const int x;
@@ -345,6 +345,19 @@ void DrawingWindow::setBgColor(float red, float green, float blue)
     setBgColor(QColor::fromRgbF(red, green, blue));
 }
 
+//! Change l'épaisseur du pinceau
+/*!
+ * Le pinceau à une épaisseur de 1 par défaut.
+ *
+ * \param width         épaisseur du pinceau
+ */
+void DrawingWindow::setPenWidth(int width)
+{
+    QPen pen(painter->pen());
+    pen.setWidth(width);
+    painter->setPen(pen);
+}
+
 //! Retourne la fonte courante utilisée pour dessiner du texte.
 /*!
  * \see QFont, setFont
@@ -363,6 +376,20 @@ void DrawingWindow::setFont(const QFont &font)
     painter->setFont(font);
 }
 
+//! Active ou non l'antialiasing.
+/*!
+ * Permet de lisser le dessin.
+ * Fonctionnalité désactivée par défaut.
+ *
+ * \param state         état de l'antialiasing
+ *
+ * \bug                 expérimental
+ */
+void DrawingWindow::setAntialiasing(bool state)
+{
+    painter->setRenderHint(QPainter::Antialiasing, state);
+}
+
 //! Efface la fenêtre.
 /*!
  * La fenêtre est effacée avec la couleur de fond courante.
@@ -545,6 +572,7 @@ void DrawingWindow::fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3)
  * \param text          texte à écrire
  * \param flags         paramètres d'alignement
  *
+ * \see drawText(int, int, const std::string &, int)
  * \see drawTextBg, setColor
  * \see QPainter::drawText
  */
@@ -558,6 +586,15 @@ void DrawingWindow::drawText(int x, int y, const char *text, int flags)
     safeUnlock(syncMutex);
 }
 
+//! Écrit du texte.
+/*!
+ * \see drawText(int, int, const char *, int)
+ */
+void DrawingWindow::drawText(int x, int y, const std::string &text, int flags)
+{
+    drawText(x, y, text.c_str(), flags);
+}
+
 //! Écrit du texte sur fond coloré.
 /*!
  * Écrit du texte comme drawText, mais l'arrière-plan est coloré avec
@@ -567,6 +604,7 @@ void DrawingWindow::drawText(int x, int y, const char *text, int flags)
  * \param text          texte à écrire
  * \param flags         paramètres d'alignement
  *
+ * \see drawTextBg(int, int, const std::string &, int)
  * \see drawText, setColor, setColorBg
  */
 void DrawingWindow::drawTextBg(int x, int y, const char *text, int flags)
@@ -576,6 +614,15 @@ void DrawingWindow::drawTextBg(int x, int y, const char *text, int flags)
     painter->setBackgroundMode(Qt::TransparentMode);
 }
 
+//! Écrit du texte sur fond coloré.
+/*!
+ * \see drawTextBg(int, int, const char *, int)
+ */
+void DrawingWindow::drawTextBg(int x, int y, const std::string &text, int flags)
+{
+    drawTextBg(x, y, text.c_str(), flags);
+}
+
 //! Retourne la couleur d'un pixel.
 /*!
  * Retourne la couleur du pixel de coordonnées (x, y).  La valeur
@@ -587,7 +634,7 @@ void DrawingWindow::drawTextBg(int x, int y, const char *text, int flags)
  *
  * \see setColor(unsigned int), setBgColor(unsigned int)
  */
-unsigned int DrawingWindow::getPointColor(int x, int y)
+unsigned int DrawingWindow::getPointColor(int x, int y) const
 {
     return image->pixel(x, y);
 }