Mercurial > emacs
view etc/images/connect.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 | ed7704221f2b |
children |
line wrap: on
line source
/* XPM */ static char * stock_connect_xpm[] = { "24 24 58 1", " c None", ". c #000000", "+ c #989389", "@ c #807D74", "# c #C6C2BA", "$ c #34332D", "% c #B7B3AA", "& c #C4C2BD", "* c #EAE8E3", "= c #9C978D", "- c #BCB9B2", "; c #363433", "> c #E2E1DD", ", c #F0EFEC", "' c #AAA7A0", ") c #F0EEEB", "! c #B2B0AB", "~ c #F9F9F8", "{ c #C5C3BD", "] c #0F0F0D", "^ c #F2F0ED", "/ c #EBEAE6", "( c #8A857B", "_ c #ECEBE8", ": c #EEECEA", "< c #9F9C93", "[ c #F3F2F0", "} c #E8E7E4", "| c #E3E1DD", "1 c #78756B", "2 c #BEBBB5", "3 c #B3B1AA", "4 c #7D786E", "5 c #E1DFDB", "6 c #D1D0CC", "7 c #938E84", "8 c #C8C5BF", "9 c #A7A298", "0 c #010101", "a c #8C8981", "b c #A6A29B", "c c #726D63", "d c #CECAC3", "e c #A7A49E", "f c #7E7A70", "g c #A09D94", "h c #817D73", "i c #6C685E", "j c #3C3933", "k c #8B877E", "l c #706C62", "m c #B1ADA4", "n c #97938A", "o c #625E54", "p c #6A655B", "q c #37342D", "r c #646056", "s c #8B877D", " ", " ", " ", " ", " ", " ", " .. .. ", " ..+@.#@.. ", " $%&*@.*@=-; ", " .>,'*@.)@!~{] ", "......@>,'*@.)@!~{@.....", "*******^/(_@.:@<[}|*****", "@@@@@1123451.6@789@@@@@@", ".....01abcd1.e@fghi.....", " ]abcd1.e@fgh] ", " ]jklmi.n@opq. ", " ]]+r.s@.. ", " ]] ]. ", " ", " ", " ", " ", " ", " "};