2 * Copyright(c) 2019-2022 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>
145 /// Move keyboard focus towards the forward direction.
147 [EditorBrowsable(EditorBrowsableState.Never)]
150 /// Move keyboard focus towards the backward direction.
152 [EditorBrowsable(EditorBrowsableState.Never)]
155 /// Move focus towards the Clockwise direction by rotary wheel.
157 [EditorBrowsable(EditorBrowsableState.Never)]
160 /// Move focus towards the CounterClockwise direction by rotary wheel.
162 [EditorBrowsable(EditorBrowsableState.Never)]
167 /// Actions property value to update visual property.
168 /// Note : Only few kind of properies can be update. Update with invalid property action is undefined.
169 /// This property can be redefined by child class if it use different value.
171 [EditorBrowsable(EditorBrowsableState.Never)]
172 protected int ActionUpdateProperty { get; set; } = Interop.Visual.GetActionUpdateProperty();
174 internal enum PropertyRange
176 PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
177 CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
178 CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
181 internal class Property
183 internal static readonly int TOOLTIP = Interop.ViewProperty.TooltipGet();
184 internal static readonly int STATE = Interop.ViewProperty.StateGet();
185 internal static readonly int SubState = Interop.ViewProperty.SubStateGet();
186 internal static readonly int LeftFocusableViewId = Interop.ViewProperty.LeftFocusableActorIdGet();
187 internal static readonly int RightFocusableViewId = Interop.ViewProperty.RightFocusableActorIdGet();
188 internal static readonly int UpFocusableViewId = Interop.ViewProperty.UpFocusableActorIdGet();
189 internal static readonly int DownFocusableViewId = Interop.ViewProperty.DownFocusableActorIdGet();
190 internal static readonly int ClockwiseFocusableViewId = Interop.ViewProperty.ClockwiseFocusableActorIdGet();
191 internal static readonly int CounterClockwiseFocusableViewId = Interop.ViewProperty.CounterClockwiseFocusableActorIdGet();
192 internal static readonly int StyleName = Interop.ViewProperty.StyleNameGet();
193 internal static readonly int KeyInputFocus = Interop.ViewProperty.KeyInputFocusGet();
194 internal static readonly int BACKGROUND = Interop.ViewProperty.BackgroundGet();
195 internal static readonly int SiblingOrder = Interop.ActorProperty.SiblingOrderGet();
196 internal static readonly int OPACITY = Interop.ActorProperty.OpacityGet();
197 internal static readonly int ScreenPosition = Interop.ActorProperty.ScreenPositionGet();
198 internal static readonly int PositionUsesAnchorPoint = Interop.ActorProperty.PositionUsesAnchorPointGet();
199 internal static readonly int ParentOrigin = Interop.ActorProperty.ParentOriginGet();
200 internal static readonly int ParentOriginX = Interop.ActorProperty.ParentOriginXGet();
201 internal static readonly int ParentOriginY = Interop.ActorProperty.ParentOriginYGet();
202 internal static readonly int ParentOriginZ = Interop.ActorProperty.ParentOriginZGet();
203 internal static readonly int AnchorPoint = Interop.ActorProperty.AnchorPointGet();
204 internal static readonly int AnchorPointX = Interop.ActorProperty.AnchorPointXGet();
205 internal static readonly int AnchorPointY = Interop.ActorProperty.AnchorPointYGet();
206 internal static readonly int AnchorPointZ = Interop.ActorProperty.AnchorPointZGet();
207 internal static readonly int SIZE = Interop.ActorProperty.SizeGet();
208 internal static readonly int SizeWidth = Interop.ActorProperty.SizeWidthGet();
209 internal static readonly int SizeHeight = Interop.ActorProperty.SizeHeightGet();
210 internal static readonly int SizeDepth = Interop.ActorProperty.SizeDepthGet();
211 internal static readonly int POSITION = Interop.ActorProperty.PositionGet();
212 internal static readonly int PositionX = Interop.ActorProperty.PositionXGet();
213 internal static readonly int PositionY = Interop.ActorProperty.PositionYGet();
214 internal static readonly int PositionZ = Interop.ActorProperty.PositionZGet();
215 internal static readonly int WorldPosition = Interop.ActorProperty.WorldPositionGet();
216 internal static readonly int WorldPositionX = Interop.ActorProperty.WorldPositionXGet();
217 internal static readonly int WorldPositionY = Interop.ActorProperty.WorldPositionYGet();
218 internal static readonly int WorldPositionZ = Interop.ActorProperty.WorldPositionZGet();
219 internal static readonly int ORIENTATION = Interop.ActorProperty.OrientationGet();
220 internal static readonly int WorldOrientation = Interop.ActorProperty.WorldOrientationGet();
221 internal static readonly int SCALE = Interop.ActorProperty.ScaleGet();
222 internal static readonly int ScaleX = Interop.ActorProperty.ScaleXGet();
223 internal static readonly int ScaleY = Interop.ActorProperty.ScaleYGet();
224 internal static readonly int ScaleZ = Interop.ActorProperty.ScaleZGet();
225 internal static readonly int WorldScale = Interop.ActorProperty.WorldScaleGet();
226 internal static readonly int VISIBLE = Interop.ActorProperty.VisibleGet();
227 internal static readonly int WorldColor = Interop.ActorProperty.WorldColorGet();
228 internal static readonly int WorldMatrix = Interop.ActorProperty.WorldMatrixGet();
229 internal static readonly int NAME = Interop.ActorProperty.NameGet();
230 internal static readonly int SENSITIVE = Interop.ActorProperty.SensitiveGet();
231 internal static readonly int UserInteractionEnabled = Interop.ActorProperty.UserInteractionEnabledGet();
232 internal static readonly int LeaveRequired = Interop.ActorProperty.LeaveRequiredGet();
233 internal static readonly int InheritOrientation = Interop.ActorProperty.InheritOrientationGet();
234 internal static readonly int InheritScale = Interop.ActorProperty.InheritScaleGet();
235 internal static readonly int DrawMode = Interop.ActorProperty.DrawModeGet();
236 internal static readonly int SizeModeFactor = Interop.ActorProperty.SizeModeFactorGet();
237 internal static readonly int WidthResizePolicy = Interop.ActorProperty.WidthResizePolicyGet();
238 internal static readonly int HeightResizePolicy = Interop.ActorProperty.HeightResizePolicyGet();
239 internal static readonly int SizeScalePolicy = Interop.ActorProperty.SizeScalePolicyGet();
240 internal static readonly int WidthForHeight = Interop.ActorProperty.WidthForHeightGet();
241 internal static readonly int HeightForWidth = Interop.ActorProperty.HeightForWidthGet();
242 internal static readonly int MinimumSize = Interop.ActorProperty.MinimumSizeGet();
243 internal static readonly int MaximumSize = Interop.ActorProperty.MaximumSizeGet();
244 internal static readonly int InheritPosition = Interop.ActorProperty.InheritPositionGet();
245 internal static readonly int ClippingMode = Interop.ActorProperty.ClippingModeGet();
246 internal static readonly int InheritLayoutDirection = Interop.ActorProperty.InheritLayoutDirectionGet();
247 internal static readonly int LayoutDirection = Interop.ActorProperty.LayoutDirectionGet();
248 internal static readonly int MARGIN = Interop.ViewProperty.MarginGet();
249 internal static readonly int PADDING = Interop.ViewProperty.PaddingGet();
250 internal static readonly int SHADOW = Interop.ViewProperty.ShadowGet();
251 internal static readonly int CaptureAllTouchAfterStart = Interop.ActorProperty.CaptureAllTouchAfterStartGet();
252 internal static readonly int AllowOnlyOwnTouch = Interop.ActorProperty.AllowOnlyOwnTouchGet();
253 internal static readonly int BlendEquation = Interop.ActorProperty.BlendEquationGet();
254 internal static readonly int Culled = Interop.ActorProperty.CulledGet();
255 internal static readonly int AccessibilityName = Interop.ViewProperty.AccessibilityNameGet();
256 internal static readonly int AccessibilityDescription = Interop.ViewProperty.AccessibilityDescriptionGet();
257 internal static readonly int AccessibilityTranslationDomain = Interop.ViewProperty.AccessibilityTranslationDomainGet();
258 internal static readonly int AccessibilityRole = Interop.ViewProperty.AccessibilityRoleGet();
259 internal static readonly int AccessibilityHighlightable = Interop.ViewProperty.AccessibilityHighlightableGet();
260 internal static readonly int AccessibilityAttributes = Interop.ViewProperty.AccessibilityAttributesGet();
261 internal static readonly int DispatchKeyEvents = Interop.ViewProperty.DispatchKeyEventsGet();
262 internal static readonly int AccessibilityHidden = Interop.ViewProperty.AccessibilityHiddenGet();
263 internal static readonly int AutomationId = Interop.ViewProperty.AutomationIdGet();
264 internal static readonly int UpdateAreaHint = Interop.ActorProperty.UpdateAreaHintGet();