From: Jose G. <jos...@ju...> - 2008-07-15 06:49:28
|
> Again, though not completely to my personal liking (and contradicting my original > version), I'd like to propose changing the evas gradient 'spectrum' api to be of the form: > > evas_object_gradient_color_stop_insert(grad, r, g, b, a, float pos); > > where the 'r,g,b,a' part of the color-stop is assumed NON-PREMUL. > > Unless there's overwhelming resistance to this, or raster actually shows me > that software 3D stuff he has from back when, I will change evas grad spectra > to this form.. and hurt anyone who tries to stop it from being committed. :) > > And just to quadruple-state my reasons for proposing this: I would *prefer* to have (closer to the current version), evas_object_gradient_color_stop_insert(grad, r, r, b, a, float pos); evas_object_gradient_alpha_stop_insert(grad, a, float pos); where the rgba in the color-stop one are assumed premul, and I would also keep the 'data' ones, evas_object_gradient_color_data_set(grad, *data, len, has_alpha); evas_object_gradient_alpha_data_set(grad, *data, len); They're far more flexible and consistent with a premul compositing model.. BUT, the problem with these is that there's NO way to directly implement them (in general) with things like xrender, or cairo, or OpenVG, .... We'd have to do things in software most of the time and create implementation complications in general to get some direct support. It was a good experiment, and there are people who would like to see this kind of thing, but it's likely never going to happen with any of the "standards" or with most libs/apis one could use for engine backends.. :( Hence, better to conform, as this aspect is important. Of course this is as far as the premul vs non-premul stops deal. The other part of changing to inserting with a "float pos" rather than adding stops with some int delta/distance/whatnot.. is partly in order to also have more direct 'standard' support, but also to make it somewhat more intuitive. > I'll also go over the other half of the evas grad api (ie. related to type of > grad, fill geometries, spread modes, and such stuff) a bit later, but any comments > on this part from developers, designers, grandmothers, ... would be welcomed. > ____________________________________________________________ Click here to find Medical Transcription Training programs. http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3nFN8vm5Jdu04IkayXHo4dl6Og8JIjIKhv5rVuwFX1ROTTjK/ |