<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">On Sunday 09 August 2009, Martin Renold wrote:<br>
> On Sun, Aug 02, 2009 at 01:36:35PM +0100, Øyvind Kolås wrote:<br>
> > [...] or perhaps even make the projection/ fallback/cache rendering<br>
> > reference just an attribute of the filter/stack/layer.<br>
><br>
> I think the fallback/cache will need own attributes, like x/y position and<br>
> maybe the possibility to provide both a float and an 8bpc variant.<br>
I am not sure if I see the point of this, I would suggest to limit fallback to RGB8bit (eventually to grayscale 8bit).<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>> And we might have to distinguish between fallbacks/caches for filters<br>
> (which provide a replacement image for everything below them) and<br>
> fallbacks/caches for <render> tags (which are composited OVER whatever is<br>
> below them).<br>
Why the need of a distinction, if you see <render><fallback /></render> and <filter><fallback /></filter> then you know what kind of replacement you need to do.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>> > We should permit fallbacks as a subelement of all possible OpenRaster XML<br>
> > elements,<br>
><br>
> With this solution, if we want the applications that need the fallbacks<br>
> also to actually use them, then we should quickly define a small, permanent<br>
> and sealed list of possible OpenRaster XML elements.<br>
><br>
> (Assuming we don't want an un-XML'ish solution after all, by asking<br>
> implementations to check every unrecognized tag for fallbacks.)<br>
that would plead for doing the other way around <fallback> <render /> </fallback>, I am unsure of what I prefer.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>> > and that it would be encouraged to make this information survive<br>
> > an load/edit/save cycle.<br>
><br>
> Do you mean unrecognized filters and tags? In order for this to work,<br>
> unrecognized datafiles also have to survive the load/edit/save cycle.<br>
><br>
> Examples:<br>
> - SVG datafiles used by an SVG render tag<br>
> - color profiles (for apps that don't know about them)<br>
> - app-specific extensions:<br>
> - vectorized strokes (tablet input data) for some layers<br>
> - avatar pictures of users who have edited the image<br>
><br>
> To be sure you would have to preserve the whole ZIP content. Do you think<br>
> such a thing would actually get implemented in GIMP or Krita?<br>
I hope so.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>> > There is currently no "render" element in OpenRaster.<br>
><br>
> Wouldn't it be appropriate to use the <render> element also for text and<br>
> for SVG data? Applications that don't handle SVG or text could just<br>
> support it with the same code. This also helps reducing the number of tags.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>For SVG, I would simply use <layer src="myfile.svg" />.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>-- <br>
Cyrille Berger</p></body></html>