[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cairo
Subject:    [cairo] DOM manipulation
From:       Carl Worth <cworth () east ! isi ! edu>
Date:       2004-03-18 18:59:59
Message-ID: 16473.61871.7828.927355 () scream ! east ! isi ! edu
[Download RAW message or body]

On Feb 28, Rob Kaper wrote:
 > I've got a quick question on Cairo features [...]

I'm sorry, but I'm afraid I didn't catch what your question is. Could
you restate it if necessary? I'll try to guess what it might have been
and answer as best I can.

 > I'm planning to utilize SVG to render the board layout of board games and
 > want to manipulate the DOM of an SVG image loaded from file to perform tasks
 > such as:

You should be able to write code to do this kind of thing using
cairo. We've already got one cairo-using SVG library (libsvg-cairo)
at:

	http://xsvg.org

It does not currently provide a DOM-like API, but that could be added
if someone were so inclined.

 > - changing the color of a certain element

I should mention here that cairo is an immediate-mode drawing API. So
at the level of the cairo interface, you don't have elements that have
been drawn whose colors could be changed, (instead there's just a
current color which will be used for the next object drawn).

But the kind of retained-mode interface you describe here could be
layered on top of cairo.

 > - requesting coordinates, as rendered, of an element, to calculate waypoints
 >   for tokens

If I understand this correctly, then the cairo_current_path function
should provide everything you need here. (Hmm... you might need
cairo_stroke_path too which has not yet been implemented).

 > KDE/Qt/C++ bindings would be a requirement of course, so hopefully showing
 > some interest in Cairo as KDE developer might motivate work in that area and
 > obviously I'm willing to do the necessary testing and debugging work.

I did see a reference one to C++ cairo bindings for KDE. But that code
was never contributed to the cairo CVS tree and I didn't save the link
to it. If someone has a reference to it, I'd be glad to add a pointer
to the web page.

-Carl


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic