build fix for -no-freetype in Windows
Don't use QWindowsFontDatabaseFT::systemDefaultFont() and QWindowsFontDatabaseFT::LOGFONT_to_QFont() in qwindowsfontdatabase.cpp and qwindowstheme.cpp because it is not available when building with -no-freetype. Change-Id: I11075475ff435c55b0c641540f95a4d3861b79da Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>bb10
parent
9a68dd0156
commit
255079124a
|
|
@ -1065,9 +1065,17 @@ static inline int verticalDPI()
|
|||
return GetDeviceCaps(QWindowsContext::instance()->displayContext(), LOGPIXELSY);
|
||||
}
|
||||
|
||||
QFont QWindowsFontDatabase::defaultFont() const
|
||||
QFont QWindowsFontDatabase::systemDefaultFont()
|
||||
{
|
||||
return QWindowsFontDatabaseFT::systemDefaultFont();
|
||||
LOGFONT lf;
|
||||
GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf);
|
||||
QFont systemFont = QWindowsFontDatabase::LOGFONT_to_QFont(lf);
|
||||
// "MS Shell Dlg 2" is the correct system font >= Win2k
|
||||
if (systemFont.family() == QStringLiteral("MS Shell Dlg"))
|
||||
systemFont.setFamily(QStringLiteral("MS Shell Dlg 2"));
|
||||
if (QWindowsContext::verboseFonts)
|
||||
qDebug() << __FUNCTION__ << systemFont;
|
||||
return systemFont;
|
||||
}
|
||||
|
||||
QFont QWindowsFontDatabase::LOGFONT_to_QFont(const LOGFONT& logFont, int verticalDPI_In)
|
||||
|
|
|
|||
|
|
@ -85,7 +85,8 @@ public:
|
|||
virtual void releaseHandle(void *handle);
|
||||
virtual QString fontDir() const;
|
||||
|
||||
virtual QFont defaultFont() const;
|
||||
virtual QFont defaultFont() const { return systemDefaultFont(); }
|
||||
static QFont systemDefaultFont();
|
||||
|
||||
static QFontEngine *createEngine(int script, const QFontDef &request,
|
||||
HDC fontHdc, int dpi, bool rawMode,
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
****************************************************************************/
|
||||
|
||||
#include "qwindowsfontdatabase_ft.h"
|
||||
#include "qwindowsfontdatabase.h"
|
||||
#include "qwindowscontext.h"
|
||||
|
||||
#include <ft2build.h>
|
||||
|
|
@ -460,17 +461,9 @@ static inline int verticalDPI()
|
|||
return GetDeviceCaps(QWindowsContext::instance()->displayContext(), LOGPIXELSY);
|
||||
}
|
||||
|
||||
QFont QWindowsFontDatabaseFT::systemDefaultFont()
|
||||
QFont QWindowsFontDatabaseFT::defaultFont() const
|
||||
{
|
||||
LOGFONT lf;
|
||||
GetObject(GetStockObject(DEFAULT_GUI_FONT), sizeof(lf), &lf);
|
||||
QFont systemFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(lf);
|
||||
// "MS Shell Dlg 2" is the correct system font >= Win2k
|
||||
if (systemFont.family() == QStringLiteral("MS Shell Dlg"))
|
||||
systemFont.setFamily(QStringLiteral("MS Shell Dlg 2"));
|
||||
if (QWindowsContext::verboseFonts)
|
||||
qDebug() << __FUNCTION__ << systemFont;
|
||||
return systemFont;
|
||||
return QWindowsFontDatabase::systemDefaultFont();
|
||||
}
|
||||
|
||||
QFont QWindowsFontDatabaseFT::LOGFONT_to_QFont(const LOGFONT& logFont, int verticalDPI_In)
|
||||
|
|
|
|||
|
|
@ -59,8 +59,7 @@ public:
|
|||
QStringList addApplicationFont(const QByteArray &fontData, const QString &fileName);
|
||||
|
||||
virtual QString fontDir() const;
|
||||
virtual QFont defaultFont() const { return systemDefaultFont(); }
|
||||
static QFont systemDefaultFont();
|
||||
virtual QFont defaultFont() const;
|
||||
|
||||
static HFONT systemFont();
|
||||
static QFont LOGFONT_to_QFont(const LOGFONT& lf, int verticalDPI = 0);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
#include "qwindowscontext.h"
|
||||
#include "qwindowsintegration.h"
|
||||
#include "qt_windows.h"
|
||||
#include "qwindowsfontdatabase_ft.h"
|
||||
#include "qwindowsfontdatabase.h"
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtCore/QCoreApplication>
|
||||
|
|
@ -325,16 +325,16 @@ void QWindowsTheme::refreshFonts()
|
|||
ncm.cbSize = FIELD_OFFSET(NONCLIENTMETRICS, lfMessageFont) + sizeof(LOGFONT);
|
||||
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize , &ncm, 0);
|
||||
|
||||
const QFont menuFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfMenuFont);
|
||||
const QFont messageBoxFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfMessageFont);
|
||||
const QFont statusFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfStatusFont);
|
||||
const QFont titleFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(ncm.lfCaptionFont);
|
||||
const QFont menuFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfMenuFont);
|
||||
const QFont messageBoxFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfMessageFont);
|
||||
const QFont statusFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfStatusFont);
|
||||
const QFont titleFont = QWindowsFontDatabase::LOGFONT_to_QFont(ncm.lfCaptionFont);
|
||||
|
||||
LOGFONT lfIconTitleFont;
|
||||
SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lfIconTitleFont), &lfIconTitleFont, 0);
|
||||
const QFont iconTitleFont = QWindowsFontDatabaseFT::LOGFONT_to_QFont(lfIconTitleFont);
|
||||
const QFont iconTitleFont = QWindowsFontDatabase::LOGFONT_to_QFont(lfIconTitleFont);
|
||||
|
||||
m_fonts[SystemFont] = new QFont(QWindowsFontDatabaseFT::systemDefaultFont());
|
||||
m_fonts[SystemFont] = new QFont(QWindowsFontDatabase::systemDefaultFont());
|
||||
m_fonts[MenuFont] = new QFont(menuFont);
|
||||
m_fonts[MenuBarFont] = new QFont(menuFont);
|
||||
m_fonts[MessageBoxFont] = new QFont(messageBoxFont);
|
||||
|
|
|
|||
Loading…
Reference in New Issue