static MiniBrowser *browserCreate(const char *url) { MiniBrowser *app = malloc(sizeof(MiniBrowser)); app->ee = ecore_evas_new(0, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0); ecore_evas_title_set(app->ee, "EFL MiniBrowser"); ecore_evas_callback_resize_set(app->ee, on_ecore_evas_resize); ecore_evas_borderless_set(app->ee, 0); ecore_evas_show(app->ee); app->evas = ecore_evas_get(app->ee); app->bg = evas_object_rectangle_add(app->evas); evas_object_name_set(app->bg, "bg"); evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_move(app->bg, 0, 0); evas_object_resize(app->bg, DEFAULT_WIDTH, DEFAULT_HEIGHT); evas_object_color_set(app->bg, 255, 150, 150, 255); evas_object_show(app->bg); /* Create webview */ app->browser = ewk_view_add(app->evas); evas_object_name_set(app->browser, "browser"); evas_object_size_hint_weight_set(app->browser, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_resize(app->browser, DEFAULT_WIDTH, DEFAULT_HEIGHT); evas_object_show(app->browser); evas_object_focus_set(app->browser, EINA_TRUE); ewk_view_uri_set(app->browser, url); return app; }
static Evas_Object* create_licence_section(view_sys *p_sys) { Evas *e_webview = evas_object_evas_get(p_sys->nf_toolbar); Evas_Object *browser = ewk_view_add(e_webview); evas_object_layer_set(browser, EVAS_LAYER_MIN); ewk_view_url_set(browser, "file://"RES_DIR"/license.html"); evas_object_show(browser); return browser; }
static MiniBrowser *browserCreate(const char *url, const char *engine) { MiniBrowser *app = malloc(sizeof(MiniBrowser)); app->ee = ecore_evas_new(engine, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0); if (!app->ee) return 0; ecore_evas_title_set(app->ee, APP_NAME); ecore_evas_callback_resize_set(app->ee, on_ecore_evas_resize); ecore_evas_borderless_set(app->ee, 0); ecore_evas_show(app->ee); ecore_evas_callback_delete_request_set(app->ee, closeWindow); app->evas = ecore_evas_get(app->ee); app->bg = evas_object_rectangle_add(app->evas); evas_object_name_set(app->bg, "bg"); evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_move(app->bg, 0, 0); evas_object_resize(app->bg, DEFAULT_WIDTH, DEFAULT_HEIGHT); evas_object_color_set(app->bg, 255, 150, 150, 255); evas_object_show(app->bg); /* Create webview */ app->browser = ewk_view_add(app->evas); ewk_view_theme_set(app->browser, THEME_DIR"/default.edj"); evas_object_name_set(app->browser, "browser"); evas_object_smart_callback_add(app->browser, "load,error", on_error, app); evas_object_smart_callback_add(app->browser, "load,progress", on_progress, app); evas_object_smart_callback_add(app->browser, "title,changed", on_title_changed, app); evas_object_smart_callback_add(app->browser, "uri,changed", on_url_changed, app); evas_object_event_callback_add(app->browser, EVAS_CALLBACK_KEY_DOWN, on_key_down, app); evas_object_size_hint_weight_set(app->browser, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_move(app->browser, 0, URL_BAR_HEIGHT); evas_object_resize(app->browser, DEFAULT_WIDTH, DEFAULT_HEIGHT - URL_BAR_HEIGHT); evas_object_show(app->browser); evas_object_focus_set(app->browser, EINA_TRUE); app->url_bar = url_bar_add(app->browser, DEFAULT_WIDTH); ewk_view_uri_set(app->browser, url); return app; }
EAPI_MAIN int elm_main(int argc, char *argv[]) { // Initialize ewebkit. ewk_init(); Evas_Object* win; win = elm_win_add(NULL, "sample", ELM_WIN_BASIC); elm_win_title_set(win, "sample"); evas_object_smart_callback_add(win, "delete,request", on_done, NULL); elm_win_autodel_set(win, EINA_TRUE); Evas_Object* bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_bg_color_set(bg, 0, 0, 255); elm_win_resize_object_add(win, bg); evas_object_show(bg); // create very simple ewk_view. Evas_Object* ewk = ewk_view_add(evas_object_evas_get(win)); // register callback. evas_object_smart_callback_add(ewk, "load,progress", progress_cb, NULL); // load specific url. ewk_view_url_set(ewk, "http://bunhere.tistory.com"); // locate ewk_view at (0,0,400,400) evas_object_resize(ewk, 400, 400); evas_object_move(ewk, 0, 0); evas_object_show(ewk); evas_object_resize(win, 400, 400); evas_object_show(win); // execute main loop, ewk_view will do a lot of operation for loading url. elm_run(); // Before terminated process, please deinitialize ewebkit. ewk_shutdown(); }
WebViewImpl::WebViewImpl(WebView *webView) : _webView(webView) { Application* app = Application::getInstance(); Evas *evas = evas_object_evas_get(app->_win); _ewkView = ewk_view_add(evas); }