summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/src/qandroidplatformintegration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/android/src/qandroidplatformintegration.cpp')
-rw-r--r--src/plugins/platforms/android/src/qandroidplatformintegration.cpp343
1 files changed, 0 insertions, 343 deletions
diff --git a/src/plugins/platforms/android/src/qandroidplatformintegration.cpp b/src/plugins/platforms/android/src/qandroidplatformintegration.cpp
deleted file mode 100644
index ae3e257d3c..0000000000
--- a/src/plugins/platforms/android/src/qandroidplatformintegration.cpp
+++ /dev/null
@@ -1,343 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 BogDan Vatra <bogdan@kde.org>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qandroidplatformintegration.h"
-#include "qabstracteventdispatcher.h"
-#include "androidjnimain.h"
-#include <QtGui/qguiapplication.h>
-#include <qpa/qwindowsysteminterface.h>
-#include <QThread>
-#include <qpa/qplatformwindow.h>
-#include "qandroidplatformservices.h"
-#include "qandroidplatformfontdatabase.h"
-#include "qandroidplatformclipboard.h"
-#include "qandroidplatformaccessibility.h"
-#include <QtPlatformSupport/private/qgenericunixeventdispatcher_p.h>
-
-#ifndef ANDROID_PLUGIN_OPENGL
-# include "qandroidplatformscreen.h"
-# include "qandroidplatformwindow.h"
-# include <QtPlatformSupport/private/qfbbackingstore_p.h>
-#else
-# include "qeglfswindow.h"
-# include "androidjnimenu.h"
-# include "qandroidopenglcontext.h"
-# include "qandroidopenglplatformwindow.h"
-# include "qandroidopenglplatformscreen.h"
-# include "qeglfshooks.h"
-# include <QtGui/qopenglcontext.h>
-#endif
-
-#include "qandroidplatformtheme.h"
-#include "qandroidsystemlocale.h"
-
-QT_BEGIN_NAMESPACE
-
-int QAndroidPlatformIntegration::m_defaultGeometryWidth = 320;
-int QAndroidPlatformIntegration::m_defaultGeometryHeight = 455;
-int QAndroidPlatformIntegration::m_defaultPhysicalSizeWidth = 50;
-int QAndroidPlatformIntegration::m_defaultPhysicalSizeHeight = 71;
-
-Qt::ScreenOrientation QAndroidPlatformIntegration::m_orientation = Qt::PrimaryOrientation;
-Qt::ScreenOrientation QAndroidPlatformIntegration::m_nativeOrientation = Qt::PrimaryOrientation;
-
-void *QAndroidPlatformNativeInterface::nativeResourceForIntegration(const QByteArray &resource)
-{
- if (resource=="JavaVM")
- return QtAndroid::javaVM();
- if (resource == "QtActivity")
- return QtAndroid::activity();
- if (resource == "AndroidStylePalettes")
- return &m_palettes;
- if (resource == "AndroidStyleFonts")
- return &m_fonts;
- return 0;
-}
-
-QAndroidPlatformIntegration::QAndroidPlatformIntegration(const QStringList &paramList)
- : m_touchDevice(0)
-#ifndef QT_NO_ACCESSIBILITY
- , m_accessibility(0)
-#endif
-{
- Q_UNUSED(paramList);
-
- m_androidPlatformNativeInterface = new QAndroidPlatformNativeInterface();
-
-#ifndef ANDROID_PLUGIN_OPENGL
- m_primaryScreen = new QAndroidPlatformScreen();
- screenAdded(m_primaryScreen);
- m_primaryScreen->setPhysicalSize(QSize(m_defaultPhysicalSizeWidth, m_defaultPhysicalSizeHeight));
- m_primaryScreen->setGeometry(QRect(0, 0, m_defaultGeometryWidth, m_defaultGeometryHeight));
-#endif
-
- m_mainThread = QThread::currentThread();
- QtAndroid::setAndroidPlatformIntegration(this);
-
- m_androidFDB = new QAndroidPlatformFontDatabase();
- m_androidPlatformServices = new QAndroidPlatformServices();
- m_androidPlatformClipboard = new QAndroidPlatformClipboard();
-
- m_androidSystemLocale = new QAndroidSystemLocale;
-}
-
-bool QAndroidPlatformIntegration::hasCapability(Capability cap) const
-{
- switch (cap) {
- case ThreadedPixmaps: return true;
- case ApplicationState: return true;
- case NativeWidgets: return false;
- default:
-#ifndef ANDROID_PLUGIN_OPENGL
- return QPlatformIntegration::hasCapability(cap);
-#else
- return QEglFSIntegration::hasCapability(cap);
-#endif
- }
-}
-
-#ifndef ANDROID_PLUGIN_OPENGL
-QPlatformBackingStore *QAndroidPlatformIntegration::createPlatformBackingStore(QWindow *window) const
-{
- return new QFbBackingStore(window);
-}
-
-QPlatformWindow *QAndroidPlatformIntegration::createPlatformWindow(QWindow *window) const
-{
- QAndroidPlatformWindow *platformWindow = new QAndroidPlatformWindow(window);
- platformWindow->setWindowState(window->windowState());
-
- return platformWindow;
-}
-
-QAbstractEventDispatcher *QAndroidPlatformIntegration::createEventDispatcher() const
-{
- return createUnixEventDispatcher();
-}
-#else // !ANDROID_PLUGIN_OPENGL
-QPlatformWindow *QAndroidPlatformIntegration::createPlatformWindow(QWindow *window) const
-{
- QAndroidOpenGLPlatformWindow *platformWindow = new QAndroidOpenGLPlatformWindow(window);
- platformWindow->create();
- platformWindow->requestActivateWindow();
- platformWindow->setWindowState(window->windowState());
- QtAndroidMenu::setActiveTopLevelWindow(window);
-
- return platformWindow;
-}
-
-void QAndroidPlatformIntegration::invalidateNativeSurface()
-{
- foreach (QWindow *w, QGuiApplication::topLevelWindows()) {
- QAndroidOpenGLPlatformWindow *window =
- static_cast<QAndroidOpenGLPlatformWindow *>(w->handle());
- if (window != 0)
- window->invalidateSurface();
- }
-}
-
-void QAndroidPlatformIntegration::surfaceChanged()
-{
- QAndroidOpenGLPlatformWindow::updateStaticNativeWindow();
- foreach (QWindow *w, QGuiApplication::topLevelWindows()) {
- QAndroidOpenGLPlatformWindow *window =
- static_cast<QAndroidOpenGLPlatformWindow *>(w->handle());
- if (window != 0)
- window->resetSurface();
- }
-}
-
-QPlatformOpenGLContext *QAndroidPlatformIntegration::createPlatformOpenGLContext(QOpenGLContext *context) const
-{
- return new QAndroidOpenGLContext(this,
- QEglFSHooks::hooks()->surfaceFormatFor(context->format()),
- context->shareHandle(),
- display());
-}
-#endif // ANDROID_PLUGIN_OPENGL
-
-QAndroidPlatformIntegration::~QAndroidPlatformIntegration()
-{
- delete m_androidPlatformNativeInterface;
- delete m_androidFDB;
- delete m_androidSystemLocale;
- QtAndroid::setAndroidPlatformIntegration(NULL);
-}
-QPlatformFontDatabase *QAndroidPlatformIntegration::fontDatabase() const
-{
- return m_androidFDB;
-}
-
-#ifndef QT_NO_CLIPBOARD
-QPlatformClipboard *QAndroidPlatformIntegration::clipboard() const
-{
-static QAndroidPlatformClipboard *clipboard = 0;
- if (!clipboard)
- clipboard = new QAndroidPlatformClipboard;
-
- return clipboard;
-}
-#endif
-
-QPlatformInputContext *QAndroidPlatformIntegration::inputContext() const
-{
- return &m_platformInputContext;
-}
-
-QPlatformNativeInterface *QAndroidPlatformIntegration::nativeInterface() const
-{
- return m_androidPlatformNativeInterface;
-}
-
-QPlatformServices *QAndroidPlatformIntegration::services() const
-{
- return m_androidPlatformServices;
-}
-
-QVariant QAndroidPlatformIntegration::styleHint(StyleHint hint) const
-{
- switch (hint) {
- case ShowIsMaximized:
- return true;
- default:
- return QPlatformIntegration::styleHint(hint);
- }
-}
-
-Qt::WindowState QAndroidPlatformIntegration::defaultWindowState(Qt::WindowFlags flags) const
-{
- // Don't maximize dialogs on Android
- if (flags & Qt::Dialog & ~Qt::Window)
- return Qt::WindowNoState;
-
- return QPlatformIntegration::defaultWindowState(flags);
-}
-
-static const QLatin1String androidThemeName("android");
-QStringList QAndroidPlatformIntegration::themeNames() const
-{
- return QStringList(QString(androidThemeName));
-}
-
-QPlatformTheme *QAndroidPlatformIntegration::createPlatformTheme(const QString &name) const
-{
- if (androidThemeName == name)
- return new QAndroidPlatformTheme(m_androidPlatformNativeInterface);
-
- return 0;
-}
-
-void QAndroidPlatformIntegration::setDefaultDisplayMetrics(int gw, int gh, int sw, int sh)
-{
- m_defaultGeometryWidth = gw;
- m_defaultGeometryHeight = gh;
- m_defaultPhysicalSizeWidth = sw;
- m_defaultPhysicalSizeHeight = sh;
-}
-
-void QAndroidPlatformIntegration::setDefaultDesktopSize(int gw, int gh)
-{
- m_defaultGeometryWidth = gw;
- m_defaultGeometryHeight = gh;
-}
-
-void QAndroidPlatformIntegration::setScreenOrientation(Qt::ScreenOrientation currentOrientation,
- Qt::ScreenOrientation nativeOrientation)
-{
- m_orientation = currentOrientation;
- m_nativeOrientation = nativeOrientation;
-}
-
-#ifndef QT_NO_ACCESSIBILITY
-QPlatformAccessibility *QAndroidPlatformIntegration::accessibility() const
-{
- if (!m_accessibility)
- m_accessibility = new QAndroidPlatformAccessibility();
- return m_accessibility;
-}
-#endif
-
-
-#ifndef ANDROID_PLUGIN_OPENGL
-void QAndroidPlatformIntegration::setDesktopSize(int width, int height)
-{
- if (m_primaryScreen)
- QMetaObject::invokeMethod(m_primaryScreen, "setGeometry", Qt::AutoConnection, Q_ARG(QRect, QRect(0,0,width, height)));
-}
-
-void QAndroidPlatformIntegration::setDisplayMetrics(int width, int height)
-{
- if (m_primaryScreen)
- QMetaObject::invokeMethod(m_primaryScreen, "setPhysicalSize", Qt::AutoConnection, Q_ARG(QSize, QSize(width, height)));
-}
-#else
-void QAndroidPlatformIntegration::setDesktopSize(int width, int height)
-{
- m_defaultGeometryWidth = width;
- m_defaultGeometryHeight = height;
-}
-
-void QAndroidPlatformIntegration::setDisplayMetrics(int width, int height)
-{
- m_defaultPhysicalSizeWidth = width;
- m_defaultPhysicalSizeHeight = height;
-}
-
-QEglFSScreen *QAndroidPlatformIntegration::createScreen() const
-{
- return new QAndroidOpenGLPlatformScreen(display());
-}
-
-#endif
-
-void QAndroidPlatformIntegration::pauseApp()
-{
- if (QAbstractEventDispatcher::instance(m_mainThread))
- QAbstractEventDispatcher::instance(m_mainThread)->interrupt();
-}
-
-void QAndroidPlatformIntegration::resumeApp()
-{
- if (QAbstractEventDispatcher::instance(m_mainThread))
- QAbstractEventDispatcher::instance(m_mainThread)->wakeUp();
-}
-
-QT_END_NAMESPACE