diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-06-21 17:00:25 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-06-22 09:41:10 +0200 |
commit | 18c1d671371ef8d94506a9a6dd6ee3680ef80fd3 (patch) | |
tree | f70ea0d730e39b7081b184778180eb616a670773 /src/gui | |
parent | dc40eaba1f2fa5db9e4bb56f3e624cd10fd6dc6b (diff) |
Made QExposeEvent public and added exposeEvent() in QWindow.
This is needed for applications that use QBackingStore directly.
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/qevent.cpp | 23 | ||||
-rw-r--r-- | src/gui/kernel/qevent.h | 11 | ||||
-rw-r--r-- | src/gui/kernel/qevent_p.h | 12 | ||||
-rw-r--r-- | src/gui/kernel/qwindow.cpp | 8 | ||||
-rw-r--r-- | src/gui/kernel/qwindow.h | 2 |
5 files changed, 44 insertions, 12 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index f5a5c2826a..988d70c6ce 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -1145,6 +1145,29 @@ QMoveEvent::~QMoveEvent() Returns the old position of the widget. */ +/*! + \class QExposeEvent + \brief The QExposeEvent class contains event parameters for expose events. + + \ingroup events + + Expose events are sent to widgets when an area of the widget is invalidated + and needs to be flushed from the backing store. + + The event handler QWindow::exposeEvent() receives expose events. +*/ +QExposeEvent::QExposeEvent(const QRegion &exposeRegion) + : QEvent(Expose) + , rgn(exposeRegion) +{ +} + +/*! + \internal +*/ +QExposeEvent::~QExposeEvent() +{ +} /*! \class QResizeEvent diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index fc9e8118fd..809a3d6371 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -300,6 +300,17 @@ protected: friend class QCoreApplication; }; +class Q_GUI_EXPORT QExposeEvent : public QEvent +{ +public: + QExposeEvent(const QRegion &rgn); + ~QExposeEvent(); + + inline const QRegion ®ion() const { return rgn; } + +protected: + QRegion rgn; +}; class Q_GUI_EXPORT QResizeEvent : public QEvent { diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h index a53b2c537a..731cfc97f2 100644 --- a/src/gui/kernel/qevent_p.h +++ b/src/gui/kernel/qevent_p.h @@ -167,18 +167,6 @@ public: QScrollEvent::ScrollState state; }; -class QExposeEvent : public QEvent -{ -public: - inline QExposeEvent(const QRegion &rgn) - : QEvent(Expose) - , region(rgn) - { - } - - QRegion region; -}; - QT_END_NAMESPACE #endif // QEVENT_P_H diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index f56962ddb4..d060adf89e 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -454,6 +454,10 @@ bool QWindow::close() return true; } +void QWindow::exposeEvent(QExposeEvent *) +{ +} + void QWindow::resizeEvent(QResizeEvent *) { } @@ -510,6 +514,10 @@ bool QWindow::event(QEvent *event) destroy(); break; + case QEvent::Expose: + exposeEvent(static_cast<QExposeEvent *>(event)); + break; + default: return QObject::event(event); } diff --git a/src/gui/kernel/qwindow.h b/src/gui/kernel/qwindow.h index af882b5451..20b6074274 100644 --- a/src/gui/kernel/qwindow.h +++ b/src/gui/kernel/qwindow.h @@ -57,6 +57,7 @@ QT_MODULE(Gui) class QWindowPrivate; +class QExposeEvent; class QResizeEvent; class QShowEvent; class QHideEvent; @@ -179,6 +180,7 @@ Q_SIGNALS: void backBufferReady(); protected: + virtual void exposeEvent(QExposeEvent *); virtual void resizeEvent(QResizeEvent *); virtual void showEvent(QShowEvent *); |