]> granicus.if.org Git - vim/commitdiff
Mac: Support disabling antialias. (LC Mi)
authorBram Moolenaar <Bram@vim.org>
Sat, 17 Jul 2010 14:44:59 +0000 (16:44 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 17 Jul 2010 14:44:59 +0000 (16:44 +0200)
runtime/doc/todo.txt
src/gui_mac.c

index 364ea491cc4a77bee206a8a4357f5027670bd0a2..ba8ac913671a1b5d913304d23ad8cf0b0c5a870c 100644 (file)
@@ -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.
index 8859857637b96be0e087b5b8f8e7f11ca3f6e9f0..f6aa22b57467a250ebc34650fc1bffb5f9a35e63 100644 (file)
@@ -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_u *s, int len, int flags)
            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)
        {