From 76b96fc08b9bc5ea5651e46dc091f7198c6475ee Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Sat, 17 Jul 2010 16:44:59 +0200 Subject: [PATCH] Mac: Support disabling antialias. (LC Mi) --- runtime/doc/todo.txt | 4 ++-- src/gui_mac.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 364ea491cc..ba8ac91367 100644 --- 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. diff --git a/src/gui_mac.c b/src/gui_mac.c index 8859857637..f6aa22b574 100644 --- 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_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) { -- GitLab