2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://floralicense.org/license/
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_ControlVisualElement.h
20 * @brief Header file of _ControlVisualElement class
22 * This file contains declarations _ControlVisualElement class.
25 #ifndef _FUI_ANIM_INTERNAL_CONTROL_VISUAL_ELEMENT_H_
26 #define _FUI_ANIM_INTERNAL_CONTROL_VISUAL_ELEMENT_H_
28 #include "FUiAnim_VisualElement.h"
29 #include "FUi_Colorf.h"
31 namespace Tizen { namespace Ui { namespace Animations
34 class _ControlVisualElement
35 : public _VisualElement
38 DECLARE_CLASS_BEGIN(_ControlVisualElement, _VisualElementImpl);
39 DECLARE_PROPERTY(VePropBounds, _PropGetControlBounds, _PropSetControlBounds);
40 DECLARE_PROPERTY(VePropImplicitAnimationEnabled, _PropGetControlImplicitAnimationEnabled, _PropSetControlImplicitAnimationEnabled);
41 DECLARE_PROPERTY(VePropPropertyPropagationEnabled, _PropGetControlPropertyPropagationEnabled, _PropSetControlPropertyPropagationEnabled);
47 * This is the default constructor for this class.
51 _ControlVisualElement(void);
55 * Initializes the instance of _ControlVisualElement.
58 * @return An error code
59 * @exception E_SUCCESS This method was successful.
60 * @exception E_SYSTEM A system error occurred.
62 result ConstructControlVisualElement(void);
66 * This is the destructor for this class.
70 virtual ~_ControlVisualElement(void);
73 _ControlVisualElement(const _ControlVisualElement& rhs);
77 * Definition for VisualElement's ZOrder Group.
78 * Z_ORDER_GROUP_SYSTEM group has higher position then position of Z_ORDER_GROUP_ALWASY_ON_TOP group.
81 static const int Z_ORDER_GROUP_CONTROL = 2001; // the UI system use this level. (Control)
84 * Clones the instance of VisualElement.
87 * @return The pointer to the cloned VisualElement instance.
89 virtual VisualElement* CloneN(void) const;
92 * Gets the top-most child ControlVisualElement indicated by @c point.
95 * @return the child ControlVisualElement indicated by point.
96 * @param[in] point The position to find the child ControlVisualElement.
98 _ControlVisualElement* GetControlChildAtPoint(Tizen::Graphics::FloatPoint& point);
101 bool IsAutoResizeChildrenEnabled(void) const;
103 result SetAutoResizeChildrenEnabled(bool autoResize);
106 virtual Variant OnGetPropertyRequested(const Tizen::Base::String& property) const;
109 virtual result OnSetPropertyRequested(const Tizen::Base::String& property, const Variant& value);
112 _ControlVisualElement* __GetControlChildAtPoint(Tizen::Graphics::FloatPoint& point, int parentHitTest);
114 Variant _PropGetControlBounds(void) const;
115 result _PropSetControlBounds(const Variant& v);
117 Variant _PropGetControlImplicitAnimationEnabled(void) const;
118 result _PropSetControlImplicitAnimationEnabled(const Variant& v);
120 Variant _PropGetControlPropertyPropagationEnabled(void) const;
121 result _PropSetControlPropertyPropagationEnabled(const Variant& v);
125 }; // _ControlVisualElement
127 }}} // Tizen::Ui::Animations
129 #endif //_FUI_ANIM_INTERNAL_CONTROL_VISUAL_ELEMENT_H_