[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