summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2011-06-21 17:00:25 +0200
committerSamuel Rødal <samuel.rodal@nokia.com>2011-06-22 09:41:10 +0200
commit18c1d671371ef8d94506a9a6dd6ee3680ef80fd3 (patch)
treef70ea0d730e39b7081b184778180eb616a670773 /src/gui
parentdc40eaba1f2fa5db9e4bb56f3e624cd10fd6dc6b (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.cpp23
-rw-r--r--src/gui/kernel/qevent.h11
-rw-r--r--src/gui/kernel/qevent_p.h12
-rw-r--r--src/gui/kernel/qwindow.cpp8
-rw-r--r--src/gui/kernel/qwindow.h2
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 &region() 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 *);