A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
graphlib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Workaround bug with some versions of Qt, when the two pairs of
[graphlib.git]
/
DrawingWindow.h
diff --git
a/DrawingWindow.h
b/DrawingWindow.h
index
d1c174b
..
4a9b9df
100644
(file)
--- a/
DrawingWindow.h
+++ b/
DrawingWindow.h
@@
-3,6
+3,7
@@
#include <QBasicTimer>
#include <QColor>
#include <QBasicTimer>
#include <QColor>
+#include <QFont>
#include <QImage>
#include <QMutex>
#include <QPainter>
#include <QImage>
#include <QMutex>
#include <QPainter>
@@
-11,6
+12,7
@@
#include <QWaitCondition>
#include <QWidget>
#include <Qt>
#include <QWaitCondition>
#include <QWidget>
#include <Qt>
+#include <string>
class DrawingThread;
class DrawingThread;
@@
-43,6
+45,13
@@
public:
void setBgColor(const char *name);
void setBgColor(float red, float green, float blue);
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 clearGraph();
void drawPoint(int x, int y);
@@
-51,23
+60,30
@@
public:
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 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 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 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);
bool sync(unsigned long time = ULONG_MAX);
void closeGraph();
bool sync(unsigned long time = ULONG_MAX);
void closeGraph();
- void sleep(unsigned long secs);
- void msleep(unsigned long msecs);
- void usleep(unsigned long usecs);
+
static
void sleep(unsigned long secs);
+
static
void msleep(unsigned long msecs);
+
static
void usleep(unsigned long usecs);
protected:
void closeEvent(QCloseEvent *ev);
void customEvent(QEvent *ev);
protected:
void closeEvent(QCloseEvent *ev);
void customEvent(QEvent *ev);
+ void mousePressEvent(QMouseEvent *ev);
void keyPressEvent(QKeyEvent *ev);
void paintEvent(QPaintEvent *ev);
void showEvent(QShowEvent *ev);
void keyPressEvent(QKeyEvent *ev);
void paintEvent(QPaintEvent *ev);
void showEvent(QShowEvent *ev);
@@
-79,6
+95,8
@@
private:
QBasicTimer timer;
QMutex imageMutex;
QBasicTimer timer;
QMutex imageMutex;
+ QMutex mouseMutex;
+ QWaitCondition mouseCondition;
QMutex syncMutex;
QWaitCondition syncCondition;
bool terminateThread;
QMutex syncMutex;
QWaitCondition syncCondition;
bool terminateThread;
@@
-87,6
+105,9
@@
private:
QImage *image;
QPainter *painter;
QImage *image;
QPainter *painter;
+ QPoint mousePos;
+ Qt::MouseButton mouseButton;
+
bool dirtyFlag;
QRect dirtyRect;
bool dirtyFlag;
QRect dirtyRect;
@@
-94,8
+115,8
@@
private:
void initialize(ThreadFunction fun);
void initialize(ThreadFunction fun);
- void setColor(const QColor
&
color);
- void setBgColor(const QColor
&
color);
+ void setColor(const QColor
&
color);
+ void setBgColor(const QColor
&
color);
QColor getColor();
QColor getBgColor();
QColor getColor();
QColor getBgColor();