From 5c976973f295b44a9951c9a924aacd432cc4fb31 Mon Sep 17 00:00:00 2001 From: Adrian Robert Date: Sat, 19 Jul 2008 22:23:30 +0000 Subject: [PATCH] fix bug with quickdraw smoothing; also, in Makefile, clean out ns_appdir in 'clean' target --- src/Makefile.in | 3 +++ src/nsfont.m | 2 +- src/nsterm.h | 2 +- src/nsterm.m | 39 ++++++++++++++++++++------------------- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index a44a39011fb..05fec55cd39 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1355,9 +1355,12 @@ mostlyclean: rm -f buildobj.lst clean: mostlyclean rm -f emacs-*.*.*${EXEEXT} emacs${EXEEXT} +#ifdef HAVE_NS + rm -fr ${ns_appdir} #ifdef NS_IMPL_GNUSTEP rm -f *.d #endif +#endif /* bootstrap-clean is used to clean up just before a bootstrap. It should remove all files generated during a compilation/bootstrap, but not things like config.status or TAGS. */ diff --git a/src/nsfont.m b/src/nsfont.m index bf15ee84933..132b1aaf29b 100644 --- a/src/nsfont.m +++ b/src/nsfont.m @@ -1060,7 +1060,7 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, CGContextSetShouldAntialias (gcontext, 0); else CGContextSetShouldAntialias (gcontext, 1); - if (ns_use_qd_smoothing) + if (EQ (ns_use_qd_smoothing, Qt)) CGContextSetFontRenderingMode (gcontext, 2); /* 0 is Cocoa, 2 is QD */ CGContextSetTextMatrix (gcontext, fliptf); diff --git a/src/nsterm.h b/src/nsterm.h index 2a70ae31d53..ace45249468 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -331,7 +331,7 @@ along with GNU Emacs. If not, see . */ IBOutlet NSButton *smoothFontsCheck; IBOutlet NSButton *useQuickdrawCheck; IBOutlet NSButton *useSysHiliteCheck; - BOOL prevUseHighlightColor; + Lisp_Object prevUseHighlightColor; #endif float prevExpandSpace; float prevBlinkRate; diff --git a/src/nsterm.m b/src/nsterm.m index f0d8b5af734..3d8ff3129f8 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -180,7 +180,7 @@ Lisp_Object ns_cursor_blink_mode; Lisp_Object ns_expand_space; /* Control via default 'GSFontAntiAlias' on OS X and GNUstep. */ -int ns_antialias_text; +Lisp_Object ns_antialias_text; /* On OS X picks up the default NSGlobalDomain AppleAntiAliasingThreshold, the maximum font size to NOT antialias. On GNUstep there is currently @@ -189,10 +189,10 @@ float ns_antialias_threshold; /* Controls use of an undocumented CG function to do Quickdraw-style font smoothing (less heavy) instead of regular Quartz smoothing. */ -int ns_use_qd_smoothing; +Lisp_Object ns_use_qd_smoothing; /* Used to pick up AppleHighlightColor on OS X */ -int ns_use_system_highlight_color; +Lisp_Object ns_use_system_highlight_color; NSString *ns_selection_color; @@ -3488,10 +3488,10 @@ ns_set_default_prefs () ns_cursor_blink_rate = Qnil; ns_cursor_blink_mode = Qnil; ns_expand_space = make_float (0.0); - ns_antialias_text = YES; - ns_antialias_threshold = 10.0; - ns_use_qd_smoothing = NO; - ns_use_system_highlight_color = YES; + ns_antialias_text = Qt; + ns_antialias_threshold = 10.0; /* not exposed to lisp side */ + ns_use_qd_smoothing = Qnil; + ns_use_system_highlight_color = Qt; } @@ -3807,9 +3807,10 @@ handling_signal = 0; ns_antialias_threshold = NILP (tmp) ? 10.0 : XFLOATINT (tmp); ns_default ("UseQuickdrawSmoothing", &ns_use_qd_smoothing, Qt, Qnil, NO, NO); +fprintf(stderr, "qd smoothing: %d (%d, %d)\n", ns_use_qd_smoothing, EQ(ns_use_qd_smoothing, Qt), NILP(ns_use_qd_smoothing)); ns_default ("UseSystemHighlightColor", &ns_use_system_highlight_color, Qt, Qnil, NO, NO); - if (ns_use_system_highlight_color == YES) + if (EQ (ns_use_system_highlight_color, Qt)) { ns_selection_color = [[NSUserDefaults standardUserDefaults] stringForKey: @"AppleHighlightColor"]; @@ -4018,13 +4019,13 @@ panel to control this setting."); or shrunk (negative). Zero (the default) means standard line height.\n\ (This variable should only be read, never set.)"); - DEFVAR_BOOL ("ns-antialias-text", &ns_antialias_text, + DEFVAR_LISP ("ns-antialias-text", &ns_antialias_text, "Non-nil (the default) means to render text antialiased. Only has an effect on OS X Panther and above."); - DEFVAR_BOOL ("ns-use-qd-smoothing", &ns_use_qd_smoothing, + DEFVAR_LISP ("ns-use-qd-smoothing", &ns_use_qd_smoothing, "Whether to render text using QuickDraw (less heavy) antialiasing. Only has an effect on OS X Panther and above. Default is nil (use Quartz smoothing)."); - DEFVAR_BOOL ("ns-use-system-highlight-color", + DEFVAR_LISP ("ns-use-system-highlight-color", &ns_use_system_highlight_color, "Whether to use the system default (on OS X only) for the highlight color. Nil means to use standard emacs (prior to version 21) 'grey'."); @@ -6158,9 +6159,9 @@ static void selectItemWithTag (NSPopUpButton *popup, int tag) parse_solitary_modifier (ns_control_modifier)); selectItemWithTag (functionModMenu, parse_solitary_modifier (ns_function_modifier)); - [smoothFontsCheck setState: ns_antialias_text ? YES : NO]; - [useQuickdrawCheck setState: ns_use_qd_smoothing ? YES : NO]; - [useSysHiliteCheck setState: prevUseHighlightColor ? YES : NO]; + [smoothFontsCheck setState: (NILP (ns_antialias_text) ? NO : YES)]; + [useQuickdrawCheck setState: (NILP (ns_use_qd_smoothing) ? NO : YES)]; + [useSysHiliteCheck setState: (NILP (prevUseHighlightColor) ? NO : YES)]; #endif } @@ -6230,13 +6231,13 @@ static void selectItemWithTag (NSPopUpButton *popup, int tag) #ifdef NS_IMPL_COCOA ns_control_modifier = ns_mod_to_lisp (ctrlTag); ns_function_modifier = ns_mod_to_lisp (fnTag); - ns_antialias_text = [smoothFontsCheck state]; - ns_use_qd_smoothing = [useQuickdrawCheck state]; - ns_use_system_highlight_color = [useSysHiliteCheck state]; - if (ns_use_system_highlight_color != prevUseHighlightColor) + ns_antialias_text = [smoothFontsCheck state] ? Qt : Qnil; + ns_use_qd_smoothing = [useQuickdrawCheck state] ? Qt : Qnil; + ns_use_system_highlight_color = [useSysHiliteCheck state] ? Qt : Qnil; + if (! EQ (ns_use_system_highlight_color, prevUseHighlightColor)) { prevUseHighlightColor = ns_use_system_highlight_color; - if (ns_use_system_highlight_color == YES) + if (EQ (ns_use_system_highlight_color, Qt)) { ns_selection_color = [[NSUserDefaults standardUserDefaults] stringForKey: @"AppleHighlightColor"]; -- 2.39.2