On Wed, Jul 16, 2008 at 9:41 PM, Jose Gonzalez <[EMAIL PROTECTED]> wrote:
> Sevcsik András wrote: > > On Wed, Jul 16, 2008 at 9:20 AM, Jose Gonzalez <[EMAIL PROTECTED]> wrote: >> >> >> >>> Sevcsik András wrote: >>> >>> >>>> >>>> >>>>> Hi list, >>>>> >>>>> What's the purpose of esmart_container.c:442 line? >>>>> >>>>> evas_object_clip_set(el->obj, cont->clipper); >>>>> >>>>> >>>>> It clips the elements with the container, but I don't see a reason to >>>>> do >>>>> so. My application needs elements to be able to drawn outside the >>>>> container >>>>> (toolbar icons wich are zoomed), so I commented out that line and it >>>>> works >>>>> fine now. Is it possible to modify esmart this way? If you prefer to >>>>> make >>>>> it >>>>> an option (with a function like esmart_container_clip_elements_set(con, >>>>> 0/1), i'll write a patch. >>>>> >>>>> >>>>> >>>> There are many different types of semantics that a given smart class >>>> can give to 'clipping' - the class has a function to define just that. >>>> >>>> However, for most 'common' applications of smart classes, one sees >>>> a standard kind of semantics wherein 'clipping' a smart object is >>>> implemented >>>> as clipping all of its member objects - either directly or indirectly. >>>> The 'indirectly' part comes since some smart classes use a secret >>>> clip >>>> rect that clips all other member objs to define all sorts of things, >>>> like >>>> coloring of the smart, visibility, and such. It's a somewhat overloaded >>>> function these internal clip rects provide (not sure if esmart container >>>> does it this way though). >>>> Hence, if one wants to further clip the smart, it'd be implemented >>>> by >>>> clipping the internal clip rect they have, if one wants to color the >>>> smart >>>> obj >>>> one sets the color of the clip rect, or if one wants to show/hide the >>>> smart obj >>>> one shows/hides the clip rect (if an object is 'shown' but clipped by a >>>> rect >>>> which is 'hidden' then that obj will also be hidden). >>>> >>>> >>> >>> >> Do you say that if clip_elements is set, evas_object_hide(container) won't >> hide elements? That shouldn't be hard to fix. >> >> >> > > I dunno, no idea what "clip_elements" does. Just mentioning how those > 'secret' > clippers are used by some smart classes - for things like that, for > coloring, etc. clip_elements_set() is my modification for esmart. If its set, elements doesn't clip with the container's clipper rectangle. > > > This is one common way that many smart classes define the semantics >>>> of >>>> "clipping", but you can certainly have others. I believe Gustavo was >>>> working >>>> on some extension of this that had more flexible such container smart >>>> classes. >>>> >>>> >>>> >>> One other very important aspect of the use of these 'secret' clip rect >>> objs used by some smart classes is of course when resizing their smart >>> objects - >>> ie. when the smart objs get resized, the clip rect gets resized to be of >>> the >>> same size, hence making all members be 'clipped' by the smart obj's size. >>> >>> It probably wouldn't be a good idea to change the semantics of esmart >>> containers as that may break a lot of stuff (unless you manage to keep >>> the >>> default >>> behavior as it currently is and just extend), and it really shouldn't be >>> necessary >>> for what you want. >>> >>> >> >> >> The default value of clip_elements is 1, therefore clip_element_set >> doesn't >> used, esmart container behave as usual. >> >> >> >>> You should be able to do what you want either by just letting your >>> container >>> be as large as you want to hold the zoomed-icons, or keep the container >>> the >>> size >>> of the un-zoomed-icons-region and when you do need to zoom them, remove >>> them from >>> the container... or implement your own specialty class to do what you >>> want..? >>> >>> >>> >> >> Of course, I can modify my app to conform, but I think this feature could >> be >> useful for other apps too, which uses toolbars in evas/edje applications >> >> > > ____________________________________________________________ > Click for FHA loan, $0 lender fees, low rates & approvals nationwide > > http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3mItjsEFCu7dKtrc6BDHm0AajMJHBOYLZjrKdHQs4KPSqVmK/ > -- Minden jót, Sevcsik András -- Minden jót, Sevcsik András ------------------------------------------------------------------------- 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