changeset 2327:02cf6d461e3f vim73

Mac: Support disabling antialias. (LC Mi)
author Bram Moolenaar <bram@vim.org>
date Sat, 17 Jul 2010 16:44:59 +0200
parents 6e563e1c8033
children 15379284e55a
files runtime/doc/todo.txt src/gui_mac.c
diffstat 2 files changed, 21 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1089,12 +1089,12 @@ Before (beta) release 7.3:
 - Add fixes for 7.2 to version7.txt
 - Add hg history to version7.txt
 - Remove UF_VERSION_CRYPT_PREV and UF_VERSION_PREV.
+
+Before release 7.3:
 - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23)
 
 Vim 7.3:
 Patches to possibly include:
--   Mac: Patch to disable antialias. (LC Mi, 2008 Aug 23)  Tested on 10.5 and
-    10.4.
 -   Patch for adding "J" flag to 'cinoptions': placement of jump label.  (Manuel
     Konig, 2010 Feb 19)  Update by Lech Lorens, Feb 22.
     Need another name, "J" is now used for Javascript.
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -173,6 +173,7 @@ ATSUStyle   gFontStyle;
 ATSUStyle   gWideFontStyle;
 # endif
 Boolean	    gIsFontFallbackSet;
+UInt32      useAntialias_cached = 0x0;
 #endif
 
 /* Colors Macros */
@@ -4123,6 +4124,24 @@ draw_string_ATSUI(int row, int col, char
 	    ATSUSetAttributes(gFontStyle, 1, attribTags, attribSizes, attribValues);
 	}
 
+	UInt32 useAntialias = p_antialias ? kATSStyleApplyAntiAliasing
+					  : kATSStyleNoAntiAliasing;
+	if (useAntialias != useAntialias_cached)
+	{
+	    ATSUAttributeTag attribTags[] = { kATSUStyleRenderingOptionsTag };
+	    ByteCount attribSizes[] = { sizeof(UInt32) };
+	    ATSUAttributeValuePtr attribValues[] = { &useAntialias };
+
+	    if (gFontStyle)
+		ATSUSetAttributes(gFontStyle, 1, attribTags,
+						   attribSizes, attribValues);
+	    if (gWideFontStyle)
+		ATSUSetAttributes(gWideFontStyle, 1, attribTags,
+						   attribSizes, attribValues);
+
+	    useAntialias_cached = useAntialias;
+	}
+
 #ifdef FEAT_MBYTE
 	if (has_mbyte)
 	{