From 094b64fb605b39d1ae88d91d2b9a0672b9ff4780 Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Tue, 15 Nov 2016 18:16:50 +0100 Subject: QRawFont: Add a qHash overload This will be used in QtQuick to avoid costly string manipulation (which in turn involves memory allocations). Change-Id: I51a67a4cd97cc576f399483c9c0c13da1e1c6e72 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qrawfont.cpp | 13 +++++++++++++ src/gui/text/qrawfont.h | 2 ++ 2 files changed, 15 insertions(+) (limited to 'src/gui') diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 886cf5ef39..b2d8bf01af 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -315,6 +315,19 @@ bool QRawFont::operator==(const QRawFont &other) const return d->fontEngine == other.d->fontEngine; } +/*! + Returns the hash value for \a font. If specified, \a seed is used + to initialize the hash. + + \relates QRawFont + \since 5.8 +*/ +uint qHash(const QRawFont &font, uint seed) Q_DECL_NOTHROW +{ + return qHash(QRawFontPrivate::get(font)->fontEngine, seed); +} + + /*! \fn bool QRawFont::operator!=(const QRawFont &other) const diff --git a/src/gui/text/qrawfont.h b/src/gui/text/qrawfont.h index 0252e62370..470f2694e4 100644 --- a/src/gui/text/qrawfont.h +++ b/src/gui/text/qrawfont.h @@ -158,6 +158,8 @@ Q_DECLARE_SHARED(QRawFont) Q_DECLARE_OPERATORS_FOR_FLAGS(QRawFont::LayoutFlags) +Q_GUI_EXPORT uint qHash(const QRawFont &font, uint seed = 0) Q_DECL_NOTHROW; + inline QVector QRawFont::advancesForGlyphIndexes(const QVector &glyphIndexes, QRawFont::LayoutFlags layoutFlags) const { QVector advances(glyphIndexes.size()); -- cgit v1.2.3