Hello all,
As some of you have heard already, I've been working for the past few months on an advanced font effects module for Evas. The main idea is to integrate features like in Gimp in the Evas rendering engine itself, in order to have some cool text effects. I'd love to integrate this work within EFL 1.9 (the merge window is still open :) ), but still leave it marked as experimental because it's... well, not perfect quite yet. Here's what's working: - Software rendering - Basic OpenGL (integration through full software rendering and pushing a texture) - Basic Edje integration (the best for quick testing) - Text object My work has been public since I started, in my dev branch (devs/jpeg/fonteffects), but I guess no one really had a look at it yet :) Fundamentally, it's a whole new part of Evas, called Evas_Filter (in evas/filters) and almost nothing in Evas has been changed otherwise. We add some basic support for Alpha images (1 byte per pixel, instead of the usual RGBA). The concept is to apply a series of operations to Alpha/RGBA buffers, and blend the final result on screen. These buffers can be thought of as a series of layers and the operations as filters (in the Gimp terminology). So while the target is text for now, the whole concept has pretty much nothing to do with text, really, just basic image processing :) Right now, here are the available filters: - Blend - Mask (same as blend, but with 2 input images and an output) - Bump (using a bump map and various colors) - Displacement (using a specific displacement map image format) - Transform (vertical flip only for now) - Blur - Curve (apply a color curve to any color channel) Using proxy source images (any object actually), we can apply textures to the text. And if the texture is, say, an animated Gif of a fire, then the text will be on fire as well. Finally, I'm introducing a new script language (yeah, sorry), that's pretty simple, to describe the various buffers and commands to apply sequentially. For example, to apply a simple dark blue drop shadow, one could do: blur(ox=4, oy=6, dx=10, dy=10, color=darkblue); blend(color=white); A test app with examples is available in my repo, at: https://git.enlightenment.org/devs/jpeg/font_effect_ui.git/ More examples will follow. Also, images & screenshots should follow. Right now, I am working (hard :P) at fixing a few remaining issues with proxy rendering (crashes, dangling objects, you name it...) and I'll do a final rebase of my work over master before the weekend. I removed my changes in Textblock as they introduce way too many issues, especially with the recent optimizations. Soon, all your text will be on fire :-) Best regards, -- Jean-Philippe André (jpeg) ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel