summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorJiang Jiang <jiang.jiang@nokia.com>2011-05-04 16:06:06 +0200
committerJiang Jiang <jiang.jiang@nokia.com>2011-05-05 13:39:05 +0200
commit05a1416be87528ba722d7735ed49701c634de083 (patch)
treea74789bdd91c7b71d393f09ffd6d7c28b6ccbb60 /src/gui
parent1a2345ec198114890571478d38a8fbd3e5236401 (diff)
Add a way to retrieve CTFontRef from QFont
Since macFontID restricts to quint32, we have to return that in QFont::handle. Task-number: QTBUG-17890 Reviewed-by: Eskil (cherry picked from commit c8f299b7e675c839b16d750cd2633a57cdd0526f)
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/text/qfont_mac.cpp7
-rw-r--r--src/gui/text/qfontengine_coretext_p.h2
2 files changed, 6 insertions, 3 deletions
diff --git a/src/gui/text/qfont_mac.cpp b/src/gui/text/qfont_mac.cpp
index daf68c03ea..044fd84a8b 100644
--- a/src/gui/text/qfont_mac.cpp
+++ b/src/gui/text/qfont_mac.cpp
@@ -43,6 +43,7 @@
#include "qfont_p.h"
#include "qfontengine_p.h"
#include "qfontengine_mac_p.h"
+#include "qfontengine_coretext_p.h"
#include "qfontinfo.h"
#include "qfontmetrics.h"
#include "qpaintdevice.h"
@@ -119,10 +120,10 @@ quint32 QFont::macFontID() const // ### need 64-bit version
// Returns an ATSUFonFamilyRef
Qt::HANDLE QFont::handle() const
{
-#if 0
+#ifdef QT_MAC_USE_COCOA
QFontEngine *fe = d->engineForScript(QUnicodeTables::Common);
- if (fe && fe->type() == QFontEngine::Mac)
- return (Qt::HANDLE)static_cast<QFontEngineMacMulti*>(fe)->fontFamilyRef();
+ if (fe && fe->type() == QFontEngine::Multi)
+ return (Qt::HANDLE)static_cast<QCoreTextFontEngineMulti*>(fe)->macFontID();
#endif
return 0;
}
diff --git a/src/gui/text/qfontengine_coretext_p.h b/src/gui/text/qfontengine_coretext_p.h
index bb80a9b2f3..3775bc6002 100644
--- a/src/gui/text/qfontengine_coretext_p.h
+++ b/src/gui/text/qfontengine_coretext_p.h
@@ -124,6 +124,8 @@ public:
QScriptItem *si) const;
virtual const char *name() const { return "CoreText"; }
+ inline CTFontRef macFontID() const { return ctfont; }
+
protected:
virtual void loadEngine(int at);