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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
65755
7b615e6c0ea5 2005-09-30 Bill Wohler <wohler@newt.com>
Bill Wohler <wohler@newt.com>
parents:
diff changeset
1 /* XPM */
96484
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
2 /* MH-E Logo
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
3 *
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 100972
diff changeset
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
96484
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
5 * Free Software Foundation, Inc.
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
6 *
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
7 * Author: Satyaki Das
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
8 *
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
9 * This file is part of GNU Emacs.
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
10 *
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
11 * GNU Emacs is free software: you can redistribute it and/or modify
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
12 * it under the terms of the GNU General Public License as published by
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
13 * the Free Software Foundation, either version 3 of the License, or
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
14 * (at your option) any later version.
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
15 *
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
16 * GNU Emacs is distributed in the hope that it will be useful,
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
19 * GNU General Public License for more details.
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
20 *
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
21 * You should have received a copy of the GNU General Public License
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
22 * along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
97ef75402706 Add license notice.
Glenn Morris <rgm@gnu.org>
parents: 65755
diff changeset
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 };