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.


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


>
>
> ____________________________________________________________
> Summer Spa Sweepstakes
> Enter for your chance to WIN a Summer Spa Vacation!
>
> http://thirdpartyoffers.juno.com/TGL2141/fc/JKFkuJi7UbfNz8VIYtEkVCKFPBhd8IVHeJ0109LwaW4xGoJhtvjjCC/
>



-- 
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to