diff options
author | Bjoern Breitmeyer <bjoern.breitmeyer@kdab.com> | 2012-05-10 14:43:26 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-10 22:56:25 +0200 |
commit | 9b9895de8da08776e586f20807d4698e5d9e5680 (patch) | |
tree | c76d3316e75c93a6c993f0fea148f496cd3b291a /src/plugins/platforms/windows/qwindowsintegration.cpp | |
parent | 4e8c20e97e17881e2de20640f81c3998f024287d (diff) |
Fix for windows platform plugin to work with WINCE.
Made opengl optional.
Made Clipboard and Accessability optional.
Moved internal mime data into its on source file,
was implemented in the clipboard source
which is just strange.
Change-Id: I6ddf0c656533bd45e22e24492fc2254d15b7822f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsintegration.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsintegration.cpp | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/src/plugins/platforms/windows/qwindowsintegration.cpp b/src/plugins/platforms/windows/qwindowsintegration.cpp index 255cf1454c..d46c138c96 100644 --- a/src/plugins/platforms/windows/qwindowsintegration.cpp +++ b/src/plugins/platforms/windows/qwindowsintegration.cpp @@ -43,20 +43,24 @@ #include "qwindowsbackingstore.h" #include "qwindowswindow.h" #include "qwindowscontext.h" -#include "qwindowsglcontext.h" +#ifndef QT_NO_OPENGL +# include "qwindowsglcontext.h" +#endif #include "qwindowsscreen.h" #include "qwindowstheme.h" #include "qwindowsservices.h" #ifndef QT_NO_FREETYPE -#include "qwindowsfontdatabase_ft.h" +# include "qwindowsfontdatabase_ft.h" #endif #include "qwindowsfontdatabase.h" #include "qwindowsguieventdispatcher.h" -#include "qwindowsclipboard.h" +#ifndef QT_NO_CLIPBOARD +# include "qwindowsclipboard.h" +#endif #include "qwindowsdrag.h" #include "qwindowsinputcontext.h" #include "qwindowskeymapper.h" -#ifndef QT_NO_ACCESSIBILITY +# ifndef QT_NO_ACCESSIBILITY #include "accessible/qwindowsaccessibility.h" #endif @@ -89,7 +93,9 @@ class QWindowsNativeInterface : public QPlatformNativeInterface { Q_OBJECT public: +#ifndef QT_NO_OPENGL virtual void *nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context); +#endif virtual void *nativeResourceForWindow(const QByteArray &resource, QWindow *window); virtual void *nativeResourceForBackingStore(const QByteArray &resource, QBackingStore *bs); virtual EventFilter setEventFilter(const QByteArray &eventType, EventFilter filter) @@ -134,6 +140,7 @@ void *QWindowsNativeInterface::nativeResourceForBackingStore(const QByteArray &r return 0; } +#ifndef QT_NO_OPENGL void *QWindowsNativeInterface::nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) { if (!context || !context->handle()) { @@ -147,6 +154,7 @@ void *QWindowsNativeInterface::nativeResourceForContext(const QByteArray &resour qWarning("%s: Invalid key '%s' requested.", __FUNCTION__, resource.constData()); return 0; } +#endif // !QT_NO_OPENGL /*! \brief Creates a non-visible window handle for filtering messages. @@ -171,7 +179,9 @@ void *QWindowsNativeInterface::createMessageWindow(const QString &classNameTempl struct QWindowsIntegrationPrivate { +#ifndef QT_NO_OPENGL typedef QSharedPointer<QOpenGLStaticContext> QOpenGLStaticContextPtr; +#endif QWindowsIntegrationPrivate(); ~QWindowsIntegrationPrivate(); @@ -179,10 +189,14 @@ struct QWindowsIntegrationPrivate QWindowsContext m_context; QPlatformFontDatabase *m_fontDatabase; QWindowsNativeInterface m_nativeInterface; +#ifndef QT_NO_CLIPBOARD QWindowsClipboard m_clipboard; +#endif QWindowsDrag m_drag; QWindowsGuiEventDispatcher *m_eventDispatcher; +#ifndef QT_NO_OPENGL QOpenGLStaticContextPtr m_staticOpenGLContext; +#endif QWindowsInputContext m_inputContext; #ifndef QT_NO_ACCESSIBILITY QWindowsAccessibility m_accessibility; @@ -205,7 +219,9 @@ QWindowsIntegration::QWindowsIntegration() : d(new QWindowsIntegrationPrivate) { QGuiApplicationPrivate::instance()->setEventDispatcher(d->m_eventDispatcher); +#ifndef QT_NO_CLIPBOARD d->m_clipboard.registerViewer(); +#endif d->m_context.screenManager().handleScreenChanges(); } @@ -220,10 +236,12 @@ bool QWindowsIntegration::hasCapability(QPlatformIntegration::Capability cap) co switch (cap) { case ThreadedPixmaps: return true; +#ifndef QT_NO_OPENGL case OpenGL: return true; case ThreadedOpenGL: return true; +#endif default: return QPlatformIntegration::hasCapability(cap); } @@ -267,6 +285,7 @@ QPlatformBackingStore *QWindowsIntegration::createPlatformBackingStore(QWindow * return new QWindowsBackingStore(window); } +#ifndef QT_NO_OPENGL QPlatformOpenGLContext *QWindowsIntegration::createPlatformOpenGLContext(QOpenGLContext *context) const { @@ -280,6 +299,7 @@ QPlatformOpenGLContext return result.take(); return 0; } +#endif // !QT_NO_OPENGL /* Workaround for QTBUG-24205: In 'Auto', pick the FreeType engine for * QML2 applications. */ @@ -319,6 +339,7 @@ QPlatformFontDatabase *QWindowsIntegration::fontDatabase() const return d->m_fontDatabase; } +#ifdef SPI_GETKEYBOARDSPEED static inline int keyBoardAutoRepeatRateMS() { DWORD time = 0; @@ -326,6 +347,7 @@ static inline int keyBoardAutoRepeatRateMS() return time ? 1000 / static_cast<int>(time) : 500; return 30; } +#endif QVariant QWindowsIntegration::styleHint(QPlatformIntegration::StyleHint hint) const { @@ -334,8 +356,10 @@ QVariant QWindowsIntegration::styleHint(QPlatformIntegration::StyleHint hint) co if (const unsigned timeMS = GetCaretBlinkTime()) return QVariant(int(timeMS)); break; +#ifdef SPI_GETKEYBOARDSPEED case KeyboardAutoRepeatRate: return QVariant(keyBoardAutoRepeatRateMS()); +#endif case QPlatformIntegration::StartDragTime: case QPlatformIntegration::StartDragDistance: case QPlatformIntegration::MouseDoubleClickInterval: @@ -358,10 +382,12 @@ QPlatformNativeInterface *QWindowsIntegration::nativeInterface() const return &d->m_nativeInterface; } +#ifndef QT_NO_CLIPBOARD QPlatformClipboard * QWindowsIntegration::clipboard() const { return &d->m_clipboard; } +#endif // !QT_NO_CLIPBOARD QPlatformDrag *QWindowsIntegration::drag() const { |