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. 


>>>      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/

-------------------------------------------------------------------------
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

Reply via email to