3 * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
5 #include <Elementary.h>
10 #include <glib-object.h>
12 static Ewk_View_Smart_Class _parent_sc = EWK_VIEW_SMART_CLASS_INIT_NULL;
16 _els_webview_add(Evas_Object *parent, Eina_Bool tiled)
19 static Evas_Smart* smart = NULL;
22 int (*ewk_init)(void);
23 Eina_Bool (*ewk_view_single_smart_set)(Ewk_View_Smart_Class *);
24 Eina_Bool (*ewk_view_tiled_smart_set)(Ewk_View_Smart_Class *);
29 if (!g_thread_get_initialized())
32 void *ewk_handle = dlopen("/usr/lib/libewebkit.so", RTLD_LAZY);//FIXME
33 ewk_init = (int (*)())dlsym(ewk_handle, "ewk_init");
35 static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION("ELM_WEBVIEW");
39 ewk_view_tiled_smart_set = (Eina_Bool (*)(Ewk_View_Smart_Class *))dlsym(ewk_handle, "ewk_view_tiled_smart_set");
40 ewk_view_tiled_smart_set(&api);
41 if (EINA_UNLIKELY(!_parent_sc.sc.add))
42 ewk_view_tiled_smart_set(&_parent_sc);
46 ewk_view_single_smart_set = (Eina_Bool (*)(Ewk_View_Smart_Class *))dlsym(ewk_handle, "ewk_view_single_smart_set");
47 ewk_view_single_smart_set(&api);
48 if (EINA_UNLIKELY(!_parent_sc.sc.add))
49 ewk_view_single_smart_set(&_parent_sc);
58 obj = evas_object_smart_add(e, smart);
63 View_Smart_Data *sd = evas_object_smart_data_get(obj);
68 ewk_init = (int (*)())dlsym(ewk_handle, "ewk_init");
69 ewk_view_add = (Evas_Object *(*)(Evas *))dlsym(ewk_handle, "ewk_view_tiled_add");
70 ewk_view_uri_set = (Eina_Bool (*)(Evas_Object *, const char *))dlsym(ewk_handle, "ewk_view_uri_set");
72 e = evas_object_evas_get(parent);
74 obj = ewk_view_add(e);
75 ewk_view_uri_set(obj, "file:///a.html");
76 evas_object_show(obj);