diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-03-31 12:25:48 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2020-05-27 14:42:59 +0200 |
commit | da1b0d2d6a540e2a824bb0ac4154e0edaaf9ea45 (patch) | |
tree | 6060109dcf6e97362250f4151cda79c07c4f8e38 /src | |
parent | a64a0ce3317afa1ff633d1d08904c967dbc6ecad (diff) |
Move FreeType font engine/database to QtGui
Task-number: QTBUG-83255
Change-Id: If6be7057d6bd25b34acd99e18658744161985ed0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src')
25 files changed, 38 insertions, 27 deletions
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 5fa9be2085..5502d190a7 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -10,6 +10,7 @@ set(OpenGL_GL_PREFERENCE GLVND) # special case: qt_find_package(X11_XCB) qt_find_package(WrapHarfbuzz PROVIDED_TARGETS WrapHarfbuzz::WrapHarfbuzz) qt_find_package(WrapPNG PROVIDED_TARGETS WrapPNG::WrapPNG) +qt_find_package(WrapFreetype PROVIDED_TARGETS WrapFreetype::WrapFreetype) if (QT_FEATURE_gui) if (WINRT) @@ -498,6 +499,14 @@ qt_extend_target(Gui CONDITION QT_FEATURE_png WrapPNG::WrapPNG ) +qt_extend_target(Gui CONDITION QT_FEATURE_freetype + SOURCES + text/freetype/qfontengine_ft.cpp text/freetype/qfontengine_ft_p.h + text/freetype/qfreetypefontdatabase.cpp text/freetype/qfreetypefontdatabase_p.h + LIBRARIES + WrapFreetype::WrapFreetype +) + #### Keys ignored in scope 39:.:image:image/image.pri:WIN32 AND mingw: # GCC_VERSION = "$${QMAKE_GCC_MAJOR_VERSION}.$${QMAKE_GCC_MINOR_VERSION}.$${QMAKE_GCC_PATCH_VERSION}" diff --git a/src/platformsupport/fontdatabases/freetype/freetype.pri b/src/gui/text/freetype/freetype.pri index 7bda687ef4..7bda687ef4 100644 --- a/src/platformsupport/fontdatabases/freetype/freetype.pri +++ b/src/gui/text/freetype/freetype.pri diff --git a/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp b/src/gui/text/freetype/qfontengine_ft.cpp index 1c9a17a3e4..1c9a17a3e4 100644 --- a/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp +++ b/src/gui/text/freetype/qfontengine_ft.cpp diff --git a/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h b/src/gui/text/freetype/qfontengine_ft_p.h index bc48963a9e..dcbe49ff99 100644 --- a/src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h +++ b/src/gui/text/freetype/qfontengine_ft_p.h @@ -74,7 +74,7 @@ class QFontconfigDatabase; * This class represents one font file on disk (like Arial.ttf) and is shared between all the font engines * that show this font file (at different pixel sizes). */ -class QFreetypeFace +class Q_GUI_EXPORT QFreetypeFace { public: void computeSize(const QFontDef &fontDef, int *xsize, int *ysize, bool *outline_drawing, QFixed *scalableBitmapScaleFactor); @@ -128,7 +128,7 @@ private: QFontEngine::Holder hbFace; }; -class QFontEngineFT : public QFontEngine +class Q_GUI_EXPORT QFontEngineFT : public QFontEngine { public: struct GlyphInfo { @@ -353,7 +353,7 @@ inline QFontEngineFT::Glyph *QFontEngineFT::QGlyphSet::getGlyph(glyph_t index, Q return glyph_data.value(GlyphAndSubPixelPosition(index, subPixelPosition)); } -extern FT_Library qt_getFreetype(); +Q_GUI_EXPORT FT_Library qt_getFreetype(); QT_END_NAMESPACE diff --git a/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp b/src/gui/text/freetype/qfreetypefontdatabase.cpp index 1ec42ac36a..c0b93389c6 100644 --- a/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp +++ b/src/gui/text/freetype/qfreetypefontdatabase.cpp @@ -48,7 +48,7 @@ #include <QtCore/QtEndian> #undef QT_NO_FREETYPE -#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#include "qfontengine_ft_p.h" #include <ft2build.h> #include FT_TRUETYPE_TABLES_H diff --git a/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase_p.h b/src/gui/text/freetype/qfreetypefontdatabase_p.h index 75e799df3f..2cc725bd06 100644 --- a/src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase_p.h +++ b/src/gui/text/freetype/qfreetypefontdatabase_p.h @@ -63,7 +63,7 @@ struct FontFile int indexValue; }; -class QFreeTypeFontDatabase : public QPlatformFontDatabase +class Q_GUI_EXPORT QFreeTypeFontDatabase : public QPlatformFontDatabase { public: void populateFontDatabase() override; diff --git a/src/gui/text/text.pri b/src/gui/text/text.pri index ab93975344..3974a6bbec 100644 --- a/src/gui/text/text.pri +++ b/src/gui/text/text.pri @@ -123,3 +123,7 @@ qtConfig(cssparser) { SOURCES += \ text/qcssparser.cpp } + +qtConfig(freetype) { + include($$PWD/freetype/freetype.pri) +} diff --git a/src/platformsupport/fontdatabases/CMakeLists.txt b/src/platformsupport/fontdatabases/CMakeLists.txt index 46919116da..01802f99fd 100644 --- a/src/platformsupport/fontdatabases/CMakeLists.txt +++ b/src/platformsupport/fontdatabases/CMakeLists.txt @@ -47,9 +47,6 @@ qt_extend_target(FontDatabaseSupport CONDITION APPLE AND NOT MACOS ) qt_extend_target(FontDatabaseSupport CONDITION QT_FEATURE_freetype - SOURCES - freetype/qfontengine_ft.cpp freetype/qfontengine_ft_p.h - freetype/qfreetypefontdatabase.cpp freetype/qfreetypefontdatabase_p.h LIBRARIES WrapFreetype::WrapFreetype ) diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp index 7cf91b996b..c6b0485ec5 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp @@ -40,7 +40,7 @@ #include "qfontconfigdatabase_p.h" #include "qfontenginemultifontconfig_p.h" -#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#include <QtGui/private/qfontengine_ft_p.h> #include <QtCore/QList> #include <QtCore/QElapsedTimer> diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h index 78e2a4f988..58f549d114 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h @@ -52,7 +52,7 @@ // #include <qpa/qplatformfontdatabase.h> -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> QT_BEGIN_NAMESPACE diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp index cbf0793d75..01d58022f2 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp @@ -39,7 +39,7 @@ #include "qfontenginemultifontconfig_p.h" -#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#include <QtGui/private/qfontengine_ft_p.h> QT_BEGIN_NAMESPACE diff --git a/src/platformsupport/fontdatabases/fontdatabases.pro b/src/platformsupport/fontdatabases/fontdatabases.pro index c3985ed398..f102bb8e9d 100644 --- a/src/platformsupport/fontdatabases/fontdatabases.pro +++ b/src/platformsupport/fontdatabases/fontdatabases.pro @@ -11,10 +11,6 @@ darwin { include($$PWD/mac/coretext.pri) } -qtConfig(freetype) { - include($$PWD/freetype/freetype.pri) -} - unix { include($$PWD/genericunix/genericunix.pri) } diff --git a/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h b/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h index ccf5ad6d13..c5be0e7345 100644 --- a/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h +++ b/src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h @@ -57,7 +57,7 @@ #include <QtFontDatabaseSupport/private/qfontconfigdatabase_p.h> typedef QFontconfigDatabase QGenericUnixFontDatabase; #else -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> typedef QFreeTypeFontDatabase QGenericUnixFontDatabase; #endif //Q_FONTCONFIGDATABASE diff --git a/src/platformsupport/fontdatabases/mac/coretext.pri b/src/platformsupport/fontdatabases/mac/coretext.pri index 95b9926e65..31470ae583 100644 --- a/src/platformsupport/fontdatabases/mac/coretext.pri +++ b/src/platformsupport/fontdatabases/mac/coretext.pri @@ -13,3 +13,7 @@ else: \ LIBS_PRIVATE += -framework UIKit CONFIG += watchos_coretext + +qtConfig(freetype) { + QMAKE_USE_PRIVATE += freetype +} diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index 664e532d7c..c0f1bd4d8d 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -57,7 +57,7 @@ #endif #include <QtCore/QtEndian> #ifndef QT_NO_FREETYPE -#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#include <QtGui/private/qfontengine_ft_p.h> #endif QT_BEGIN_NAMESPACE diff --git a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp index 39551c2e27..3543f22c61 100644 --- a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp +++ b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp @@ -40,7 +40,7 @@ #include "qwindowsfontdatabase_ft_p.h" #include "qwindowsfontdatabase_p.h" -#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#include <QtGui/private/qfontengine_ft_p.h> #include <ft2build.h> #include FT_TRUETYPE_TABLES_H diff --git a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft_p.h b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft_p.h index c3d201b3a0..16f61010d4 100644 --- a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft_p.h +++ b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> #include <QtCore/QSharedPointer> #include <QtCore/qt_windows.h> diff --git a/src/platformsupport/fontdatabases/windows/windows.pri b/src/platformsupport/fontdatabases/windows/windows.pri index fbe6d490f9..c8466a1d2b 100644 --- a/src/platformsupport/fontdatabases/windows/windows.pri +++ b/src/platformsupport/fontdatabases/windows/windows.pri @@ -15,6 +15,7 @@ HEADERS += \ qtConfig(freetype) { SOURCES += $$PWD/qwindowsfontdatabase_ft.cpp HEADERS += $$PWD/qwindowsfontdatabase_ft_p.h + QMAKE_USE_PRIVATE += freetype } qtConfig(directwrite):qtConfig(direct2d) { diff --git a/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase.cpp b/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase.cpp index db58e49bb2..bc1a4c7d6f 100644 --- a/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase.cpp +++ b/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase.cpp @@ -39,7 +39,7 @@ #include "qwinrtfontdatabase_p.h" -#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#include <QtGui/private/qfontengine_ft_p.h> #include <QtCore/QCoreApplication> #include <QtCore/QFile> diff --git a/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase_p.h b/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase_p.h index c21f411fff..615b4eeb12 100644 --- a/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase_p.h +++ b/src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> #include <QtCore/QLoggingCategory> struct IDWriteFontFile; diff --git a/src/plugins/platforms/android/qandroidplatformfontdatabase.h b/src/plugins/platforms/android/qandroidplatformfontdatabase.h index 166a590698..691656d89d 100644 --- a/src/plugins/platforms/android/qandroidplatformfontdatabase.h +++ b/src/plugins/platforms/android/qandroidplatformfontdatabase.h @@ -40,7 +40,7 @@ #ifndef QANDROIDPLATFORMFONTDATABASE_H #define QANDROIDPLATFORMFONTDATABASE_H -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp index 0c2c0d0b68..b1f07f0ac2 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp @@ -45,7 +45,7 @@ #include <qpa/qplatformwindow.h> #include <qpa/qwindowsysteminterface.h> -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> #if defined(Q_OS_WINRT) # include <QtFontDatabaseSupport/private/qwinrtfontdatabase_p.h> #elif defined(Q_OS_WIN) @@ -63,7 +63,7 @@ #endif #if QT_CONFIG(freetype) -#include <QtFontDatabaseSupport/private/qfontengine_ft_p.h> +#include <QtGui/private/qfontengine_ft_p.h> #endif #if !defined(Q_OS_WIN) diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp index 3a4494fc2e..4a27bc511d 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp +++ b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp @@ -50,7 +50,7 @@ #include <QtFontDatabaseSupport/private/qgenericunixfontdatabase_p.h> #endif #elif defined(Q_OS_WIN) -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> #ifndef Q_OS_WINRT #include <QtCore/private/qeventdispatcher_win_p.h> #else diff --git a/src/plugins/platforms/wasm/qwasmfontdatabase.h b/src/plugins/platforms/wasm/qwasmfontdatabase.h index ce22ad14d7..420211947c 100644 --- a/src/plugins/platforms/wasm/qwasmfontdatabase.h +++ b/src/plugins/platforms/wasm/qwasmfontdatabase.h @@ -30,7 +30,7 @@ #ifndef QWASMFONTDATABASE_H #define QWASMFONTDATABASE_H -#include <QtFontDatabaseSupport/private/qfreetypefontdatabase_p.h> +#include <QtGui/private/qfreetypefontdatabase_p.h> QT_BEGIN_NAMESPACE diff --git a/src/src.pro b/src/src.pro index f187e3948e..90f9712555 100644 --- a/src/src.pro +++ b/src/src.pro @@ -207,7 +207,7 @@ qtConfig(gui) { } qtConfig(freetype):!qtConfig(system-freetype) { SUBDIRS += src_3rdparty_freetype - src_platformsupport.depends += src_3rdparty_freetype + src_gui.depends += src_3rdparty_freetype } qtConfig(vkgen) { SUBDIRS += src_tools_qvkgen |