Re: [E-devel] Proposed evas gfx api changes and additions - part I.

2008-07-18 Thread Jose Gonzalez
  Just a couple of other remarks on these two (parts I, II) proposals:

  Like the proposed gradient obj api function that sets an (affine) 
"fill_transform",
there would be a similar one to set such on an image object:

   void evas_object_image_fill_transform_set(obj, Evas_Transform *t);

  Note that this is NOT the same as transforming the object itself.. that's 
a
separate thing (as would be raster-based filters one could apply on general 
objects).

  Such 'fill_transforms' should be used mostly for the purposes of using the
image object as a texture - not for transforming "an image". The best way to do 
that
would be via an object transform (which can then be a general projective one) 
and by
having an image api func that would set the image obj's 'fill-policy' to none 
(or
something like that), meaning that all image 'fill' attributes are ignored and 
the
image is then always scaled to the size of the obj - ie. the image obj then 
acts like
"an image" rather than like a plain rect which is being fill-textured with an 
image.

  But all this will take a bit longer to be implemented due to the fair 
amount
of re-structuring of evas image internals needed to add support for it. If 
anyone
is willing to try and work on that part in the meantime, let me know.

  One other api func that will be needed with general stroking (and also
later when objects might support transforms or filters) is an api func to
obtain an object's 'bounds' - ie. the actual bounding rectangle of the obj
as drawn on the canvas.

   void evas_object_bounding_rect_get(obj, Evas_Coord *x, *y, *w, *h);

  This will be needed internally as well for correct 'hit detection' of such
modified objects (eg. of thick stroked lines, polys,... transformed objs, etc).


Great pay, great benefits, rewarding.  Click for information on a healthcare 
career.
http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3oH0aMuCCxm9AWWu0rLnlZhHMOGuyhEcYIxHg0zbWPFduCZi/

-
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


Re: [E-devel] Shared Strings

2008-07-18 Thread Peter Wehrfritz
Cedric BAIL schrieb:
>
> I think we didn't understand together. When I say slowly move stuff
> around, it include changing and improving Eina to fit our needs also.
> Eina is not a finished library, but an ongoing development. It's just
> a good starting point imho to get stuff done faster.
>   

Ok, then I really misunderstood you. I thought you want to throw it in 
to cvs and porting evas to use it immediately. If I understand you now 
right, you want to put it into cvs (maybe in proto), bringing it in 
shape and once it is finished, i.e. as we want it. You'll go to port 
evas  et al. to it.
>   
>> For example in eina the evas_hash implementation is called eina_hash. I think
>> it'd be better to reserve this name for the ecore_hash implementation, 
>> because
>> it is much more general. For the evas_hash implementation another name like
>> eina_strhash would imho then be better.
>> 
>
> I agree with your rename it make sense. But I still think that doing
> this review with the code in CVS would be faster. Instead of just
> discussing we will have code progressing at the same time and every
> one following development on the CVS will be able to participate in
> this review and get stuff done faster.
>
>   
>> And I'm still not convinced if there is a general need to have a
>> fixed-point implementation in the base data types lib, just to mention my
>> concerns. Maybe someone else, with more authority then me :), will join this
>> discussion.
>> 
>
> In my opinion, it's easier to remove code than to write :-) I don't
> see any direct user for this feature right now, but with the planned
> evolution of evas, their could be some. So I d
>
>   

Not if apps/libs already depend on it :)
>> I'm sure turran took care in doing eina, but you'll get more agreement if
>> things are discussed before.
>> 
>
> The idea of moving eina inside the efl librarry CVS repository is to
> take care of it as a group and use this as a fast starter. It's a lot
> of work to move data type out of Evas, preserving speed, feature and
> stability. So that what we win by using eina as a starting point. Then
> as a group we can change and update this stuff according to our need.
> I am sure Turran will agree on this.
>
>   


-
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


Re: [E-devel] Esmart container clipping

2008-07-18 Thread Peter Wehrfritz
Sevcsik András schrieb:
> Thanks for the help guys, here's my second version, that deals with
> show/hide and applies clip_elements_set() to all elements.
>   
@@ -444,9 +485,12 @@

485 evas_object_repeat_events_set(el->grabber, 1);
486 evas_object_color_set(el->grabber, 0, 0, 0, 0);
487 evas_object_show(el->grabber);
-447
+488
489 el->container = cont;
-449 evas_object_clip_set(el->obj, cont->clipper);
+490
+491 if (cont->clip_elements)
+492 evas_object_clip_set(el->obj, cont->clipper);
+493 I think this should be: if (cont->clip_elemets || 
!evas_object_visible_get(cont->obj))   evas_object_clip_set(el->obj, 
cont->clipper); Besides that looks good to me.



-
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


Re: [E-devel] Esmart container clipping

2008-07-18 Thread Sevcsik András
On Fri, Jul 18, 2008 at 4:48 PM, Peter Wehrfritz <[EMAIL PROTECTED]>
wrote:

> Sevcsik András schrieb:
>
>> Thanks for the help guys, here's my second version, that deals with
>> show/hide and applies clip_elements_set() to all elements.
>>
>>
> @@ -444,9 +485,12 @@
>
> 485 evas_object_repeat_events_set(el->grabber, 1);
> 486 evas_object_color_set(el->grabber, 0, 0, 0, 0);
> 487 evas_object_show(el->grabber);
> -447
> +488
> 489 el->container = cont;
> -449 evas_object_clip_set(el->obj, cont->clipper);
> +490
> +491 if (cont->clip_elements)
> +492 evas_object_clip_set(el->obj, cont->clipper);
> +493 I think this should be: if (cont->clip_elemets ||
> !evas_object_visible_get(cont->obj))   evas_object_clip_set(el->obj,
> cont->clipper); Besides that looks good to me.


You've got a point. I attached the fixed version.



-- 
Minden jót,
Sevcsik András
Index: src/lib/esmart_container/Esmart_Container.h
===
RCS file: /var/cvs/e/e17/libs/esmart/src/lib/esmart_container/Esmart_Container.h,v
retrieving revision 1.11
diff -u -r1.11 Esmart_Container.h
--- src/lib/esmart_container/Esmart_Container.h	12 Jul 2008 06:40:36 -	1.11
+++ src/lib/esmart_container/Esmart_Container.h	18 Jul 2008 15:01:15 -
@@ -147,6 +147,18 @@
 
 EAPI int esmart_container_layout_plugin_set(Evas_Object *container, const char *name);
 
+/*! \brief Set that container should clip elements
+ * @param container Object
+ * @param val Boolean value: 1 to clip elements (default), 0 to not
+ */
+EAPI void esmart_container_clip_elements_set(Evas_Object *container, 
+ unsigned char val);
+
+/*! \brief Checks that container clips elements or not
+ * @param container Object
+ * @return Boolean value: 1 if clip elements, 0 if not
+ */
+EAPI unsigned char esmart_container_clip_elements_get(Evas_Object *container);
 
 #ifdef __cplusplus
 }
Index: src/lib/esmart_container/esmart_container.c
===
RCS file: /var/cvs/e/e17/libs/esmart/src/lib/esmart_container/esmart_container.c,v
retrieving revision 1.16
diff -u -r1.16 esmart_container.c
--- src/lib/esmart_container/esmart_container.c	12 Jul 2008 06:40:36 -	1.16
+++ src/lib/esmart_container/esmart_container.c	18 Jul 2008 15:01:16 -
@@ -419,6 +419,47 @@
   return length;
 }
 
+EAPI void
+esmart_container_clip_elements_set(Evas_Object *container, unsigned char val)
+{
+   Container *cont;
+   Evas_List *l;
+
+   cont = _container_fetch(container);
+   if (val)
+  evas_object_show(cont->clipper);
+   else
+  evas_object_hide(cont->clipper);
+   cont->clip_elements = val;
+
+   if (val)
+   { /* Clip all elements */
+  for (l = cont->elements; l; l = l->next)
+  {
+ Container_Element *el = l->data;
+
+ evas_object_clip_set(el->obj, cont->clipper);
+  }
+   }
+   else
+   { /* Unclip all elements */
+  for (l = cont->elements; l; l = l->next)
+  {
+ Container_Element *el = l->data;
+
+ evas_object_clip_unset(el->obj);
+  }
+   }
+}
+
+EAPI unsigned char
+esmart_container_clip_elements_get(Evas_Object *container)
+{
+   Container *cont;
+
+   cont = _container_fetch(container);
+   return cont->clip_elements;
+}
 
 / internal  functions ***/
 
@@ -435,7 +476,7 @@
   el->obj = obj;
   evas_object_data_set(obj, "Container_Element", el); 
   evas_object_show(obj);
- 
+
   evas_object_geometry_get(obj, NULL, NULL, &w, &h);
   el->orig_w = w;
   el->orig_h = h;
@@ -444,9 +485,12 @@
   evas_object_repeat_events_set(el->grabber, 1);
   evas_object_color_set(el->grabber, 0, 0, 0, 0);
   evas_object_show(el->grabber);
-  
+
   el->container = cont;
-  evas_object_clip_set(el->obj, cont->clipper);
+
+  if (cont->clip_elements || !evas_object_visible_get(cont->obj))
+ evas_object_clip_set(el->obj, cont->clipper);
+
   evas_object_clip_set(el->grabber, cont->clipper);
 /*
   evas_object_layer_set(el->obj, evas_object_layer_get(cont->obj));
@@ -456,6 +500,7 @@
   evas_object_stack_above(el->obj, cont->obj);
 */
   evas_object_smart_member_add(el->obj, cont->obj);
+  
   evas_object_smart_member_add(el->grabber, cont->obj);
 
   evas_object_event_callback_add(el->grabber, EVAS_CALLBACK_MOUSE_DOWN, _cb_element_down, el);
Index: src/lib/esmart_container/esmart_container_private.h
===
RCS file: /var/cvs/e/e17/libs/esmart/src/lib/esmart_container/esmart_container_private.h,v
retrieving revision 1.7
diff -u -r1.7 esmart_container_private.h
--- src/lib/esmart_container/esmart_container_private.h	12 Jul 2008 06:40:36 -	1.7
+++ src/lib/esmart_container/esmart_container_private.h	18 Jul 2008 15:01:16 -
@@ -48,6 +48,9 @@
   void *data_order_change;
 
   unsigned char changed : 1;
+
+  unsigned char clip_elements : 1; /* decide wether to clip elements to container 
+

[E-devel] Nightly build log for E17 on 2008-07-18 06:52:45 -0700

2008-07-18 Thread Nightly build system
Build log for Enlightenment DR 0.17 on 2008-07-18 06:52:45 -0700
Build logs are available at http://download.enlightenment.org/tests/logs

Packages that failed to build:
alarm  http://download.enlightenment.org/tests/logs/alarm.log
bling  http://download.enlightenment.org/tests/logs/bling.log
calendar  http://download.enlightenment.org/tests/logs/calendar.log
cpu  http://download.enlightenment.org/tests/logs/cpu.log
deskshow  http://download.enlightenment.org/tests/logs/deskshow.log
echo  http://download.enlightenment.org/tests/logs/echo.log
eclair  http://download.enlightenment.org/tests/logs/eclair.log
ecore_li  http://download.enlightenment.org/tests/logs/ecore_li.log
ecore  http://download.enlightenment.org/tests/logs/ecore.log
e_dbus  http://download.enlightenment.org/tests/logs/e_dbus.log
edje_editor  http://download.enlightenment.org/tests/logs/edje_editor.log
edje  http://download.enlightenment.org/tests/logs/edje.log
edje_viewer  http://download.enlightenment.org/tests/logs/edje_viewer.log
edvi  http://download.enlightenment.org/tests/logs/edvi.log
eflame  http://download.enlightenment.org/tests/logs/eflame.log
eflpp  http://download.enlightenment.org/tests/logs/eflpp.log
efm_nav  http://download.enlightenment.org/tests/logs/efm_nav.log
efm_path  http://download.enlightenment.org/tests/logs/efm_path.log
efreet  http://download.enlightenment.org/tests/logs/efreet.log
elapse  http://download.enlightenment.org/tests/logs/elapse.log
elation  http://download.enlightenment.org/tests/logs/elation.log
elicit  http://download.enlightenment.org/tests/logs/elicit.log
elitaire  http://download.enlightenment.org/tests/logs/elitaire.log
e  http://download.enlightenment.org/tests/logs/e.log
embrace  http://download.enlightenment.org/tests/logs/embrace.log
emotion  http://download.enlightenment.org/tests/logs/emotion.log
emphasis  http://download.enlightenment.org/tests/logs/emphasis.log
empower  http://download.enlightenment.org/tests/logs/empower.log
emprint  http://download.enlightenment.org/tests/logs/emprint.log
emu  http://download.enlightenment.org/tests/logs/emu.log
engrave  http://download.enlightenment.org/tests/logs/engrave.log
engycad  http://download.enlightenment.org/tests/logs/engycad.log
enhance  http://download.enlightenment.org/tests/logs/enhance.log
enity  http://download.enlightenment.org/tests/logs/enity.log
enna  http://download.enlightenment.org/tests/logs/enna.log
enterminus  http://download.enlightenment.org/tests/logs/enterminus.log
enthrall  http://download.enlightenment.org/tests/logs/enthrall.log
entrance_edit_gui  
http://download.enlightenment.org/tests/logs/entrance_edit_gui.log
entrance  http://download.enlightenment.org/tests/logs/entrance.log
entropy  http://download.enlightenment.org/tests/logs/entropy.log
envision  http://download.enlightenment.org/tests/logs/envision.log
epdf  http://download.enlightenment.org/tests/logs/epdf.log
ephoto  http://download.enlightenment.org/tests/logs/ephoto.log
e_phys  http://download.enlightenment.org/tests/logs/e_phys.log
epsilon  http://download.enlightenment.org/tests/logs/epsilon.log
equate  http://download.enlightenment.org/tests/logs/equate.log
esmart  http://download.enlightenment.org/tests/logs/esmart.log
estickies  http://download.enlightenment.org/tests/logs/estickies.log
etk_extra  http://download.enlightenment.org/tests/logs/etk_extra.log
etk  http://download.enlightenment.org/tests/logs/etk.log
etk-perl  http://download.enlightenment.org/tests/logs/etk-perl.log
evfs  http://download.enlightenment.org/tests/logs/evfs.log
evolve  http://download.enlightenment.org/tests/logs/evolve.log
ewl  http://download.enlightenment.org/tests/logs/ewl.log
examine  http://download.enlightenment.org/tests/logs/examine.log
execwatch  http://download.enlightenment.org/tests/logs/execwatch.log
exhibit  http://download.enlightenment.org/tests/logs/exhibit.log
exml  http://download.enlightenment.org/tests/logs/exml.log
expedite  http://download.enlightenment.org/tests/logs/expedite.log
express  http://download.enlightenment.org/tests/logs/express.log
exquisite  http://download.enlightenment.org/tests/logs/exquisite.log
extrackt  http://download.enlightenment.org/tests/logs/extrackt.log
flame  http://download.enlightenment.org/tests/logs/flame.log
forecasts  http://download.enlightenment.org/tests/logs/forecasts.log
gevas2  http://download.enlightenment.org/tests/logs/gevas2.log
iconbar  http://download.enlightenment.org/tests/logs/iconbar.log
iiirk  http://download.enlightenment.org/tests/logs/iiirk.log
language  http://download.enlightenment.org/tests/logs/language.log
mail  http://download.enlightenment.org/tests/logs/mail.log
mem  http://download.enlightenment.org/tests/logs/mem.log
mixer  http://download.enlightenment.org/tests/logs/mixer.log
moon  http://download.enlightenment.org/tests/logs/moon.log
mpdule  http://download.enlightenment.org/tests/logs/mpdule.log
net  http://download.enlightenment.org/tests/logs/net.log
news  http://download.enligh

Re: [E-devel] Esmart container clipping

2008-07-18 Thread Sevcsik András
I hope this version works with the current cvs.

On Fri, Jul 18, 2008 at 5:02 PM, Sevcsik András <[EMAIL PROTECTED]> wrote:

>
>
> On Fri, Jul 18, 2008 at 4:48 PM, Peter Wehrfritz <[EMAIL PROTECTED]>
> wrote:
>
>> Sevcsik András schrieb:
>>
>>> Thanks for the help guys, here's my second version, that deals with
>>> show/hide and applies clip_elements_set() to all elements.
>>>
>>>
>> @@ -444,9 +485,12 @@
>>
>> 485 evas_object_repeat_events_set(el->grabber, 1);
>> 486 evas_object_color_set(el->grabber, 0, 0, 0, 0);
>> 487 evas_object_show(el->grabber);
>> -447
>> +488
>> 489 el->container = cont;
>> -449 evas_object_clip_set(el->obj, cont->clipper);
>> +490
>> +491 if (cont->clip_elements)
>> +492 evas_object_clip_set(el->obj, cont->clipper);
>> +493 I think this should be: if (cont->clip_elemets ||
>> !evas_object_visible_get(cont->obj))   evas_object_clip_set(el->obj,
>> cont->clipper); Besides that looks good to me.
>
>
> You've got a point. I attached the fixed version.
>
>
>
> --
> Minden jót,
> Sevcsik András
>



-- 
Minden jót,
Sevcsik András
Index: src/lib/esmart_container/Esmart_Container.h
===
RCS file: /var/cvs/e/e17/libs/esmart/src/lib/esmart_container/Esmart_Container.h,v
retrieving revision 1.11
diff -u -r1.11 Esmart_Container.h
--- src/lib/esmart_container/Esmart_Container.h	12 Jul 2008 06:40:36 -	1.11
+++ src/lib/esmart_container/Esmart_Container.h	18 Jul 2008 15:59:30 -
@@ -147,6 +147,18 @@
 
 EAPI int esmart_container_layout_plugin_set(Evas_Object *container, const char *name);
 
+/*! \brief Set that container should clip elements
+ * @param container Object
+ * @param val Boolean value: 1 to clip elements (default), 0 to not
+ */
+EAPI void esmart_container_clip_elements_set(Evas_Object *container, 
+ unsigned char val);
+
+/*! \brief Checks that container clips elements or not
+ * @param container Object
+ * @return Boolean value: 1 if clip elements, 0 if not
+ */
+EAPI unsigned char esmart_container_clip_elements_get(Evas_Object *container);
 
 #ifdef __cplusplus
 }
Index: src/lib/esmart_container/esmart_container.c
===
RCS file: /var/cvs/e/e17/libs/esmart/src/lib/esmart_container/esmart_container.c,v
retrieving revision 1.17
diff -u -r1.17 esmart_container.c
--- src/lib/esmart_container/esmart_container.c	16 Jul 2008 21:37:49 -	1.17
+++ src/lib/esmart_container/esmart_container.c	18 Jul 2008 15:59:30 -
@@ -419,6 +419,47 @@
   return length;
 }
 
+EAPI void
+esmart_container_clip_elements_set(Evas_Object *container, unsigned char val)
+{
+   Container *cont;
+   Evas_List *l;
+
+   cont = _container_fetch(container);
+   if (val)
+  evas_object_show(cont->clipper);
+   else
+  evas_object_hide(cont->clipper);
+   cont->clip_elements = val;
+
+   if (val)
+   { /* Clip all elements */
+  for (l = cont->elements; l; l = l->next)
+  {
+ Container_Element *el = l->data;
+
+ evas_object_clip_set(el->obj, cont->clipper);
+  }
+   }
+   else
+   { /* Unclip all elements */
+  for (l = cont->elements; l; l = l->next)
+  {
+ Container_Element *el = l->data;
+
+ evas_object_clip_unset(el->obj);
+  }
+   }
+}
+
+EAPI unsigned char
+esmart_container_clip_elements_get(Evas_Object *container)
+{
+   Container *cont;
+
+   cont = _container_fetch(container);
+   return cont->clip_elements;
+}
 
 / internal  functions ***/
 
@@ -435,7 +476,7 @@
   el->obj = obj;
   evas_object_data_set(obj, "Container_Element", el); 
   evas_object_show(obj);
- 
+
   evas_object_geometry_get(obj, NULL, NULL, &w, &h);
   el->orig_w = w;
   el->orig_h = h;
@@ -444,9 +485,12 @@
   evas_object_repeat_events_set(el->grabber, 1);
   evas_object_color_set(el->grabber, 0, 0, 0, 0);
   evas_object_show(el->grabber);
-  
+
   el->container = cont;
-  evas_object_clip_set(el->obj, cont->clipper);
+
+  if (cont->clip_elements || !evas_object_visible_get(cont->obj))
+ evas_object_clip_set(el->obj, cont->clipper);
+
   evas_object_clip_set(el->grabber, cont->clipper);
 /*
   evas_object_layer_set(el->obj, evas_object_layer_get(cont->obj));
@@ -456,6 +500,7 @@
   evas_object_stack_above(el->obj, cont->obj);
 */
   evas_object_smart_member_add(el->obj, cont->obj);
+  
   evas_object_smart_member_add(el->grabber, cont->obj);
 
   evas_object_event_callback_add(el->grabber, EVAS_CALLBACK_MOUSE_DOWN, _cb_element_down, el);
Index: src/lib/esmart_container/esmart_container_private.h
===
RCS file: /var/cvs/e/e17/libs/esmart/src/lib/esmart_container/esmart_container_private.h,v
retrieving revision 1.7
diff -u -r1.7 esmart_container_private.h
--- src/lib/esmart_container/esmart_container_private.h	12 Jul 2008 06:40:36 -	1.7
+++ src/lib/esmart_container/esmart_container_private.h	18 Jul 2008 1

Re: [E-devel] Esmart container clipping

2008-07-18 Thread Peter Wehrfritz
Sevcsik András schrieb:
> I hope this version works with the current cvs.
>
>   
Yup, thanks. In cvs.


-
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