+ ThreadFunction fun,
+ int width_ = DEFAULT_WIDTH, int height_ = DEFAULT_HEIGHT);
+
+ ~DrawingWindow();
+
+ const int width;
+ const int height;
+
+ void setColor(unsigned int color);
+ void setColor(const char *name);
+ void setColor(float red, float green, float blue);
+
+ void setBgColor(unsigned int color);
+ 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);
+ void drawLine(int x1, int y1, int x2, int y2);
+ void drawRect(int x1, int y1, int x2, int y2);
+ void fillRect(int x1, int y1, int x2, int y2);
+ void drawCircle(int x, int y, int r);
+ void fillCircle(int x, int y, int r);
+ void drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3);
+ 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) const;
+
+ bool waitMousePress(int &x, int &y, int &button,
+ unsigned long time = ULONG_MAX);
+ bool sync(unsigned long time = ULONG_MAX);
+
+ void closeGraph();
+
+ static void sleep(unsigned long secs);
+ static void msleep(unsigned long msecs);
+ static void usleep(unsigned long usecs);