[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[E-devel] edje canvas objects

>    Jason writes:

> > >	Much ado about gradients, but hopefully all this will make
> > > it easier to work with grads in current edje and otherwise.
> > 
> > Forgive me for chiming in when I haven't read the full thread
> > nor grokked the context, but does any of your work allow being
> > able to set gradients as clipping objects?  The ability to clip
> > a text object with a gradient to allow fading text out is
> > something I've wanted to be able to do for a long time.  :) 
> > 
> > Cheers,
> > Jason.
> > 
>	The short anwser is no. Only rectangle objs work as clip
> objs in evas at this time.
> 	The longer anwser is that yes, there is a way you can
> do this right now - if you use a buffer evas for your text output.
>	You would setup your buffer evas (make sure it's set to
> have-alpha). Then add your text obj and add a suitable grad obj on
> top of that -- AND set the grad obj's render-op to EVAS_RENDER_MUL.

	Just thought I'd follow up on this a bit... Note that in the
above one can also use an image object, indeed all renderable objects
respect the various render-ops (only for buffer-engine based evases
right now, though the 'mul' render-op only behaves like 'clipping'
for non-shape like objs, eg. images/grads).

	Likely evas will have general obj clipping not too far away,
but 'buffer evases' are also interesting and useful (hence the
ecore sub-canvases).
	I've mentioned before the possibility of adding an evas
'canvas' object (which could then be used for the ecore sub-canvas
implementation), but even if/when such happens, it likely will
not be quite as useful if edje does not support such.
	So, what does that mean?  Well, it could mean many things
but a simple interpretation would be to add to edje a 'canvas'
	This would be a texture-like edje object type (ie. has fill
properties), and in its 'canvas' def block it would essentially
allow for the same edc definitions that are allowed outside of such
a block.. or possibly also refer to another edc file.....

	Internally, edje could implement this in the same way as
ecore does sub-canvases right now, ie. setup an img object of the
'parent' canvas and a buffer evas with that image as outbuf.. etc.

	Doing this would be a fairly powerful extension to edje,
allowing for greater theming flexibility and interesting effects
to be described at the 'theming' level.

	Just some thoughts on the edje :)