On Wed, 1 Aug 2007 22:42:49 -0300 "Gustavo Sverzut Barbieri"
<[EMAIL PROTECTED]> babbled:

> On 8/1/07, The Rasterman Carsten Haitzler <[EMAIL PROTECTED]> wrote:
> > On Wed, 1 Aug 2007 12:08:59 -0300 "Gustavo Sverzut Barbieri"
> > <[EMAIL PROTECTED]> babbled:
> >
> > > On 8/1/07, Enlightenment CVS <[EMAIL PROTECTED]> wrote:
> > > > Enlightenment CVS committal
> > > >
> > > > Author  : raster
> > > > Project : e17
> > > > Module  : libs/edje
> > > >
> > > > Dir     : e17/libs/edje/src/lib
> > > >
> > > >
> > > > Modified Files:
> > > >         edje_calc.c
> > > >
> > > >
> > > > Log Message:
> > > >
> > > >
> > > > DONT set color - bad. see comments
> > > >
> > > > ===================================================================
> > > > RCS file: /cvs/e/e17/libs/edje/src/lib/edje_calc.c,v
> > > > retrieving revision 1.106
> > > > retrieving revision 1.107
> > > > diff -u -3 -r1.106 -r1.107
> > > > --- edje_calc.c 8 Jul 2007 17:52:39 -0000       1.106
> > > > +++ edje_calc.c 1 Aug 2007 14:34:10 -0000       1.107
> > > > @@ -1325,7 +1325,8 @@
> > > >              if (p3.visible) evas_object_show(ep->object);
> > > >              else evas_object_hide(ep->object);
> > > >           }
> > > > -       else if (ep->part->type == EDJE_PART_TYPE_SWALLOW ||
> > > > ep->part->type == EDJE_PART_TYPE_GROUP)
> > > > +       else if ((ep->part->type == EDJE_PART_TYPE_SWALLOW) ||
> > > > +                (ep->part->type == EDJE_PART_TYPE_GROUP))
> > > >           {
> > > >              evas_object_move(ep->object, ed->x + p3.x, ed->y + p3.y);
> > > >              evas_object_resize(ep->object, p3.w, p3.h);
> > > > @@ -1379,12 +1380,15 @@
> > > >
> > > >         if (ep->swallowed_object)
> > > >           {
> > > > -            evas_object_color_set(ep->swallowed_object,
> > > > -                                  (p3.color.r * p3.color.a) / 255,
> > > > -                                  (p3.color.g * p3.color.a) / 255,
> > > > -                                  (p3.color.b * p3.color.a) / 255,
> > > > -                                  p3.color.a);
> > > > -
> > > > +//// the below really is wrong - swallow color shouldnt affect
> > > > swallowed object +//// color - the edje color as a WHOLE should though
> > > > - and that should be +//// done via the clipper anyway. this created
> > > > bugs when objects had their +//// colro set and were swallowed - then
> > > > had their color changed. +//          evas_object_color_set
> > > > (ep->swallowed_object, +//                                (p3.color.r *
> > > > p3.color.a) / 255, +//                                (p3.color.g *
> > > > p3.color.a) / 255, +//                                (p3.color.b *
> > > > p3.color.a) / 255, +//                                p3.color.a);
> > > >              evas_object_move(ep->swallowed_object, ed->x + p3.x, ed->y
> > > > + p3.y); evas_object_resize(ep->swallowed_object, p3.w, p3.h);
> > > >              if (p3.visible) evas_object_show(ep->swallowed_object);
> > >
> > > I disagree on this, being the proposal of this changed and discussed a
> > > bit with rephorm, who agreed.
> > >
> > > Use case is: I have a part and want it to fade out/in. This part
> > > happens to be a swallowed object. This swallowed object happen to be
> > > another Edje or even GROUP ("group" automatically swallowed from the
> > > same file).
> > >
> > > With every other part, I'd write 2 states, one with color 255 255 255
> > > 255 and other with 255 255 255 0, then write a "program" that have
> > > "action: STATE_SET "fade_out" 0.0" and "transition: LINEAR 1.0"
> > >
> > > But with SWALLOW or GROUP I cannot. Why? No given reason other than
> > > "it was not done". So i did it.
> > >
> > > However, it exposed old behavior of setting "color: 0 0 0 0" on
> > > swallows, previously used as RECT. Ok, it's quite hard to track and
> > > fix old mistakes, but does this justify commenting out? Or marking it
> > > as "really is wrong"?
> > >
> > > Then you suggest "that should be done via the clipper anyway", ok, but
> > > it requires you to always have a clipper and know it so you can set
> > > its color, breaking the great semantics of Edje and its
> > > program/transitions.
> >
> > there is a major problem with the color way - it directly interfered with
> > the COLOR of the swallowed object. it CHANGES it. if i swallowed a POLYGON
> > - before i swallow it the poly is red - after swallow it will be reset to
> > whatever the swallow color is - the object i swallowed no longer has its
> > original color - the swallow cannot MODULATE the swallowed object color by
> > setting it - it SETS it. you want to MODULATE - i.e. - multiply - and THAT
> > requires a clip to do that.
> >
> > > That's why I disagree with this change and want my code back :-D
> > >
> > > I thought that you had fixed this for every .edc in CVS, but if it's
> > > not the case I can try to wipe these myself.
> >
> > no - that's not the problem. the problem is as above.
> >
> > 1. create red polygon or green rect or pink line or yellow text.
> > 2. swallow it
> > 3. object loses color and becomes white/whatever.
> 
> ok, this is the other case I have not thought, shit :-D
> 
> > what you WANT is that the objects color is MULTIPLIED by the clip color -
> > so it stays "pink" but also can be faded out and stay pink. clip objects do
> > that - setting color does this on images and text (as the object contains
> > multiple colors thus the only sane way to interpret a color_set is to
> > multiply). by using a clip the color of the swallowed object can be
> > modified separately without interference from the edje swallowing it - edje
> > can fade things in and out, darken them, tint them etc. and this acts as a
> > modifier on whatever color the object itself has. if you do it the way you
> > had - edje and whatever owns/controls the swallowed object FIGHT over what
> > the object color should be :)
> 
> So, this "set color of clip object" is done ATM? I think it's not.

it is - i have done it in many places. :) that's how it should work.

> Should I change the commented out code to check if object is clipped
> and apply to its clip? Would this work with smart objects or edje

that would work - though if the clip is already controlled by edje - you
shouldn't as this is already used in many places - and the clip itself is
controlled by states, not the swallow for things like color modulation (fading
in and out).

> objects? I mean, if smart members (or member parts) are clipped to
> some internal object, will this be accessible somewhere?

it would be in the part description - it's clip_to will be >= 0 :) (from memory
-1 == no clip)

>    Or you mean something like:
> 
> part {
>    type: SWALLOW;
>    clip_to: "clipper";
> ...
> }
> 
> part {
>    name: "clipper";
>    description { state: "default" 0.0; color: 255 255 255 255; ... }
>    description { state: "hidden" 0.0; color: 255 255 255 0; ... }
> }
> 
> and STATE_SET with target: clipper?
> 
> hum... after writing this, it seems so obvious this is the right
> way... I'll leave it just for confirmation :-D
> 
> -- 
> Gustavo Sverzut Barbieri
> --------------------------------------
> Jabber: [EMAIL PROTECTED]
>    MSN: [EMAIL PROTECTED]
>   ICQ#: 17249123
>  Skype: gsbarbieri
> Mobile: +55 (81) 9927 0010
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [EMAIL PROTECTED]
裸好多
Tokyo, Japan (東京 日本)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to