On Thu, Aug 28, 2008 at 9:01 AM, Jose Gonzalez <[EMAIL PROTECTED]> wrote: > The patch contains some further improvements on the new grads, and the > start > of some new things to come for evas, so let me briefly go over some of them > here. > > 1. The start of adding 'fill-transforms' and 'fill-spread' modes to evas > image > objects. I've added the api and implemented the basic canvas level stuff. > Here > are the api functions for that (set ones only here), just like the grad2 > ones: > > EAPI void evas_object_image_fill_transform_set(Evas_Object *obj, > Evas_Transform *t); > EAPI void evas_object_image_fill_spread_set(Evas_Object *obj, int > tile_mode);
before going on, we need to always check performance to see if no bad performance entered svn. > The semantics of the fill-transform is simple: First, border-scale the > image > to the current fill size, then apply the combined transform of the current > fill- > transform and the translation to the current fill origin, where the > translation > to the fill origin is done first (note though that transforms are really > used > as the inverse transformations of what one wants, so the given fill > translation > is composed on the left with the given fill-transform). All fill-transforms > are > taken relative to the image object's top-left as the coordinate system > origin, > of course. what you mean with border scale? I hope it's about current border property of Evas, remember that we do need to keep these, also things like border_center_fill, if we add those. > This is great opportunity for those who are evas engineers to start > thinking/ > working on 'native' implementations for their engine of interest -- I can't > do > *all* engines in x amount of time.. and while a simple mechanism to > implicitly > 'fall-back' to software easily would be nice, that's not quite available > right > now and in any case the point of much of this is to have as 'native' > versions > of things as much as possible. /me looks at common_16 and cries... > 2. I've also added some api functions for working with transforms.. these > will > grow over time, but the given ones are all that's likely needed right now. > They are: > > EAPI void evas_transform_identity_set(Evas_Transform *t); > EAPI void evas_transform_rotate(double angle, Evas_Transform *t); > EAPI void evas_transform_translate(float dx, float dy, Evas_Transform *t); > EAPI void evas_transform_scale(float sx, float sy, Evas_Transform *t); > EAPI void evas_transform_shear(float sh, float sv, Evas_Transform *t); > EAPI void evas_transform_compose(Evas_Transform *l, Evas_Transform *t); It's better to keep Evas_Transform as the first parameter, making it an OO-like API. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: [EMAIL PROTECTED] Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel