Re: [E-devel] patch of python-etk binding for the modify of Etk_Canvas

2008-04-24 Thread Caio Marcelo
Hello.

Commit 8b51535150cbc88467e3d8b578e54df27eac6434 fixed this (available
in staff.get-e.org, my users/cmarcelo/python-etk.git repository). I've
just regenerated using etk-pyrexgen util. Still need to make the
binding for new Etk_Evas_Object, though.

Thanks for the patch anyway :-)


Cheers,
  Caio Marcelo

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [RFC] Async events API

2008-04-24 Thread Gustavo Sverzut Barbieri
On Thu, Apr 24, 2008 at 1:57 PM, Cedric BAIL <[EMAIL PROTECTED]> wrote:
> On Wed, Apr 23, 2008 at 4:45 PM, The Rasterman Carsten Haitzler
>  <[EMAIL PROTECTED]> wrote:
>  > On Tue, 15 Apr 2008 13:15:13 -0300 "Gustavo Sverzut Barbieri"
>  >  <[EMAIL PROTECTED]> babbled:
>  >  > For simplicity, I would just process one message per callback from
>  >  > ecore_fd_main... but we can also use a poll/select inside this
>  >  > function and do what you want, without the need to fcntl to
>  >  > NONBLOCKING.
>  >
>  >  just read a buffer of messages - if we don't get a complete message, 
> store the
>  >  partial one and keep it until the next call to process events then 
> complete the
>  >  message fetch.
>
>  Ok. Here is an updated patch. The fd is still nonblocking and on
>  partial read, it should be able to just restart cleany at a later
>  time. You will now pass a function pointer so that you can call
>  whatever kind of code you want (I doubt we really need something else
>  than evas_object_event_callback). I also make it optional. Some more
>  comments ?

configure: s/build_async/build_async_events/g; make it default on (use
"auto" to check for pthread, "yes" would fail without pthread and "no"
is... well no).


   +static pthread_mutex_t _mutex;

i think it's safer to just initialize the mutex here using (and remove
the destroy call):

   static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER;


evas_async_events_process(void):

   +   if (_fd_read != -1)
   + do

reverse this logic: if (_d_read == -1) return 0;
this will avoid the unnecessary nesting and would remove the bug that
it have today: "check" might be uninitialized in this function.
Actually write the whole function like (more beautiful imho):

   if (_fd_read == -1)
 return -1;

   count = 0;
   while ((check = read(_fd_read, ((char *)¤t) + size,
sizeof(current) - size)) > 0)
 {
size += check;
if (size < sizeof(current))
  continue;

if (current.func)
  current.func(current.target, current.type, current.event_info);
 size = 0;
  count++;
 }
   if (check < 0) {
   ...;
   _fd_read = -1;
   }
   return count;


For evas_async_events_put, also reverse the logic, I'd write:

   if (!func) return 0;
   if (_fd_write == -1) return 0;

   ...
   pthread_mutex_lock(&_mutex);
   do { ... } while ( ... )
   pthread_mutex_unlock(&_mutex);

this would not do unneeded locks and avoid nested code.
Also, note that the function return "Evas_Bool" but in the version
without BUILD_ASYNC_EVENTS you return -1.


Aside these minor, mostly cosmetic, things, it's ready for inclusion :-)

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi
Embedded Systems
--
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Evas transforms/filters/etc.

2008-04-24 Thread Jose Gonzalez

  Ok, let me give you some 'criticisms' I have of parts of the
approaches to this filters stuff that both Carsten and Gustavo 
suggested, and let me start with:

  I just don't see a realistic "need" for having a built-in
mechanism of arbitrary lists of arbitrary filters to be applied
to any evas obj (or the rendering of such an obj), or as a canvas
modifier object itself.

  I wish someone would point out an interesting, and/or common,
real-time gui use of something besides: one specialty filter (say a
blur or a bumpmap) followed by a geometric transform (and possibly
all clipped by a mask).

  Anything more involved than that I'd say should be left to
immediate-mode mechanisms for people to compose things as they
wish (working with image objs), ie. draw the obj to an image obj
and proceed to work with such.. use whatever eventual im obj to
represent whatever bizarre, complex, slowly-arrived-at result you
wanted.. I doubt one'd be going thru these steps all the time,
so might as well create what complex effect you want and save it
as an image obj for your actual real-time use (and any animations
on this kind of thing you'd probably want to do apart from that,
ie. on that result).



-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [RFC] Async events API

2008-04-24 Thread Cedric BAIL
On Wed, Apr 23, 2008 at 4:45 PM, The Rasterman Carsten Haitzler
<[EMAIL PROTECTED]> wrote:
> On Tue, 15 Apr 2008 13:15:13 -0300 "Gustavo Sverzut Barbieri"
>  <[EMAIL PROTECTED]> babbled:
>  > For simplicity, I would just process one message per callback from
>  > ecore_fd_main... but we can also use a poll/select inside this
>  > function and do what you want, without the need to fcntl to
>  > NONBLOCKING.
>
>  just read a buffer of messages - if we don't get a complete message, store 
> the
>  partial one and keep it until the next call to process events then complete 
> the
>  message fetch.

Ok. Here is an updated patch. The fd is still nonblocking and on
partial read, it should be able to just restart cleany at a later
time. You will now pass a function pointer so that you can call
whatever kind of code you want (I doubt we really need something else
than evas_object_event_callback). I also make it optional. Some more
comments ?

-- 
Cedric BAIL
diff --git a/configure.in b/configure.in
index a08df81..a0bc60f 100644
--- a/configure.in
+++ b/configure.in
@@ -1173,6 +1173,30 @@ AC_ARG_ENABLE(pthreads,
 )
 
 ###
+## Async events
+build_async="no"
+AC_MSG_CHECKING(whether to build Async events support)
+AC_ARG_ENABLE(async-events,
+  AC_HELP_STRING([--enable-async-events], [enable async events support]),
+  [
+if test "x$enableval" = "xyes" ; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
+  build_async="yes"
+else
+  AC_MSG_RESULT(no)
+fi
+  ],
+  [
+AC_MSG_RESULT($build_pthreads)
+if test "x$build_pthreads" = "xyes" ; then
+  AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
+  build_async="yes"
+fi
+  ]
+)
+
+###
 ## MMX
 build_cpu_mmx="no"
 case $host_cpu in
@@ -1760,6 +1784,8 @@ echo "  SSE.: $build_cpu_sse"
 echo "  ALTIVEC.: $build_cpu_altivec"
 echo "  Thread Support..: $build_pthreads"
 echo
+echo "Async Events..: $build_async"
+echo
 echo "ARGB Software Engine Options:"
 echo "  Sampling Scaler.: $scaler_sample"
 echo "  Smooth Scaler...: $scaler_smooth"
diff --git a/src/lib/Evas.h b/src/lib/Evas.h
index 3d9b1a4..a427188 100644
--- a/src/lib/Evas.h
+++ b/src/lib/Evas.h
@@ -823,6 +823,10 @@ extern "C" {
EAPI void  evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info), const void *data);
EAPI void *evas_object_event_callback_del(Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info));
 
+   EAPI int		  evas_async_events_fd_get  (void);
+   EAPI int		  evas_async_events_process	(void);
+   EAPI Evas_Bool	  evas_async_events_put (void *target, Evas_Callback_Type type, void *event_info, void (*func)(void *target, Evas_Callback_Type type, void *event_info));
+
EAPI void  evas_object_intercept_show_callback_add(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
EAPI void *evas_object_intercept_show_callback_del(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj));
EAPI void  evas_object_intercept_hide_callback_add(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), const void *data);
diff --git a/src/lib/canvas/Makefile.am b/src/lib/canvas/Makefile.am
index 9dda0e1..db66ba6 100644
--- a/src/lib/canvas/Makefile.am
+++ b/src/lib/canvas/Makefile.am
@@ -37,6 +37,7 @@ evas_font_dir.c \
 evas_rectangle.c \
 evas_render.c \
 evas_smart.c \
-evas_stack.c
+evas_stack.c \
+evas_async_events.c
 
 libevas_canvas_la_DEPENDENCIES = $(top_builddir)/config.h
diff --git a/src/lib/canvas/evas_async_events.c b/src/lib/canvas/evas_async_events.c
new file mode 100644
index 000..d8756b6
--- /dev/null
+++ b/src/lib/canvas/evas_async_events.c
@@ -0,0 +1,165 @@
+#include "config.h"
+#include "evas_common.h"
+#include "evas_private.h"
+
+#ifdef BUILD_ASYNC_EVENTS
+
+#include 
+#include 
+#include 
+#include 
+
+static int _fd_write = -1;
+static int _fd_read = -1;
+
+static int _init_evas_event = 0;
+static pthread_mutex_t _mutex;
+
+typedef struct _Evas_Event_Async	Evas_Event_Async;
+struct _Evas_Event_Async
+{
+   void			(*func)(void *target, Evas_Callback_Type type, void *event_info);
+   void			 *target;
+   Evas_Callback_Type	  type;
+   void			 *event_info;
+};
+
+#endif
+
+int
+evas_async_events_init(void)
+{
+#ifdef BUILD_ASYNC_EVENTS
+   int filedes[2];
+
+   _init_evas_event++;
+   if (_init_evas_event > 1) return _init_evas_event;
+
+   if (pipe(filedes) == -1)
+ {
+	_init_evas_event = 0;
+	return 0;
+ }
+
+   _fd_read = filedes[0];
+   _fd_write = filedes[1];
+
+   fcntl(_fd_read, F_SETFL, O_NONBLOCK);
+
+   pthread_mutex_init(&

[E-devel] Nightly build log for E17 on 2008-04-24 07:08:38 -0700

2008-04-24 Thread Nightly build system
Build log for Enlightenment DR 0.17 on 2008-04-24 07:08:38 -0700
Build logs are available at http://download.enlightenment.org/tests/logs

Packages that failed to build:
enna  http://download.enlightenment.org/tests/logs/enna.log
epdf  http://download.enlightenment.org/tests/logs/epdf.log
evolve  http://download.enlightenment.org/tests/logs/evolve.log

Packages with no supported build system:
entice, esmart_rsvg, exorcist, python-efl, 

Packages skipped:
camE, ecore_dbus, engage, enotes, enscribe, epbb, eplay, erss, etk_server, 
etox, e_utils, Evas_Perl, evoak, gfx_routines, lvs-gui, med, nexus, notgame, 
ruby-efl, webcam, 

Packages that build OK:
alarm, bling, calendar, cpu, deskshow, echo, eclair, ecore_li, ecore, edata, 
edb, e_dbus, edje_editor, edje, edje_viewer, edvi, eet, eflame, eflpp, efm_nav, 
efm_path, efreet, elapse, elation, elicit, elitaire, e, embrace, embryo, 
emotion, emphasis, empower, emprint, emu, enesim, engrave, engycad, enhance, 
enity, enterminus, enthrall, entrance_edit_gui, entrance, entropy, envision, 
epeg, ephoto, e_phys, epsilon, epx, equate, esmart, estickies, etk_extra, 
etk, etk-perl, evas, evfs, ewl, examine, execwatch, exhibit, exml, expedite, 
express, exquisite, extrackt, feh, flame, forecasts, gevas2, iconbar, iiirk, 
imlib2_loaders, imlib2, Imlib2_Perl, imlib2_tools, language, mail, mem, 
mixer, moon, mpdule, net, news, notification, penguins, pesh, photo, rage, 
rain, screenshot, scrot, slideshow, snow, taskbar, tclock, uptime, weather, 
winselector, wlan, 

Debian GNU/Linux 4.0 \n \l

Linux enlightenment2 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 
GNU/Linux


See http://download.enlightenment.org/tests/ for details.


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E17 Systray Module sourcecode?

2008-04-24 Thread Pomarede Nicolas
On Thu, 24 Apr 2008, The DarkMaster wrote:

> Hallo everyone, does any of you have a clue about where could I download the
> source code of the E17 systray module available in GOs Rocket? Maybe someone
> talked about it in this list in the past... I'm getting crazy to find it and
> have not succeeded yet :(
> Thanks everyone,
>
> Luca D.M.

Not E17 it seems, but awn under gnome + compiz

http://dev.thinkgos.com/blog/whats-the-dock

Nicolas

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] E17 Systray Module sourcecode?

2008-04-24 Thread The DarkMaster
Hallo everyone, does any of you have a clue about where could I download the
source code of the E17 systray module available in GOs Rocket? Maybe someone
talked about it in this list in the past... I'm getting crazy to find it and
have not succeeded yet :(
Thanks everyone,

Luca D.M.
-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] patch of python-etk binding for the modify of Etk_Canvas

2008-04-24 Thread Tick

Hi List,
   According to the modification of Etk_Canvas API on 2008-04-20, the 
original python-etk binding on

http://repository.maemo.org/extras/pool/gregale/free/source/p/python-etk/python-etk_0.1.1-maemo2.tar.gz

python-etk_0.1.1-maemo2.tar.gz 

  13.03.2008 20:25  184034
md5sum 92f753e83437707f4fd2750835d83b39

no more works.

In order to deal with this problem, I modify the pxi and pxd files to 
make them work again.


Cheers,
Tick
Index: python-etk/etk/core/canvas.pxi
===
--- python-etk.orig/etk/core/canvas.pxi	2008-03-13 06:36:56.0 +0800
+++ python-etk/etk/core/canvas.pxi	2008-04-24 15:55:53.0 +0800
@@ -5,23 +5,20 @@
 self._set_common_params(**kargs)
 
 def object_add(self, evas.c_evas.Object object):
-__ret = bool( etk_canvas_object_add(self.obj, object.obj))
+__ret = etk_canvas_object_add(self.obj, object.obj)
 return (__ret)
 
-def object_geometry_get(self, evas.c_evas.Object object):
+def child_position_get(self, Widget object):
 cdef int x
 cdef int y
-cdef int w
-cdef int h
-etk_canvas_object_geometry_get(self.obj, object.obj, &x, &y, &w, &h)
-return (x, y, w, h)
+etk_canvas_child_position_get(self.obj, object.obj, &x, &y)
+return (x, y)
 
-def object_move(self, evas.c_evas.Object object, int x, int y):
-etk_canvas_object_move(self.obj, object.obj, x, y)
-
-def object_remove(self, evas.c_evas.Object object):
-etk_canvas_object_remove(self.obj, object.obj)
+def move(self, Widget object, int x, int y):
+etk_canvas_move(self.obj, object.obj, x, y)
 
+def put(self, Widget object, int x, int y):
+etk_canvas_put(self.obj, object.obj, x, y)
 
 class CanvasEnums:
 pass
Index: python-etk/include/etk/canvas.pxd
===
--- python-etk.orig/include/etk/canvas.pxd	2008-04-24 15:59:35.0 +0800
+++ python-etk/include/etk/canvas.pxd	2008-04-24 16:02:53.0 +0800
@@ -10,9 +10,9 @@
 Etk_Type* etk_canvas_type_get()
 Etk_Widget* etk_canvas_new()
 int etk_canvas_object_add(Etk_Canvas* __self, evas.c_evas.Evas_Object* object)
-void etk_canvas_object_geometry_get(Etk_Canvas* __self, evas.c_evas.Evas_Object* object, int* x, int* y, int* w, int* h)
-void etk_canvas_object_move(Etk_Canvas* __self, evas.c_evas.Evas_Object* object, int x, int y)
-void etk_canvas_object_remove(Etk_Canvas* __self, evas.c_evas.Evas_Object* object)
+void etk_canvas_child_position_get(Etk_Canvas* __self, Etk_Widget* object, int* x, int* y)
+void etk_canvas_put(Etk_Canvas* __self, Etk_Widget* object, int x, int y)
+void etk_canvas_move(Etk_Canvas* __self, Etk_Widget* object, int x, int y)
 
 #
 # Objects
-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Nightly build log for E17 on 2008-04-23 07:08:36 -0700

2008-04-24 Thread David Seikel
On Thu, 24 Apr 2008 16:08:50 +1000 David Seikel <[EMAIL PROTECTED]>
wrote:

> On Thu, 24 Apr 2008 07:57:17 +0200 (CEST) Vincent Torri
> <[EMAIL PROTECTED]> wrote:
> 
> > Btw, do you think you can install poppler >= 0.6 ? I've dropped
> > poppler 0.4 support in epdf. Don't forget to install xpdf headers
> > (see README in epdf). Poppler 0.8 is out, but, for my use, the api
> > is the same
> 
> My policy is to use whatever stable version of poppler (and other
> dependencies) comes with the stable version of the distro we use on
> the server being used to build the nightly tests.  Not a great fan of
> the "only bleeding edge versions supported" mentality.  Lots of
> people use Debian stable with it's ancient versions of things for
> good reasons. The same goes for stable versions of other distros.
> 
> The "this is not released yet, the bleeding edge dependencies will be
> common when it gets released" argument does not hold water, people are
> using it now.
> 
> I'll check what version is being used now, and what is available.  See
> what I can do.

libpoppler0c2_0.4.5-5.1etch1_i386.deb is what Debian provide.  May be
too old, but still in use by popular stable distros.



signature.asc
Description: PGP signature
-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel