On Tue, Dec 14, 2010 at 11:53 AM, Rafael Antognolli <antogno...@profusion.mobi> wrote: > On Thu, Sep 2, 2010 at 9:06 PM, Enlightenment SVN > <no-re...@enlightenment.org> wrote: >> Log: >> in order to fix some horridibubble things. i had to add 4 api's. ugh. >> done. working. now... still 1 more bug. seems to be a changed flag bug >> too in dlip 2 test in scrolling list after map anim finished. smaller >> bug to deal with now. ugh. bug one bug to the other >> >> >> Author: raster >> Date: 2010-09-02 17:06:56 -0700 (Thu, 02 Sep 2010) >> New Revision: 51849 > >> Modified: trunk/evas/src/lib/canvas/evas_object_smart_clipped.c >> =================================================================== >> --- trunk/evas/src/lib/canvas/evas_object_smart_clipped.c 2010-09-02 >> 23:46:00 UTC (rev 51848) >> +++ trunk/evas/src/lib/canvas/evas_object_smart_clipped.c 2010-09-03 >> 00:06:56 UTC (rev 51849) >> @@ -31,7 +31,12 @@ >> { >> Evas_Coord orig_x, orig_y; >> >> - evas_object_geometry_get(child, &orig_x, &orig_y, NULL, NULL); >> +// shortcut as we are in evas >> +// evas_object_geometry_get(child, &orig_x, &orig_y, NULL, NULL); >> + if (child->delete_me) continue; >> + if (child->is_static_clip) continue; >> + orig_x = child->cur.geometry.x; >> + orig_y = child->cur.geometry.y; >> evas_object_move(child, orig_x + dx, orig_y + dy); >> } >> >> @@ -68,6 +73,7 @@ >> >> cso->evas = evas_object_evas_get(obj); >> clipper = evas_object_rectangle_add(cso->evas); >> + evas_object_static_clip_set(clipper, 1); >> cso->clipper = NULL; >> evas_object_smart_member_add(clipper, obj); >> cso->clipper = clipper; > > Hmm... just a question after this commit: I suppose that since the > created clipper for the smart_clipped class is positioned at > -100000,-100000 and has size 200000x200000, it's not meant to be moved > by the smart class that implements it, right? > > We were moving and resizing that clipper on EWebKit, since it was used > to clip widgets inside inner frames. Since you changed this, the > clipper is at a wrong position, because the smart_clipped_smart_move > function doesn't move the clipper anymore. So what would be the > correct approach? > > 1) Implement our own smart_move function that moves the base.clipper, or > > 2) Have our own clipper that clips everything on our object, and is > clipped to this base clipper?
Raster's approach is the best here, as that was the aim of clipped smart object. I'd say, however that the best option is 3) override smart_add and reset clipper to not be a static one. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel