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. 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 objects? I mean, if smart members (or member parts) are clipped to some internal object, will this be accessible somewhere? 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 ------------------------------------------------------------------------- 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-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel