On Mon, 24 Aug 2009 13:25:34 +0200 Laszlo KREKACS <laszlo.krekacs.l...@gmail.com> said:
correct. the c code works. to be honest - i work on the c. with the c. apps too. i never look at the python so i have no idea what it is doing. but you did the 100% right thing. check the c code and see what it's doing api/behavior-wise. this is how it "should be". to be totally honest... it's just as easy to use elm from as from python, so poking around the c api is possible and easy. > On Mon, Aug 24, 2009 at 10:52 AM, Laszlo > KREKACS<laszlo.krekacs.l...@gmail.com> wrote: > > Unfortunately my C knowledge are almost nonexistant, so > > maybe it will take some weeks to get there, writing a simple > > demonstration application in C. > > As others pointed out, the preferred way of doing C development is > installing elementary on > the desktop machine and develop on it (and crosscompile for the neo). > > So I installed elementary, and ran the test application from here: > http://trac.enlightenment.org/e/wiki/Elementary > > Now, I modified the source, to get the evas canvas (evass), and print > some info about > it, and add other evas object to it, so not some elementary widget, > but pure evas object. > > In C, everything works as expected, evas_object_evas_get does return > with a valid > evas canvas object. And I can directly add other objects to it. > In python this does not work. > > For convenience, I post[1] my demonstration code (many thanks to > devilhorns from #e). > > What you are supposed to see, is a blue line(evas.Line) added over the > Hello world! > elementary label widget. > > The next exercise would be to fix the python bindings. But I see these > pyx, pxi, pxd files > the first time in my life.... > http://trac.enlightenment.org/e/browser/trunk/BINDINGS/python/python-elementary/include/elementary > > Best regards, > Laszlo > > [1]: > #include <Elementary.h> > #include <Evas.h> > > static void > win_del(void *data, Evas_Object *obj, void *event_info) > { > elm_exit(); > } > > EAPI int > elm_main(int argc, char **argv) > { > Evas_Object *win, *bg, *lb, *lin; > Evas *evass; > int w = 0, h = 0; > char buf[4096]; > > win = elm_win_add(NULL, "hello", ELM_WIN_BASIC); > elm_win_title_set(win, "Hello"); > evas_object_smart_callback_add(win, "delete-request", win_del, NULL); > > evass = evas_object_evas_get(win); > > evas_output_size_get(evass, &w, &h); > printf("Width: %d\tHeight: %d\n", w, h); > //snprintf(buf, sizeof(buf), "lol: %d", evas_output_size_get > (evass->changed); bg = elm_bg_add(win); > evas_object_size_hint_weight_set(bg, 1.0, 1.0); > elm_win_resize_object_add(win, bg); > evas_object_show(bg); > > lb = elm_label_add(win); > elm_label_label_set(lb, "Hello World!"); > evas_object_size_hint_weight_set(lb, 1.0, 1.0); > elm_win_resize_object_add(win, lb); > > lin = evas_object_line_add(evass); > evas_object_line_xy_set(lin,10, 10 , 20, 30); > evas_object_layer_set(lin, 55); > // evas_object_clip_set(ob, panel_clip); > evas_object_color_set(lin, 0, 0, 255, 200); > evas_object_show(lin); > > > > > evas_object_show(lb); > > evas_object_show(win); > > evas_output_size_get(evass, &w, &h); > printf("Width2: %d\tHeight2: %d\n", w, h); > elm_run(); > evas_output_size_get(evass, &w, &h); > printf("Width3: %d\tHeight3: %d\n", w, h); > elm_shutdown(); > return 0; > } > ELM_MAIN() > > _______________________________________________ > Openmoko community mailing list > community@lists.openmoko.org > http://lists.openmoko.org/mailman/listinfo/community > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com _______________________________________________ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community