optimize performance
[framework/osp/web.git] / src / controls / FWebCtrl_EflWebkit.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                FWebCtrl_EflWebkit.h
20  * @brief               The file contains the declaration of _EflWebkit class.
21  *
22  * The file contains the declaration of _EflWebkit class.
23  */
24 #ifndef _FWEB_CTRL_INTERNAL_EFL_WEBKIT_H_
25 #define _FWEB_CTRL_INTERNAL_EFL_WEBKIT_H_
26
27 #include <Evas.h>
28 #include <FBaseString.h>
29
30 namespace Tizen { namespace Graphics
31 {
32 class Rectangle;
33 }} // Tizen::Graphics
34
35 namespace Tizen { namespace Ui
36 {
37 class _Control;
38 }} // Tizen::Ui
39
40 namespace Tizen { namespace Ui { namespace Animations
41 {
42 class VisualElement;
43 class VisualElementSurface;
44 }}} // Tizen::Ui::Animations
45
46
47 namespace Tizen { namespace Web { namespace Controls
48 {
49
50 class _EflWebkit
51         : public Tizen::Base::Object
52 {
53 public:
54         _EflWebkit(void);
55
56         virtual ~_EflWebkit(void);
57
58         result Construct(const Tizen::Graphics::Rectangle& rect, Tizen::Ui::Animations::VisualElement& containerVisualElement, Tizen::Ui::_Control* pControl);
59
60         Evas_Object* GetWebEvasObject(void) const;
61
62         result SetProxyAddress(char* pProxy) const;
63
64 //      result GetPixelBufferFromEvasObject(const Evas_Object* source, Tizen::Graphics::BufferInfo& bufferInfo);
65
66 private:
67         _EflWebkit(const _EflWebkit&);
68
69         result SetWebConfiguration(void) const;
70
71         void InitializeCustomHeader(void) const;
72
73         _EflWebkit& operator =(const _EflWebkit&);
74
75 private:
76         Evas_Object* __pWebFrame;
77         Tizen::Ui::Animations::VisualElement* __pContainerVisualElement;
78         Tizen::Ui::Animations::VisualElementSurface* __pSurface;
79 }; // _EflWebkit
80
81 }}} // Tizen::Web::Controls
82 #endif // _FWEB_CTRL_INTERNAL_EFL_WEBKIT_H_