1 // Copyright 2014 Samsung Electronics. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ewk_view_private_h
6 #define ewk_view_private_h
10 #include <tizen_webview/public/tw_webview.h>
14 // Create WebView Evas Object
15 Evas_Object* CreateWebViewAsEvasObject(Ewk_Context* context, Evas* canvas, Evas_Smart* smart = 0);
16 bool InitSmartClassInterface(Ewk_View_Smart_Class& api);
18 // EwkView's Smart Class Name
19 const char EwkViewSmartClassName[] = "EWebView";
21 // type conversion utility
22 bool IsWebViewObject(const Evas_Object* evas_object);
23 Ewk_View_Smart_Data* GetEwkViewSmartDataFromEvasObject(const Evas_Object* evas_object);
24 Ewk_View_Smart_Data* GetEwkViewSmartDataFromWebView(tizen_webview::WebView* wv);
25 tizen_webview::WebView* GetWebViewFromSmartData(const Ewk_View_Smart_Data* smartData);
26 tizen_webview::WebView* GetWebViewFromEvasObject(const Evas_Object* eo);
29 #define EWK_VIEW_IMPL_GET_OR_RETURN(evas_object, impl, ...) \
30 tizen_webview::WebView* impl = GetWebViewFromEvasObject(evas_object); \
33 EINA_LOG_CRIT("Evas Object %p is not Ewk WebView", evas_object); \
38 #endif // ewk_view_private_h