summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@trolltech.com>2009-10-22 04:38:32 (GMT)
committerGunnar Sletta <gunnar@trolltech.com>2009-10-22 04:38:32 (GMT)
commit414a6134ba2c578a17cf62971a410d74e75178c9 (patch)
tree459768cb175536e549b9e11582fd6db0756a3beb /src/gui
parent0bf8f2cbc596280b86d53e19b2bde316c2cafe3f (diff)
parentcdb98c137db4d051e4b41c9fa4626c4c369cc0b1 (diff)
downloadQt-414a6134ba2c578a17cf62971a410d74e75178c9.zip
Qt-414a6134ba2c578a17cf62971a410d74e75178c9.tar.gz
Qt-414a6134ba2c578a17cf62971a410d74e75178c9.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-graphics-team into 4.6
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/kernel/qapplication_mac.mm11
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp6
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp4
-rw-r--r--src/gui/text/qfontdatabase_x11.cpp2
4 files changed, 19 insertions, 4 deletions
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index f9c8aa3..771cddc 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -203,6 +203,8 @@ static EventHandlerRef tablet_proximity_handler = 0;
static EventHandlerUPP tablet_proximity_UPP = 0;
bool QApplicationPrivate::native_modal_dialog_active;
+Q_GUI_EXPORT bool qt_applefontsmoothing_enabled;
+
/*****************************************************************************
External functions
*****************************************************************************/
@@ -222,6 +224,12 @@ extern bool qt_sendSpontaneousEvent(QObject *obj, QEvent *event); // qapplicatio
void onApplicationWindowChangedActivation( QWidget*widget, bool activated );
void onApplicationChangedActivation( bool activated );
+static void qt_mac_read_fontsmoothing_settings()
+{
+ NSInteger appleFontSmoothing = [[NSUserDefaults standardUserDefaults] integerForKey:@"AppleFontSmoothing"];
+ qt_applefontsmoothing_enabled = (appleFontSmoothing > 0);
+}
+
Q_GUI_EXPORT bool qt_mac_execute_apple_script(const char *script, long script_len, AEDesc *ret) {
OSStatus err;
AEDesc scriptTextDesc;
@@ -1203,6 +1211,9 @@ void qt_init(QApplicationPrivate *priv, int)
}
if (QApplication::desktopSettingsAware())
QApplicationPrivate::qt_mac_apply_settings();
+
+ qt_mac_read_fontsmoothing_settings();
+
// Cocoa application delegate
#ifdef QT_MAC_USE_COCOA
NSApplication *cocoaApp = [NSApplication sharedApplication];
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index fab2d8d..fd0e810 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -132,6 +132,10 @@ static const qreal aliasedCoordinateDelta = 0.5 - 0.015625;
extern bool qt_cleartype_enabled;
#endif
+#ifdef Q_WS_MAC
+extern bool qt_applefontsmoothing_enabled;
+#endif
+
/********************************************************************************
* Span functions
@@ -508,7 +512,7 @@ bool QRasterPaintEngine::begin(QPaintDevice *device)
#if defined(Q_WS_WIN)
else if (qt_cleartype_enabled)
#elif defined (Q_WS_MAC)
- else if (true)
+ else if (qt_applefontsmoothing_enabled)
#else
else if (false)
#endif
diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp
index 25b6aba..a192e87 100644
--- a/src/gui/painting/qtextureglyphcache.cpp
+++ b/src/gui/painting/qtextureglyphcache.cpp
@@ -229,8 +229,8 @@ void QImageTextureGlyphCache::createTextureData(int width, int height)
int QImageTextureGlyphCache::glyphMargin() const
{
-#ifdef Q_WS_MAC
- return 2;
+#if defined(Q_WS_MAC) && defined(QT_MAC_USE_COCOA)
+ return 0;
#else
return m_type == QFontEngineGlyphCache::Raster_RGBMask ? 2 : 0;
#endif
diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp
index 382c4fe..27ff003 100644
--- a/src/gui/text/qfontdatabase_x11.cpp
+++ b/src/gui/text/qfontdatabase_x11.cpp
@@ -752,7 +752,7 @@ QFontDef qt_FcPatternToQFontDef(FcPattern *pattern, const QFontDef &request)
if (X11->display)
dpi = QX11Info::appDpiY();
else
- dpi = 96; // ####
+ dpi = qt_defaultDpiY();
}
double size;