From: Steven Tamm Date: Sun, 16 Jan 2005 00:31:53 +0000 (+0000) Subject: * macterm.c (Vmac_use_core_graphics): defined X-Git-Tag: ttn-vms-21-2-B4~2725 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/743d0696815e14252284e5b11ba7f40feeb652c9 * macterm.c (Vmac_use_core_graphics): defined (syms_of_macterm): Added mac-use-core-graphics (mac_draw_string_common): Use core graphics text rendering if mac-use-core-graphics is enabled. --- diff --git a/src/ChangeLog b/src/ChangeLog index a8dd700f7d..6f67d5e49f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2005-01-15 Steven Tamm + * macterm.c (Vmac_use_core_graphics): defined + (syms_of_macterm): Added mac-use-core-graphics + (mac_draw_string_common): Use core graphics text rendering if + mac-use-core-graphics is enabled. + * macfns.c (Fx_file_dialog): Save As dialog includes only the file name in the text box. diff --git a/src/macterm.c b/src/macterm.c index 0dc530cda8..4a1593309b 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -101,6 +101,10 @@ Boston, MA 02111-1307, USA. */ Lisp_Object Vx_toolkit_scroll_bars; +/* If Non-nil, the text will be rendered using Core Graphics text rendering which may anti-alias the text. */ +Lisp_Object Vmac_use_core_graphics; + + /* Non-zero means that a HELP_EVENT has been generated since Emacs start. */ @@ -725,6 +729,13 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, int nchars, mode, bytes_per_char; { SetPortWindowPort (w); +#ifdef MAC_OSX + UInt32 textFlags, savedFlags; + if (!NILP(Vmac_use_core_graphics)) { + textFlags = kQDUseCGTextRendering; + savedFlags = SwapQDTextFlags(textFlags); + } +#endif mac_set_colors (gc); @@ -735,6 +746,10 @@ mac_draw_string_common (display, w, gc, x, y, buf, nchars, mode, MoveTo (x, y); DrawText (buf, 0, nchars * bytes_per_char); +#ifdef MAC_OSX + if (!NILP(Vmac_use_core_graphics)) + SwapQDTextFlags(savedFlags); +#endif } @@ -9901,8 +9916,17 @@ Toolbox for processing before Emacs sees it. */); doc: /* If non-nil, the Mac \"Control\" key is passed on to the Mac Toolbox for processing before Emacs sees it. */); Vmac_pass_control_to_system = Qt; + + DEFVAR_LISP ("mac-pass-control-to-system", &Vmac_pass_control_to_system, + doc: /* If non-nil, the Mac \"Control\" key is passed on to the Mac +Toolbox for processing before Emacs sees it. */); + Vmac_pass_control_to_system = Qt; #endif + DEFVAR_LISP ("mac-use-core-graphics", &Vmac_use_core_graphics, + doc: /* If non-nil, the text will be rendered using Core Graphics text rendering which may anti-alias the text. */); + Vmac_use_core_graphics = Qnil; + DEFVAR_INT ("mac-keyboard-text-encoding", &mac_keyboard_text_encoding, doc: /* One of the Text Encoding Base constant values defined in the Basic Text Constants section of Inside Macintosh - Text Encoding