mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-13 09:32:47 +00:00
ns_dumpglyphs_stretch, ns_dumpglyphs_image: respect mouse face background.
This commit is contained in:
parent
2d82a920da
commit
85bd26158c
30
src/nsterm.m
30
src/nsterm.m
@ -2808,6 +2808,7 @@ Function modeled after x_draw_glyph_string_box ().
|
||||
int th;
|
||||
char raised_p;
|
||||
NSRect br;
|
||||
struct face *face;
|
||||
|
||||
NSTRACE (ns_dumpglyphs_image);
|
||||
|
||||
@ -2827,8 +2828,17 @@ Function modeled after x_draw_glyph_string_box ().
|
||||
/* Draw BG: if we need larger area than image itself cleared, do that,
|
||||
otherwise, since we composite the image under NS (instead of mucking
|
||||
with its background color), we must clear just the image area. */
|
||||
[ns_lookup_indexed_color (NS_FACE_BACKGROUND
|
||||
(FACE_FROM_ID (s->f, s->first_glyph->face_id)), s->f) set];
|
||||
if (s->hl == DRAW_MOUSE_FACE)
|
||||
{
|
||||
face = FACE_FROM_ID
|
||||
(s->f, FRAME_NS_DISPLAY_INFO (s->f)->mouse_face_face_id);
|
||||
if (!face)
|
||||
face = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
|
||||
}
|
||||
else
|
||||
face = FACE_FROM_ID (s->f, s->first_glyph->face_id);
|
||||
|
||||
[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)
|
||||
@ -2899,6 +2909,7 @@ Function modeled after x_draw_glyph_string_box ().
|
||||
{
|
||||
NSRect r[2];
|
||||
int n, i;
|
||||
struct face *face;
|
||||
|
||||
if (!s->background_filled_p)
|
||||
{
|
||||
@ -2940,8 +2951,19 @@ overwriting cursor (usually when cursor on a tab) */
|
||||
}
|
||||
|
||||
ns_focus (s->f, r, n);
|
||||
[ns_lookup_indexed_color (NS_FACE_BACKGROUND
|
||||
(FACE_FROM_ID (s->f, s->first_glyph->face_id)), s->f) set];
|
||||
|
||||
if (s->hl == DRAW_MOUSE_FACE)
|
||||
{
|
||||
face = FACE_FROM_ID
|
||||
(s->f, FRAME_NS_DISPLAY_INFO (s->f)->mouse_face_face_id);
|
||||
if (!face)
|
||||
face = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
|
||||
}
|
||||
else
|
||||
face = FACE_FROM_ID (s->f, s->first_glyph->face_id);
|
||||
|
||||
[ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) set];
|
||||
|
||||
NSRectFill (r[0]);
|
||||
NSRectFill (r[1]);
|
||||
ns_unfocus (s->f);
|
||||
|
Loading…
Reference in New Issue
Block a user