Am Sun, 3 Feb 2013 14:54:29 +0900 schrieb Cedric BAIL:
> Cedric Bail
> On Feb 2, 2013 11:56 PM, "Andreas Volz" <[email protected]> wrote:
> >
> > Hello together,
> >
> > I'm currently trying to port some EFL libs to android.
> >
> > Most of EFL 1.7.5 compiles no with a lot of --disable-* flags.
>
> You know that we won't take patch that add feature to efl stable
> branch. So starting on 1.7 could lead to a frustrating result. I
> would recommend to work on trunk instead.
Reason to work on 1.7 was that I know the package structure well and it
was easier to port one library after the other. I'm a little confused
by the new efl all-in-one lib and need to find first out how to
configure and compile single efl libs.
For sure I know patches aren't accepted. But I'll switch to trunk very
soon. Was just for my first experiments.
> > I like to try the buffer engine at first because it seems to be the
> > easiest.
>
> You could also try sdl and sdl-gl.
After buffer is working that would be the next as there's an sdl port
for android.
> > After days of work I ported all the shared object loading horror to
> > android specific path handling. It seems to load the buffer engine
> > successful and I could run the evas code.
> >
> > After I solved many problems I'm at some part of the code where I
> > don't understand why it fails. Maybe someone with deeper knowledge
> > of evas could answer it.
> >
> > In evas_main.c / evas_engine_info_get() function there are some
> > checks:
>
> Likely your canvas wasn't initialized. What does your test do?
I just do the plain buffer example from docs:
Evas *canvas;
Evas_Object *bg, *r1, *r2, *r3;
ecore_evas_init();
ALOG("evas initialize %d", __LINE__);
ee = ecore_evas_buffer_new(WIDTH, HEIGHT);
ALOG("evas initialize %d", __LINE__);
if (!ee) goto error;
ALOG("evas initialize %d", __LINE__);
canvas = ecore_evas_get(ee);
ALOG("evas initialize %d", __LINE__);
bg = evas_object_rectangle_add(canvas);
evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
evas_object_move(bg, 0, 0); /* at origin */
evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
evas_object_show(bg);
r1 = evas_object_rectangle_add(canvas);
evas_object_color_set(r1, 255, 0, 0, 255); /* 100% opaque red */
evas_object_move(r1, 10, 10);
evas_object_resize(r1, 100, 100);
evas_object_show(r1);
r2 = evas_object_rectangle_add(canvas);
evas_object_color_set(r2, 0, 128, 0, 128); /* 50% opaque green */
evas_object_move(r2, 10, 10);
evas_object_resize(r2, 50, 50);
evas_object_show(r2);
r3 = evas_object_rectangle_add(canvas);
evas_object_color_set(r3, 0, 128, 0, 255); /* 100% opaque dark green
*/
evas_object_move(r3, 60, 60);
evas_object_resize(r3, 50, 50);
evas_object_show(r3);
ALOG("evas initialize %d", __LINE__);
ecore_evas_manual_render(ee);
ALOG("evas initialize %d", __LINE__);
_scene_save(canvas, "/sdcard/evas-buffer-simple-render.ppm");
ALOG("evas initialize %d", __LINE__);
ecore_evas_free(ee);
ecore_evas_shutdown();
return 0;
error:
ALOG("You got to have at least one Evas engine built"
" and linked up to ecore-evas for this example to
run"
" properly %d", __LINE__);
ecore_evas_shutdown();
return -1;
And I always jump on error label as ee is NULL. And as I showed below I traced
it back
to the engine.info == NULL problem. I modified only the module loader to find
engines
not in subfolders, but in a flat directory structure. And from former checks I
believe
the buffer engine is found and loaded. Seems I need more debugging. I'm sure
earlier or
later I'll find the problem... :-)
> > EAPI Evas_Engine_Info *
> > evas_engine_info_get(const Evas *e)
> > {
> > Evas_Engine_Info *info;
> >
> > MAGIC_CHECK(e, Evas, MAGIC_EVAS);
> > return NULL;
> > MAGIC_CHECK_END();
> >
> > if (!e->engine.info) return NULL; ===> this returns NULL!!!
> >
> > info = e->engine.info;
> > ((Evas *)e)->engine.info_magic = info->magic;
> >
> > return info;
> > }
> >
> > All initialization checks before looks good. So I don't understand
> > what is wrong at this point. After this NULL return the
> > initialization fails complete. :-(
> >
> > Could one please help me?
>
> It's good to share your attempt.I guess a lot of people will be
> interested by your effort. I saw your attempt of discussion on irc,
> sadly I was always sleeping at that time. On what time zone are you?
CET - which time zone is yours?
regards
Andreas
--
Technical Blog <http://andreasvolz.wordpress.com/>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel