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
Hide protected methods in generated doc.
[graphlib.git]
/
DrawingWindow.h
diff --git
a/DrawingWindow.h
b/DrawingWindow.h
index
17e9d0d
..
cf3ff9c
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;
@@
-22,20
+24,19
@@
public:
static const int DEFAULT_HEIGHT = 480;
DrawingWindow(ThreadFunction fun,
static const int DEFAULT_HEIGHT = 480;
DrawingWindow(ThreadFunction fun,
- int width
= DEFAULT_WIDTH, int height
= DEFAULT_HEIGHT);
+ int width
_ = DEFAULT_WIDTH, int height_
= DEFAULT_HEIGHT);
DrawingWindow(QWidget *parent,
ThreadFunction fun,
DrawingWindow(QWidget *parent,
ThreadFunction fun,
- int width
= DEFAULT_WIDTH, int height
= DEFAULT_HEIGHT);
+ int width
_ = DEFAULT_WIDTH, int height_
= DEFAULT_HEIGHT);
DrawingWindow(QWidget *parent, Qt::WindowFlags flags,
ThreadFunction fun,
DrawingWindow(QWidget *parent, Qt::WindowFlags flags,
ThreadFunction fun,
- int width
= DEFAULT_WIDTH, int height
= DEFAULT_HEIGHT);
+ int width
_ = DEFAULT_WIDTH, int height_
= DEFAULT_HEIGHT);
~DrawingWindow();
const int width;
const int height;
~DrawingWindow();
const int width;
const int height;
- // http://www.w3.org/TR/SVG/types.html#ColorKeywords
void setColor(unsigned int color);
void setColor(const char *name);
void setColor(float red, float green, float blue);
void setColor(unsigned int color);
void setColor(const char *name);
void setColor(float red, float green, float blue);
@@
-44,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);
@@
-52,33
+60,45
@@
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:
protected:
+ //! \cond show_protected
void closeEvent(QCloseEvent *ev);
void customEvent(QEvent *ev);
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 timerEvent(QTimerEvent *ev);
void keyPressEvent(QKeyEvent *ev);
void paintEvent(QPaintEvent *ev);
void showEvent(QShowEvent *ev);
void timerEvent(QTimerEvent *ev);
+ //! \endcond
private:
private:
+ //! Intervalle de temps entre deux rendus (ms)
static const int paintInterval = 33;
QBasicTimer timer;
QMutex imageMutex;
static const int paintInterval = 33;
QBasicTimer timer;
QMutex imageMutex;
+ QMutex inputMutex;
+ QWaitCondition inputCondition;
QMutex syncMutex;
QWaitCondition syncCondition;
bool terminateThread;
QMutex syncMutex;
QWaitCondition syncCondition;
bool terminateThread;
@@
-87,15
+107,18
@@
private:
QImage *image;
QPainter *painter;
QImage *image;
QPainter *painter;
+ QPoint mousePos;
+ Qt::MouseButton mouseButton;
+
bool dirtyFlag;
QRect dirtyRect;
DrawingThread *thread;
bool dirtyFlag;
QRect dirtyRect;
DrawingThread *thread;
- void initialize(ThreadFunction f);
+ void initialize(ThreadFunction f
un
);
- 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();
@@
-108,6
+131,12
@@
private:
void dirty(const QRect &rect);
void mayUpdate();
void dirty(const QRect &rect);
void mayUpdate();
+ void realSync();
+ void realDrawText(int x, int y, const char *text, int flags);
};
#endif // !DRAWING_WINDOW_H
};
#endif // !DRAWING_WINDOW_H
+
+// Local variables:
+// mode: c++
+// End: