[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [E-devel] Resizing Edje Parts - on the road to entrance preview



Carsten Haitzler (The Rasterman) wrote:
> On Mon, 21 Aug 2006 16:11:52 +0200 Simon TRENY <simon.treny@free.fr> babbled:
>
>   
>> On Mon, 21 Aug 2006 14:36:05 +0100,
>> Essien Ita Essien <essien@wazobialinux.com> wrote :
>>
>>     
>>> Carsten Haitzler (The Rasterman) wrote:
>>>       
>>>> On Mon, 21 Aug 2006 13:55:45 +0100 Essien Ita Essien
>>>> <essien@wazobialinux.com> babbled:
>>>>
>>>> no attachment :)
>>>>
>>>> but - note the livethumb uses a BUFFER canvas - it sets the
>>>> resolution of the BUFFER canvas to be higher than the output. make
>>>> this resolution high enough (eg 800x600) and evas will scale that
>>>> 800x600 "buffer" canvas down to the size of the output of the
>>>> preview. that is how the livethumb works. 
>>>>         
uhh... i'm going to have to bug you once more. *brainbox* <-----
buffer_overflow ;)

I've been staring at e_livethumb.c and e_widget_preview ,
e_int_config_theme.c, where it is used and trying to develop an
understanding of the relationships so far, i'm missing a tiny link.

As I understand (from a day+ of Esmart/Evas/Ecore_Evas induction), when
I'm creating an evas esmart object, I create all my individual evas
objects, poke them into the esmart data and write call backs that
manipulate. In my initializer, I take an evas, add the esmart object to
it and this action results in an Evas_Object that is linked to my evas
and is an instance of my esmart. Once I manipulate this new evas object,
i'm well and happy.

*please correct me if i'm wrong at any step*

Now, for using the buffer canvas, I don't seem to see how to relate the
ecore_evas_object_image_new() that i create to the rest of the esmart
objects. Normally, in the examples I've seen and the minientrance code I
sent, I had a *clip* member that was an evas_rectangle (honestly, I'm
not sure what that clip is used for :) ), but when I created by
background object and main object, i set their clip to the internal clip
object, and in the clip_set callback, i set the passed in clip to the
internal clip. This is how I seem to see that all the objects in my evas
get linked together.

Looking at e_livethumb, I see that the ecore_evas_object_image is
created and a smart member is set on it (that's where I first start
getting confused.)

Next, in e_livethumb_thum_set(), I was expecting that i'd see the thumb
member being somehow linked to the buffer canvas (evas_obj), but its not
happening. Instead the thumb is being sized on its own.

So my question really is how do these hook up together, when using the
buffer canvas. I'm sure i'm missign something small, but i just can't
seem to see it. :)


cheers,
Essien

<snip>