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

Reply via email to