fix bug with quickdraw smoothing; also, in Makefile, clean out ns_appdir in 'clean' target

This commit is contained in:
Adrian Robert 2008-07-19 22:23:30 +00:00
parent 0d1794fdb0
commit 5c976973f2
4 changed files with 25 additions and 21 deletions

View file

@ -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. */

View file

@ -1060,7 +1060,7 @@ WITH_BACKGROUND is zero when (FROM > 0 || TO < S->nchars). */
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);

View file

@ -331,7 +331,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
IBOutlet NSButton *smoothFontsCheck;
IBOutlet NSButton *useQuickdrawCheck;
IBOutlet NSButton *useSysHiliteCheck;
BOOL prevUseHighlightColor;
Lisp_Object prevUseHighlightColor;
#endif
float prevExpandSpace;
float prevBlinkRate;

View file

@ -180,7 +180,7 @@ the Function modifer (laptops). May be any of the modifier lisp symbols. */
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 @@ the Function modifer (laptops). May be any of the modifier lisp symbols. */
/* 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 @@ Convert modifier code (see lisp.h) to lisp symbol
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 @@ Needs to be here because ns_initialize_display_info () uses AppKit classes.
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 @@ Needs to be here because ns_initialize_display_info () uses AppKit classes.
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 @@ - (void) setPanelFromValues
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 @@ - (void) setValuesFromPanel
#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"];