emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101129: Fix display of bar cursor on


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101129: Fix display of bar cursor on right-to-left text.
Date: Wed, 18 Aug 2010 19:42:06 +0300
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101129
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Wed 2010-08-18 19:42:06 +0300
message:
  Fix display of bar cursor on right-to-left text.
  
   xterm.c (x_draw_bar_cursor):
   w32term.c (x_draw_bar_cursor): If the character under cursor is
   R2L, draw the bar cursor on its right rather than on its left.
modified:
  src/ChangeLog
  src/w32term.c
  src/xterm.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-08-18 10:21:43 +0000
+++ b/src/ChangeLog     2010-08-18 16:42:06 +0000
@@ -1,3 +1,9 @@
+2010-08-18  Eli Zaretskii  <address@hidden>
+
+       * xterm.c (x_draw_bar_cursor):
+       * w32term.c (x_draw_bar_cursor): If the character under cursor is
+       R2L, draw the bar cursor on its right rather than on its left.
+
 2010-08-18  Stefan Monnier  <address@hidden>
 
        * eval.c (Fdefmacro): Only obey one declaration.

=== modified file 'src/w32term.c'
--- a/src/w32term.c     2010-08-14 12:55:04 +0000
+++ b/src/w32term.c     2010-08-18 16:42:06 +0000
@@ -4897,6 +4897,11 @@
 
          w->phys_cursor_width = width;
 
+         /* If the character under cursor is R2L, draw the bar cursor
+            on the right of its glyph, rather than on the left.  */
+         if ((cursor_glyph->resolved_level & 1) != 0)
+           x += cursor_glyph->pixel_width - width;
+
          w32_fill_area (f, hdc, cursor_color, x,
                         WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y),
                         width, row->height);

=== modified file 'src/xterm.c'
--- a/src/xterm.c       2010-08-14 12:55:04 +0000
+++ b/src/xterm.c       2010-08-18 16:42:06 +0000
@@ -7158,6 +7158,11 @@
 
          w->phys_cursor_width = width;
 
+         /* If the character under cursor is R2L, draw the bar cursor
+            on the right of its glyph, rather than on the left.  */
+         if ((cursor_glyph->resolved_level & 1) != 0)
+           x += cursor_glyph->pixel_width - width;
+
          XFillRectangle (dpy, window, gc,
                          WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x),
                          WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y),


reply via email to

[Prev in Thread] Current Thread [Next in Thread]