emacs-devel
[Top][All Lists]
Advanced

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

Re: Question about display engine


From: Ergus
Subject: Re: Question about display engine
Date: Wed, 28 Aug 2019 20:19:58 +0200
User-agent: NeoMutt/20180716

On Wed, Aug 28, 2019 at 08:24:26PM +0300, Eli Zaretskii wrote:
Date: Wed, 28 Aug 2019 18:31:42 +0200
From: Ergus <address@hidden>
Cc: Eli Zaretskii <address@hidden>, address@hidden

Any way my question comes from 2 frequent use cases I don't know what's
the expected behavior:

1) Base face sets background and extend; and face sets only background.

The background of the base face will be extended.


But AFAIU the actual merging rules now will create a new face (if not
there already) that will have the new background; so this means that
then we need a way to remember the last background color where
background and extend where set at the same time; so the extend flag
will be not a bool flag, but a pointer (or a copy) to a previous point
(value) in the faces stack??

Then at the last step of the merge we could potentially have N exact
equal faces that only have difference in those points.

2) Base face sets extend but not background; and face sets both.

The background of the face will be extended.

in what condition the :extend attribute goes to the merged face? Always?
when in base_face? When in face?

The :extend attribute determines whether the background color of the
face with that attribute does or doesn't get merged into the "merged
face" to be used by the iterator.




reply via email to

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