Mercurial > emacs
annotate etc/images/mh-logo.xpm @ 111116:b52e94e0cf53
Implement mouse highlight for bidi-reordered lines.
xdisp.c (fast_find_string_pos): #ifdef away, not used anymore.
(mouse_face_from_string_pos): New function, replaces
fast_find_string_pos.
(note_mouse_highlight): Call it instead of fast_find_string_pos.
(note_mode_line_or_margin_highlight): Support bidi-reordered
strings and R2L glyph rows. Fix comments.
(note_mouse_highlight): When bidi reordering is turned on in a
buffer, call next-single-property-change and
previous-single-property-change with last argument nil. Clear
mouse highlight when mouse pointer is in a R2L row on the stretch
glyph that stands for no text beyond the line end.
(row_containing_pos): Don't return too early when CHARPOS is in a
bidi-reordered continued line. Return immediately when the first
hit is found in a line that is not continued, or when an exact
match for CHARPOS is found.
(rows_from_pos_range): New function.
(mouse_face_from_buffer_pos): Use it instead of calling
row_containing_pos for START_CHARPOS and END_CHARPOS. Rewrite the
function to support mouse highlight in bidi-reordered lines and
not to assume that START_CHARPOS is always in mouse_face_beg_row.
If necessary, swap mouse_face_beg_row and mouse_face_end_row so
that the former is always above the latter or identical to it.
(show_mouse_face): Support drawing highlighted R2L lines.
(coords_in_mouse_face_p): New function, bidi-aware.
(cursor_in_mouse_face_p, note_mouse_highlight, erase_phys_cursor):
Call it instead of comparing with mouse-face members of dpyinfo.
(note_mode_line_or_margin_highlight): Fix confusingly swapped
usage of hpos and vpos.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 23 Oct 2010 17:30:45 +0200 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
rev | line source |
---|---|
65755
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
1 /* XPM */ |
96484 | 2 /* MH-E Logo |
3 * | |
106815 | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
96484 | 5 * Free Software Foundation, Inc. |
6 * | |
7 * Author: Satyaki Das | |
8 * | |
9 * This file is part of GNU Emacs. | |
10 * | |
11 * GNU Emacs is free software: you can redistribute it and/or modify | |
12 * it under the terms of the GNU General Public License as published by | |
13 * the Free Software Foundation, either version 3 of the License, or | |
14 * (at your option) any later version. | |
15 * | |
16 * GNU Emacs is distributed in the hope that it will be useful, | |
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 * GNU General Public License for more details. | |
20 * | |
21 * You should have received a copy of the GNU General Public License | |
22 * along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | |
23 */ | |
65755
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
24 static char *mh-e[] = { |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
25 /* width height num_colors chars_per_pixel */ |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
26 " 18 13 2 1", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
27 /* colors */ |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
28 "# c #666699", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
29 ". c None s None", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
30 /* pixels */ |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
31 "........##........", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
32 ".......####.......", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
33 "......######......", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
34 "......######......", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
35 "....#########.....", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
36 "..##############..", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
37 ".##...######....#.", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
38 "##...#.#.####...#.", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
39 "....#..#.##.#...#.", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
40 "...#..##.#.#.#....", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
41 "...#..#..#..#.#...", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
42 "...#..#.##..#.##..", |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
43 "...#..#.#..#....#." |
7b615e6c0ea5
2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff
changeset
|
44 }; |