summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-03-31 12:25:48 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-05-27 14:42:59 +0200
commitda1b0d2d6a540e2a824bb0ac4154e0edaaf9ea45 (patch)
tree6060109dcf6e97362250f4151cda79c07c4f8e38 /src
parenta64a0ce3317afa1ff633d1d08904c967dbc6ecad (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')
-rw-r--r--src/gui/CMakeLists.txt9
-rw-r--r--src/gui/text/freetype/freetype.pri (renamed from src/platformsupport/fontdatabases/freetype/freetype.pri)0
-rw-r--r--src/gui/text/freetype/qfontengine_ft.cpp (renamed from src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp)0
-rw-r--r--src/gui/text/freetype/qfontengine_ft_p.h (renamed from src/platformsupport/fontdatabases/freetype/qfontengine_ft_p.h)6
-rw-r--r--src/gui/text/freetype/qfreetypefontdatabase.cpp (renamed from src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase.cpp)2
-rw-r--r--src/gui/text/freetype/qfreetypefontdatabase_p.h (renamed from src/platformsupport/fontdatabases/freetype/qfreetypefontdatabase_p.h)2
-rw-r--r--src/gui/text/text.pri4
-rw-r--r--src/platformsupport/fontdatabases/CMakeLists.txt3
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp2
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h2
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig.cpp2
-rw-r--r--src/platformsupport/fontdatabases/fontdatabases.pro4
-rw-r--r--src/platformsupport/fontdatabases/genericunix/qgenericunixfontdatabase_p.h2
-rw-r--r--src/platformsupport/fontdatabases/mac/coretext.pri4
-rw-r--r--src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm2
-rw-r--r--src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft.cpp2
-rw-r--r--src/platformsupport/fontdatabases/windows/qwindowsfontdatabase_ft_p.h2
-rw-r--r--src/platformsupport/fontdatabases/windows/windows.pri1
-rw-r--r--src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase.cpp2
-rw-r--r--src/platformsupport/fontdatabases/winrt/qwinrtfontdatabase_p.h2
-rw-r--r--src/plugins/platforms/android/qandroidplatformfontdatabase.h2
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.cpp4
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration.cpp2
-rw-r--r--src/plugins/platforms/wasm/qwasmfontdatabase.h2
-rw-r--r--src/src.pro2
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