[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r102570: Draw cursor and images corre
From: |
Jan D. |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r102570: Draw cursor and images correctly for Nextstep (bug#7412). |
Date: |
Fri, 03 Dec 2010 11:54:44 +0100 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 102570
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Fri 2010-12-03 11:54:44 +0100
message:
Draw cursor and images correctly for Nextstep (bug#7412).
* src/nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background
with cursor color and draw a rectangle around the image.
modified:
src/ChangeLog
src/nsterm.m
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2010-12-03 10:07:40 +0000
+++ b/src/ChangeLog 2010-12-03 10:54:44 +0000
@@ -1,3 +1,8 @@
+2010-12-03 Jan Djärv <address@hidden>
+
+ * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background
+ with cursor color and draw a rectangle around the image (Bug#7412).
+
2010-12-03 Andreas Schwab <address@hidden>
* frame.c (x_set_font): Remove unused variable.
=== modified file 'src/nsterm.m'
--- a/src/nsterm.m 2010-12-02 08:24:16 +0000
+++ b/src/nsterm.m 2010-12-03 10:54:44 +0000
@@ -2779,7 +2779,10 @@
else
face = FACE_FROM_ID (s->f, s->first_glyph->face_id);
- [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) set];
+ if (s->hl == DRAW_CURSOR)
+ [FRAME_CURSOR_COLOR (s->f) set];
+ else
+ [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) set];
if (bg_height > s->slice.height || s->img->hmargin || s->img->vmargin
|| s->img->mask || s->img->pixmap == 0 || s->width !=
s->background_width)
@@ -2842,6 +2845,16 @@
s->slice.x == 0,
s->slice.x + s->slice.width == s->img->width, s);
}
+
+ /* If there is no mask, the background won't be seen,
+ so draw a rectangle on the image for the cursor.
+ Do this for all images, getting trancparency right is not reliable. */
+ if (s->hl == DRAW_CURSOR)
+ {
+ int thickness = abs (s->img->relief);
+ if (thickness == 0) thickness = 1;
+ ns_draw_box (br, thickness, FRAME_CURSOR_COLOR (s->f), 1, 1);
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r102570: Draw cursor and images correctly for Nextstep (bug#7412).,
Jan D. <=