On Friday 27 June 2008, Øyvind Kolås wrote: > On Thu, Jun 26, 2008 at 4:33 PM, yahvuu <yahvuu@xxxxxxxxx> wrote: > > On Thu, Jun 26, 2008 at 2:31 PM, Øyvind Kolås <pippin@xxxxxxxx> > > wrote: Anyhow, implementing these filters as new operations > > solves the problem for now. Having two kinds of gaussian blur > > seems awkward at first, but it is a user choice which edges to > > blur and not GEGL's. > > The filter pairs can be merged later on by implementing > > one as a meta operation of the other or simply by an > > option property like "preserve bounding box". > > > > I'll derive the new filters from GeglOperationEdgedAreaFilter if > > no better naming comes up. For the filters probably: > > gaussian-blur-edged, > > box-blur-edged > > It is much better to extend GeglBuffer to have an abyss policy, > this means that requests for pixels outside > the define area gets read back as if they were smeared/mirrored (or > like now all 0). After this the gaussian blur could be changed to > not expand it's result rectangle beyond the original input, and > still use the current easily managable code paths for the actual > filtering. > This looks plainly as the right thing to do. Just to formalize the behavior. The most natural way of doing it would be if the filter should have a way to "tell" the buffer what it wants from the abyss. Note that this is different than setting the behavior as a property in the source buffer - it sounds more like a "temporary property" defined by whoever is consuming the buffer. If that is too weird, or would make the code too insane, plain object properties to set the buffer behavior would be fine. So, far I think the desired behaviors for the abyss could be: - solid color (any, including transparent colors) - stretch (smear) - wrap (tile) - mirror and maybe: - offset buffer where offset buffer would be another buffer linked to the source one, just like a larger background layer. This would allow one to implement any desired behavior by creating the other buffer prior to applying the filter - (gradients, scaled mirroring, relief effects, etc... ) js -><- > /Øyvind K. _______________________________________________ Gegl-developer mailing list Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer