From: Andrew Choi Date: Tue, 21 Aug 2001 10:06:09 +0000 (+0000) Subject: 2001-08-21 Andrew Choi X-Git-Tag: emacs-pretest-21.0.105~134 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f9e25d0c969f4d9fda329bab70c6d0a30dafb15f;p=emacs.git 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 --git a/mac/ChangeLog b/mac/ChangeLog index a009e66060c..e927b53bc91 100644 --- a/mac/ChangeLog +++ b/mac/ChangeLog @@ -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 --git a/mac/src/macterm.c b/mac/src/macterm.c index 09feea3b373..549b2369121 100644 --- a/mac/src/macterm.c +++ b/mac/src/macterm.c @@ -836,6 +836,7 @@ mac_copy_area (display, src, dest, gc, src_x, src_y, width, height, dest_x, } +#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 @@ local_to_global_coord (short *h, short *v) *h = p.h; *v = p.v; } - +#endif /* Mac replacement for XCopyArea: used only for scrolling. */ @@ -867,11 +868,14 @@ mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y) 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 @@ mac_scroll_area (display, w, gc, src_x, src_y, width, height, dest_x, dest_y) 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 }