summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qplatformintegration_qpa.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qplatformintegration_qpa.h')
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.h59
1 files changed, 39 insertions, 20 deletions
diff --git a/src/gui/kernel/qplatformintegration_qpa.h b/src/gui/kernel/qplatformintegration_qpa.h
index 74d2342314..b9e1d02552 100644
--- a/src/gui/kernel/qplatformintegration_qpa.h
+++ b/src/gui/kernel/qplatformintegration_qpa.h
@@ -43,9 +43,8 @@
#define QPLATFORMINTEGRATION_H
#include <QtGui/qwindowdefs.h>
-#include <QtGui/private/qwindowsurface_p.h>
-#include <QtGui/private/qpixmapdata_p.h>
#include <QtGui/qplatformscreen_qpa.h>
+#include <QtGui/qsurfaceformat.h>
QT_BEGIN_HEADER
@@ -54,50 +53,70 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
class QPlatformWindow;
-class QWindowSurface;
-class QBlittable;
-class QWidget;
-class QPlatformEventLoopIntegration;
+class QWindow;
+class QPlatformBackingStore;
class QPlatformFontDatabase;
class QPlatformClipboard;
class QPlatformNativeInterface;
+class QPlatformDrag;
+class QPlatformOpenGLContext;
+class QGuiGLFormat;
+class QAbstractEventDispatcher;
+class QPlatformInputContext;
+class QMenu;
+class QMenuBar;
+class QPlatformMenu;
+class QPlatformMenuBar;
class Q_GUI_EXPORT QPlatformIntegration
{
public:
enum Capability {
ThreadedPixmaps = 1,
- OpenGL = 2
+ OpenGL = 2,
+ ThreadedOpenGL = 3
};
virtual ~QPlatformIntegration() { }
virtual bool hasCapability(Capability cap) const;
-// GraphicsSystem functions
- virtual QPixmapData *createPixmapData(QPixmapData::PixelType type) const = 0;
- virtual QPlatformWindow *createPlatformWindow(QWidget *widget, WId winId = 0) const = 0;
- virtual QWindowSurface *createWindowSurface(QWidget *widget, WId winId) const = 0;
+ virtual QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const;
+ virtual QPlatformWindow *createPlatformWindow(QWindow *window) const = 0;
+ virtual QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const = 0;
+ virtual QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const;
-// Window System functions
- virtual QList<QPlatformScreen *> screens() const = 0;
- virtual void moveToScreen(QWidget *window, int screen) {Q_UNUSED(window); Q_UNUSED(screen);}
- virtual bool isVirtualDesktop() { return false; }
- virtual QPixmap grabWindow(WId window, int x, int y, int width, int height) const;
+// Event dispatcher:
+ virtual QAbstractEventDispatcher *guiThreadEventDispatcher() const = 0;
//Deeper window system integrations
virtual QPlatformFontDatabase *fontDatabase() const;
#ifndef QT_NO_CLIPBOARD
virtual QPlatformClipboard *clipboard() const;
#endif
+#ifndef QT_NO_DRAGANDDROP
+ virtual QPlatformDrag *drag() const;
+#endif
+ virtual QPlatformInputContext *inputContext() const;
-// Experimental in mainthread eventloop integration
-// This should only be used if it is only possible to do window system event processing in
-// the gui thread. All of the functions in QWindowSystemInterface are thread safe.
- virtual QPlatformEventLoopIntegration *createEventLoopIntegration() const;
+ virtual QPlatformMenu *createPlatformMenu(QMenu *menu = 0) const;
+ virtual QPlatformMenuBar *createPlatformMenuBar(QMenuBar *menuBar = 0) const;
// Access native handles. The window handle is already available from Wid;
virtual QPlatformNativeInterface *nativeInterface() const;
+
+ enum StyleHint {
+ CursorFlashTime,
+ KeyboardInputInterval,
+ MouseDoubleClickInterval,
+ StartDragDistance,
+ StartDragTime
+ };
+
+ virtual QVariant styleHint(StyleHint hint) const;
+
+protected:
+ void screenAdded(QPlatformScreen *screen);
};
QT_END_NAMESPACE