]> git.pld-linux.org Git - packages/vim.git/blob - 6.3.044
- added __autoheader
[packages/vim.git] / 6.3.044
1 To: vim-dev@vim.org
2 Subject: Patch 6.3.044 (extra)
3 Fcc: outbox
4 From: Bram Moolenaar <Bram@moolenaar.net>
5 Mime-Version: 1.0
6 Content-Type: text/plain; charset=ISO-8859-1
7 Content-Transfer-Encoding: 8bit
8 ------------
9
10 Patch 6.3.044 (extra)
11 Problem:    Mac: When 'linespace' is non-zero the Insert mode cursor leaves
12             pixels behind. (Richard Sandilands)
13 Solution:   Erase the character cell before drawing the text when needed.
14 Files:      src/gui_mac.c
15
16
17 *** ../vim-6.3.043/src/gui_mac.c        Wed Jun  9 14:56:27 2004
18 --- src/gui_mac.c       Wed Dec  8 21:48:12 2004
19 ***************
20 *** 3560,3565 ****
21 --- 3560,3586 ----
22         (void)SwapQDTextFlags(qd_flags);
23       }
24   
25 +     /*
26 +      * When antialiasing we're using srcOr mode, we have to clear the block
27 +      * before drawing the text.
28 +      * Also needed when 'linespace' is non-zero to remove the cursor and
29 +      * underlining.
30 +      * But not when drawing transparently.
31 +      * The following is like calling gui_mch_clear_block(row, col, row, col +
32 +      * len - 1), but without setting the bg color to gui.back_pixel.
33 +      */
34 +     if (((sys_version >= 0x1020 && p_antialias) || p_linespace != 0)
35 +           && !(flags & DRAW_TRANSP))
36 +     {
37 +       Rect rc;
38
39 +       rc.left = FILL_X(col);
40 +       rc.top = FILL_Y(row);
41 +       rc.right = FILL_X(col + len) + (col + len == Columns);
42 +       rc.bottom = FILL_Y(row + 1);
43 +       EraseRect(&rc);
44 +     }
45
46       if (sys_version >= 0x1020 && p_antialias)
47       {
48         StyleParameter face;
49 ***************
50 *** 3573,3594 ****
51   
52         /* Quartz antialiasing works only in srcOr transfer mode. */
53         TextMode(srcOr);
54
55 -       if (!(flags & DRAW_TRANSP))
56 -       {
57 -           /*
58 -            * Since we're using srcOr mode, we have to clear the block
59 -            * before drawing the text.  The following is like calling
60 -            * gui_mch_clear_block(row, col, row, col + len - 1),
61 -            * but without setting the bg color to gui.back_pixel.
62 -            */
63 -           Rect rc;
64 -           rc.left = FILL_X(col);
65 -           rc.top = FILL_Y(row);
66 -           rc.right = FILL_X(col + len) + (col + len == Columns);
67 -           rc.bottom = FILL_Y(row + 1);
68 -           EraseRect(&rc);
69 -       }
70   
71         MoveTo(TEXT_X(col), TEXT_Y(row));
72         DrawText((char*)s, 0, len);
73 --- 3594,3599 ----
74 *** ../vim-6.3.043/src/version.c        Tue Dec  7 13:12:08 2004
75 --- src/version.c       Wed Dec  8 21:50:21 2004
76 ***************
77 *** 643,644 ****
78 --- 643,646 ----
79   {   /* Add new patch number below this line */
80 + /**/
81 +     44,
82   /**/
83
84 -- 
85 hundred-and-one symptoms of being an internet addict:
86 27. You refer to your age as 3.x.
87
88  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
89 ///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
90 \\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
91  \\\     Buy LOTR 3 and help AIDS victims -- http://ICCF.nl/lotr.html   ///
This page took 0.034815 seconds and 3 git commands to generate.