5609bab1facf96cf51a6b363b8d4d2bca40d21b3
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / private / webview_delegate_ewk.h
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.
4
5 #ifndef webview_delegate_ewk_h
6 #define webview_delegate_ewk_h
7
8 #include <Evas.h>
9 #include <tizen_webview/public/tw_webview.h>
10 #include <tizen_webview/public/tw_webview_delegate.h>
11
12 using tizen_webview::WebView;
13 using tizen_webview::WebViewDelegate;
14
15 struct WebViewDelegateEwk : public WebViewDelegate {
16  public:
17   static const WebViewDelegateEwk& GetInstance();
18  protected:
19   WebView* GetWebViewFromEvasObject(Evas_Object* evas_object);
20   bool IsWebViewEvasObject(Evas_Object* evas_object);
21   Evas_Object_Smart_Clipped_Data* GetSmartClippedData(Evas_Object* evas_object);
22   Eina_Rectangle GetLastUsedViewPortArea(Evas_Object* evas_object);
23
24   // Event handlers
25   bool RequestHandleEvent_FocusIn(WebView* wv);
26   bool RequestHandleEvent_FocusOut(WebView* wv);
27   bool RequestHandleEvent_MouseUp(WebView* wv, const Evas_Event_Mouse_Up* event_info);
28   bool RequestHandleEvent_MouseDown(WebView* wv, const Evas_Event_Mouse_Down* event_info);
29   bool RequestHandleEvent_MouseMove(WebView* wv, const Evas_Event_Mouse_Move* event_info);
30   bool RequestHandleEvent_MouseWheel(WebView* wv, const Evas_Event_Mouse_Wheel* event_info);
31   bool RequestHandleEvent_KeyUp(WebView* wv, const Evas_Event_Key_Up* event_info);
32   bool RequestHandleEvent_KeyDown(WebView* wv, const Evas_Event_Key_Down* event_info);
33  private:
34   WebViewDelegateEwk() {}
35   DISALLOW_COPY_AND_ASSIGN(WebViewDelegateEwk);
36 };
37
38
39 #endif // webview_delegate_ewk_h