diff options
| author | Eli Zaretskii | 2010-04-10 19:28:30 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2010-04-10 19:28:30 +0300 |
| commit | f951a50681995aa58a427f0be801c682df6e5baa (patch) | |
| tree | 69f31a04e8f3ad5bd98b15703999200332ebc718 /src/w32term.c | |
| parent | 2204f4de61e2b10832e13748f36d705854f7bd56 (diff) | |
| download | emacs-f951a50681995aa58a427f0be801c682df6e5baa.tar.gz emacs-f951a50681995aa58a427f0be801c682df6e5baa.zip | |
Implement cursor on the left fringe for R2L lines.
xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): For R2L lines,
consider the left fringe, not the right one.
(set_cursor_from_row): Don't reverse pos_before and pos_after for
reversed glyph rows. Set cursor.x to negative value when the
cursor might be on the left fringe.
(extend_face_to_end_of_line): Append the stretch glyph only if its
width is positive.
(notice_overwritten_cursor, draw_phys_cursor_glyph)
(erase_phys_cursor): For reversed cursor_row, support cursor on
the left fringe.
w32term.c (w32_draw_window_cursor): For reversed glyph rows,
draw cursor on the left fringe.
xterm.c (x_draw_window_cursor): For reversed glyph rows, draw
cursor on the left fringe.
fringe.c (draw_fringe_bitmap): For reversed glyph rows, allow
cursor on the left fringe.
dispnew.c (update_text_area): Handle reversed desired rows when
the cursor is on the left fringe.
(set_window_cursor_after_update): Limit cursor's hpos by -1 from
below, not by 0, for when the cursor is on the left fringe.
Diffstat (limited to 'src/w32term.c')
| -rw-r--r-- | src/w32term.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/w32term.c b/src/w32term.c index 7222e26efd2..0b71b7e02b7 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -5136,10 +5136,12 @@ w32_draw_window_cursor (w, glyph_row, x, y, cursor_type, cursor_width, on_p, act | |||
| 5136 | } | 5136 | } |
| 5137 | 5137 | ||
| 5138 | if (glyph_row->exact_window_width_line_p | 5138 | if (glyph_row->exact_window_width_line_p |
| 5139 | && w->phys_cursor.hpos >= glyph_row->used[TEXT_AREA]) | 5139 | && (glyph_row->reversed_p |
| 5140 | ? (w->phys_cursor.hpos < 0) | ||
| 5141 | : (w->phys_cursor.hpos >= glyph_row->used[TEXT_AREA]))) | ||
| 5140 | { | 5142 | { |
| 5141 | glyph_row->cursor_in_fringe_p = 1; | 5143 | glyph_row->cursor_in_fringe_p = 1; |
| 5142 | draw_fringe_bitmap (w, glyph_row, 0); | 5144 | draw_fringe_bitmap (w, glyph_row, glyph_row->reversed_p); |
| 5143 | return; | 5145 | return; |
| 5144 | } | 5146 | } |
| 5145 | 5147 | ||