>       This is the kind of thing that makes 'chaining' of arbitrary
> filters a problem unless very strict semantic rules are followed,
> and an api used which is able to naturally represent those rules.
>
>    .... I'll continue this a bit later, but please do jump in
> with comments or whatnot if you see fit.
>
>   

      In order to get a filter api that provides an un-ambiguous,
intuitive interpretation for things, we thus need to separate this
from the existing 'clipping' api - even if the 'filters' one might
be similar, it still really needs to be separate (it'll also allow
for greater flexibility if desired).
      One also really needs to make sure that the 'filters' are
typed sufficiently so that it's clear that one's dealing with
filters that modify a given object type, or that modify 'surfaces',
etc. (of course one can consider rendering an object as a kind of
filter on surfaces, with the obj to be rendered to the surface
as providing part of the data that defines such a surface filter).

      Without that, we have the general kind of ambiguity faced with
certain common filter notions like geometric transforms or coloring,
where one has to decide somehow whether to interpret the effect of
the filter as acting on a buffer-surface rendering of the object, or
otherwise.. and this is not something unique to smart-objs.
      For example, in something like transf > blur > transf > polygon
the first applied transform could well be interpreted as acting
on vertex data, but the last applied one would likely need to be
done on surface data - ie. transform a buffer surface that holds the
result of blurring a rendered poly (until someone comes up with vertex
data for blurry-polygons). Consider implementing the general case of
this kind of thing, with arbitrary chains, with loadable filters, with
any object... unless you have strict typing mechanisms and composition
rules.

      So long as we maintain strict typing of filters, and semantic
rules for filter composition, we have few problems.. otherwise, one
has to be more careful in order to resolve possible ambiguities.
And as soon as one starts to allow for general/loadable kinds of
filters, then one really *has* to have strict typing notions.
      Whether it's just restricting things to abstract geometric
transforms and surface (ie. image) effects, or something more general,
one needs to know exactly what one is working with.. a vague 'filters
for evas objects.. We can do anything!' idea is just going to lead to
an absurd mess.

      So, what kind of api should be provided for 'filters for evas
objects'? And how can general/loadable such filters be defined and
obtained?

      Gustavo has given one possible suggestion (still needs the
issue of general/loadable ones addressed, and may want to replace
the 'set' with an 'add', or even an 'append/pre-pend' and others).

      Does anyone else have another?



-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to