emacs-devel
[Top][All Lists]
Advanced

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

Re: Identifying the face between STRETCH and right fringe.


From: Eli Zaretskii
Subject: Re: Identifying the face between STRETCH and right fringe.
Date: Tue, 27 Nov 2018 13:29:44 +0200

> From: Robert Pluim <address@hidden>
> Cc: address@hidden
> Date: Tue, 27 Nov 2018 12:02:51 +0100
> 
> >   if (FRAME_WINDOW_P (f)
> >       && MATRIX_ROW_DISPLAYS_TEXT_P (it->glyph_row)
> >       && face->box == FACE_NO_BOX
> >       && face->background == FRAME_BACKGROUND_PIXEL (f)
> > #ifdef HAVE_WINDOW_SYSTEM
> >       && !face->stipple
> > #endif
> >       && !it->glyph_row->reversed_p)
> >     return;      <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> >
> 
> When we get here, face->background == 1, and FRAME_BACKGROUND_PIXEL ==
> 0xfffeffff
> 
> Looking through nsfns.m, the problem becomes obvious: the NS port uses
> indices into a color table to specify the background colour of faces,
> and FRAME_BACKGROUND_PIXEL is an RGBA value.

Why does NS use indices here, and not RGBA values?

> Iʼm not sure how best to fix this.

If no better/cleaner idea emerges, how about having an NS-specific
code here that computed the it->face's background RGBA by indexing
into the color table, before comparing that with
FRAME_BACKGROUND_PIXEL?



reply via email to

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