unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Third <alan@idiocy.org>
To: Anand Tamariya <atamariya@gmail.com>
Cc: Eli Zaretskii <eliz@gnu.org>,
	Alexander Adolf <alexander.adolf@condition-alpha.com>,
	Emacs Devel <emacs-devel@gnu.org>
Subject: Re: SVG hack for display engine
Date: Sat, 20 Nov 2021 19:44:49 +0000	[thread overview]
Message-ID: <YZlQMVkwPbpPqczl@idiocy.org> (raw)
In-Reply-To: <CADm7Y4n-EmSUO88SuhaXjAcJbDy_t=3FgAj+YC-8B=Z-EW_y=w@mail.gmail.com>

On Fri, Nov 19, 2021 at 07:02:20AM +0530, Anand Tamariya wrote:
> > > - svg-render (svg x y width height)
> > > svg is a Lisp DOM object as returned by (dom-node). This should use
> > librsvg to generate a bitmap image of
> > > svg of size (width x height) and superimpose it at position (x, y) on
> > the current bitmap being displayed by
> > > Emacs.
> > *The current image API takes either a filename or XML string for SVG. This
> > can be avoided if svg is a > Lisp DOM.* Edit: (dom-node) is defined in
> > dom.el .
> >
> Can you visualize the amount of string serialization, deserialization and
> SVG parsing happening in a draw or move operation with live feedback? Do
> you see it performing well for even a moderately sized SVG?
> 
> Without direct SVG support in the display engine ie. a way for a developer
> to tell the display engine to use a particular SVG  in a DOM form during
> it's normal display cycle, any such implementation will remain a hack - it
> works but it could be much better.

I'm curious. I can't see any functionality in librsvg for loading an
SVG DOM directly without doing a round-trip into a string. Am I
missing something?

Does this idea rely on using some Cairo functionality?
-- 
Alan Third



  parent reply	other threads:[~2021-11-20 19:44 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-15  2:39 SVG hack for display engine Anand Tamariya
2021-11-15 12:45 ` Eli Zaretskii
2021-11-15 13:27   ` Anand Tamariya
2021-11-15 14:02     ` Eli Zaretskii
2021-11-16  3:01       ` Anand Tamariya
2021-11-16  3:28         ` Po Lu
2021-11-16 12:56           ` Eli Zaretskii
2021-11-16 13:02             ` Po Lu
2021-11-16 12:55         ` Eli Zaretskii
2021-11-16 14:08           ` Alexander Adolf
2021-11-16 14:16             ` Eli Zaretskii
2021-11-16 14:22               ` Alexander Adolf
2021-11-17  4:33               ` Anand Tamariya
2021-11-17  4:46                 ` Po Lu
2021-11-26  1:33                   ` Gerry Agbobada
2021-11-17 13:47                 ` Eli Zaretskii
2021-11-17 23:47                   ` Anand Tamariya
2021-11-18  8:16                     ` Eli Zaretskii
2021-11-18 10:13                       ` Anand Tamariya
2021-11-18 11:21                         ` Eli Zaretskii
2021-11-18 13:29                           ` Anand Tamariya
2021-11-18 14:52                             ` Eli Zaretskii
2021-11-19  1:32                               ` Anand Tamariya
2021-11-19  7:07                                 ` Eli Zaretskii
2021-11-20 19:44                                 ` Alan Third [this message]
2021-11-22  2:48                                   ` Anand Tamariya
2021-11-22 10:59                                     ` Alan Third

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=YZlQMVkwPbpPqczl@idiocy.org \
    --to=alan@idiocy.org \
    --cc=alexander.adolf@condition-alpha.com \
    --cc=atamariya@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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).