emacs-devel
[Top][All Lists]
Advanced

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

Re: Cairo branch.


From: Stefan Monnier
Subject: Re: Cairo branch.
Date: Thu, 12 Feb 2015 11:18:41 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

> YAMAMOTO Mitsuharu made the patch to demonstrate printing, so that is new
> (see x-print-frames-dialog or the Printing section in xfns.c).

Oh, yes, I had forgotten about that one.

> Otherwise it is just a step to keep up with the times, i.e. server side (as
> in X11 server) rendering is going away as it seems.  So Emacs must at some
> point develop client side (cairo) rendering.

So, IIUC the effect is to change the underlying code used to *draw* the
actual windows (but not the widgets like menubar, scrollbars, ...).
Does it affect font selection?

> It could form a basis for porting to other window systems like Wayland, that
> has no rendering of its own, but relies on cairo.  That takes more effort,
> the cairo branch is X only.  Note that porting to Wayland isn't as simple as
> switching rendering, the whole event handling must be implemented.

OK.

> I think using cairo and going double buffer in Emacs is easier than making
> X double buffered.  The main obstacle to double buffering is the way Emacs
> does redraw, i.e. not in the GUI loop, but outside it.  This is tricky to
> change, as there are lots of flags in the redraw code that gets set and
> reset at various points.  Figuring all that stuff out is not easy.

I don't understand this part of the code nearly enough to say something
intelligent, but based on my work on the pre-redisplay-function
feature (trying to optimize the set of windows that need to be redrawn),
I think I understand a bit of what you mean.


        Stefan



reply via email to

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