]> git.pld-linux.org Git - packages/vim.git/blame - 6.3.044
- patchlevel 80.
[packages/vim.git] / 6.3.044
CommitLineData
193cbe32
AG
1To: vim-dev@vim.org
2Subject: Patch 6.3.044 (extra)
3Fcc: outbox
4From: Bram Moolenaar <Bram@moolenaar.net>
5Mime-Version: 1.0
6Content-Type: text/plain; charset=ISO-8859-1
7Content-Transfer-Encoding: 8bit
8------------
9
10Patch 6.3.044 (extra)
11Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves
12 pixels behind. (Richard Sandilands)
13Solution: Erase the character cell before drawing the text when needed.
14Files: 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--
85hundred-and-one symptoms of being an internet addict:
8627. 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.037005 seconds and 4 git commands to generate.