On Thu, 23 Jun 2005 14:41:31 -0500 Nathan writes:
> I think this would fall in the category of clipping to arbitrary
> objects. Personally, I'd love to see this added as it would make 
> some
> interesting effects easier to implement, but it's certainly not
> trivial and could have a performance impact.
> 
> Right now clipping is restricted to rectangles, so the clipping 
> color
> is applied through blending a single color with the clipped pixels. 
> To
> do arbitrary clipping it would require rendering the clipping pixels
> to a buffer, then blending the clipping pixels with the clipped
> pixels. Another option is providing a clipping operation for each
> primitive to perform the clip/blend operation.
> 

        One has to "clip" all the clipping pixels to a buffer and then
"clip", not blend, the clipping pixels to the clipped ones, then blend
the result to the buffer used internally by the engines to accumulate
pixels.
        To "clip" one pixel by another, in argb format say, one
multiplies the color components of one by the other's.

        The main reason this hasn't been done in general is due to the
need to set up an internal mechanism for doing this *efficiently* --
for all types of objects, with any number/type of clip objects (and
eventually, implementing it efficiently with all the engines).


> On 6/23/05, Jason Tackaberry <[EMAIL PROTECTED]> wrote:
> > On Thu, 2005-06-23 at 11:24 +0900, Carsten Haitzler wrote:
> > > read it - fixed it up a bit (used copy functions as this will 
> use mmx/sse
> > > functions if available) :)
> > 
> > Great!  Tested and works.  With this and the evas_free() fix I'm a 
> happy
> > camper.
> > 
> > One of the main things I'm missing from evas is some method to 
> cause
> > text to fade out, rather than cropping it abruptly (or using an
> > ellipsis).  I suppose what I want is a way to use a gradient 
> object as a
> > clip for a text object.   With pyimlib2 (python bindings I wrote 
> for
> > Imlib2), I just added a custom draw_mask() function, which applies 
> the
> > luma of one image to the alpha of another.  So I create a gradient 
> of
> > white to black, and draw_mask() that to the image containing the 
> text.
> > 
> > Is there way to do this with evas currently?  If not, how 
> difficult is
> > something like this to implement?
> > 
> > Cheers,
> > Jason.
> > 

        You can cause the text, as a whole, "to fade out" by decreasing
the alpha of the color you're drawing the text in. But not in the manner
that you seem to have in mind here, ie. to let some parts of the text
fade away, as could occur if it were "clipped" by a suitable gradient
say.

        It's possible evas will have this kind of capability "soon" ...




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to