[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
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 :)