2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0/
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.
19 * @file FUiAnim_EflLayer.h
20 * @brief This is the header file for the _EflLayer class.
22 * This header file contains the declarations of the _EflLayer class.
25 #ifndef _FUI_ANIM_INTERNAL_EFL_LAYER_H_
26 #define _FUI_ANIM_INTERNAL_EFL_LAYER_H_
28 #define ECORE_EVAS_ASYNC_VISIBILITY_BUG_HACK
31 #include <Ecore_Evas.h>
35 #include <FGrpFloatRectangle.h>
36 #include "FUiAnim_NativeLayer.h"
38 namespace Tizen { namespace Ui { namespace Animations
41 class _OSP_EXPORT_ _EflLayer
46 _EflLayer(bool isMainType);
47 virtual ~_EflLayer(void);
49 virtual result OnConstructed(void);
50 virtual result SetBounds(const Tizen::Graphics::FloatRectangle& bounds);
51 virtual Tizen::Graphics::FloatRectangle GetBounds(void) const;
52 virtual result SetShowState(bool show);
53 virtual bool GetShowState(void) const;
54 virtual void Flush(void);
57 void SetOpacity(float opacity);
58 float GetOpacity(void);
60 _RootVisualElement* GetRootVisualElement(void) const
62 return _pRootVisualElement;
65 Evas* GetEvas(void) const
70 Ecore_Evas* GetEcoreEvas(void) const
75 Evas_Object* GetElmWin(void) const
80 void SetEvasRenderNeeded(void)
85 void SetVisibilityChangeCompleted(void)
87 _isVisibilityChangeInProgress = false;
90 bool IsAsyncVisibilityChangeNeeded(void) const
92 return _needAsyncVisibilityChangeRequest;
95 void SetAsyncVisibilityChangeNeeded(bool asyncVisibilityChange)
97 _needAsyncVisibilityChangeRequest = asyncVisibilityChange;
100 void SetRenderNeeded(bool needRender)
102 _needRender = needRender;
104 bool IsRenderNeeded()
110 result Initialize(Evas_Object* pWindow);
111 virtual result Configure(_RootVisualElement& rootElement);
114 _RootVisualElement* _pRootVisualElement;
116 Ecore_Evas* _pEcoreEvas;
117 Evas_Object* _pWindow;
118 Ecore_Event_Handler* _pOnWindowDamagedHandler;
119 Ecore_Event_Handler* _pOnWindowConfiguredHandler;
120 Ecore_Event_Handler* _pOnWindowHideHandler;
121 Ecore_Event_Handler* _pOnWindowShowHandler;
123 bool _needShowStateChangeRequest;
125 bool _isVisibilityChangeInProgress;
126 bool _needAsyncVisibilityChangeRequest;
130 static int _countOfLayer;
136 }}} //namespace Tizen { namespace Ui { namespace Animations
138 #endif //_FUI_ANIM_INTERNAL_EFL_LAYER_H_