<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:14px">Replying inline:</span><div class="gmail_extra" style="font-family:arial,sans-serif;font-size:14px"><br><br><div class="gmail_quote"><div class="im">
2014/1/5 Simon Sapin <span dir="ltr"><<a href="mailto:simon.sapin@exyr.org" target="_blank">simon.sapin@exyr.org</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>On 05/01/2014 12:11, 影月 零 wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">OK, that sort of clears things up for me. It still confuses me how an<br>
SVG can be loaded with this:<br><a href="http://cairographics.org/documentation/cairomm/reference/classCairo_1_1SvgSurface.html" target="_blank">http://cairographics.org/<u></u>documentation/cairomm/<u></u>reference/classCairo_1_<u></u>1SvgSurface.html</a><br>
</blockquote><br></div>It can not. Cairo’s SVG surface only *writes* SVG files. It does not know how to read them or render them.<div><br></div></blockquote></div><div>That makes waaay too much sense now that I look at my code again. I was loading with rsvg... </div>
<div class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
What I need isn't necessarily a scene graph in whole as I need no actual<br>rendering capability. I really just need to be able to manipulate the<br>SVG data and I would like to do that in an object-oriented and<br>language-native way, rather than hacking through XML with an XML library<br>
like Nokogiri.<br></blockquote><br></div>SVG is fundamentally XML. SVG’s DOM is XML’s DOM.<br></blockquote></div><div>That is true but it's a common construct to re-implement the DOM natively. EG the HTML DOM is easy to access and manipulate with JS native constructs, even more so with tools/frameworks/libraries like jQuery. COLLADA (which I absolutely hate with a f*ing passion GOD DAMN WHAT AN AWFUL AWFUL FORMAT) has a few libraries which convert the DOM into native C++ objects or C structs. There's many many more examples of course. </div>
<div class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>On top of that there are a few things like parsing a path, but not much really. Every renderer I know of implements those ad-hoc.<div>
<br></div></blockquote></div><div>Again, SVG is implemented in XML as a saved format, but programatically it is great to have a re-implementation. Manipulation with Cairo would of course be the best scenario because let's face it, Cairo is where it's at with vector graphics. If there was a library to just parse SVG and just have a collection of objects Cairo can deal with and manipulate directly that would be awesome. </div>
<div class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
That no library like this seems to exist surprises me. I<br>was really expecting to find something like COLLADA DOM (but hopefully<br>easier to use) for SVG.<br></blockquote><br></div>I’ll be looking forward to you making it :)<font color="#888888"><br>
<br></font></blockquote></div><div>I really really hope someone else does that. I may end up writing a small sample to just parse the objects and change color, but the fact of the matter is our company is in the red and we really don't have any free time. We're the guys who are doing the new apngasm btw., check the kickstarter. We've been looking at doing SVG and SMIL tools after that but with the pace apngasm is going (our partner has a day job other than apngasm/we've already gone through the funds with extra work to make the library more usable) I absolutely do not want to think about running another kickstarter and having to deal with that responsibility.</div>
<div><br></div><div>If I do decide to make a little sample DOM to Native Object library is there a specific SVG spec reference that I should look at?</div><div><br></div><div>-Rei</div></div></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2014/1/5 Simon Sapin <span dir="ltr"><<a href="mailto:simon.sapin@exyr.org" target="_blank">simon.sapin@exyr.org</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 05/01/2014 12:11, 影月 零 wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
OK, that sort of clears things up for me. It still confuses me how an<br>
SVG can be loaded with this:<br>
<a href="http://cairographics.org/documentation/cairomm/reference/classCairo_1_1SvgSurface.html" target="_blank">http://cairographics.org/<u></u>documentation/cairomm/<u></u>reference/classCairo_1_<u></u>1SvgSurface.html</a><br>

</blockquote>
<br></div>
It can not. Cairo’s SVG surface only *writes* SVG files. It does not know how to read them or render them.<div class="im"><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
What I need isn't necessarily a scene graph in whole as I need no actual<br>
rendering capability. I really just need to be able to manipulate the<br>
SVG data and I would like to do that in an object-oriented and<br>
language-native way, rather than hacking through XML with an XML library<br>
like Nokogiri.<br>
</blockquote>
<br></div>
SVG is fundamentally XML. SVG’s DOM is XML’s DOM.<br>
<br>
On top of that there are a few things like parsing a path, but not much really. Every renderer I know of implements those ad-hoc.<div class="im"><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That no library like this seems to exist surprises me. I<br>
was really expecting to find something like COLLADA DOM (but hopefully<br>
easier to use) for SVG.<br>
</blockquote>
<br></div>
I’ll be looking forward to you making it :)<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Simon Sapin</font></span><div class="HOEnZb"><div class="h5"><br>
-- <br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org" target="_blank">cairo@cairographics.org</a><br>
<a href="http://lists.cairographics.org/mailman/listinfo/cairo" target="_blank">http://lists.cairographics.<u></u>org/mailman/listinfo/cairo</a></div></div></blockquote></div><br></div>