changeset 59577:a4a748516aa7

* 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.
author Steven Tamm <steventamm@mac.com>
date Sun, 16 Jan 2005 00:31:53 +0000
parents bf1c907c5570
children 10f083976969
files src/ChangeLog src/macterm.c
diffstat 2 files changed, 30 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sun Jan 16 00:17:25 2005 +0000
+++ b/src/ChangeLog	Sun Jan 16 00:31:53 2005 +0000
@@ -1,5 +1,10 @@
 2005-01-15  Steven Tamm  <steventamm@mac.com>
 
+	* 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.
 
--- a/src/macterm.c	Sun Jan 16 00:17:25 2005 +0000
+++ b/src/macterm.c	Sun Jan 16 00:31:53 2005 +0000
@@ -101,6 +101,10 @@
 
 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 @@
      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 @@
 
   MoveTo (x, y);
   DrawText (buf, 0, nchars * bytes_per_char);
+#ifdef MAC_OSX
+  if (!NILP(Vmac_use_core_graphics))
+    SwapQDTextFlags(savedFlags);
+#endif
 }
 
 
@@ -9901,7 +9916,16 @@
    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-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