diff options
Diffstat (limited to 'src/plugins/platforms/minimal')
-rw-r--r-- | src/plugins/platforms/minimal/main.cpp | 2 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/minimal.pro | 2 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalbackingstore.h | 6 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalintegration.cpp | 34 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalintegration.h | 19 |
5 files changed, 43 insertions, 20 deletions
diff --git a/src/plugins/platforms/minimal/main.cpp b/src/plugins/platforms/minimal/main.cpp index 29809c1843..f9a0c17509 100644 --- a/src/plugins/platforms/minimal/main.cpp +++ b/src/plugins/platforms/minimal/main.cpp @@ -48,7 +48,7 @@ class QMinimalIntegrationPlugin : public QPlatformIntegrationPlugin Q_OBJECT Q_PLUGIN_METADATA(IID QPlatformIntegrationFactoryInterface_iid FILE "minimal.json") public: - QPlatformIntegration *create(const QString&, const QStringList&) Q_DECL_OVERRIDE; + QPlatformIntegration *create(const QString&, const QStringList&) override; }; QPlatformIntegration *QMinimalIntegrationPlugin::create(const QString& system, const QStringList& paramList) diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro index 8cfb68824e..a1a2da547b 100644 --- a/src/plugins/platforms/minimal/minimal.pro +++ b/src/plugins/platforms/minimal/minimal.pro @@ -14,6 +14,8 @@ HEADERS = qminimalintegration.h \ OTHER_FILES += minimal.json +qtConfig(freetype): QMAKE_USE_PRIVATE += freetype + PLUGIN_TYPE = platforms PLUGIN_CLASS_NAME = QMinimalIntegrationPlugin !equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - diff --git a/src/plugins/platforms/minimal/qminimalbackingstore.h b/src/plugins/platforms/minimal/qminimalbackingstore.h index 3d7aaf2b99..2119894809 100644 --- a/src/plugins/platforms/minimal/qminimalbackingstore.h +++ b/src/plugins/platforms/minimal/qminimalbackingstore.h @@ -52,9 +52,9 @@ public: QMinimalBackingStore(QWindow *window); ~QMinimalBackingStore(); - QPaintDevice *paintDevice() Q_DECL_OVERRIDE; - void flush(QWindow *window, const QRegion ®ion, const QPoint &offset) Q_DECL_OVERRIDE; - void resize(const QSize &size, const QRegion &staticContents) Q_DECL_OVERRIDE; + QPaintDevice *paintDevice() override; + void flush(QWindow *window, const QRegion ®ion, const QPoint &offset) override; + void resize(const QSize &size, const QRegion &staticContents) override; private: QImage mImage; diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp index ca33689cd7..0c04608fca 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp @@ -54,11 +54,17 @@ # endif #elif defined(Q_OS_DARWIN) # include <QtFontDatabaseSupport/private/qcoretextfontdatabase_p.h> -#elif QT_CONFIG(fontconfig) +#endif + +#if QT_CONFIG(fontconfig) # include <QtFontDatabaseSupport/private/qgenericunixfontdatabase_p.h> # include <qpa/qplatformfontdatabase.h> #endif +#if QT_CONFIG(freetype) +#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#endif + #if !defined(Q_OS_WIN) #include <QtEventDispatcherSupport/private/qgenericunixeventdispatcher_p.h> #elif defined(Q_OS_WINRT) @@ -81,6 +87,8 @@ static inline unsigned parseOptions(const QStringList ¶mList) options |= QMinimalIntegration::EnableFonts; else if (param == QLatin1String("freetype")) options |= QMinimalIntegration::FreeTypeFontDatabase; + else if (param == QLatin1String("fontconfig")) + options |= QMinimalIntegration::FontconfigDatabase; } return options; } @@ -123,15 +131,13 @@ bool QMinimalIntegration::hasCapability(QPlatformIntegration::Capability cap) co class DummyFontDatabase : public QPlatformFontDatabase { public: - virtual void populateFontDatabase() Q_DECL_OVERRIDE {} + virtual void populateFontDatabase() override {} }; QPlatformFontDatabase *QMinimalIntegration::fontDatabase() const { if (!m_fontDatabase && (m_options & EnableFonts)) { -#if QT_CONFIG(fontconfig) - m_fontDatabase = new QGenericUnixFontDatabase; -#elif defined(Q_OS_WINRT) +#if defined(Q_OS_WINRT) m_fontDatabase = new QWinRTFontDatabase; #elif defined(Q_OS_WIN) if (m_options & FreeTypeFontDatabase) { @@ -142,10 +148,24 @@ QPlatformFontDatabase *QMinimalIntegration::fontDatabase() const m_fontDatabase = new QWindowsFontDatabase; } #elif defined(Q_OS_DARWIN) - m_fontDatabase = new QCoreTextFontDatabaseEngineFactory<QCoreTextFontEngine>; + if (!(m_options & FontconfigDatabase)) { + if (m_options & FreeTypeFontDatabase) { +# if QT_CONFIG(freetype) + m_fontDatabase = new QCoreTextFontDatabaseEngineFactory<QFontEngineFT>; +# endif // freetype + } else { + m_fontDatabase = new QCoreTextFontDatabaseEngineFactory<QCoreTextFontEngine>; + } + } +#endif + + if (!m_fontDatabase) { +#if QT_CONFIG(fontconfig) + m_fontDatabase = new QGenericUnixFontDatabase; #else - m_fontDatabase = QPlatformIntegration::fontDatabase(); + m_fontDatabase = QPlatformIntegration::fontDatabase(); #endif + } } if (!m_fontDatabase) m_fontDatabase = new DummyFontDatabase; diff --git a/src/plugins/platforms/minimal/qminimalintegration.h b/src/plugins/platforms/minimal/qminimalintegration.h index eaa2f228c5..ad1bec2112 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.h +++ b/src/plugins/platforms/minimal/qminimalintegration.h @@ -51,9 +51,9 @@ public: QMinimalScreen() : mDepth(32), mFormat(QImage::Format_ARGB32_Premultiplied) {} - QRect geometry() const Q_DECL_OVERRIDE { return mGeometry; } - int depth() const Q_DECL_OVERRIDE { return mDepth; } - QImage::Format format() const Q_DECL_OVERRIDE { return mFormat; } + QRect geometry() const override { return mGeometry; } + int depth() const override { return mDepth; } + QImage::Format format() const override { return mFormat; } public: QRect mGeometry; @@ -68,18 +68,19 @@ public: enum Options { // Options to be passed on command line or determined from environment DebugBackingStore = 0x1, EnableFonts = 0x2, - FreeTypeFontDatabase = 0x4 + FreeTypeFontDatabase = 0x4, + FontconfigDatabase = 0x8 }; explicit QMinimalIntegration(const QStringList ¶meters); ~QMinimalIntegration(); - bool hasCapability(QPlatformIntegration::Capability cap) const Q_DECL_OVERRIDE; - QPlatformFontDatabase *fontDatabase() const Q_DECL_OVERRIDE; + bool hasCapability(QPlatformIntegration::Capability cap) const override; + QPlatformFontDatabase *fontDatabase() const override; - QPlatformWindow *createPlatformWindow(QWindow *window) const Q_DECL_OVERRIDE; - QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const Q_DECL_OVERRIDE; - QAbstractEventDispatcher *createEventDispatcher() const Q_DECL_OVERRIDE; + QPlatformWindow *createPlatformWindow(QWindow *window) const override; + QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const override; + QAbstractEventDispatcher *createEventDispatcher() const override; unsigned options() const { return m_options; } |