# HG changeset patch # User Andrew Choi # Date 998388369 0 # Node ID f035ca54b24a48cf2a7eb1778f419a801f25d443 # Parent 6a59bf4261768353fc7f06a92bd24758cdc7eefc 2001-08-21 Andrew Choi * 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. diff -r 6a59bf426176 -r f035ca54b24a mac/ChangeLog --- 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 + + * 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 * inc/macterm.h (x_display_list): Declare extern. diff -r 6a59bf426176 -r f035ca54b24a mac/src/macterm.c --- 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 }