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

Re: [E-devel] evas premul changes



> > Since we're 'breaking' stuff and going over things -- I went
> > ahead and *removed* the current "evas_object_gradient_data_unset"
> > api function.
> > 
> > 	Why..?  Well, its functionality can be obtained by setting
> > new data/adata, or by the colors-clear api func (which will clear
> > alpha stops as well), or just by adding new color/alpha stops.
> >
> 
> Maybe we should just name the function evas_object_gradient_clear()?
> (since it'll clear color/alpha stops, data or image depending on
> which was set, if i'm understanding properly)
> 
	Yes, that's what it does. Also, if you add a color/alpha
stop and there's data/alpha_data or a file set, it would remove these
latter, etc.
	But yes, I guess a more generic 'gradient-clear' name would
be better than the current 'colors-clear' (though it might be taken
to mean 'clear' the type as well).
	However, if we're going to do that, then maybe just go ahead
and rename some others.. eg. 'grad-fill-spread' instead of the current
'grad-spread', and 'grad-stop-add' instead of 'grad-color-add', and
'grad-alpha-stop-add' instead of 'grad-alpha-add'

	I guess a lot of these should have 'spectrum', but that's
so damn long.. which is why I used 'range' instead for the "offset"
and "direction" properties.

	I'll leave it up to you and Carsten if you wish -- you're
the 'namespace' overlord.. something highly needed. :)

> > .....
> > .....
> 
> This makes a lot of sense to me. It cleanly maps to edje, and
> gives all the functionality I can currently think one would want
> (without the hackish feel of my current 'solution' in edje.
> 

	What you did was actually fairly ideal if one were dealing
exclusively with linear grads (and evas had similar).
	But yes, I think the above may work fine with the generic
gradient&fill interfaces.

> > ...
> > where 'direction' should be 1 or -1. This will reverse the
> > gradient spectrum if set to -1.
> 
> Is this ignored for 'image' gradients?

	No, the spectrum will be reversed regardless of its source..
ie. wether it's from stops/data/file. It's done internally when
the interpolating ocurrs.

> > Much ado about gradients, but hopefully all this will make
> > it easier to work with grads in current edje and otherwise.
> > 
> >	Comments...?
> 
> Very awesome stuff. Thanks!  :) 
> 

	Very straightforward really.. some "physics" stuff someone
started looks like far more awesome stuff :)
	But it should improve things with grads a bit. Most of the
actual reworking had to do with the premul change and the separate
color/alpha stuff... and with various improvements I took the chance
to do - more acurate spectrum generation, fix the type-params parsing
so it only ocurrs when the params actually change, and some other
stuff.
	There's still a lot left to do with grads - add the file
setting, add "foci" params to radial and angular grads, maybe
add a 'stop-mode' function for setting wether the "distance" used
in stops should be interpreted as 'weights' or as 'dist-to-next',
and many other things (eg. optimizations)...
	But I have to get out of gradient-land soon, I'm starting
to get tired of them.