Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make it publicly available after installation.
[graphlib.git] / DrawingWindow.h
index 5bb8cb5..cf3ff9c 100644 (file)
@@ -12,6 +12,7 @@
 #include <QWaitCondition>
 #include <QWidget>
 #include <Qt>
+#include <string>
 
 class DrawingThread;
 
@@ -44,9 +45,13 @@ public:
     void setBgColor(const char *name);
     void setBgColor(float red, float green, float blue);
 
+    void setPenWidth(int width);
+
     const QFont &getFont() const;
     void setFont(const QFont &font);
 
+    void setAntialiasing(bool state);
+
     void clearGraph();
 
     void drawPoint(int x, int y);
@@ -59,9 +64,11 @@ public:
     void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3);
 
     void drawText(int x, int y, const char *text, int flags = 0);
+    void drawText(int x, int y, const std::string &text, int flags = 0);
     void drawTextBg(int x, int y, const char *text, int flags = 0);
+    void drawTextBg(int x, int y, const std::string &text, int flags = 0);
 
-    unsigned int getPointColor(int x, int y);
+    unsigned int getPointColor(int x, int y) const;
 
     bool waitMousePress(int &x, int &y, int &button,
                         unsigned long time = ULONG_MAX);
@@ -74,6 +81,7 @@ public:
     static void usleep(unsigned long usecs);
 
 protected:
+    //! \cond show_protected
     void closeEvent(QCloseEvent *ev);
     void customEvent(QEvent *ev);
     void mousePressEvent(QMouseEvent *ev);
@@ -81,6 +89,7 @@ protected:
     void paintEvent(QPaintEvent *ev);
     void showEvent(QShowEvent *ev);
     void timerEvent(QTimerEvent *ev);
+    //! \endcond
 
 private:
     //! Intervalle de temps entre deux rendus (ms)
@@ -88,8 +97,8 @@ private:
 
     QBasicTimer timer;
     QMutex imageMutex;
-    QMutex mouseMutex;
-    QWaitCondition mouseCondition;
+    QMutex inputMutex;
+    QWaitCondition inputCondition;
     QMutex syncMutex;
     QWaitCondition syncCondition;
     bool terminateThread;