Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiAnim_DisplayContextImpl.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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        FUiAnim_DisplayContextImpl.h
20  * @brief       This is the header file for the %_DisplayContextImpl class.
21  *
22  * This header file contains declarations of the %_DisplayContextImpl class.
23  */
24
25 #ifndef FUI_ANIM_DISPLAY_CONTEXT_IMPL_H
26 #define FUI_ANIM_DISPLAY_CONTEXT_IMPL_H
27
28 #include <FBaseObject.h>
29
30 namespace Tizen { namespace Ui { namespace Animations
31 {
32
33 class _NativeLayer;
34 class VisualElement;
35 class DisplayContext;
36
37 class _OSP_EXPORT_ _DisplayContextImpl
38 {
39 public:
40         explicit _DisplayContextImpl(const _NativeLayer& layer);
41         virtual ~_DisplayContextImpl(void);
42         result SetPublicInstance(DisplayContext* pInstance);
43         DisplayContext* GetPublicInstance(void);
44         result SetNativeLayer(const Tizen::Ui::Animations::_NativeLayer& layer);
45         _NativeLayer* GetNativeLayer(void) const { return __pLayer;};
46         static DisplayContext* CreatePublicInstance(const _NativeLayer& layer);
47         static result DestroyPublicInstance(const DisplayContext& displayContext);
48         static _DisplayContextImpl* GetInstance(DisplayContext& displayContext);
49         static const _DisplayContextImpl* GetInstance(const DisplayContext& displayContext);
50
51
52 private:
53         friend class DisplayContext;
54         DisplayContext* _pPublicInstance;
55         Tizen::Ui::Animations::_NativeLayer* __pLayer;
56 };
57
58
59 }}} //namespace Tizen { namespace Ui { namespace Animations
60
61 #endif //FUI_ANIM_DISPLAY_CONTEXT_IMPL_H