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

Reply via email to