From: "Jan D." <jan.h.d@swipnet.se>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: Cairo branch.
Date: Thu, 12 Feb 2015 16:01:11 +0100 [thread overview]
Message-ID: <54DCC037.7030202@swipnet.se> (raw)
In-Reply-To: <jwvpp9g86gf.fsf-monnier+emacs@gnu.org>
Stefan Monnier skrev den 2015-02-11 22:49:
>> I have pushed a cairo branch.
>
> Can you give a short summary of what it brings (and/or what it could
> bring)?
>
YAMAMOTO Mitsuharu made the patch to demonstrate printing, so that is
new (see x-print-frames-dialog or the Printing section in xfns.c).
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.
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.
As for user visible changes, there is nothing, except printing. The
current X rendering is still better, for speed and image support.
Image support when using cairo is lacking, PNG only. Work needs to be
done here (hint, hint :-).
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.
Jan D.
next prev parent reply other threads:[~2015-02-12 15:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-11 15:16 Cairo branch Jan Djärv
2015-02-11 21:49 ` Stefan Monnier
2015-02-12 15:01 ` Jan D. [this message]
2015-02-12 16:04 ` Eli Zaretskii
2015-02-12 19:17 ` Jan D.
2015-02-12 20:06 ` Eli Zaretskii
2015-02-12 20:51 ` Jan D.
2015-02-12 16:18 ` Stefan Monnier
2015-02-12 19:20 ` Jan D.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54DCC037.7030202@swipnet.se \
--to=jan.h.d@swipnet.se \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).