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