Re: [E-devel] Shared Strings

2008-07-09 Thread Jorge Luis Zapata Muga
On Tue, Jul 8, 2008 at 8:52 PM, Peter Wehrfritz <[EMAIL PROTECTED]> wrote:
> Jorge Luis Zapata Muga schrieb:
>>
>> Having a common agreement isnt easy but we should make one. Cedric
>> ideas of providing a common API and just do some macros is useful, i
>> agree that the structure of the code using might have to change, but
>> either way a list API of any kind, is more or less common, you iterate
>> over it with the next and prev and you get data, the rest is an
>> extended API. A big effort has to be made from us to port everything
>> on cvs to it, but one time or another this has to be done.
>>
>
> I don't think that an unification of the list APIs is possible. And even if,
> we'd end up to change thousands of lines of stable code, which was tested
> over many years. And that without any reasonable benefit.

Here you'll find a simple implementation of ecore_dlist using
evas_list as its backend
http://code.google.com/p/efl-research/source/browse the module is
called ee_list, you'll see that not every function is implemented but
enough to see that there's no difference in the API or in the result.
So in my opinion it is possible. IMHO Is not a problem of possibility
but of will, if we want to have only one double linked list
implementation we should do the effort. The benefits are several,
beside consistency on the code, is good for newcomers, every time a
new dev come around he asks what list/hash to use and what toolkit,
etk/ewl ? (but a toolkit isnt core, data types are).

>
>>> Iirc, there are some things in eina that raster didn't want to have in
>>> the data type. I haven't looked into eina lately, but last time i did he
>>>
>>
>> Well, having some subsystems of eina not desirable isnt an excuse to
>> have 5 implementations of the same ;)
>>
>
> We have two string pools and the lib I proposed would reduce it to one
> implementation.

Yes, i wasnt refering to the string pool itself, but to the list and
hash, the stringpool already has consensus, but the latter no.

>
>>
>> If stringshare pool already has a common API between ecore an evas
>> ones, why not put that on the current effort of a common data type?
>>
>
> I'm not sure if I understand you correct, but that's exactly what edt was
> meant for.

When i said "current effort" i meant actually the old edata or eina,
as it has appeared on the ml and irc several times.

>
>> eina should be included into cvs, im ok with that, im kind of
>> restrictive to indentation changes, but that's another matter :)
>>
>> In my opinion the first thing that should be done is add the svn code
>> into cvs, then add your stringshare there and slowly port the rest,
>> eet is a special case because it already has a release, so it should
>> depend on another releasable code (eina) which isnt complete, so eet
>> might have to be last one to be ported.
>>
>
> Putting eina now into cvs doesn't help anyone at the moment. There are two
> ways we can go:
>
> 1. First we start with a little lib, where we put step by step code into it,
> we agree with that it belongs into the common lib. That's what I tried with
> edt.
> 2. We first discuss how the common lib needs to be en bloc and in detail and
> then change eina to match the result of the discussion. And move it then
> into cvs.
>
> It looks like most people here prefer the second way.
>
>> I think that a good thing to do is to actually compare both API's and
>> try (if possible) to merge them, any volunteer? for the simplest use
>> cases of course, get a data from the list and iterate over it.
>>
>
> I don't like the two very much, but I believe we have to keep both
> implementations. As I said above, I don't think it is worth the effort. And
> about merging them, you haven't much space for that, because eet expects a
> evas_list-like API.
>

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Nightly build log for E17 on 2008-07-09 07:10:40 -0700

2008-07-09 Thread Nightly build system
Build log for Enlightenment DR 0.17 on 2008-07-09 07:10:40 -0700
Build logs are available at http://download.enlightenment.org/tests/logs

Packages that failed to build:
edvi  http://download.enlightenment.org/tests/logs/edvi.log
enna  http://download.enlightenment.org/tests/logs/enna.log
epdf  http://download.enlightenment.org/tests/logs/epdf.log
express  http://download.enlightenment.org/tests/logs/express.log

Packages with no supported build system:
entice, esmart_rsvg, exorcist, python-efl, 

Packages skipped:
camE, ecore_dbus, engage, enotes, enscribe, epbb, eplay, erss, etk_server, 
etox, e_utils, Evas_Perl, evoak, gfx_routines, lvs-gui, med, nexus, notgame, 
ruby-efl, webcam, 

Packages that build OK:
alarm, bling, calendar, cpu, deskshow, echo, eclair, ecore_li, ecore, edata, 
edb, e_dbus, edje_editor, edje, edje_viewer, eet, eflame, eflpp, efm_nav, 
efm_path, efreet, elapse, elation, elicit, elitaire, e, embrace, embryo, 
emotion, emphasis, empower, emprint, emu, enesim, engrave, engycad, enhance, 
enity, enterminus, enthrall, entrance_edit_gui, entrance, entropy, envision, 
epeg, ephoto, e_phys, epsilon, epx, equate, esmart, estickies, etk_extra, 
etk, etk-perl, evas, evfs, evolve, ewl, examine, execwatch, exhibit, exml, 
expedite, exquisite, extrackt, feh, flame, forecasts, gevas2, iconbar, iiirk, 
imlib2_loaders, imlib2, Imlib2_Perl, imlib2_tools, language, mail, mem, 
mixer, moon, mpdule, net, news, notification, penguins, pesh, photo, rage, 
rain, screenshot, scrot, slideshow, snow, taskbar, tclock, uptime, weather, 
winselector, wlan, 

Debian GNU/Linux 4.0 \n \l

Linux enlightenment2 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 
GNU/Linux


See http://download.enlightenment.org/tests/ for details.


-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Shared Strings

2008-07-09 Thread Cedric BAIL
On Wed, Jul 9, 2008 at 2:40 PM, Jorge Luis Zapata Muga
<[EMAIL PROTECTED]> wrote:
> On Tue, Jul 8, 2008 at 8:52 PM, Peter Wehrfritz <[EMAIL PROTECTED]> wrote:
>> Jorge Luis Zapata Muga schrieb:
>>>
>>> Having a common agreement isnt easy but we should make one. Cedric
>>> ideas of providing a common API and just do some macros is useful, i
>>> agree that the structure of the code using might have to change, but
>>> either way a list API of any kind, is more or less common, you iterate
>>> over it with the next and prev and you get data, the rest is an
>>> extended API. A big effort has to be made from us to port everything
>>> on cvs to it, but one time or another this has to be done.
>>>
>>
>> I don't think that an unification of the list APIs is possible. And even if,
>> we'd end up to change thousands of lines of stable code, which was tested
>> over many years. And that without any reasonable benefit.
>
> Here you'll find a simple implementation of ecore_dlist using
> evas_list as its backend
> http://code.google.com/p/efl-research/source/browse the module is
> called ee_list, you'll see that not every function is implemented but
> enough to see that there's no difference in the API or in the result.
> So in my opinion it is possible. IMHO Is not a problem of possibility
> but of will, if we want to have only one double linked list
> implementation we should do the effort. The benefits are several,
> beside consistency on the code, is good for newcomers, every time a
> new dev come around he asks what list/hash to use and what toolkit,
> etk/ewl ? (but a toolkit isnt core, data types are).

I would also add that it will improve memory profile as we will use
the same memory pool for all list.

>>> eina should be included into cvs, im ok with that, im kind of
>>> restrictive to indentation changes, but that's another matter :)
>>>
>>> In my opinion the first thing that should be done is add the svn code
>>> into cvs, then add your stringshare there and slowly port the rest,
>>> eet is a special case because it already has a release, so it should
>>> depend on another releasable code (eina) which isnt complete, so eet
>>> might have to be last one to be ported.
>>
>> Putting eina now into cvs doesn't help anyone at the moment. There are two
>> ways we can go:
>>
>> 1. First we start with a little lib, where we put step by step code into it,
>> we agree with that it belongs into the common lib. That's what I tried with
>> edt.
>> 2. We first discuss how the common lib needs to be en bloc and in detail and
>> then change eina to match the result of the discussion. And move it then
>> into cvs.
>>
>> It looks like most people here prefer the second way.

I will say we have a third option. Put a common lib in cvs now. Then
slowly move stuff around to the new system. With current work from
caro with Evas_Data.h we should be able to provide a set of macro that
will help do the move quickly. This move should not impact performance
at all (and looking at eina current code, I don't see how it could
change something regarding that).

-- 
Cedric BAIL

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] itask-ng issues

2008-07-09 Thread Nikolas Arend
Hi,

I have two issues with itask-ng which I'd like to mention, and I hope 
it's ok to post them to this list.

The first thing I'm experiencing is a white bar over the entire bottom 
of the screen where the instance of itask-ng is located as a taskbar 
(I'm not running a composite manager). It appears only when e is started 
or restarted and there are no applications to show in the taskbar. Once 
the first app is running, the white bar disappears and the the icon is 
shown normally in the taskbar. However, the bar does not reappear when I 
close all applications, only when e is restarted subsequently. When I 
enable composite and run e.g. bling, all is as it's supposed to be, only 
that composite is neither very fast nor very stable here (ATI graphics 
card/driver), so I cannot really use it.
The behavior described above is there for some time now and 
unfortunately I cannot link it to a specific date or revision.

The second issue looks like an itask-ng problem too, but I'm not 
entirely sure, maybe something changed in e or the libs. It concerns the 
icons for minimized applications in the taskbar which normally kind of 
fade out to show that the app is minimized. Since a few revisions they 
simply disappear, leaving a blank space. The icon reappears on 
mouse-over, i.e. when the icon/bar is zoomed, so it seems to affect only 
the normal, non-enlarged icon.

Since I prefer itask-ng over the other taskbar/launcher solutions it'd 
be nice to get those issues fixed, so please let me know if you need any 
more information.


Thanks and best regards,

Nick.

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] itask-ng issues

2008-07-09 Thread Hannes Janetzek
Hello,

please post issues with itask-ng at
http://code.google.com/p/itask-module/issues/list

Am Wed, 09 Jul 2008 20:03:13 +0200
schrieb Nikolas Arend <[EMAIL PROTECTED]>:

> Hi,
> 
> I have two issues with itask-ng which I'd like to mention, and I hope 
> it's ok to post them to this list.
> 
> The first thing I'm experiencing is a white bar over the entire
> bottom of the screen where the instance of itask-ng is located as a
> taskbar (I'm not running a composite manager). It appears only when e
> is started or restarted and there are no applications to show in the
> taskbar. Once the first app is running, the white bar disappears and
> the the icon is shown normally in the taskbar. However, the bar does
> not reappear when I close all applications, only when e is restarted
> subsequently. When I enable composite and run e.g. bling, all is as
> it's supposed to be, only that composite is neither very fast nor
> very stable here (ATI graphics card/driver), so I cannot really use
> it. The behavior described above is there for some time now and 
> unfortunately I cannot link it to a specific date or revision.
> 
this should be fixed with the current svn version

> The second issue looks like an itask-ng problem too, but I'm not 
> entirely sure, maybe something changed in e or the libs. It concerns
> the icons for minimized applications in the taskbar which normally
> kind of fade out to show that the app is minimized. Since a few
> revisions they simply disappear, leaving a blank space. The icon
> reappears on mouse-over, i.e. when the icon/bar is zoomed, so it
> seems to affect only the normal, non-enlarged icon.
> 

hmm, no idea. does it also happen when using a composite manager?

> Since I prefer itask-ng over the other taskbar/launcher solutions
> it'd be nice to get those issues fixed, so please let me know if you
> need any more information.
> 
> 
> Thanks and best regards,
> 
> Nick.
> 

Regards, 
Hannes 'jeffdameth' Janetzek


-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] itask-ng issues

2008-07-09 Thread Nikolas Arend
Hannes Janetzek wrote:
> Hello,
>
> please post issues with itask-ng at
> http://code.google.com/p/itask-module/issues/list
>   

Sorry about that, I will do so for future bug reports.


> Am Wed, 09 Jul 2008 20:03:13 +0200
> schrieb Nikolas Arend <[EMAIL PROTECTED]>:
>
>   
>> Hi,
>>
>> I have two issues with itask-ng which I'd like to mention, and I hope 
>> it's ok to post them to this list.
>>
>> The first thing I'm experiencing is a white bar over the entire
>> bottom of the screen where the instance of itask-ng is located as a
>> taskbar (I'm not running a composite manager). It appears only when e
>> is started or restarted and there are no applications to show in the
>> taskbar. Once the first app is running, the white bar disappears and
>> the the icon is shown normally in the taskbar. However, the bar does
>> not reappear when I close all applications, only when e is restarted
>> subsequently. When I enable composite and run e.g. bling, all is as
>> it's supposed to be, only that composite is neither very fast nor
>> very stable here (ATI graphics card/driver), so I cannot really use
>> it. The behavior described above is there for some time now and 
>> unfortunately I cannot link it to a specific date or revision.
>>
>> 
> this should be fixed with the current svn version
>   

Hm, the latest revision I get is 564, but that's the one I'm currently 
using. How long does it normally take for commits to become available?

>   
>> The second issue looks like an itask-ng problem too, but I'm not 
>> entirely sure, maybe something changed in e or the libs. It concerns
>> the icons for minimized applications in the taskbar which normally
>> kind of fade out to show that the app is minimized. Since a few
>> revisions they simply disappear, leaving a blank space. The icon
>> reappears on mouse-over, i.e. when the icon/bar is zoomed, so it
>> seems to affect only the normal, non-enlarged icon.
>>
>> 
>
> hmm, no idea. does it also happen when using a composite manager?
>   


No, it doesn't, works fine with bling. But the first problem (white bar) 
does actually become worse when using composite. I thought I tried it 
before and things looked good then, but now I get the white bar at 
startup as well as a semi-transparent "composite-like" dark grayish bar 
with both the taskbar and the launcher instances every second time I 
restart e (works like a switch).


Best,   Nick.

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Evas] possible bug in gradient

2008-07-09 Thread Jose Gonzalez
   I wrote:
>
>>> So, if anyone has any comments, suggestions, issues.. *anything* with
>>> evas gradients -- now would be a good time to pipe in. :)
>>> 
>>
>> I'd _love_ using gradients, in fact I would use them much more often, 
>> _if_ not everytime I start using them, it all feels like I'm 
>> operating a powerful machine that has 100s of controls and I don't 
>> understand anything.
>>
>> Perhaps this is an inherent problem from the gradient complexity, but 
>> I'd appreciate if we had some documentary material that outlines how 
>> to achieve which kind of results, which gradient type to use for 
>> what, how many stops for what effect etc. etc.
>>   
>
>  Ok, let me try and give you a fairly simplified description of what
> gradients are basically about, and how evas tries to deal with this.. for
> better or worse.
>
> ...
> ...
> ...   
>  But to get back to the subject at hand here, and before going on 
> to give
> more details on current evas gradients, let me ask you this:
> How would you answer the above two 'general' questions.. or rather, 
> what would
> *you* like to see as an api that would make you want to use gradients 
> more?
>

  Not much time to reflect on this? Well, that's understandable :)
Let me go ahead and review the current set of gradient api funcs in evas,
give some criticisms, and propose some changes I'd like to make to improve
things there (and yes, they would break all gradient stuff).

  First, recall I mentioned the two parts involved in gradients:
1) Those aspects related to defining a 1-dim image (or "spectrum" as I
   sometimes call it).
2) Those aspects related to defining how to map the above to a 2-dim
   region - and this covers things like the gradient type, spread-mode,
   and such things.

  Ok, for (1) in evas we currently have the following (set) api funcs:

void evas_object_gradient_color_stop_add(obj, r,g,b,a, int delta);
void evas_object_gradient_alpha_stop_add(obj, a, int delta);
void evas_object_gradient_color_data_set(obj, *data, len, has_alpha);
void evas_object_gradient_alpha_data_set(obj, *data, len);
void evas_object_gradient_direction_set(obj, *data, int direction);
void evas_object_gradient_offset_set(obj, *data, float offset);
and also,
void evas_object_gradient_clear(obj);

  The 'clear' api func removes any stops or data that might have been
set before.
  The 'offset' api func effectively moves the origin of the 1-dim image,
this is something that as far as I know isn't supported by any vgfx api/spec
(which is unfortunate since it can give very nice animation effects which are
otherwise difficult to obtain for some gradient types, eg. radial ones).
  The 'direction' api func just reverses the start/end of the 1-dim,
and though not directly supported by most vgfx apis/specs, it can be easily
obtained - it's mostly a simple convenience function.
  The 'color_data' and 'alpha_data' api funcs are to allow for setting
such a 1-dim image with premul and alpha-only data, rather than going thru
any kind of procedural description. It's not supported by any vgfx api/spec
that I know of, not directly anyway.. though you can certainly consider such
data as an equi-distant set of stops and add it that way (modulo some gymnastics
with premul data and alpha masks and such).

  The 'color_stop' and 'alpha_stop' api funcs evas' current procedural
descriptions for defining the spectrum -- and these I have real issues with.

  Not only is this method of specifying stops not supported by any
'standard' vgfx api/spec, the use of the "int delta" as either some kind
of 'weight' or maybe 'distance to a next' is somewhat un-intuitive and very
difficult to work with for gui editors and such.
  I propose getting rid of this legacy stuff (inhereted from the equally
archaic Imlib2 method), and adopt a more standard method.

  In fact, let's start from scratch altogether here and let me propose
a minimal set of grdient-spectrum related api functions that more closely
matches what's given by most vgfx apis/specs:

void evas_object_gradient_clear(obj);
// keep this one

void evas_object_gradient_color_stop_insert(obj, r,g,b,a, float pos);
// where 'pos' is clamped to be in [0,1]. Any previous stop at same pos
// will be overwritten. Must insert one stop at pos 0 and one at pos 1
// to get a valid gradient spectrum.

  This and matches what most use. One could then possibly add the following
funcs to make it easier/more-intuitive to input, query, and manipulate such
gradient stops:

void evas_object_gradient_color_stop_get(obj, int index, *r,*g,*b,*a,*pos);
// get the value of the stop at 'index', where these are ordered from 0 to
// (number_of_stops - 1) according to increasing position. If 'index' is >=
// the current number of stops, or index < 0, this does nothing.

void evas_object_gradient_color_stop_set(obj, int index, r,g,b,a,pos);
// modifies the r,g,b,a,pos values of the stop at the given index

Re: [E-devel] {Spam?} Re: [Evas] possible bug in gradient

2008-07-09 Thread Vincent Torri



On Wed, 9 Jul 2008, Jose Gonzalez wrote:


 I wrote:
I'd _love_ using gradients, in fact I would use them much more often, _if_ 
not everytime I start using them, it all feels like I'm operating a 
powerful machine that has 100s of controls and I don't understand 
anything.


Perhaps this is an inherent problem from the gradient complexity, but I'd 
appreciate if we had some documentary material that outlines how to 
achieve which kind of results, which gradient type to use for what, how 
many stops for what effect etc. etc.




 Ok, let me try and give you a fairly simplified description of what
gradients are basically about, and how evas tries to deal with this.. for
better or worse.

...
...
...But to get back to the subject at hand here, and before 
going on to give

more details on current evas gradients, let me ask you this:
How would you answer the above two 'general' questions.. or rather, what 
would

*you* like to see as an api that would make you want to use gradients more?



Not much time to reflect on this? Well, that's understandable :)
Let me go ahead and review the current set of gradient api funcs in evas,
give some criticisms, and propose some changes I'd like to make to improve
things there (and yes, they would break all gradient stuff).

First, recall I mentioned the two parts involved in gradients:
1) Those aspects related to defining a 1-dim image (or "spectrum" as I
 sometimes call it).
2) Those aspects related to defining how to map the above to a 2-dim
 region - and this covers things like the gradient type, spread-mode,
 and such things.

Ok, for (1) in evas we currently have the following (set) api funcs:

void evas_object_gradient_color_stop_add(obj, r,g,b,a, int delta);
void evas_object_gradient_alpha_stop_add(obj, a, int delta);
void evas_object_gradient_color_data_set(obj, *data, len, has_alpha);
void evas_object_gradient_alpha_data_set(obj, *data, len);
void evas_object_gradient_direction_set(obj, *data, int direction);
void evas_object_gradient_offset_set(obj, *data, float offset);
and also,
void evas_object_gradient_clear(obj);

The 'clear' api func removes any stops or data that might have been
set before.
The 'offset' api func effectively moves the origin of the 1-dim image,
this is something that as far as I know isn't supported by any vgfx api/spec
(which is unfortunate since it can give very nice animation effects which are
otherwise difficult to obtain for some gradient types, eg. radial ones).
The 'direction' api func just reverses the start/end of the 1-dim,
and though not directly supported by most vgfx apis/specs, it can be easily
obtained - it's mostly a simple convenience function.
The 'color_data' and 'alpha_data' api funcs are to allow for setting
such a 1-dim image with premul and alpha-only data, rather than going thru
any kind of procedural description. It's not supported by any vgfx api/spec
that I know of, not directly anyway.. though you can certainly consider such
data as an equi-distant set of stops and add it that way (modulo some 
gymnastics

with premul data and alpha masks and such).

The 'color_stop' and 'alpha_stop' api funcs evas' current procedural
descriptions for defining the spectrum -- and these I have real issues with.

Not only is this method of specifying stops not supported by any
'standard' vgfx api/spec, the use of the "int delta" as either some kind
of 'weight' or maybe 'distance to a next' is somewhat un-intuitive and very
difficult to work with for gui editors and such.
I propose getting rid of this legacy stuff (inhereted from the equally
archaic Imlib2 method), and adopt a more standard method.

In fact, let's start from scratch altogether here and let me propose
a minimal set of grdient-spectrum related api functions that more closely
matches what's given by most vgfx apis/specs:

void evas_object_gradient_clear(obj);
// keep this one

void evas_object_gradient_color_stop_insert(obj, r,g,b,a, float pos);
// where 'pos' is clamped to be in [0,1]. Any previous stop at same pos
// will be overwritten. Must insert one stop at pos 0 and one at pos 1
// to get a valid gradient spectrum.

This and matches what most use. One could then possibly add the 
following

funcs to make it easier/more-intuitive to input, query, and manipulate such
gradient stops:

void evas_object_gradient_color_stop_get(obj, int index, *r,*g,*b,*a,*pos);
// get the value of the stop at 'index', where these are ordered from 0 to
// (number_of_stops - 1) according to increasing position. If 'index' is >=
// the current number of stops, or index < 0, this does nothing.

void evas_object_gradient_color_stop_set(obj, int index, r,g,b,a,pos);
// modifies the r,g,b,a,pos values of the stop at the given index,
// where 'pos' is clamped to lie between the prev and next (if any) stop
// positions in the gradient, and again does nothing if 'index' >= current
// number of stops or index < 0.

void

Re: [E-devel] [Evas] possible bug in gradient

2008-07-09 Thread Vincent Torri

forget my previous mail; it was a problem with my mail client

sorry

Vincent

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Evas] possible bug in gradient

2008-07-09 Thread Dave Andreoli
I had worked on the gradient & spectra manager in edje_editor, it is ready now, 
you will see my work in cvs soon.
I have done a cool spectra editor and yes, the 'delta' param is a hell! I agree 
with you also with the rest of the api :)
...but updating all the code that use gradient could be paintfull...
Dave

- "Jose Gonzalez" <[EMAIL PROTECTED]> ha scritto:

> I wrote:
> >
> >>> So, if anyone has any comments, suggestions, issues.. *anything*
> with
> >>> evas gradients -- now would be a good time to pipe in. :)
> >>> 
> >>
> >> I'd _love_ using gradients, in fact I would use them much more
> often, 
> >> _if_ not everytime I start using them, it all feels like I'm 
> >> operating a powerful machine that has 100s of controls and I don't
> 
> >> understand anything.
> >>
> >> Perhaps this is an inherent problem from the gradient complexity,
> but 
> >> I'd appreciate if we had some documentary material that outlines
> how 
> >> to achieve which kind of results, which gradient type to use for 
> >> what, how many stops for what effect etc. etc.
> >>   
> >
> >  Ok, let me try and give you a fairly simplified description of
> what
> > gradients are basically about, and how evas tries to deal with
> this.. for
> > better or worse.
> >
> > ...
> > ...
> > ...   
> >  But to get back to the subject at hand here, and before going
> on 
> > to give
> > more details on current evas gradients, let me ask you this:
> > How would you answer the above two 'general' questions.. or rather,
> 
> > what would
> > *you* like to see as an api that would make you want to use
> gradients 
> > more?
> >
> 
>   Not much time to reflect on this? Well, that's understandable
> :)
> Let me go ahead and review the current set of gradient api funcs in
> evas,
> give some criticisms, and propose some changes I'd like to make to
> improve
> things there (and yes, they would break all gradient stuff).
> 
>   First, recall I mentioned the two parts involved in gradients:
> 1) Those aspects related to defining a 1-dim image (or "spectrum" as
> I
>sometimes call it).
> 2) Those aspects related to defining how to map the above to a 2-dim
>region - and this covers things like the gradient type,
> spread-mode,
>and such things.
> 
>   Ok, for (1) in evas we currently have the following (set) api
> funcs:
> 
> void evas_object_gradient_color_stop_add(obj, r,g,b,a, int delta);
> void evas_object_gradient_alpha_stop_add(obj, a, int delta);
> void evas_object_gradient_color_data_set(obj, *data, len, has_alpha);
> void evas_object_gradient_alpha_data_set(obj, *data, len);
> void evas_object_gradient_direction_set(obj, *data, int direction);
> void evas_object_gradient_offset_set(obj, *data, float offset);
> and also,
> void evas_object_gradient_clear(obj);
> 
>   The 'clear' api func removes any stops or data that might have
> been
> set before.
>   The 'offset' api func effectively moves the origin of the 1-dim
> image,
> this is something that as far as I know isn't supported by any vgfx
> api/spec
> (which is unfortunate since it can give very nice animation effects
> which are
> otherwise difficult to obtain for some gradient types, eg. radial
> ones).
>   The 'direction' api func just reverses the start/end of the
> 1-dim,
> and though not directly supported by most vgfx apis/specs, it can be
> easily
> obtained - it's mostly a simple convenience function.
>   The 'color_data' and 'alpha_data' api funcs are to allow for
> setting
> such a 1-dim image with premul and alpha-only data, rather than going
> thru
> any kind of procedural description. It's not supported by any vgfx
> api/spec
> that I know of, not directly anyway.. though you can certainly
> consider such
> data as an equi-distant set of stops and add it that way (modulo some
> gymnastics
> with premul data and alpha masks and such).
> 
>   The 'color_stop' and 'alpha_stop' api funcs evas' current
> procedural
> descriptions for defining the spectrum -- and these I have real issues
> with.
> 
>   Not only is this method of specifying stops not supported by
> any
> 'standard' vgfx api/spec, the use of the "int delta" as either some
> kind
> of 'weight' or maybe 'distance to a next' is somewhat un-intuitive and
> very
> difficult to work with for gui editors and such.
>   I propose getting rid of this legacy stuff (inhereted from the
> equally
> archaic Imlib2 method), and adopt a more standard method.
> 
>   In fact, let's start from scratch altogether here and let me
> propose
> a minimal set of grdient-spectrum related api functions that more
> closely
> matches what's given by most vgfx apis/specs:
> 
> void evas_object_gradient_clear(obj);
> // keep this one
> 
> void evas_object_gradient_color_stop_insert(obj, r,g,b,a, float pos);
> // where 'pos' is clamped to be in [0,1]. Any previous stop at same
> pos
> // will be overwritten. Must insert one stop at pos 0 and one at pos
> 1
> // to get a v

Re: [E-devel] [Evas] possible bug in gradient

2008-07-09 Thread Jose Gonzalez

>>
 So, if anyone has any comments, suggestions, issues.. *anything* with
 evas gradients -- now would be a good time to pipe in. :)
 
>>>
>>> I'd _love_ using gradients, in fact I would use them much more 
>>> often, _if_ not everytime I start using them, it all feels like I'm 
>>> operating a powerful machine that has 100s of controls and I don't 
>>> understand anything.
>>>
>>> Perhaps this is an inherent problem from the gradient complexity, 
>>> but I'd appreciate if we had some documentary material that outlines 
>>> how to achieve which kind of results, which gradient type to use for 
>>> what, how many stops for what effect etc. etc.
>>>   
>>
>>  Ok, let me try and give you a fairly simplified description of what
>> gradients are basically about, and how evas tries to deal with this.. 
>> for
>> better or worse.
>>
>> ...
>> ...
>> ...But to get back to the subject at hand here, and 
>> before going on to give
>> more details on current evas gradients, let me ask you this:
>> How would you answer the above two 'general' questions.. or rather, 
>> what would
>> *you* like to see as an api that would make you want to use gradients 
>> more?
>>
>
>  Not much time to reflect on this? Well, that's understandable :)
> Let me go ahead and review the current set of gradient api funcs in evas,
> give some criticisms, and propose some changes I'd like to make to 
> improve
> things there (and yes, they would break all gradient stuff).
>
>  First, recall I mentioned the two parts involved in gradients:
> 1) Those aspects related to defining a 1-dim image (or "spectrum" as I
>   sometimes call it).
> 2) Those aspects related to defining how to map the above to a 2-dim
>   region - and this covers things like the gradient type, spread-mode,
>   and such things.
>
>  Ok, for (1) in evas we currently have the following (set) api funcs:
>
> void evas_object_gradient_color_stop_add(obj, r,g,b,a, int delta);
> void evas_object_gradient_alpha_stop_add(obj, a, int delta);
> void evas_object_gradient_color_data_set(obj, *data, len, has_alpha);
> void evas_object_gradient_alpha_data_set(obj, *data, len);
> void evas_object_gradient_direction_set(obj, *data, int direction);
> void evas_object_gradient_offset_set(obj, *data, float offset);
> and also,
> void evas_object_gradient_clear(obj);
>
>  The 'clear' api func removes any stops or data that might have been
> set before.
>  The 'offset' api func effectively moves the origin of the 1-dim 
> image,
> this is something that as far as I know isn't supported by any vgfx 
> api/spec
> (which is unfortunate since it can give very nice animation effects 
> which are
> otherwise difficult to obtain for some gradient types, eg. radial ones).
>  The 'direction' api func just reverses the start/end of the 1-dim,
> and though not directly supported by most vgfx apis/specs, it can be 
> easily
> obtained - it's mostly a simple convenience function.
>  The 'color_data' and 'alpha_data' api funcs are to allow for setting
> such a 1-dim image with premul and alpha-only data, rather than going 
> thru
> any kind of procedural description. It's not supported by any vgfx 
> api/spec
> that I know of, not directly anyway.. though you can certainly 
> consider such
> data as an equi-distant set of stops and add it that way (modulo some 
> gymnastics
> with premul data and alpha masks and such).
>
>  The 'color_stop' and 'alpha_stop' api funcs evas' current procedural
> descriptions for defining the spectrum -- and these I have real issues 
> with.
>
>  Not only is this method of specifying stops not supported by any
> 'standard' vgfx api/spec, the use of the "int delta" as either some kind
> of 'weight' or maybe 'distance to a next' is somewhat un-intuitive and 
> very
> difficult to work with for gui editors and such.
>  I propose getting rid of this legacy stuff (inhereted from the 
> equally
> archaic Imlib2 method), and adopt a more standard method.
>
>  In fact, let's start from scratch altogether here and let me propose
> a minimal set of grdient-spectrum related api functions that more closely
> matches what's given by most vgfx apis/specs:
>
> void evas_object_gradient_clear(obj);
> // keep this one
>
> void evas_object_gradient_color_stop_insert(obj, r,g,b,a, float pos);
> // where 'pos' is clamped to be in [0,1]. Any previous stop at same pos
> // will be overwritten. Must insert one stop at pos 0 and one at pos 1
> // to get a valid gradient spectrum.
>
>  This and matches what most use. One could then possibly add the 
> following
> funcs to make it easier/more-intuitive to input, query, and manipulate 
> such
> gradient stops:
>
> void evas_object_gradient_color_stop_get(obj, int index, 
> *r,*g,*b,*a,*pos);
> // get the value of the stop at 'index', where these are ordered from 
> 0 to
> // (number_of_stops - 1) according to increasing position. If 'index' 
> is >=
> // the current num

Re: [E-devel] [Evas] possible bug in gradient

2008-07-09 Thread Toma
While everyones talking about gradients, Ive a request... Id like to
be able to create a gradient that goes from sollid white to alpha then
clip an image to it so that the image fades away. Something like
this...

spectra {
  spectrum {
name: "sp2";
color: 255 255 255 255 1;
color: 0 0 0 0 1;
  }
}
collections {
group {
   name: "Test";
   parts {
  part {
 name:  "base";
 type:  GRADIENT;
 mouse_events:  0;
 description {
state:"default" 0.0;
gradient.spectrum: "sp2";
fill.spread: 1;
 }
  }
  part {
 name:  "chinaman";
 mouse_events:  0;
 type:  IMAGE;
 clip_to:   "base";
 description {
state:"default" 0.0;
image.image: ChinaManBeard.jpg" COMP;
image.normal: "ChinaManBeard.jpg";
 }
  }
   }
 }
}

In this example I was trying to get this image to fade like the
gradient does. If you clip the image to a normal RECT then fade the
clip box it will fade the image too.
Would be nice, but not essential. Im guessing the mechanics behind it
are alot more complex than I comprehend...
Toma

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Evas] possible bug in gradient

2008-07-09 Thread Jose Gonzalez
   Toma wrote:

> While everyones talking about gradients, Ive a request... Id like to
> be able to create a gradient that goes from sollid white to alpha then
> clip an image to it so that the image fades away. Something like
> this...
>
> spectra {
>   spectrum {
> name: "sp2";
> color: 255 255 255 255 1;
> color: 0 0 0 0 1;
>   }
> }
> collections {
> group {
>name: "Test";
>parts {
>   part {
>name:  "base";
>type:  GRADIENT;
>mouse_events:  0;
>description {
>   state:"default" 0.0;
>   gradient.spectrum: "sp2";
>   fill.spread: 1;
>}
>   }
>   part {
>name:  "chinaman";
>mouse_events:  0;
>type:  IMAGE;
>clip_to:   "base";
>description {
>   state:"default" 0.0;
>   image.image: ChinaManBeard.jpg" COMP;
>   image.normal: "ChinaManBeard.jpg";
>}
>   }
>}
>  }
> }
>
> In this example I was trying to get this image to fade like the
> gradient does. If you clip the image to a normal RECT then fade the
> clip box it will fade the image too.
> Would be nice, but not essential. Im guessing the mechanics behind it
> are alot more complex than I comprehend...
> Toma
>
>   

  This is something very useful and indeed I would like to add this
ability to evas. I would add this as the ability to "mask" any object by
either an image or gradient object.
  I *don't* want to add it via the current clipping mechanism. Why?
Because I implemented just that sometime back and ran into several semantic
and practical 'issues' that I truly don't like. I'd leave clipping as is -
clip to rectangles and ignore any transforms, corners, whatnot these objs
might have.. ie. a pure rectangular display region clipping mechanism.

  The separate "mask" approach allows for a simpler, easier to optimize,
directly supported by most engines, and gives a powerful method since the
mask objects (images or gradients) can be transformed and/or filtered.
With it, you can get all the nifty 'new' reflection stuff that apple's
made famous recently, and a lot more such masking effects (eg. mask with
a buffer evas, indirectly, by masking with the associated image).

  NB: This is somewhat similar to (though not exactly the same as)
fill and/or stroke "texturing" of vgfx objs with image or grad objects.



Click to become a designer and quit your boring job.
http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3l7MABetj9UMyNeM7OIM8bHr74HKPatHWDUwfP2rv45TmoDt/

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Shared Strings

2008-07-09 Thread Jose Gonzalez
  

  Not directly related to shared-strings or data structures, but as a
relevant aside to the more general issue of useful 'core' kinds of libs,
there is one lib that Jorge and Hisham recently worked on that might be
of interest - namely, the timeline based animation lib "etch".
  I'm not sure just how finished that might be or whatnot, but I
did see a video that Hisham sent me of it being used to animate an etk
widget moving around and doing other stuff in an etk canvas widget..
and it was pretty nice. :)


Summer Spa Sweepstakes
Enter for your chance to WIN a Summer Spa Vacation!
http://thirdpartyoffers.juno.com/TGL2141/fc/JKFkuJi7UbfFlqaNggsaIGeiSibY7SvTZk96CBWAeILRTlHdeuMfBF/

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel