summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qdnd_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qdnd_p.h')
-rw-r--r--src/gui/kernel/qdnd_p.h42
1 files changed, 11 insertions, 31 deletions
diff --git a/src/gui/kernel/qdnd_p.h b/src/gui/kernel/qdnd_p.h
index 2a81de5c7f..a94d439811 100644
--- a/src/gui/kernel/qdnd_p.h
+++ b/src/gui/kernel/qdnd_p.h
@@ -62,7 +62,7 @@
#include "QtGui/qwindow.h"
#include "QtCore/qpoint.h"
#include "private/qobject_p.h"
-
+#include "QtGui/qbackingstore.h"
QT_BEGIN_NAMESPACE
class QEventLoop;
@@ -109,41 +109,21 @@ public:
Qt::DropAction defaultDropAction;
};
-class QShapedPixmapWindow : public QWindow {
- QPixmap pixmap;
+class QShapedPixmapWindow : public QWindow
+{
public:
- QShapedPixmapWindow() :
- QWindow()
- {
- setWindowFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint);
- // ### Should we set the surface type to raster?
- // ### FIXME
-// setAttribute(Qt::WA_TransparentForMouseEvents);
- }
+ QShapedPixmapWindow();
- void move(const QPoint &p) {
- QRect g = geometry();
- g.setTopLeft(p);
- setGeometry(g);
- }
- void setPixmap(QPixmap pm)
+ void exposeEvent(QExposeEvent *)
{
- pixmap = pm;
- // ###
-// if (!pixmap.mask().isNull()) {
-// setMask(pixmap.mask());
-// } else {
-// clearMask();
-// }
- setGeometry(QRect(geometry().topLeft(), pm.size()));
+ render();
}
- // ### Get it painted again!
-// void paintEvent(QPaintEvent*)
-// {
-// QPainter p(this);
-// p.drawPixmap(0,0,pixmap);
-// }
+ void render();
+
+ QBackingStore *backingStore;
+ QPixmap pixmap;
+ QPoint hotSpot;
};