2 * Copyright(c) 2019-2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.ComponentModel;
20 namespace Tizen.NUI.BaseComponents
23 /// The View layout Direction type.
25 /// <since_tizen> 4 </since_tizen>
26 public enum ViewLayoutDirectionType
31 /// <since_tizen> 4 </since_tizen>
36 /// <since_tizen> 4 </since_tizen>
41 /// Layout policies to decide the size of View when the View is laid out in its parent View.
42 /// LayoutParamPolicies.MatchParent and LayoutParamPolicies.WrapContent can be assigned to <see cref="View.WidthSpecification"/> and <see cref="View.HeightSpecification"/>.
46 /// // matchParentView matches its size to its parent size.
47 /// matchParentView.WidthSpecification = LayoutParamPolicies.MatchParent;
48 /// matchParentView.HeightSpecification = LayoutParamPolicies.MatchParent;
50 /// // wrapContentView wraps its children with their desired size.
51 /// wrapContentView.WidthSpecification = LayoutParamPolicies.WrapContent;
52 /// wrapContentView.HeightSpecification = LayoutParamPolicies.WrapContent;
55 /// <since_tizen> 9 </since_tizen>
56 public static class LayoutParamPolicies
59 /// Constant which indicates child size should match parent size.
61 /// <since_tizen> 9 </since_tizen>
62 public const int MatchParent = -1;
64 /// Constant which indicates parent should take the smallest size possible to wrap its children with their desired size.
66 /// <since_tizen> 9 </since_tizen>
67 public const int WrapContent = -2;
70 internal enum ResourceLoadingStatusType
79 /// View is the base class for all views.
81 /// <since_tizen> 3 </since_tizen>
82 public partial class View
85 /// Enumeration for describing the states of the view.
87 /// <since_tizen> 3 </since_tizen>
88 [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1717:Only FlagsAttribute enums should have plural names")]
94 [Description("NORMAL")]
97 /// The focused state.
99 [Description("FOCUSED")]
102 /// The disabled state.
104 [Description("DISABLED")]
109 /// Describes the direction to move the focus towards.
111 /// <since_tizen> 3 </since_tizen>
112 public enum FocusDirection
115 /// Move keyboard focus towards the left direction.
117 /// <since_tizen> 3 </since_tizen>
120 /// Move keyboard focus towards the right direction.
122 /// <since_tizen> 3 </since_tizen>
125 /// Move keyboard focus towards the up direction.
127 /// <since_tizen> 3 </since_tizen>
130 /// Move keyboard focus towards the down direction.
132 /// <since_tizen> 3 </since_tizen>
135 /// Move keyboard focus towards the previous page direction.
137 /// <since_tizen> 3 </since_tizen>
140 /// Move keyboard focus towards the next page direction.
142 /// <since_tizen> 3 </since_tizen>
147 /// Actions property value to update visual property.
148 /// Note : Only few kind of properies can be update. Update with invalid property action is undefined.
149 /// This property can be redefined by child class if it use different value.
151 [EditorBrowsable(EditorBrowsableState.Never)]
152 protected int ActionUpdateProperty { get; set; } = Interop.Visual.GetActionUpdateProperty();
154 internal enum PropertyRange
156 PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
157 CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
158 CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
161 internal class Property
163 internal static readonly int TOOLTIP = Interop.ViewProperty.TooltipGet();
164 internal static readonly int STATE = Interop.ViewProperty.StateGet();
165 internal static readonly int SubState = Interop.ViewProperty.SubStateGet();
166 internal static readonly int LeftFocusableViewId = Interop.ViewProperty.LeftFocusableActorIdGet();
167 internal static readonly int RightFocusableViewId = Interop.ViewProperty.RightFocusableActorIdGet();
168 internal static readonly int UpFocusableViewId = Interop.ViewProperty.UpFocusableActorIdGet();
169 internal static readonly int DownFocusableViewId = Interop.ViewProperty.DownFocusableActorIdGet();
170 internal static readonly int StyleName = Interop.ViewProperty.StyleNameGet();
171 internal static readonly int KeyInputFocus = Interop.ViewProperty.KeyInputFocusGet();
172 internal static readonly int BACKGROUND = Interop.ViewProperty.BackgroundGet();
173 internal static readonly int SiblingOrder = Interop.ActorProperty.SiblingOrderGet();
174 internal static readonly int OPACITY = Interop.ActorProperty.OpacityGet();
175 internal static readonly int ScreenPosition = Interop.ActorProperty.ScreenPositionGet();
176 internal static readonly int PositionUsesAnchorPoint = Interop.ActorProperty.PositionUsesAnchorPointGet();
177 internal static readonly int ParentOrigin = Interop.ActorProperty.ParentOriginGet();
178 internal static readonly int ParentOriginX = Interop.ActorProperty.ParentOriginXGet();
179 internal static readonly int ParentOriginY = Interop.ActorProperty.ParentOriginYGet();
180 internal static readonly int ParentOriginZ = Interop.ActorProperty.ParentOriginZGet();
181 internal static readonly int AnchorPoint = Interop.ActorProperty.AnchorPointGet();
182 internal static readonly int AnchorPointX = Interop.ActorProperty.AnchorPointXGet();
183 internal static readonly int AnchorPointY = Interop.ActorProperty.AnchorPointYGet();
184 internal static readonly int AnchorPointZ = Interop.ActorProperty.AnchorPointZGet();
185 internal static readonly int SIZE = Interop.ActorProperty.SizeGet();
186 internal static readonly int SizeWidth = Interop.ActorProperty.SizeWidthGet();
187 internal static readonly int SizeHeight = Interop.ActorProperty.SizeHeightGet();
188 internal static readonly int SizeDepth = Interop.ActorProperty.SizeDepthGet();
189 internal static readonly int POSITION = Interop.ActorProperty.PositionGet();
190 internal static readonly int PositionX = Interop.ActorProperty.PositionXGet();
191 internal static readonly int PositionY = Interop.ActorProperty.PositionYGet();
192 internal static readonly int PositionZ = Interop.ActorProperty.PositionZGet();
193 internal static readonly int WorldPosition = Interop.ActorProperty.WorldPositionGet();
194 internal static readonly int WorldPositionX = Interop.ActorProperty.WorldPositionXGet();
195 internal static readonly int WorldPositionY = Interop.ActorProperty.WorldPositionYGet();
196 internal static readonly int WorldPositionZ = Interop.ActorProperty.WorldPositionZGet();
197 internal static readonly int ORIENTATION = Interop.ActorProperty.OrientationGet();
198 internal static readonly int WorldOrientation = Interop.ActorProperty.WorldOrientationGet();
199 internal static readonly int SCALE = Interop.ActorProperty.ScaleGet();
200 internal static readonly int ScaleX = Interop.ActorProperty.ScaleXGet();
201 internal static readonly int ScaleY = Interop.ActorProperty.ScaleYGet();
202 internal static readonly int ScaleZ = Interop.ActorProperty.ScaleZGet();
203 internal static readonly int WorldScale = Interop.ActorProperty.WorldScaleGet();
204 internal static readonly int VISIBLE = Interop.ActorProperty.VisibleGet();
205 internal static readonly int WorldColor = Interop.ActorProperty.WorldColorGet();
206 internal static readonly int WorldMatrix = Interop.ActorProperty.WorldMatrixGet();
207 internal static readonly int NAME = Interop.ActorProperty.NameGet();
208 internal static readonly int SENSITIVE = Interop.ActorProperty.SensitiveGet();
209 internal static readonly int LeaveRequired = Interop.ActorProperty.LeaveRequiredGet();
210 internal static readonly int InheritOrientation = Interop.ActorProperty.InheritOrientationGet();
211 internal static readonly int InheritScale = Interop.ActorProperty.InheritScaleGet();
212 internal static readonly int DrawMode = Interop.ActorProperty.DrawModeGet();
213 internal static readonly int SizeModeFactor = Interop.ActorProperty.SizeModeFactorGet();
214 internal static readonly int WidthResizePolicy = Interop.ActorProperty.WidthResizePolicyGet();
215 internal static readonly int HeightResizePolicy = Interop.ActorProperty.HeightResizePolicyGet();
216 internal static readonly int SizeScalePolicy = Interop.ActorProperty.SizeScalePolicyGet();
217 internal static readonly int WidthForHeight = Interop.ActorProperty.WidthForHeightGet();
218 internal static readonly int HeightForWidth = Interop.ActorProperty.HeightForWidthGet();
219 internal static readonly int MinimumSize = Interop.ActorProperty.MinimumSizeGet();
220 internal static readonly int MaximumSize = Interop.ActorProperty.MaximumSizeGet();
221 internal static readonly int InheritPosition = Interop.ActorProperty.InheritPositionGet();
222 internal static readonly int ClippingMode = Interop.ActorProperty.ClippingModeGet();
223 internal static readonly int InheritLayoutDirection = Interop.ActorProperty.InheritLayoutDirectionGet();
224 internal static readonly int LayoutDirection = Interop.ActorProperty.LayoutDirectionGet();
225 internal static readonly int MARGIN = Interop.ViewProperty.MarginGet();
226 internal static readonly int PADDING = Interop.ViewProperty.PaddingGet();
227 internal static readonly int SHADOW = Interop.ViewProperty.ShadowGet();
228 internal static readonly int CaptureAllTouchAfterStart = Interop.ActorProperty.CaptureAllTouchAfterStartGet();
229 internal static readonly int BlendEquation = Interop.ActorProperty.BlendEquationGet();
230 internal static readonly int Culled = Interop.ActorProperty.CulledGet();
231 internal static readonly int AccessibilityName = Interop.ViewProperty.AccessibilityNameGet();
232 internal static readonly int AccessibilityDescription = Interop.ViewProperty.AccessibilityDescriptionGet();
233 internal static readonly int AccessibilityTranslationDomain = Interop.ViewProperty.AccessibilityTranslationDomainGet();
234 internal static readonly int AccessibilityRole = Interop.ViewProperty.AccessibilityRoleGet();
235 internal static readonly int AccessibilityHighlightable = Interop.ViewProperty.AccessibilityHighlightableGet();
236 internal static readonly int AccessibilityAttributes = Interop.ViewProperty.AccessibilityAttributesGet();
237 internal static readonly int DispatchKeyEvents = Interop.ViewProperty.DispatchKeyEventsGet();
238 internal static readonly int AccessibilityHidden = Interop.ViewProperty.AccessibilityHiddenGet();