changeset 38886:f035ca54b24a

2001-08-21 Andrew Choi <akochoi@cse.cuhk.edu.hk> * src/macterm.c (mac_scroll_area): Call CopyBits with local coordinates and portBits instead of global coordinates and screenBits. Set fore color and back color to black and white, respectively, before calling CopyBits. * src/macterm.c (local_to_global_coord): Comment out.
author Andrew Choi <akochoi@shaw.ca>
date Tue, 21 Aug 2001 10:06:09 +0000
parents 6a59bf426176
children 12fcb93284db
files mac/ChangeLog mac/src/macterm.c
diffstat 2 files changed, 23 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mac/ChangeLog	Tue Aug 21 08:12:16 2001 +0000
+++ b/mac/ChangeLog	Tue Aug 21 10:06:09 2001 +0000
@@ -1,3 +1,12 @@
+2001-08-21  Andrew Choi  <akochoi@cse.cuhk.edu.hk>
+
+	* src/macterm.c (mac_scroll_area): Call CopyBits with local
+	coordinates and portBits instead of global coordinates and
+	screenBits.  Set fore color and back color to black and white,
+	respectively, before calling CopyBits.
+
+	* src/macterm.c (local_to_global_coord): Comment out.
+
 2001-07-26  Andrew Choi  <akochoi@i-cable.com>
 
 	* inc/macterm.h (x_display_list): Declare extern.
--- a/mac/src/macterm.c	Tue Aug 21 08:12:16 2001 +0000
+++ b/mac/src/macterm.c	Tue Aug 21 10:06:09 2001 +0000
@@ -836,6 +836,7 @@
 }
 
 
+#if 0
 /* Convert a pair of local coordinates to global (screen) coordinates.
    Assume graphic port has been properly set.  */
 static void
@@ -851,7 +852,7 @@
   *h = p.h;
   *v = p.v;
 }
-
+#endif
 
 /* Mac replacement for XCopyArea: used only for scrolling.  */
 
@@ -867,11 +868,14 @@
   Rect src_r, dest_r;
 
   SetPort (w);
+#if 0
   mac_set_colors (gc);
+#endif
 
   SetRect (&src_r, src_x, src_y, src_x + width, src_y + height);
   SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height);
 
+#if 0
   /* Need to use global coordinates and screenBits since src and dest
      areas overlap in general.  */
   local_to_global_coord (&src_r.left, &src_r.top);
@@ -880,6 +884,15 @@
   local_to_global_coord (&dest_r.right, &dest_r.bottom);
 
   CopyBits (&qd.screenBits, &qd.screenBits, &src_r, &dest_r, srcCopy, 0);
+#else
+  /* In Color QuickDraw, set ForeColor and BackColor as follows to avoid
+     color mapping in CopyBits.  Otherwise, it will be slow.  */
+  ForeColor (blackColor);
+  BackColor (whiteColor);
+  CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0);
+  
+  mac_set_colors (gc);
+#endif
 }