2 * Copyright(c) 2019 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.Collections.Generic;
19 using System.ComponentModel;
21 using System.Runtime.InteropServices;
22 using Tizen.NUI.Binding;
25 namespace Tizen.NUI.BaseComponents
28 /// The View layout Direction type.
30 /// <since_tizen> 4 </since_tizen>
31 public enum ViewLayoutDirectionType
36 /// <since_tizen> 4 </since_tizen>
41 /// <since_tizen> 4 </since_tizen>
46 /// [Draft] Available policies for layout parameters
48 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
49 [EditorBrowsable(EditorBrowsableState.Never)]
50 public static class LayoutParamPolicies
53 /// Constant which indicates child size should match parent size
55 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
56 [EditorBrowsable(EditorBrowsableState.Never)]
57 public const int MatchParent = -1;
59 /// Constant which indicates parent should take the smallest size possible to wrap it's children with their desired size
61 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
62 [EditorBrowsable(EditorBrowsableState.Never)]
63 public const int WrapContent = -2;
66 internal enum ResourceLoadingStatusType
75 /// View is the base class for all views.
77 /// <since_tizen> 3 </since_tizen>
78 public class View : Container, IResourcesProvider
80 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
81 [EditorBrowsable(EditorBrowsableState.Never)]
82 public static readonly BindableProperty StyleNameProperty = BindableProperty.Create("StyleName", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
84 var view = (View)bindable;
87 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue((string)newValue));
90 defaultValueCreator: (bindable) =>
92 var view = (View)bindable;
94 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STYLE_NAME).Get(out temp);
97 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
98 [EditorBrowsable(EditorBrowsableState.Never)]
99 public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create("BackgroundColor", typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
101 var view = (View)bindable;
102 if (newValue != null)
104 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((Color)newValue));
107 defaultValueCreator: (bindable) =>
109 var view = (View)bindable;
110 Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
112 Tizen.NUI.PropertyMap background = view.Background;
114 background.Find(Visual.Property.Type)?.Get(out visualType);
115 if (visualType == (int)Visual.Type.Color)
117 background.Find(ColorVisualProperty.MixColor)?.Get(backgroundColor);
120 return backgroundColor;
122 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
123 [EditorBrowsable(EditorBrowsableState.Never)]
124 public static readonly BindableProperty BackgroundImageProperty = BindableProperty.Create("BackgroundImage", typeof(string), typeof(View), default(string), propertyChanged: (bindable, oldValue, newValue) =>
126 var view = (View)bindable;
127 if (newValue != null)
129 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((string)newValue));
130 view.BackgroundImageSynchronosLoading = view._backgroundImageSynchronosLoading;
133 defaultValueCreator: (bindable) =>
135 var view = (View)bindable;
136 string backgroundImage = "";
138 Tizen.NUI.PropertyMap background = view.Background;
140 background.Find(Visual.Property.Type)?.Get(out visualType);
141 if (visualType == (int)Visual.Type.Image)
143 background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
146 return backgroundImage;
148 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
149 [EditorBrowsable(EditorBrowsableState.Never)]
150 public static readonly BindableProperty BackgroundProperty = BindableProperty.Create("Background", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
152 var view = (View)bindable;
153 if (newValue != null)
155 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
158 defaultValueCreator: (bindable) =>
160 var view = (View)bindable;
161 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
162 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.BACKGROUND).Get(temp);
165 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
166 [EditorBrowsable(EditorBrowsableState.Never)]
167 public static readonly BindableProperty StateProperty = BindableProperty.Create("State", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
169 var view = (View)bindable;
170 if (newValue != null)
172 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
175 defaultValueCreator: (bindable) =>
177 var view = (View)bindable;
179 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.STATE).Get(out temp) == false)
181 NUILog.Error("State get error!");
185 case 0: return States.Normal;
186 case 1: return States.Focused;
187 case 2: return States.Disabled;
188 default: return States.Normal;
191 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
192 [EditorBrowsable(EditorBrowsableState.Never)]
193 public static readonly BindableProperty SubStateProperty = BindableProperty.Create("SubState", typeof(States), typeof(View), States.Normal, propertyChanged: (bindable, oldValue, newValue) =>
195 var view = (View)bindable;
196 string valueToString = "";
197 if (newValue != null)
199 switch ((States)newValue)
201 case States.Normal: { valueToString = "NORMAL"; break; }
202 case States.Focused: { valueToString = "FOCUSED"; break; }
203 case States.Disabled: { valueToString = "DISABLED"; break; }
204 default: { valueToString = "NORMAL"; break; }
206 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
209 defaultValueCreator: (bindable) =>
211 var view = (View)bindable;
213 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SUB_STATE).Get(out temp) == false)
215 NUILog.Error("subState get error!");
219 case "NORMAL": return States.Normal;
220 case "FOCUSED": return States.Focused;
221 case "DISABLED": return States.Disabled;
222 default: return States.Normal;
225 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
226 [EditorBrowsable(EditorBrowsableState.Never)]
227 public static readonly BindableProperty TooltipProperty = BindableProperty.Create("Tooltip", typeof(PropertyMap), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
229 var view = (View)bindable;
230 if (newValue != null)
232 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
235 defaultValueCreator: (bindable) =>
237 var view = (View)bindable;
238 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
239 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.TOOLTIP).Get(temp);
243 /// Only for XAML property binding. This will be changed as Inhouse API by ACR later.
244 public static readonly BindableProperty FlexProperty = BindableProperty.Create("Flex", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
246 var view = (View)bindable;
247 if (newValue != null)
249 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
252 defaultValueCreator: (bindable) =>
254 var view = (View)bindable;
256 Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX).Get(out temp);
260 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
261 [EditorBrowsable(EditorBrowsableState.Never)]
262 public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create("AlignSelf", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
264 var view = (View)bindable;
265 if (newValue != null)
267 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue((int)newValue));
270 defaultValueCreator: (bindable) =>
272 var view = (View)bindable;
274 Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF).Get(out temp);
277 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
278 [EditorBrowsable(EditorBrowsableState.Never)]
279 public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create("FlexMargin", typeof(Vector4), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
281 var view = (View)bindable;
282 if (newValue != null)
284 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue((Vector4)newValue));
287 defaultValueCreator: (bindable) =>
289 var view = (View)bindable;
290 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
291 Tizen.NUI.Object.GetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
294 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
295 [EditorBrowsable(EditorBrowsableState.Never)]
296 public static readonly BindableProperty CellIndexProperty = BindableProperty.Create("CellIndex", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
298 var view = (View)bindable;
299 if (newValue != null)
301 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue((Vector2)newValue));
304 defaultValueCreator: (bindable) =>
306 var view = (View)bindable;
307 Vector2 temp = new Vector2(0.0f, 0.0f);
308 Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX).Get(temp);
311 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
312 [EditorBrowsable(EditorBrowsableState.Never)]
313 public static readonly BindableProperty RowSpanProperty = BindableProperty.Create("RowSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
315 var view = (View)bindable;
316 if (newValue != null)
318 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
321 defaultValueCreator: (bindable) =>
323 var view = (View)bindable;
325 Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN).Get(out temp);
328 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
329 [EditorBrowsable(EditorBrowsableState.Never)]
330 public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create("ColumnSpan", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
332 var view = (View)bindable;
333 if (newValue != null)
335 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
338 defaultValueCreator: (bindable) =>
340 var view = (View)bindable;
342 Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN).Get(out temp);
345 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
346 [EditorBrowsable(EditorBrowsableState.Never)]
347 public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create("CellHorizontalAlignment", typeof(HorizontalAlignmentType), typeof(View), HorizontalAlignmentType.Left, propertyChanged: (bindable, oldValue, newValue) =>
349 var view = (View)bindable;
350 string valueToString = "";
352 if (newValue != null)
354 switch ((HorizontalAlignmentType)newValue)
356 case Tizen.NUI.HorizontalAlignmentType.Left: { valueToString = "left"; break; }
357 case Tizen.NUI.HorizontalAlignmentType.Center: { valueToString = "center"; break; }
358 case Tizen.NUI.HorizontalAlignmentType.Right: { valueToString = "right"; break; }
359 default: { valueToString = "left"; break; }
361 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
364 defaultValueCreator: (bindable) =>
366 var view = (View)bindable;
368 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp) == false)
370 NUILog.Error("CellHorizontalAlignment get error!");
375 case "left": return Tizen.NUI.HorizontalAlignmentType.Left;
376 case "center": return Tizen.NUI.HorizontalAlignmentType.Center;
377 case "right": return Tizen.NUI.HorizontalAlignmentType.Right;
378 default: return Tizen.NUI.HorizontalAlignmentType.Left;
381 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
382 [EditorBrowsable(EditorBrowsableState.Never)]
383 public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create("CellVerticalAlignment", typeof(VerticalAlignmentType), typeof(View), VerticalAlignmentType.Top, propertyChanged: (bindable, oldValue, newValue) =>
385 var view = (View)bindable;
386 string valueToString = "";
388 if (newValue != null)
390 switch ((VerticalAlignmentType)newValue)
392 case Tizen.NUI.VerticalAlignmentType.Top: { valueToString = "top"; break; }
393 case Tizen.NUI.VerticalAlignmentType.Center: { valueToString = "center"; break; }
394 case Tizen.NUI.VerticalAlignmentType.Bottom: { valueToString = "bottom"; break; }
395 default: { valueToString = "top"; break; }
397 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
400 defaultValueCreator: (bindable) =>
402 var view = (View)bindable;
404 Tizen.NUI.Object.GetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
406 NUILog.Error("CellVerticalAlignment get error!");
411 case "top": return Tizen.NUI.VerticalAlignmentType.Top;
412 case "center": return Tizen.NUI.VerticalAlignmentType.Center;
413 case "bottom": return Tizen.NUI.VerticalAlignmentType.Bottom;
414 default: return Tizen.NUI.VerticalAlignmentType.Top;
419 /// "Please DO NOT use! This will be deprecated! Please use 'View Weight' instead of BindableProperty"
420 /// This needs to be hidden as inhouse API until all applications using it have been updated. Do not make public.
422 [EditorBrowsable(EditorBrowsableState.Never)]
423 public static readonly BindableProperty WeightProperty = BindableProperty.Create("Weight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
425 var view = (View)bindable;
426 if (newValue != null)
428 view.Weight = (float)newValue;
432 defaultValueCreator: (bindable) =>
434 var view = (View)bindable;
438 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
439 [EditorBrowsable(EditorBrowsableState.Never)]
440 public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
442 var view = (View)bindable;
443 if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
444 else { view.LeftFocusableViewId = -1; }
446 defaultValueCreator: (bindable) =>
448 var view = (View)bindable;
449 if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
452 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
453 [EditorBrowsable(EditorBrowsableState.Never)]
454 public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
456 var view = (View)bindable;
457 if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
458 else { view.RightFocusableViewId = -1; }
460 defaultValueCreator: (bindable) =>
462 var view = (View)bindable;
463 if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
466 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
467 [EditorBrowsable(EditorBrowsableState.Never)]
468 public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
470 var view = (View)bindable;
471 if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View)?.GetId(); }
472 else { view.UpFocusableViewId = -1; }
474 defaultValueCreator: (bindable) =>
476 var view = (View)bindable;
477 if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
480 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
481 [EditorBrowsable(EditorBrowsableState.Never)]
482 public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
484 var view = (View)bindable;
485 if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
486 else { view.DownFocusableViewId = -1; }
488 defaultValueCreator: (bindable) =>
490 var view = (View)bindable;
491 if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
494 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
495 [EditorBrowsable(EditorBrowsableState.Never)]
496 public static readonly BindableProperty FocusableProperty = BindableProperty.Create("Focusable", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
498 var view = (View)bindable;
499 if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
501 defaultValueCreator: (bindable) =>
503 var view = (View)bindable;
504 return view.IsKeyboardFocusable();
506 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
507 [EditorBrowsable(EditorBrowsableState.Never)]
508 public static readonly BindableProperty Size2DProperty = BindableProperty.Create("Size2D", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
510 var view = (View)bindable;
511 if (newValue != null)
513 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size((Size2D)newValue)));
516 defaultValueCreator: (bindable) =>
518 var view = (View)bindable;
519 Size temp = new Size(0.0f, 0.0f, 0.0f);
520 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
521 Size2D size = new Size2D((int)temp.Width, (int)temp.Height);
524 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
525 [EditorBrowsable(EditorBrowsableState.Never)]
526 public static readonly BindableProperty OpacityProperty = BindableProperty.Create("Opacity", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
528 var view = (View)bindable;
529 if (newValue != null)
531 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)newValue));
534 defaultValueCreator: (bindable) =>
536 var view = (View)bindable;
538 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.OPACITY).Get(out temp);
541 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
542 [EditorBrowsable(EditorBrowsableState.Never)]
543 public static readonly BindableProperty Position2DProperty = BindableProperty.Create("Position2D", typeof(Position2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
545 var view = (View)bindable;
546 if (newValue != null)
548 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
551 defaultValueCreator: (bindable) =>
553 var view = (View)bindable;
554 Position temp = new Position(0.0f, 0.0f, 0.0f);
555 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
556 return new Position2D(temp);
558 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
559 [EditorBrowsable(EditorBrowsableState.Never)]
560 public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create("PositionUsesPivotPoint", typeof(bool), typeof(View), true, propertyChanged: (bindable, oldValue, newValue) =>
562 var view = (View)bindable;
563 if (newValue != null)
565 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue((bool)newValue));
568 defaultValueCreator: (bindable) =>
570 var view = (View)bindable;
572 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
575 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
576 [EditorBrowsable(EditorBrowsableState.Never)]
577 public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create("SiblingOrder", typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
579 var view = (View)bindable;
581 if (newValue != null)
583 value = (int)newValue;
586 NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
589 var siblings = view.GetParent()?.Children;
590 if (siblings != null)
592 int currentOrder = siblings.IndexOf(view);
593 if (value != currentOrder)
595 if (value == 0) { view.LowerToBottom(); }
596 else if (value < siblings.Count - 1)
598 if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
599 else { view.LowerBelow(siblings[value]); }
601 else { view.RaiseToTop(); }
606 defaultValueCreator: (bindable) =>
608 var view = (View)bindable;
609 var parentChildren = view.GetParent()?.Children;
610 int currentOrder = 0;
611 if (parentChildren != null)
613 currentOrder = parentChildren.IndexOf(view);
615 if (currentOrder < 0) { return 0; }
616 else if (currentOrder < parentChildren.Count) { return currentOrder; }
621 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
622 [EditorBrowsable(EditorBrowsableState.Never)]
623 public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create("ParentOrigin", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
625 var view = (View)bindable;
626 if (newValue != null)
628 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue((Position)newValue));
631 defaultValueCreator: (bindable) =>
633 var view = (View)bindable;
634 Position temp = new Position(0.0f, 0.0f, 0.0f);
635 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN).Get(temp);
639 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
640 [EditorBrowsable(EditorBrowsableState.Never)]
641 public static readonly BindableProperty PivotPointProperty = BindableProperty.Create("PivotPoint", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
643 var view = (View)bindable;
644 if (newValue != null)
646 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue((Position)newValue));
649 defaultValueCreator: (bindable) =>
651 var view = (View)bindable;
652 Position temp = new Position(0.0f, 0.0f, 0.0f);
653 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ANCHOR_POINT).Get(temp);
656 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
657 [EditorBrowsable(EditorBrowsableState.Never)]
658 public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create("SizeWidth", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
660 var view = (View)bindable;
661 if (newValue != null)
663 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue((float)newValue));
666 defaultValueCreator: (bindable) =>
668 var view = (View)bindable;
670 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_WIDTH).Get(out temp);
673 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
674 [EditorBrowsable(EditorBrowsableState.Never)]
675 public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create("SizeHeight", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
677 var view = (View)bindable;
678 if (newValue != null)
680 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
683 defaultValueCreator: (bindable) =>
685 var view = (View)bindable;
687 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT).Get(out temp);
690 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
691 [EditorBrowsable(EditorBrowsableState.Never)]
692 public static readonly BindableProperty PositionProperty = BindableProperty.Create("Position", typeof(Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
694 var view = (View)bindable;
695 if (newValue != null)
697 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
700 defaultValueCreator: (bindable) =>
702 var view = (View)bindable;
703 Position temp = new Position(0.0f, 0.0f, 0.0f);
704 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION).Get(temp);
707 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
708 [EditorBrowsable(EditorBrowsableState.Never)]
709 public static readonly BindableProperty PositionXProperty = BindableProperty.Create("PositionX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
711 var view = (View)bindable;
712 if (newValue != null)
714 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_X, new Tizen.NUI.PropertyValue((float)newValue));
717 defaultValueCreator: (bindable) =>
719 var view = (View)bindable;
721 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_X).Get(out temp);
724 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
725 [EditorBrowsable(EditorBrowsableState.Never)]
726 public static readonly BindableProperty PositionYProperty = BindableProperty.Create("PositionY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
728 var view = (View)bindable;
729 if (newValue != null)
731 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Y, new Tizen.NUI.PropertyValue((float)newValue));
734 defaultValueCreator: (bindable) =>
736 var view = (View)bindable;
738 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Y).Get(out temp);
741 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
742 [EditorBrowsable(EditorBrowsableState.Never)]
743 public static readonly BindableProperty PositionZProperty = BindableProperty.Create("PositionZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
745 var view = (View)bindable;
746 if (newValue != null)
748 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Z, new Tizen.NUI.PropertyValue((float)newValue));
751 defaultValueCreator: (bindable) =>
753 var view = (View)bindable;
755 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.POSITION_Z).Get(out temp);
758 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
759 [EditorBrowsable(EditorBrowsableState.Never)]
760 public static readonly BindableProperty OrientationProperty = BindableProperty.Create("Orientation", typeof(Rotation), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
762 var view = (View)bindable;
763 if (newValue != null)
765 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
768 defaultValueCreator: (bindable) =>
770 var view = (View)bindable;
771 Rotation temp = new Rotation();
772 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.ORIENTATION).Get(temp);
775 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
776 [EditorBrowsable(EditorBrowsableState.Never)]
777 public static readonly BindableProperty ScaleProperty = BindableProperty.Create("Scale", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
779 var view = (View)bindable;
780 if (newValue != null)
782 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
785 defaultValueCreator: (bindable) =>
787 var view = (View)bindable;
788 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
789 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE).Get(temp);
792 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
793 [EditorBrowsable(EditorBrowsableState.Never)]
794 public static readonly BindableProperty ScaleXProperty = BindableProperty.Create("ScaleX", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
796 var view = (View)bindable;
797 if (newValue != null)
799 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_X, new Tizen.NUI.PropertyValue((float)newValue));
802 defaultValueCreator: (bindable) =>
804 var view = (View)bindable;
806 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_X).Get(out temp);
809 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
810 [EditorBrowsable(EditorBrowsableState.Never)]
811 public static readonly BindableProperty ScaleYProperty = BindableProperty.Create("ScaleY", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
813 var view = (View)bindable;
814 if (newValue != null)
816 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Y, new Tizen.NUI.PropertyValue((float)newValue));
819 defaultValueCreator: (bindable) =>
821 var view = (View)bindable;
823 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Y).Get(out temp);
826 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
827 [EditorBrowsable(EditorBrowsableState.Never)]
828 public static readonly BindableProperty ScaleZProperty = BindableProperty.Create("ScaleZ", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
830 var view = (View)bindable;
831 if (newValue != null)
833 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Z, new Tizen.NUI.PropertyValue((float)newValue));
836 defaultValueCreator: (bindable) =>
838 var view = (View)bindable;
840 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SCALE_Z).Get(out temp);
843 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
844 [EditorBrowsable(EditorBrowsableState.Never)]
845 public static readonly BindableProperty NameProperty = BindableProperty.Create("Name", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
847 var view = (View)bindable;
848 if (newValue != null)
850 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
853 defaultValueCreator: (bindable) =>
855 var view = (View)bindable;
857 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.NAME).Get(out temp);
860 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
861 [EditorBrowsable(EditorBrowsableState.Never)]
862 public static readonly BindableProperty SensitiveProperty = BindableProperty.Create("Sensitive", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
864 var view = (View)bindable;
865 if (newValue != null)
867 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
870 defaultValueCreator: (bindable) =>
872 var view = (View)bindable;
874 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SENSITIVE).Get(out temp);
877 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
878 [EditorBrowsable(EditorBrowsableState.Never)]
879 public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create("LeaveRequired", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
881 var view = (View)bindable;
882 if (newValue != null)
884 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue((bool)newValue));
887 defaultValueCreator: (bindable) =>
889 var view = (View)bindable;
891 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED).Get(out temp);
894 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
895 [EditorBrowsable(EditorBrowsableState.Never)]
896 public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create("InheritOrientation", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
898 var view = (View)bindable;
899 if (newValue != null)
901 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue((bool)newValue));
904 defaultValueCreator: (bindable) =>
906 var view = (View)bindable;
908 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION).Get(out temp);
911 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
912 [EditorBrowsable(EditorBrowsableState.Never)]
913 public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create("InheritScale", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
915 var view = (View)bindable;
916 if (newValue != null)
918 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue((bool)newValue));
921 defaultValueCreator: (bindable) =>
923 var view = (View)bindable;
925 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_SCALE).Get(out temp);
928 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
929 [EditorBrowsable(EditorBrowsableState.Never)]
930 public static readonly BindableProperty DrawModeProperty = BindableProperty.Create("DrawMode", typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (bindable, oldValue, newValue) =>
932 var view = (View)bindable;
933 if (newValue != null)
935 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)newValue));
938 defaultValueCreator: (bindable) =>
940 var view = (View)bindable;
942 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.DRAW_MODE).Get(out temp) == false)
944 NUILog.Error("DrawMode get error!");
948 case "NORMAL": return DrawModeType.Normal;
949 case "OVERLAY_2D": return DrawModeType.Overlay2D;
950 #pragma warning disable CS0618 // Disable deprecated warning as we do need to use the deprecated API here.
951 case "STENCIL": return DrawModeType.Stencil;
952 #pragma warning restore CS0618
953 default: return DrawModeType.Normal;
956 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
957 [EditorBrowsable(EditorBrowsableState.Never)]
958 public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create("SizeModeFactor", typeof(Vector3), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
960 var view = (View)bindable;
961 if (newValue != null)
963 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue((Vector3)newValue));
966 defaultValueCreator: (bindable) =>
968 var view = (View)bindable;
969 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
970 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR).Get(temp);
973 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
974 [EditorBrowsable(EditorBrowsableState.Never)]
975 public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create("WidthResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
977 var view = (View)bindable;
978 if (newValue != null)
980 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
983 defaultValueCreator: (bindable) =>
985 var view = (View)bindable;
987 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
989 NUILog.Error("WidthResizePolicy get error!");
993 case "FIXED": return ResizePolicyType.Fixed;
994 case "USE_NATURAL_SIZE": return ResizePolicyType.UseNaturalSize;
995 case "FILL_TO_PARENT": return ResizePolicyType.FillToParent;
996 case "SIZE_RELATIVE_TO_PARENT": return ResizePolicyType.SizeRelativeToParent;
997 case "SIZE_FIXED_OFFSET_FROM_PARENT": return ResizePolicyType.SizeFixedOffsetFromParent;
998 case "FIT_TO_CHILDREN": return ResizePolicyType.FitToChildren;
999 case "DIMENSION_DEPENDENCY": return ResizePolicyType.DimensionDependency;
1000 case "USE_ASSIGNED_SIZE": return ResizePolicyType.UseAssignedSize;
1001 default: return ResizePolicyType.Fixed;
1004 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1005 [EditorBrowsable(EditorBrowsableState.Never)]
1006 public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create("HeightResizePolicy", typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (bindable, oldValue, newValue) =>
1008 var view = (View)bindable;
1009 if (newValue != null)
1011 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
1014 defaultValueCreator: (bindable) =>
1016 var view = (View)bindable;
1018 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
1020 NUILog.Error("HeightResizePolicy get error!");
1024 case "FIXED": return ResizePolicyType.Fixed;
1025 case "USE_NATURAL_SIZE": return ResizePolicyType.UseNaturalSize;
1026 case "FILL_TO_PARENT": return ResizePolicyType.FillToParent;
1027 case "SIZE_RELATIVE_TO_PARENT": return ResizePolicyType.SizeRelativeToParent;
1028 case "SIZE_FIXED_OFFSET_FROM_PARENT": return ResizePolicyType.SizeFixedOffsetFromParent;
1029 case "FIT_TO_CHILDREN": return ResizePolicyType.FitToChildren;
1030 case "DIMENSION_DEPENDENCY": return ResizePolicyType.DimensionDependency;
1031 case "USE_ASSIGNED_SIZE": return ResizePolicyType.UseAssignedSize;
1032 default: return ResizePolicyType.Fixed;
1035 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1036 [EditorBrowsable(EditorBrowsableState.Never)]
1037 public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create("SizeScalePolicy", typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (bindable, oldValue, newValue) =>
1039 var view = (View)bindable;
1040 string valueToString = "";
1041 if (newValue != null)
1043 switch ((SizeScalePolicyType)newValue)
1045 case SizeScalePolicyType.UseSizeSet: { valueToString = "USE_SIZE_SET"; break; }
1046 case SizeScalePolicyType.FitWithAspectRatio: { valueToString = "FIT_WITH_ASPECT_RATIO"; break; }
1047 case SizeScalePolicyType.FillWithAspectRatio: { valueToString = "FILL_WITH_ASPECT_RATIO"; break; }
1048 default: { valueToString = "USE_SIZE_SET"; break; }
1050 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
1053 defaultValueCreator: (bindable) =>
1055 var view = (View)bindable;
1057 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
1059 NUILog.Error("SizeScalePolicy get error!");
1063 case "USE_SIZE_SET": return SizeScalePolicyType.UseSizeSet;
1064 case "FIT_WITH_ASPECT_RATIO": return SizeScalePolicyType.FitWithAspectRatio;
1065 case "FILL_WITH_ASPECT_RATIO": return SizeScalePolicyType.FillWithAspectRatio;
1066 default: return SizeScalePolicyType.UseSizeSet;
1069 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1070 [EditorBrowsable(EditorBrowsableState.Never)]
1071 public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create("WidthForHeight", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1073 var view = (View)bindable;
1074 if (newValue != null)
1076 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue((bool)newValue));
1079 defaultValueCreator: (bindable) =>
1081 var view = (View)bindable;
1083 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT).Get(out temp);
1086 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1087 [EditorBrowsable(EditorBrowsableState.Never)]
1088 public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create("HeightForWidth", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1090 var view = (View)bindable;
1091 if (newValue != null)
1093 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue((bool)newValue));
1096 defaultValueCreator: (bindable) =>
1098 var view = (View)bindable;
1100 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH).Get(out temp);
1103 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1104 [EditorBrowsable(EditorBrowsableState.Never)]
1105 public static readonly BindableProperty PaddingProperty = BindableProperty.Create("Padding", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1107 var view = (View)bindable;
1108 if (newValue != null)
1110 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
1113 defaultValueCreator: (bindable) =>
1115 var view = (View)bindable;
1116 Extents temp = new Extents(0, 0, 0, 0);
1117 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.PADDING).Get(temp);
1120 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1121 [EditorBrowsable(EditorBrowsableState.Never)]
1122 public static readonly BindableProperty SizeProperty = BindableProperty.Create("Size", typeof(Size), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1124 var view = (View)bindable;
1125 if (newValue != null)
1127 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue((Size)newValue));
1130 defaultValueCreator: (bindable) =>
1132 var view = (View)bindable;
1133 Size temp = new Size(0, 0, 0);
1134 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
1137 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1138 [EditorBrowsable(EditorBrowsableState.Never)]
1139 public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create("MinimumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1141 var view = (View)bindable;
1142 if (newValue != null)
1144 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue((Size2D)newValue));
1147 defaultValueCreator: (bindable) =>
1149 var view = (View)bindable;
1150 Size2D temp = new Size2D(0, 0);
1151 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE).Get(temp);
1154 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1155 [EditorBrowsable(EditorBrowsableState.Never)]
1156 public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create("MaximumSize", typeof(Size2D), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1158 var view = (View)bindable;
1159 if (newValue != null)
1161 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue((Size2D)newValue));
1164 defaultValueCreator: (bindable) =>
1166 var view = (View)bindable;
1167 Size2D temp = new Size2D(0, 0);
1168 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE).Get(temp);
1171 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1172 [EditorBrowsable(EditorBrowsableState.Never)]
1173 public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create("InheritPosition", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1175 var view = (View)bindable;
1176 if (newValue != null)
1178 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue((bool)newValue));
1181 defaultValueCreator: (bindable) =>
1183 var view = (View)bindable;
1185 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_POSITION).Get(out temp);
1188 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1189 [EditorBrowsable(EditorBrowsableState.Never)]
1190 public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create("ClippingMode", typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (bindable, oldValue, newValue) =>
1192 var view = (View)bindable;
1193 if (newValue != null)
1195 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)newValue));
1198 defaultValueCreator: (bindable) =>
1200 var view = (View)bindable;
1202 if (Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.CLIPPING_MODE).Get(out temp) == false)
1204 NUILog.Error("ClippingMode get error!");
1206 return (ClippingModeType)temp;
1208 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1209 [EditorBrowsable(EditorBrowsableState.Never)]
1210 public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create("InheritLayoutDirection", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1212 var view = (View)bindable;
1213 if (newValue != null)
1215 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
1218 defaultValueCreator: (bindable) =>
1220 var view = (View)bindable;
1222 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION).Get(out temp);
1225 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1226 [EditorBrowsable(EditorBrowsableState.Never)]
1227 public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create("LayoutDirection", typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (bindable, oldValue, newValue) =>
1229 var view = (View)bindable;
1230 if (newValue != null)
1232 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((int)newValue));
1235 defaultValueCreator: (bindable) =>
1237 var view = (View)bindable;
1239 if (false == Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION).Get(out temp))
1241 NUILog.Error("LAYOUT_DIRECTION get error!");
1243 return (ViewLayoutDirectionType)temp;
1245 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1246 [EditorBrowsable(EditorBrowsableState.Never)]
1247 public static readonly BindableProperty MarginProperty = BindableProperty.Create("Margin", typeof(Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1249 var view = (View)bindable;
1250 if (newValue != null)
1252 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
1255 defaultValueCreator: (bindable) =>
1257 var view = (View)bindable;
1258 Extents temp = new Extents(0, 0, 0, 0);
1259 Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.MARGIN).Get(temp);
1263 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1264 [EditorBrowsable(EditorBrowsableState.Never)]
1265 public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create("UpdateSizeHint", typeof(Vector2), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1267 var view = (View)bindable;
1268 if (newValue != null)
1270 Tizen.NUI.Object.SetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1273 defaultValueCreator: (bindable) =>
1275 var view = (View)bindable;
1277 Vector2 temp = new Vector2(0.0f, 0.0f);
1278 Tizen.NUI.Object.GetProperty(view.swigCPtr, Interop.ViewProperty.View_Property_UPDATE_SIZE_HINT_get()).Get(temp);
1282 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1283 [EditorBrowsable(EditorBrowsableState.Never)]
1284 public static readonly BindableProperty XamlStyleProperty = BindableProperty.Create("XamlStyle", typeof(Style), typeof(View), default(Style), propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable)._mergedStyle.Style = (Style)newvalue);
1287 /// Flag to indicate if layout set explicitly via API call or View was automatically given a Layout.
1289 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1290 [EditorBrowsable(EditorBrowsableState.Never)]
1291 public bool layoutSet = false;
1294 /// Flag to allow Layouting to be disabled for Views.
1295 /// Once a View has a Layout set then any children added to Views from then on will receive
1296 /// automatic Layouts.
1298 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1299 [EditorBrowsable(EditorBrowsableState.Never)]
1300 public static bool layoutingDisabled{get; set;} = true;
1302 private MergedStyle mergedStyle = null;
1303 internal MergedStyle _mergedStyle
1307 if (null == mergedStyle)
1309 mergedStyle = new MergedStyle(GetType(), this);
1316 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
1317 private LayoutItem _layout; // Exclusive layout assigned to this View.
1319 // List of transitions paired with the condition that uses the transition.
1320 private Dictionary<TransitionCondition, TransitionList> _layoutTransitions;
1321 private int _widthPolicy = LayoutParamPolicies.WrapContent; // Layout width policy
1322 private int _heightPolicy = LayoutParamPolicies.WrapContent; // Layout height policy
1323 private float _weight = 0.0f; // Weighting of child View in a Layout
1324 private MeasureSpecification _measureSpecificationWidth; // Layout width and internal Mode
1325 private MeasureSpecification _measureSpecificationHeight; // Layout height and internal Mode
1326 private bool _backgroundImageSynchronosLoading = false;
1327 private EventHandler _offWindowEventHandler;
1328 private OffWindowEventCallbackType _offWindowEventCallback;
1329 private EventHandlerWithReturnType<object, WheelEventArgs, bool> _wheelEventHandler;
1330 private WheelEventCallbackType _wheelEventCallback;
1331 private EventHandlerWithReturnType<object, KeyEventArgs, bool> _keyEventHandler;
1332 private KeyCallbackType _keyCallback;
1333 private EventHandlerWithReturnType<object, TouchEventArgs, bool> _touchDataEventHandler;
1334 private TouchDataCallbackType _touchDataCallback;
1335 private EventHandlerWithReturnType<object, HoverEventArgs, bool> _hoverEventHandler;
1336 private HoverEventCallbackType _hoverEventCallback;
1337 private EventHandler<VisibilityChangedEventArgs> _visibilityChangedEventHandler;
1338 private VisibilityChangedEventCallbackType _visibilityChangedEventCallback;
1339 private EventHandler _keyInputFocusGainedEventHandler;
1340 private KeyInputFocusGainedCallbackType _keyInputFocusGainedCallback;
1341 private EventHandler _keyInputFocusLostEventHandler;
1342 private KeyInputFocusLostCallbackType _keyInputFocusLostCallback;
1343 private EventHandler _onRelayoutEventHandler;
1344 private OnRelayoutEventCallbackType _onRelayoutEventCallback;
1345 private EventHandler _onWindowEventHandler;
1346 private OnWindowEventCallbackType _onWindowEventCallback;
1347 private EventHandler<LayoutDirectionChangedEventArgs> _layoutDirectionChangedEventHandler;
1348 private LayoutDirectionChangedEventCallbackType _layoutDirectionChangedEventCallback;
1349 // Resource Ready Signal
1350 private EventHandler _resourcesLoadedEventHandler;
1351 private ResourcesLoadedCallbackType _ResourcesLoadedCallback;
1352 private EventHandler<BackgroundResourceLoadedEventArgs> _backgroundResourceLoadedEventHandler;
1353 private _backgroundResourceLoadedCallbackType _backgroundResourceLoadedCallback;
1355 private OnWindowEventCallbackType _onWindowSendEventCallback;
1357 private void SendViewAddedEventToWindow(IntPtr data)
1359 Window.Instance?.SendViewAdded(this);
1363 /// Creates a new instance of a view.
1365 /// <since_tizen> 3 </since_tizen>
1366 public View() : this(Interop.View.View_New(), true)
1368 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1372 /// Create a new instance of a View with setting the status of shown or hidden.
1374 /// <param name="shown">false : Not displayed (hidden), true : displayed (shown)</param>
1375 /// This will be public opened in next release of tizen after ACR done. Before ACR, it is used as HiddenAPI (InhouseAPI).
1376 [EditorBrowsable(EditorBrowsableState.Never)]
1377 public View(bool shown) : this(Interop.View.View_New(), true)
1379 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1383 internal View(View uiControl, bool shown = true) : this(Interop.View.new_View__SWIG_1(View.getCPtr(uiControl)), true)
1385 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1392 internal View(global::System.IntPtr cPtr, bool cMemoryOwn, bool shown = true) : base(Interop.View.View_SWIGUpcast(cPtr), cMemoryOwn)
1394 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
1397 PositionUsesPivotPoint = false;
1400 _onWindowSendEventCallback = SendViewAddedEventToWindow;
1401 this.OnWindowSignal().Connect(_onWindowSendEventCallback);
1409 internal View(ViewImpl implementation, bool shown = true) : this(Interop.View.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
1411 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1419 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1420 private delegate void OffWindowEventCallbackType(IntPtr control);
1421 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1422 private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
1423 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1424 private delegate bool KeyCallbackType(IntPtr control, IntPtr keyEvent);
1425 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1426 private delegate bool TouchDataCallbackType(IntPtr view, IntPtr touchData);
1427 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1428 private delegate bool HoverEventCallbackType(IntPtr view, IntPtr hoverEvent);
1429 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1430 private delegate void VisibilityChangedEventCallbackType(IntPtr data, bool visibility, VisibilityChangeType type);
1431 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1432 private delegate void ResourcesLoadedCallbackType(IntPtr control);
1433 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1434 private delegate void _backgroundResourceLoadedCallbackType(IntPtr view);
1435 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1436 private delegate void KeyInputFocusGainedCallbackType(IntPtr control);
1437 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1438 private delegate void KeyInputFocusLostCallbackType(IntPtr control);
1439 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1440 private delegate void OnRelayoutEventCallbackType(IntPtr control);
1441 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1442 private delegate void OnWindowEventCallbackType(IntPtr control);
1443 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1444 private delegate void LayoutDirectionChangedEventCallbackType(IntPtr data, ViewLayoutDirectionType type);
1447 /// Event when a child is removed.
1449 /// <since_tizen> 5 </since_tizen>
1450 public new event EventHandler<ChildRemovedEventArgs> ChildRemoved;
1452 /// Event when a child is added.
1454 /// <since_tizen> 5 </since_tizen>
1455 public new event EventHandler<ChildAddedEventArgs> ChildAdded;
1458 /// An event for the KeyInputFocusGained signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
1459 /// The KeyInputFocusGained signal is emitted when the control gets the key input focus.<br />
1461 /// <since_tizen> 3 </since_tizen>
1462 public event EventHandler FocusGained
1466 if (_keyInputFocusGainedEventHandler == null)
1468 _keyInputFocusGainedCallback = OnKeyInputFocusGained;
1469 this.KeyInputFocusGainedSignal().Connect(_keyInputFocusGainedCallback);
1472 _keyInputFocusGainedEventHandler += value;
1477 _keyInputFocusGainedEventHandler -= value;
1479 if (_keyInputFocusGainedEventHandler == null && KeyInputFocusGainedSignal().Empty() == false)
1481 this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
1487 /// An event for the KeyInputFocusLost signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
1488 /// The KeyInputFocusLost signal is emitted when the control loses the key input focus.<br />
1490 /// <since_tizen> 3 </since_tizen>
1491 public event EventHandler FocusLost
1495 if (_keyInputFocusLostEventHandler == null)
1497 _keyInputFocusLostCallback = OnKeyInputFocusLost;
1498 this.KeyInputFocusLostSignal().Connect(_keyInputFocusLostCallback);
1501 _keyInputFocusLostEventHandler += value;
1506 _keyInputFocusLostEventHandler -= value;
1508 if (_keyInputFocusLostEventHandler == null && KeyInputFocusLostSignal().Empty() == false)
1510 this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
1516 /// An event for the KeyPressed signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
1517 /// The KeyPressed signal is emitted when the key event is received.<br />
1519 /// <since_tizen> 3 </since_tizen>
1520 public event EventHandlerWithReturnType<object, KeyEventArgs, bool> KeyEvent
1524 if (_keyEventHandler == null)
1526 _keyCallback = OnKeyEvent;
1527 this.KeyEventSignal().Connect(_keyCallback);
1530 _keyEventHandler += value;
1535 _keyEventHandler -= value;
1537 if (_keyEventHandler == null && KeyEventSignal().Empty() == false)
1539 this.KeyEventSignal().Disconnect(_keyCallback);
1545 /// An event for the OnRelayout signal which can be used to subscribe or unsubscribe the event handler.<br />
1546 /// The OnRelayout signal is emitted after the size has been set on the view during relayout.<br />
1548 /// <since_tizen> 3 </since_tizen>
1549 public event EventHandler Relayout
1553 if (_onRelayoutEventHandler == null)
1555 _onRelayoutEventCallback = OnRelayout;
1556 this.OnRelayoutSignal().Connect(_onRelayoutEventCallback);
1559 _onRelayoutEventHandler += value;
1564 _onRelayoutEventHandler -= value;
1566 if (_onRelayoutEventHandler == null && OnRelayoutSignal().Empty() == false)
1568 this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
1575 /// An event for the touched signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
1576 /// The touched signal is emitted when the touch input is received.<br />
1578 /// <since_tizen> 3 </since_tizen>
1579 public event EventHandlerWithReturnType<object, TouchEventArgs, bool> TouchEvent
1583 if (_touchDataEventHandler == null)
1585 _touchDataCallback = OnTouch;
1586 this.TouchSignal().Connect(_touchDataCallback);
1589 _touchDataEventHandler += value;
1594 _touchDataEventHandler -= value;
1596 if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
1598 this.TouchSignal().Disconnect(_touchDataCallback);
1605 /// An event for the hovered signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
1606 /// The hovered signal is emitted when the hover input is received.<br />
1608 /// <since_tizen> 3 </since_tizen>
1609 public event EventHandlerWithReturnType<object, HoverEventArgs, bool> HoverEvent
1613 if (_hoverEventHandler == null)
1615 _hoverEventCallback = OnHoverEvent;
1616 this.HoveredSignal().Connect(_hoverEventCallback);
1619 _hoverEventHandler += value;
1624 _hoverEventHandler -= value;
1626 if (_hoverEventHandler == null && HoveredSignal().Empty() == false)
1628 this.HoveredSignal().Disconnect(_hoverEventCallback);
1635 /// An event for the WheelMoved signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
1636 /// The WheelMoved signal is emitted when the wheel event is received.<br />
1638 /// <since_tizen> 3 </since_tizen>
1639 public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelEvent
1643 if (_wheelEventHandler == null)
1645 _wheelEventCallback = OnWheelEvent;
1646 this.WheelEventSignal().Connect(_wheelEventCallback);
1649 _wheelEventHandler += value;
1654 _wheelEventHandler -= value;
1656 if (_wheelEventHandler == null && WheelEventSignal().Empty() == false)
1658 this.WheelEventSignal().Disconnect(_wheelEventCallback);
1665 /// An event for the OnWindow signal which can be used to subscribe or unsubscribe the event handler.<br />
1666 /// The OnWindow signal is emitted after the view has been connected to the window.<br />
1668 /// <since_tizen> 3 </since_tizen>
1669 public event EventHandler AddedToWindow
1673 if (_onWindowEventHandler == null)
1675 _onWindowEventCallback = OnWindow;
1676 this.OnWindowSignal().Connect(_onWindowEventCallback);
1679 _onWindowEventHandler += value;
1684 _onWindowEventHandler -= value;
1686 if (_onWindowEventHandler == null && OnWindowSignal().Empty() == false)
1688 this.OnWindowSignal().Disconnect(_onWindowEventCallback);
1694 /// An event for the OffWindow signal, which can be used to subscribe or unsubscribe the event handler.<br />
1695 /// OffWindow signal is emitted after the view has been disconnected from the window.<br />
1697 /// <since_tizen> 3 </since_tizen>
1698 public event EventHandler RemovedFromWindow
1702 if (_offWindowEventHandler == null)
1704 _offWindowEventCallback = OffWindow;
1705 this.OffWindowSignal().Connect(_offWindowEventCallback);
1708 _offWindowEventHandler += value;
1713 _offWindowEventHandler -= value;
1715 if (_offWindowEventHandler == null && OffWindowSignal().Empty() == false)
1717 this.OffWindowSignal().Disconnect(_offWindowEventCallback);
1723 /// An event for visibility change which can be used to subscribe or unsubscribe the event handler.<br />
1724 /// This signal is emitted when the visible property of this or a parent view is changed.<br />
1726 /// <since_tizen> 3 </since_tizen>
1727 public event EventHandler<VisibilityChangedEventArgs> VisibilityChanged
1731 if (_visibilityChangedEventHandler == null)
1733 _visibilityChangedEventCallback = OnVisibilityChanged;
1734 VisibilityChangedSignal(this).Connect(_visibilityChangedEventCallback);
1737 _visibilityChangedEventHandler += value;
1742 _visibilityChangedEventHandler -= value;
1744 if (_visibilityChangedEventHandler == null && VisibilityChangedSignal(this).Empty() == false)
1746 VisibilityChangedSignal(this).Disconnect(_visibilityChangedEventCallback);
1752 /// Event for layout direction change which can be used to subscribe/unsubscribe the event handler.<br />
1753 /// This signal is emitted when the layout direction property of this or a parent view is changed.<br />
1755 /// <since_tizen> 4 </since_tizen>
1756 public event EventHandler<LayoutDirectionChangedEventArgs> LayoutDirectionChanged
1760 if (_layoutDirectionChangedEventHandler == null)
1762 _layoutDirectionChangedEventCallback = OnLayoutDirectionChanged;
1763 LayoutDirectionChangedSignal(this).Connect(_layoutDirectionChangedEventCallback);
1766 _layoutDirectionChangedEventHandler += value;
1771 _layoutDirectionChangedEventHandler -= value;
1773 if (_layoutDirectionChangedEventHandler == null && LayoutDirectionChangedSignal(this).Empty() == false)
1775 LayoutDirectionChangedSignal(this).Disconnect(_layoutDirectionChangedEventCallback);
1781 /// An event for the ResourcesLoadedSignal signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
1782 /// This signal is emitted after all resources required by a view are loaded and ready.<br />
1784 /// <since_tizen> 3 </since_tizen>
1785 public event EventHandler ResourcesLoaded
1789 if (_resourcesLoadedEventHandler == null)
1791 _ResourcesLoadedCallback = OnResourcesLoaded;
1792 this.ResourcesLoadedSignal().Connect(_ResourcesLoadedCallback);
1795 _resourcesLoadedEventHandler += value;
1800 _resourcesLoadedEventHandler -= value;
1802 if (_resourcesLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
1804 this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
1809 internal event EventHandler<BackgroundResourceLoadedEventArgs> BackgroundResourceLoaded
1813 if (_backgroundResourceLoadedEventHandler == null)
1815 _backgroundResourceLoadedCallback = OnBackgroundResourceLoaded;
1816 this.ResourcesLoadedSignal().Connect(_backgroundResourceLoadedCallback);
1819 _backgroundResourceLoadedEventHandler += value;
1823 _backgroundResourceLoadedEventHandler -= value;
1825 if (_backgroundResourceLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
1827 this.ResourcesLoadedSignal().Disconnect(_backgroundResourceLoadedCallback);
1833 /// Enumeration for describing the states of the view.
1835 /// <since_tizen> 3 </since_tizen>
1839 /// The normal state.
1843 /// The focused state.
1847 /// The disabled state.
1853 /// Describes the direction to move the focus towards.
1855 /// <since_tizen> 3 </since_tizen>
1856 public enum FocusDirection
1859 /// Move keyboard focus towards the left direction.
1861 /// <since_tizen> 3 </since_tizen>
1864 /// Move keyboard focus towards the right direction.
1866 /// <since_tizen> 3 </since_tizen>
1869 /// Move keyboard focus towards the up direction.
1871 /// <since_tizen> 3 </since_tizen>
1874 /// Move keyboard focus towards the down direction.
1876 /// <since_tizen> 3 </since_tizen>
1879 /// Move keyboard focus towards the previous page direction.
1881 /// <since_tizen> 3 </since_tizen>
1884 /// Move keyboard focus towards the next page direction.
1886 /// <since_tizen> 3 </since_tizen>
1890 internal enum PropertyRange
1892 PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
1893 CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
1894 CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
1897 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1898 [EditorBrowsable(EditorBrowsableState.Never)]
1899 public bool IsResourcesCreated
1903 return Application.Current.IsResourcesCreated;
1907 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1908 [EditorBrowsable(EditorBrowsableState.Never)]
1909 public ResourceDictionary XamlResources
1913 return Application.Current.XamlResources;
1917 Application.Current.XamlResources = value;
1922 /// The StyleName, type string.
1924 /// <since_tizen> 3 </since_tizen>
1925 public string StyleName
1929 return (string)GetValue(StyleNameProperty);
1933 SetValue(StyleNameProperty, value);
1934 NotifyPropertyChanged();
1939 /// The mutually exclusive with BACKGROUND_IMAGE and BACKGROUND type Vector4.
1941 /// <since_tizen> 3 </since_tizen>
1942 public Color BackgroundColor
1946 return (Color)GetValue(BackgroundColorProperty);
1950 SetValue(BackgroundColorProperty, value);
1951 NotifyPropertyChanged();
1956 /// The mutually exclusive with BACKGROUND_COLOR and BACKGROUND type Map.
1958 /// <since_tizen> 3 </since_tizen>
1959 public string BackgroundImage
1963 return (string)GetValue(BackgroundImageProperty);
1967 SetValue(BackgroundImageProperty, value);
1968 NotifyPropertyChanged();
1973 /// The background of view.
1975 /// <since_tizen> 3 </since_tizen>
1976 public Tizen.NUI.PropertyMap Background
1980 return (PropertyMap)GetValue(BackgroundProperty);
1984 SetValue(BackgroundProperty, value);
1985 NotifyPropertyChanged();
1991 /// The current state of the view.
1993 /// <since_tizen> 3 </since_tizen>
1998 return (States)GetValue(StateProperty);
2002 SetValue(StateProperty, value);
2003 NotifyPropertyChanged();
2008 /// The current sub state of the view.
2010 /// <since_tizen> 3 </since_tizen>
2011 public States SubState
2015 return (States)GetValue(SubStateProperty);
2019 SetValue(SubStateProperty, value);
2020 NotifyPropertyChanged();
2025 /// Displays a tooltip
2027 /// <since_tizen> 3 </since_tizen>
2028 public Tizen.NUI.PropertyMap Tooltip
2032 return (PropertyMap)GetValue(TooltipProperty);
2036 SetValue(TooltipProperty, value);
2037 NotifyPropertyChanged();
2042 /// Displays a tooltip as a text.
2044 /// <since_tizen> 3 </since_tizen>
2045 public string TooltipText
2049 SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
2050 NotifyPropertyChanged();
2055 /// The Child property of FlexContainer.<br />
2056 /// The proportion of the free space in the container, the flex item will receive.<br />
2057 /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br />
2059 /// <since_tizen> 3 </since_tizen>
2064 return (float)GetValue(FlexProperty);
2068 SetValue(FlexProperty, value);
2069 NotifyPropertyChanged();
2074 /// The Child property of FlexContainer.<br />
2075 /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br />
2077 /// <since_tizen> 3 </since_tizen>
2078 public int AlignSelf
2082 return (int)GetValue(AlignSelfProperty);
2086 SetValue(AlignSelfProperty, value);
2087 NotifyPropertyChanged();
2092 /// The Child property of FlexContainer.<br />
2093 /// The space around the flex item.<br />
2095 /// <since_tizen> 3 </since_tizen>
2096 public Vector4 FlexMargin
2100 return (Vector4)GetValue(FlexMarginProperty);
2104 SetValue(FlexMarginProperty, value);
2105 NotifyPropertyChanged();
2110 /// The top-left cell this child occupies, if not set, the first available cell is used.
2112 /// <since_tizen> 3 </since_tizen>
2113 public Vector2 CellIndex
2117 return (Vector2)GetValue(CellIndexProperty);
2121 SetValue(CellIndexProperty, value);
2122 NotifyPropertyChanged();
2127 /// The number of rows this child occupies, if not set, the default value is 1.
2129 /// <since_tizen> 3 </since_tizen>
2130 public float RowSpan
2134 return (float)GetValue(RowSpanProperty);
2138 SetValue(RowSpanProperty, value);
2139 NotifyPropertyChanged();
2144 /// The number of columns this child occupies, if not set, the default value is 1.
2146 /// <since_tizen> 3 </since_tizen>
2147 public float ColumnSpan
2151 return (float)GetValue(ColumnSpanProperty);
2155 SetValue(ColumnSpanProperty, value);
2156 NotifyPropertyChanged();
2161 /// The horizontal alignment of this child inside the cells, if not set, the default value is 'left'.
2163 /// <since_tizen> 3 </since_tizen>
2164 public Tizen.NUI.HorizontalAlignmentType CellHorizontalAlignment
2168 return (HorizontalAlignmentType)GetValue(CellHorizontalAlignmentProperty);
2172 SetValue(CellHorizontalAlignmentProperty, value);
2173 NotifyPropertyChanged();
2178 /// The vertical alignment of this child inside the cells, if not set, the default value is 'top'.
2180 /// <since_tizen> 3 </since_tizen>
2181 public Tizen.NUI.VerticalAlignmentType CellVerticalAlignment
2185 return (VerticalAlignmentType)GetValue(CellVerticalAlignmentProperty);
2189 SetValue(CellVerticalAlignmentProperty, value);
2190 NotifyPropertyChanged();
2195 /// The left focusable view.<br />
2196 /// This will return null if not set.<br />
2197 /// This will also return null if the specified left focusable view is not on a window.<br />
2199 /// <since_tizen> 3 </since_tizen>
2200 public View LeftFocusableView
2202 // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
2205 return (View)GetValue(LeftFocusableViewProperty);
2209 SetValue(LeftFocusableViewProperty, value);
2210 NotifyPropertyChanged();
2215 /// The right focusable view.<br />
2216 /// This will return null if not set.<br />
2217 /// This will also return null if the specified right focusable view is not on a window.<br />
2219 /// <since_tizen> 3 </since_tizen>
2220 public View RightFocusableView
2222 // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
2225 return (View)GetValue(RightFocusableViewProperty);
2229 SetValue(RightFocusableViewProperty, value);
2230 NotifyPropertyChanged();
2235 /// The up focusable view.<br />
2236 /// This will return null if not set.<br />
2237 /// This will also return null if the specified up focusable view is not on a window.<br />
2239 /// <since_tizen> 3 </since_tizen>
2240 public View UpFocusableView
2242 // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
2245 return (View)GetValue(UpFocusableViewProperty);
2249 SetValue(UpFocusableViewProperty, value);
2250 NotifyPropertyChanged();
2255 /// The down focusable view.<br />
2256 /// This will return null if not set.<br />
2257 /// This will also return null if the specified down focusable view is not on a window.<br />
2259 /// <since_tizen> 3 </since_tizen>
2260 public View DownFocusableView
2262 // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
2265 return (View)GetValue(DownFocusableViewProperty);
2269 SetValue(DownFocusableViewProperty, value);
2270 NotifyPropertyChanged();
2275 /// Whether the view should be focusable by keyboard navigation.
2277 /// <since_tizen> 3 </since_tizen>
2278 public bool Focusable
2282 SetValue(FocusableProperty, value);
2283 NotifyPropertyChanged();
2287 return (bool)GetValue(FocusableProperty);
2292 /// Retrieves the position of the view.<br />
2293 /// The coordinates are relative to the view's parent.<br />
2295 /// <since_tizen> 3 </since_tizen>
2296 public Position CurrentPosition
2300 return GetCurrentPosition();
2305 /// Sets the size of a view for the width and the height.<br />
2306 /// Geometry can be scaled to fit within this area.<br />
2307 /// This does not interfere with the view's scale factor.<br />
2308 /// The views default depth is the minimum of width and height.<br />
2311 /// This NUI object (Size2D) typed property can be configured by multiple cascade setting. <br />
2312 /// For example, this code ( view.Size2D.Width = 100; view.Size2D.Height = 100; ) is equivalent to this ( view.Size2D = new Size2D(100, 100); ). <br />
2313 /// Please note that this multi-cascade setting is especially possible for this NUI object (Size2D). <br />
2314 /// This means by default others are impossible so it is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
2315 /// For example, this code is working fine : view.Scale = new Vector3( 2.0f, 1.5f, 0.0f); <br />
2316 /// but this will not work! : view.Scale.X = 2.0f; view.Scale.Y = 1.5f; <br />
2317 /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimum size is set. <br />
2319 /// <since_tizen> 3 </since_tizen>
2320 public Size2D Size2D
2324 Size2D temp = (Size2D)GetValue(Size2DProperty);
2325 return new Size2D(OnSize2DChanged, temp.Width, temp.Height);
2329 SetValue(Size2DProperty, value);
2330 // Set Specification so when layouts measure this View it matches the value set here.
2331 // All Views are currently Layouts.
2332 MeasureSpecificationWidth = new MeasureSpecification(new LayoutLength(value.Width), MeasureSpecification.ModeType.Exactly);
2333 MeasureSpecificationHeight = new MeasureSpecification(new LayoutLength(value.Height), MeasureSpecification.ModeType.Exactly);
2334 _widthPolicy = value.Width;
2335 _heightPolicy = value.Height;
2336 _layout?.RequestLayout();
2337 NotifyPropertyChanged();
2342 /// Retrieves the size of the view.<br />
2343 /// The coordinates are relative to the view's parent.<br />
2345 /// <since_tizen> 3 </since_tizen>
2346 public Size2D CurrentSize
2350 return GetCurrentSize();
2355 /// Retrieves and sets the view's opacity.<br />
2357 /// <since_tizen> 3 </since_tizen>
2358 public float Opacity
2362 return (float)GetValue(OpacityProperty);
2366 SetValue(OpacityProperty, value);
2367 NotifyPropertyChanged();
2372 /// Sets the position of the view for X and Y.<br />
2373 /// By default, sets the position vector between the parent origin and the pivot point (default).<br />
2374 /// If the position inheritance is disabled, sets the world position.<br />
2377 /// This NUI object (Position2D) typed property can be configured by multiple cascade setting. <br />
2378 /// For example, this code ( view.Position2D.X = 100; view.Position2D.Y = 100; ) is equivalent to this ( view.Position2D = new Position2D(100, 100); ). <br />
2379 /// Please note that this multi-cascade setting is especially possible for this NUI object (Position2D). <br />
2380 /// This means by default others are impossible so it is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
2381 /// For example, this code is working fine : view.Scale = new Vector3( 2.0f, 1.5f, 0.0f); <br />
2382 /// but this will not work! : view.Scale.X = 2.0f; view.Scale.Y = 1.5f; <br />
2384 /// <since_tizen> 3 </since_tizen>
2385 public Position2D Position2D
2389 Position2D temp = (Position2D)GetValue(Position2DProperty);
2390 return new Position2D(OnPosition2DChanged, temp.X, temp.Y);
2394 SetValue(Position2DProperty, value);
2395 NotifyPropertyChanged();
2400 /// Retrieves the screen postion of the view.<br />
2402 /// <since_tizen> 3 </since_tizen>
2403 public Vector2 ScreenPosition
2407 Vector2 temp = new Vector2(0.0f, 0.0f);
2408 GetProperty(View.Property.SCREEN_POSITION).Get(temp);
2414 /// Determines whether the pivot point should be used to determine the position of the view.
2415 /// This is true by default.
2417 /// <remarks>If false, then the top-left of the view is used for the position.
2418 /// Setting this to false will allow scaling or rotation around the pivot point without affecting the view's position.
2420 /// <since_tizen> 3 </since_tizen>
2421 public bool PositionUsesPivotPoint
2425 return (bool)GetValue(PositionUsesPivotPointProperty);
2429 SetValue(PositionUsesPivotPointProperty, value);
2430 NotifyPropertyChanged();
2435 /// Deprecated in API5; Will be removed in API8. Please use PositionUsesPivotPoint instead!
2437 /// <since_tizen> 3 </since_tizen>
2438 [Obsolete("Deprecated in API5; Will be removed in API8. Please use PositionUsesPivotPoint instead! " +
2440 "View view = new View(); " +
2441 "view.PivotPoint = PivotPoint.Center; " +
2442 "view.PositionUsesPivotPoint = true;" +
2443 " Deprecated in API5: Will be removed in API8")]
2444 [EditorBrowsable(EditorBrowsableState.Never)]
2445 public bool PositionUsesAnchorPoint
2450 GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
2455 SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
2456 NotifyPropertyChanged();
2461 /// Queries whether the view is connected to the stage.<br />
2462 /// When a view is connected, it will be directly or indirectly parented to the root view.<br />
2464 /// <since_tizen> 3 </since_tizen>
2465 public bool IsOnWindow
2474 /// Gets the depth in the hierarchy for the view.
2476 /// <since_tizen> 3 </since_tizen>
2477 public int HierarchyDepth
2481 return GetHierarchyDepth();
2486 /// Sets the sibling order of the view so the depth position can be defined within the same parent.
2489 /// Note the initial value is 0. SiblingOrder should be bigger than 0 or equal to 0.
2490 /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove, and LowerBelow will override the sibling order.
2491 /// The values set by this property will likely change.
2493 /// <since_tizen> 3 </since_tizen>
2494 public int SiblingOrder
2498 return (int)GetValue(SiblingOrderProperty);
2502 SetValue(SiblingOrderProperty, value);
2503 NotifyPropertyChanged();
2508 /// Returns the natural size of the view.
2511 /// Deriving classes stipulate the natural size and by default a view has a zero natural size.
2513 /// <since_tizen> 5 </since_tizen>
2514 public Vector3 NaturalSize
2518 Vector3 ret = new Vector3(Interop.Actor.Actor_GetNaturalSize(swigCPtr), true);
2519 if (NDalicPINVOKE.SWIGPendingException.Pending)
2520 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2526 /// Returns the natural size (Size2D) of the view.
2529 /// Deriving classes stipulate the natural size and by default a view has a zero natural size.
2531 /// <since_tizen> 4 </since_tizen>
2532 public Size2D NaturalSize2D
2536 Vector3 temp = new Vector3(Interop.Actor.Actor_GetNaturalSize(swigCPtr), true);
2537 if (NDalicPINVOKE.SWIGPendingException.Pending)
2538 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2540 return new Size2D((int)temp.Width, (int)temp.Height);
2545 /// Gets or sets the origin of a view within its parent's area.<br />
2546 /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the parent, and (1.0, 1.0, 0.5) is the bottom-right corner.<br />
2547 /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).<br />
2548 /// A view's position is the distance between this origin and the view's anchor-point.<br />
2550 /// <pre>The view has been initialized.</pre>
2551 /// <since_tizen> 3 </since_tizen>
2552 public Position ParentOrigin
2556 Position tmp = (Position)GetValue(ParentOriginProperty);
2557 return new Position(OnParentOriginChanged, tmp.X, tmp.Y, tmp.Z);
2561 SetValue(ParentOriginProperty, value);
2562 NotifyPropertyChanged();
2567 /// Gets or sets the anchor-point of a view.<br />
2568 /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the view, and (1.0, 1.0, 0.5) is the bottom-right corner.<br />
2569 /// The default pivot point is PivotPoint.Center (0.5, 0.5, 0.5).<br />
2570 /// A view position is the distance between its parent-origin and this anchor-point.<br />
2571 /// A view's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.<br />
2572 /// <pre>The view has been initialized.</pre>
2574 /// <since_tizen> 3 </since_tizen>
2575 public Position PivotPoint
2579 Position tmp = (Position)GetValue(PivotPointProperty);
2580 return new Position(OnPivotPointChanged, tmp.X, tmp.Y, tmp.Z);
2584 SetValue(PivotPointProperty, value);
2585 NotifyPropertyChanged();
2590 /// Gets or sets the size width of the view.
2592 /// <since_tizen> 3 </since_tizen>
2593 public float SizeWidth
2597 return (float)GetValue(SizeWidthProperty);
2601 SetValue(SizeWidthProperty, value);
2602 WidthSpecification = (int)Math.Ceiling(value);
2603 NotifyPropertyChanged();
2608 /// Gets or sets the size height of the view.
2610 /// <since_tizen> 3 </since_tizen>
2611 public float SizeHeight
2615 return (float)GetValue(SizeHeightProperty);
2619 SetValue(SizeHeightProperty, value);
2620 HeightSpecification = (int)Math.Ceiling(value);
2621 NotifyPropertyChanged();
2626 /// Gets or sets the position of the view.<br />
2627 /// By default, sets the position vector between the parent origin and pivot point (default).<br />
2628 /// If the position inheritance is disabled, sets the world position.<br />
2630 /// <since_tizen> 3 </since_tizen>
2631 public Position Position
2635 Position tmp = (Position)GetValue(PositionProperty);
2636 return new Position(OnPositionChanged, tmp.X, tmp.Y, tmp.Z);
2640 SetValue(PositionProperty, value);
2641 NotifyPropertyChanged();
2646 /// Gets or sets the position X of the view.
2648 /// <since_tizen> 3 </since_tizen>
2649 public float PositionX
2653 return (float)GetValue(PositionXProperty);
2657 SetValue(PositionXProperty, value);
2658 NotifyPropertyChanged();
2663 /// Gets or sets the position Y of the view.
2665 /// <since_tizen> 3 </since_tizen>
2666 public float PositionY
2670 return (float)GetValue(PositionYProperty);
2674 SetValue(PositionYProperty, value);
2675 NotifyPropertyChanged();
2680 /// Gets or sets the position Z of the view.
2682 /// <since_tizen> 3 </since_tizen>
2683 public float PositionZ
2687 return (float)GetValue(PositionZProperty);
2691 SetValue(PositionZProperty, value);
2692 NotifyPropertyChanged();
2697 /// Gets or sets the world position of the view.
2699 /// <since_tizen> 3 </since_tizen>
2700 public Vector3 WorldPosition
2704 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
2705 GetProperty(View.Property.WORLD_POSITION).Get(temp);
2711 /// Gets or sets the orientation of the view.<br />
2712 /// The view's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.<br />
2714 /// <remarks>This is an asynchronous method.</remarks>
2715 /// <since_tizen> 3 </since_tizen>
2716 public Rotation Orientation
2720 return (Rotation)GetValue(OrientationProperty);
2724 SetValue(OrientationProperty, value);
2725 NotifyPropertyChanged();
2730 /// Gets or sets the world orientation of the view.<br />
2732 /// <since_tizen> 3 </since_tizen>
2733 public Rotation WorldOrientation
2737 Rotation temp = new Rotation();
2738 GetProperty(View.Property.WORLD_ORIENTATION).Get(temp);
2744 /// Gets or sets the scale factor applied to the view.<br />
2746 /// <since_tizen> 3 </since_tizen>
2747 public Vector3 Scale
2751 return (Vector3)GetValue(ScaleProperty);
2755 SetValue(ScaleProperty, value);
2756 NotifyPropertyChanged();
2761 /// Gets or sets the scale X factor applied to the view.
2763 /// <since_tizen> 3 </since_tizen>
2768 return (float)GetValue(ScaleXProperty);
2772 SetValue(ScaleXProperty, value);
2773 NotifyPropertyChanged();
2778 /// Gets or sets the scale Y factor applied to the view.
2780 /// <since_tizen> 3 </since_tizen>
2785 return (float)GetValue(ScaleYProperty);
2789 SetValue(ScaleYProperty, value);
2790 NotifyPropertyChanged();
2795 /// Gets or sets the scale Z factor applied to the view.
2797 /// <since_tizen> 3 </since_tizen>
2802 return (float)GetValue(ScaleZProperty);
2806 SetValue(ScaleZProperty, value);
2807 NotifyPropertyChanged();
2812 /// Gets the world scale of the view.
2814 /// <since_tizen> 3 </since_tizen>
2815 public Vector3 WorldScale
2819 Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
2820 GetProperty(View.Property.WORLD_SCALE).Get(temp);
2826 /// Retrieves the visibility flag of the view.
2829 /// If the view is not visible, then the view and its children will not be rendered.
2830 /// This is regardless of the individual visibility values of the children, i.e., the view will only be rendered if all of its parents have visibility set to true.
2832 /// <since_tizen> 3 </since_tizen>
2833 public bool Visibility
2838 GetProperty(View.Property.VISIBLE).Get(out temp);
2844 /// Gets the view's world color.
2846 /// <since_tizen> 3 </since_tizen>
2847 public Vector4 WorldColor
2851 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
2852 GetProperty(View.Property.WORLD_COLOR).Get(temp);
2858 /// Gets or sets the view's name.
2860 /// <since_tizen> 3 </since_tizen>
2865 return (string)GetValue(NameProperty);
2869 SetValue(NameProperty, value);
2870 NotifyPropertyChanged();
2875 /// Get the number of children held by the view.
2877 /// <since_tizen> 3 </since_tizen>
2878 public new uint ChildCount
2882 return GetChildCount();
2887 /// Gets the view's ID.
2890 /// <since_tizen> 3 </since_tizen>
2900 /// Gets or sets the status of whether the view should emit touch or hover signals.
2902 /// <since_tizen> 3 </since_tizen>
2903 public bool Sensitive
2907 return (bool)GetValue(SensitiveProperty);
2911 SetValue(SensitiveProperty, value);
2912 NotifyPropertyChanged();
2917 /// Gets or sets the status of whether the view should receive a notification when touch or hover motion events leave the boundary of the view.
2919 /// <since_tizen> 3 </since_tizen>
2920 public bool LeaveRequired
2924 return (bool)GetValue(LeaveRequiredProperty);
2928 SetValue(LeaveRequiredProperty, value);
2929 NotifyPropertyChanged();
2934 /// Gets or sets the status of whether a child view inherits it's parent's orientation.
2936 /// <since_tizen> 3 </since_tizen>
2937 public bool InheritOrientation
2941 return (bool)GetValue(InheritOrientationProperty);
2945 SetValue(InheritOrientationProperty, value);
2946 NotifyPropertyChanged();
2951 /// Gets or sets the status of whether a child view inherits it's parent's scale.
2953 /// <since_tizen> 3 </since_tizen>
2954 public bool InheritScale
2958 return (bool)GetValue(InheritScaleProperty);
2962 SetValue(InheritScaleProperty, value);
2963 NotifyPropertyChanged();
2968 /// Gets or sets the status of how the view and its children should be drawn.<br />
2969 /// Not all views are renderable, but DrawMode can be inherited from any view.<br />
2970 /// If an object is in a 3D layer, it will be depth-tested against other objects in the world, i.e., it may be obscured if other objects are in front.<br />
2971 /// If DrawMode.Overlay2D is used, the view and its children will be drawn as a 2D overlay.<br />
2972 /// Overlay views are drawn in a separate pass, after all non-overlay views within the layer.<br />
2973 /// For overlay views, the drawing order is with respect to tree levels of views, and depth-testing will not be used.<br />
2975 /// <since_tizen> 3 </since_tizen>
2976 public DrawModeType DrawMode
2980 return (DrawModeType)GetValue(DrawModeProperty);
2984 SetValue(DrawModeProperty, value);
2985 NotifyPropertyChanged();
2990 /// Gets or sets the relative to parent size factor of the view.<br />
2991 /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br />
2992 /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicyType.<br />
2994 /// <since_tizen> 3 </since_tizen>
2995 public Vector3 SizeModeFactor
2999 return (Vector3)GetValue(SizeModeFactorProperty);
3003 SetValue(SizeModeFactorProperty, value);
3004 NotifyPropertyChanged();
3009 /// Gets or sets the width resize policy to be used.
3011 /// <since_tizen> 3 </since_tizen>
3012 public ResizePolicyType WidthResizePolicy
3016 return (ResizePolicyType)GetValue(WidthResizePolicyProperty);
3020 SetValue(WidthResizePolicyProperty, value);
3021 // Match ResizePolicy to new Layouting.
3022 // Parent relative policies can not be mapped at this point as parent size unknown.
3025 case ResizePolicyType.UseNaturalSize:
3027 WidthSpecification = LayoutParamPolicies.WrapContent;
3030 case ResizePolicyType.FillToParent:
3032 WidthSpecification = LayoutParamPolicies.MatchParent;
3035 case ResizePolicyType.FitToChildren:
3037 WidthSpecification = LayoutParamPolicies.WrapContent;
3043 NotifyPropertyChanged();
3048 /// Gets or sets the height resize policy to be used.
3050 /// <since_tizen> 3 </since_tizen>
3051 public ResizePolicyType HeightResizePolicy
3055 return (ResizePolicyType)GetValue(HeightResizePolicyProperty);
3059 SetValue(HeightResizePolicyProperty, value);
3060 // Match ResizePolicy to new Layouting.
3061 // Parent relative policies can not be mapped at this point as parent size unknown.
3064 case ResizePolicyType.UseNaturalSize:
3066 HeightSpecification = LayoutParamPolicies.WrapContent;
3069 case ResizePolicyType.FillToParent:
3071 HeightSpecification = LayoutParamPolicies.MatchParent;
3074 case ResizePolicyType.FitToChildren:
3076 HeightSpecification = LayoutParamPolicies.WrapContent;
3082 NotifyPropertyChanged();
3087 /// Gets or sets the policy to use when setting size with size negotiation.<br />
3088 /// Defaults to SizeScalePolicyType.UseSizeSet.<br />
3090 /// <since_tizen> 3 </since_tizen>
3091 public SizeScalePolicyType SizeScalePolicy
3095 return (SizeScalePolicyType)GetValue(SizeScalePolicyProperty);
3099 SetValue(SizeScalePolicyProperty, value);
3100 NotifyPropertyChanged();
3105 /// Gets or sets the status of whether the width size is dependent on the height size.
3107 /// <since_tizen> 3 </since_tizen>
3108 public bool WidthForHeight
3112 return (bool)GetValue(WidthForHeightProperty);
3116 SetValue(WidthForHeightProperty, value);
3117 NotifyPropertyChanged();
3122 /// Gets or sets the status of whether the height size is dependent on the width size.
3124 /// <since_tizen> 3 </since_tizen>
3125 public bool HeightForWidth
3129 return (bool)GetValue(HeightForWidthProperty);
3133 SetValue(HeightForWidthProperty, value);
3134 NotifyPropertyChanged();
3139 /// Gets or sets the padding for use in layout.
3141 /// <since_tizen> 5 </since_tizen>
3142 public Extents Padding
3146 // If View has a Layout then padding in stored in the base Layout class
3149 return Layout.Padding;
3153 return (Extents)GetValue(PaddingProperty);
3155 // Two return points to prevent creating a zeroed Extent native object before assignment
3159 Extents padding = value;
3162 // Layout set so store Padding in LayoutItem instead of in View.
3163 // If View stores the Padding value then Legacy Size Negotiation will overwrite
3164 // the position and sizes measure in the Layouting.
3165 Layout.Padding = value;
3166 // If Layout is a LayoutItem then it could be a View that handles it's own padding.
3167 // Let the View keeps it's padding. Still store Padding in Layout to reduce code paths.
3168 if( Layout.GetType() != typeof(LayoutItem)) // If a Layout container of some kind.
3170 padding = new Extents(0,0,0,0); // Reset value stored in View.
3172 _layout?.RequestLayout();
3174 SetValue(PaddingProperty, padding);
3175 NotifyPropertyChanged();
3176 _layout?.RequestLayout();
3181 /// Gets or sets the minimum size the view can be assigned in size negotiation.
3183 /// <since_tizen> 3 </since_tizen>
3184 public Size2D MinimumSize
3188 Size2D tmp = (Size2D)GetValue(MinimumSizeProperty);
3189 return new Size2D(OnMinimumSizeChanged, tmp.Width, tmp.Height);
3193 if (_layout != null)
3195 // Note: it only works if minimum size is >= than natural size.
3196 // To force the size it should be done through the width&height spec or Size2D.
3197 _layout.MinimumWidth = new Tizen.NUI.LayoutLength(value.Width);
3198 _layout.MinimumHeight = new Tizen.NUI.LayoutLength(value.Height);
3199 _layout.RequestLayout();
3201 SetValue(MinimumSizeProperty, value);
3202 NotifyPropertyChanged();
3207 /// Gets or sets the maximum size the view can be assigned in size negotiation.
3209 /// <since_tizen> 3 </since_tizen>
3210 public Size2D MaximumSize
3214 Size2D tmp = (Size2D)GetValue(MaximumSizeProperty);
3215 return new Size2D(OnMaximumSizeChanged, tmp.Width, tmp.Height);
3219 // We don't have Layout.Maximum(Width|Height) so we cannot apply it to layout.
3220 // MATCH_PARENT spec + parent container size can be used to limit
3221 if (_layout != null)
3223 // Note: it only works if minimum size is >= than natural size.
3224 // To force the size it should be done through the width&height spec or Size2D.
3225 _layout.MinimumHeight = new Tizen.NUI.LayoutLength(value.Width);
3226 _layout.MinimumWidth = new Tizen.NUI.LayoutLength(value.Height);
3227 _layout.RequestLayout();
3229 SetValue(MaximumSizeProperty, value);
3230 NotifyPropertyChanged();
3235 /// Gets or sets whether a child view inherits it's parent's position.<br />
3236 /// Default is to inherit.<br />
3237 /// Switching this off means that using position sets the view's world position, i.e., translates from the world origin (0,0,0) to the pivot point of the view.<br />
3239 /// <since_tizen> 3 </since_tizen>
3240 public bool InheritPosition
3244 return (bool)GetValue(InheritPositionProperty);
3248 SetValue(InheritPositionProperty, value);
3249 NotifyPropertyChanged();
3254 /// Gets or sets the clipping behavior (mode) of it's children.
3256 /// <since_tizen> 3 </since_tizen>
3257 public ClippingModeType ClippingMode
3261 return (ClippingModeType)GetValue(ClippingModeProperty);
3265 SetValue(ClippingModeProperty, value);
3266 NotifyPropertyChanged();
3271 /// Gets the number of renderers held by the view.
3273 /// <since_tizen> 3 </since_tizen>
3274 public uint RendererCount
3278 return GetRendererCount();
3283 /// Deprecated in API5; Will be removed in API8. Please use PivotPoint instead!
3285 /// <since_tizen> 3 </since_tizen>
3286 [Obsolete("Deprecated in API5; Will be removed in API8. Please use PivotPoint instead! " +
3288 "View view = new View(); " +
3289 "view.PivotPoint = PivotPoint.Center; " +
3290 "view.PositionUsesPivotPoint = true;")]
3291 [EditorBrowsable(EditorBrowsableState.Never)]
3292 public Position AnchorPoint
3296 Position temp = new Position(0.0f, 0.0f, 0.0f);
3297 GetProperty(View.Property.ANCHOR_POINT).Get(temp);
3302 SetProperty(View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
3303 NotifyPropertyChanged();
3308 /// Sets the size of a view for the width, the height and the depth.<br />
3309 /// Geometry can be scaled to fit within this area.<br />
3310 /// This does not interfere with the view's scale factor.<br />
3311 /// The views default depth is the minimum of width and height.<br />
3314 /// Please note that multi-cascade setting is not possible for this NUI object. <br />
3315 /// It is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
3316 /// For example, this code is working fine : view.Size = new Size( 1.0f, 1.0f, 0.0f); <br />
3317 /// but this will not work! : view.Size.Width = 2.0f; view.Size.Height = 2.0f; <br />
3318 /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimu size is set. <br />
3320 /// <since_tizen> 5 </since_tizen>
3325 Size tmp = (Size)GetValue(SizeProperty);
3326 return new Size(OnSizeChanged, tmp.Width, tmp.Height, tmp.Depth);
3330 SetValue(SizeProperty, value);
3331 // Set Specification so when layouts measure this View it matches the value set here.
3332 // All Views are currently Layouts.
3333 WidthSpecification = (int)Math.Ceiling(value.Width);
3334 HeightSpecification = (int)Math.Ceiling(value.Height);
3335 NotifyPropertyChanged();
3340 /// Deprecated in API5; Will be removed in API8. Please use 'Container GetParent() for derived class' instead!
3342 /// <since_tizen> 3 </since_tizen>
3343 [Obsolete("Deprecated in API5; Will be removed in API8. Please use 'Container GetParent() for derived class' instead! " +
3345 "Container parent = view.GetParent(); " +
3346 "View view = parent as View;")]
3347 [EditorBrowsable(EditorBrowsableState.Never)]
3348 public new View Parent
3353 IntPtr cPtr = Interop.Actor.Actor_GetParent(swigCPtr);
3354 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
3355 BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle);
3357 if (basehandle is Layer layer)
3359 ret = new View(Layer.getCPtr(layer).Handle, false);
3360 NUILog.Error("This Parent property is deprecated, shoud do not be used");
3364 ret = basehandle as View;
3367 Interop.BaseHandle.delete_BaseHandle(CPtr);
3368 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
3370 if (NDalicPINVOKE.SWIGPendingException.Pending)
3371 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
3377 /// Gets/Sets whether inherit parent's the layout Direction.
3379 /// <since_tizen> 4 </since_tizen>
3380 public bool InheritLayoutDirection
3384 return (bool)GetValue(InheritLayoutDirectionProperty);
3388 SetValue(InheritLayoutDirectionProperty, value);
3389 NotifyPropertyChanged();
3394 /// Gets/Sets the layout Direction.
3396 /// <since_tizen> 4 </since_tizen>
3397 public ViewLayoutDirectionType LayoutDirection
3401 return (ViewLayoutDirectionType)GetValue(LayoutDirectionProperty);
3405 SetValue(LayoutDirectionProperty, value);
3406 NotifyPropertyChanged();
3407 _layout?.RequestLayout();
3412 /// Gets or sets the Margin for use in layout.
3415 /// Margin property is supported by Layout algorithms and containers.
3416 /// Please Set Layout if you want to use Margin property.
3418 /// <since_tizen> 4 </since_tizen>
3419 public Extents Margin
3423 // If View has a Layout then margin is stored in Layout.
3426 return Layout.Margin;
3430 // If Layout not set then return margin stored in View.
3431 return (Extents)GetValue(MarginProperty);
3433 // Two return points to prevent creating a zeroed Extent native object before assignment
3439 // Layout set so store Margin in LayoutItem instead of View.
3440 // If View stores the Margin too then the Legacy Size Negotiation will
3441 // overwrite the position and size values measured in the Layouting.
3442 Layout.Margin = value;
3443 SetValue(MarginProperty, new Extents(0,0,0,0));
3444 _layout?.RequestLayout();
3448 SetValue(MarginProperty, value);
3450 NotifyPropertyChanged();
3451 _layout?.RequestLayout();
3456 /// The required policy for this dimension, LayoutParamPolicies enum or exact value.
3458 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
3460 /// Previously named LayoutWidthSpecification
3462 [EditorBrowsable(EditorBrowsableState.Never)]
3463 public int WidthSpecification
3467 return _widthPolicy;
3471 _widthPolicy = value;
3472 if (_widthPolicy >= 0)
3474 _measureSpecificationWidth = new MeasureSpecification( new LayoutLength(value), MeasureSpecification.ModeType.Exactly );
3475 //Tizen.NUI.Object.SetProperty(swigCPtr, View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue(value));
3476 Size2D.Width = _widthPolicy;
3478 _layout?.RequestLayout();
3483 /// The required policy for this dimension, LayoutParamPolicies enum or exact value.
3485 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
3487 /// Previously named LayoutHeightSpecification
3489 [EditorBrowsable(EditorBrowsableState.Never)]
3490 public int HeightSpecification
3494 return _heightPolicy;
3498 _heightPolicy = value;
3499 if (_heightPolicy >= 0)
3501 _measureSpecificationHeight = new MeasureSpecification( new LayoutLength(value), MeasureSpecification.ModeType.Exactly );
3502 //Tizen.NUI.Object.SetProperty(swigCPtr, View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue(value));
3503 Size2D.Height = _heightPolicy;
3505 _layout?.RequestLayout();
3510 /// Gets the List of transitions for this View.
3512 /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
3513 [EditorBrowsable(EditorBrowsableState.Never)]
3514 public Dictionary<TransitionCondition, TransitionList> LayoutTransitions
3518 if (_layoutTransitions == null)
3520 _layoutTransitions = new Dictionary<TransitionCondition, TransitionList>();
3522 return _layoutTransitions;
3526 internal LayoutTransition LayoutTransition
3530 if (_layoutTransitions == null)
3532 _layoutTransitions = new Dictionary<TransitionCondition, TransitionList>();
3534 LayoutTransitionsHelper.AddTransitionForCondition(_layoutTransitions,value.Condition,value, true);
3536 AttachTransitionsToChildren(value);
3541 /// Deprecated in API5; Will be removed in API8. Please use Padding instead.
3543 /// <since_tizen> 4 </since_tizen>
3544 [Obsolete("Deprecated in API5; Will be removed in API8. Please use Padding instead.")]
3545 [EditorBrowsable(EditorBrowsableState.Never)]
3546 public Extents PaddingEX
3550 Extents temp = new Extents(0, 0, 0, 0);
3551 GetProperty(View.Property.PADDING).Get(temp);
3556 SetProperty(View.Property.PADDING, new Tizen.NUI.PropertyValue(value));
3557 NotifyPropertyChanged();
3558 _layout?.RequestLayout();
3562 /// <since_tizen> 6 </since_tizen>
3563 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
3564 [EditorBrowsable(EditorBrowsableState.Never)]
3565 public Style XamlStyle
3569 return (Style)GetValue(XamlStyleProperty);
3573 SetValue(XamlStyleProperty, value);
3578 /// The Color of View. This is an RGBA value.
3580 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
3581 [EditorBrowsable(EditorBrowsableState.Never)]
3590 return GetCurrentColor();
3595 /// The color mode of View.
3596 /// This specifies whether the View uses its own color, or inherits its parent color.
3597 /// The default is ColorMode.UseOwnMultiplyParentColor.
3599 internal ColorMode ColorMode
3603 SetColorMode(value);
3607 return GetColorMode();
3611 internal float Weight
3620 _layout?.RequestLayout();
3625 /// Whether to load the BackgroundImage synchronously.
3626 /// If not specified, the default is false, i.e. the BackgroundImage is loaded asynchronously.
3627 /// Note: For Normal Quad images only.
3629 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
3630 [EditorBrowsable(EditorBrowsableState.Never)]
3631 public bool BackgroundImageSynchronosLoading
3635 return _backgroundImageSynchronosLoading;
3639 _backgroundImageSynchronosLoading = value;
3642 Background.Find(Visual.Property.Type)?.Get(out visualType);
3643 if (visualType == (int)Visual.Type.Image)
3645 Background.Find(ImageVisualProperty.URL)?.Get(out bgUrl);
3648 if (bgUrl.Length != 0)
3650 PropertyMap bgMap = this.Background;
3651 bgMap.Add("synchronousLoading", new PropertyValue(_backgroundImageSynchronosLoading));
3658 internal float WorldPositionX
3663 GetProperty(View.Property.WORLD_POSITION_X).Get(out temp);
3668 internal float WorldPositionY
3673 GetProperty(View.Property.WORLD_POSITION_Y).Get(out temp);
3678 internal float WorldPositionZ
3683 GetProperty(View.Property.WORLD_POSITION_Z).Get(out temp);
3688 internal bool FocusState
3692 return IsKeyboardFocusable();
3696 SetKeyboardFocusable(value);
3701 /// Set the layout on this View. Replaces any existing Layout.
3703 internal LayoutItem Layout
3711 // Do nothing if layout provided is already set on this View.
3712 if (value == _layout)
3717 Log.Info("NUI", "Setting Layout on:" + Name + "\n");
3718 layoutingDisabled = false;
3721 // If new layout being set already has a owner then that owner receives a replacement default layout.
3722 // First check if the layout to be set already has a owner.
3723 if (value?.Owner != null)
3725 Log.Info("NUI", "Set layout already in use by another View: " + value.Owner.Name + "will get a LayoutGroup\n");
3726 // Previous owner of the layout gets a default layout as a replacement.
3727 value.Owner.Layout = new LayoutGroup();
3729 // Copy Margin and Padding to replacement LayoutGroup.
3730 value.Owner.Layout.Margin = value.Margin;
3731 value.Owner.Layout.Padding = value.Padding;
3734 // Copy Margin and Padding to new layout being set or restore padding and margin back to
3735 // View if no replacement. Previously margin and padding values would have been moved from
3736 // the View to the layout.
3737 if (_layout != null ) // Existing layout
3741 // Existing layout being replaced so copy over margin and padding values.
3742 value.Margin = _layout.Margin;
3743 value.Padding = _layout.Padding;
3747 // Layout not being replaced so restore margin and padding to View.
3748 SetValue(MarginProperty, _layout.Margin);
3749 SetValue(PaddingProperty, _layout.Padding);
3750 NotifyPropertyChanged();
3755 // First Layout to be added to the View hence copy
3757 // Do not try to set Margins or Padding on a null Layout (when a layout is being removed from a View)
3760 if (Margin.Top != 0 || Margin.Bottom !=0 || Margin.Start !=0 || Margin.End != 0)
3762 // If View already has a margin set then store it in Layout instead.
3763 value.Margin = Margin;
3764 SetValue(MarginProperty, new Extents(0,0,0,0));
3765 NotifyPropertyChanged();
3768 if (Padding.Top != 0 || Padding.Bottom !=0 || Padding.Start !=0 || Padding.End != 0)
3770 // If View already has a padding set then store it in Layout instead.
3771 value.Padding = Padding;
3772 SetValue(PaddingProperty, new Extents(0,0,0,0));
3773 NotifyPropertyChanged();
3778 // Remove existing layout from it's parent layout group.
3779 _layout?.Unparent();
3781 // Set layout to this view
3786 internal void SetLayout(LayoutItem layout)
3789 _layout?.AttachToOwner(this);
3790 _layout?.RequestLayout();
3794 /// Stores the calculated width value and its ModeType. Width component.
3796 internal MeasureSpecification MeasureSpecificationWidth
3800 _measureSpecificationWidth = value;
3801 _layout?.RequestLayout();
3805 return _measureSpecificationWidth;
3810 /// Stores the calculated width value and its ModeType. Height component.
3812 internal MeasureSpecification MeasureSpecificationHeight
3816 _measureSpecificationHeight = value;
3817 _layout?.RequestLayout();
3821 return _measureSpecificationHeight;
3825 internal void AttachTransitionsToChildren(LayoutTransition transition)
3827 // Iterate children, adding the transition unless a transition
3828 // for the same condition and property has already been
3829 // explicitly added.
3830 foreach (View view in Children)
3832 LayoutTransitionsHelper.AddTransitionForCondition(view.LayoutTransitions,transition.Condition, transition, false);
3836 internal float ParentOriginX
3841 GetProperty(View.Property.PARENT_ORIGIN_X).Get(out temp);
3846 SetProperty(View.Property.PARENT_ORIGIN_X, new Tizen.NUI.PropertyValue(value));
3847 NotifyPropertyChanged();
3851 internal float ParentOriginY
3856 GetProperty(View.Property.PARENT_ORIGIN_Y).Get(out temp);
3861 SetProperty(View.Property.PARENT_ORIGIN_Y, new Tizen.NUI.PropertyValue(value));
3862 NotifyPropertyChanged();
3866 internal float ParentOriginZ
3871 GetProperty(View.Property.PARENT_ORIGIN_Z).Get(out temp);
3876 SetProperty(View.Property.PARENT_ORIGIN_Z, new Tizen.NUI.PropertyValue(value));
3877 NotifyPropertyChanged();
3881 internal float PivotPointX
3886 GetProperty(View.Property.ANCHOR_POINT_X).Get(out temp);
3891 SetProperty(View.Property.ANCHOR_POINT_X, new Tizen.NUI.PropertyValue(value));
3895 internal float PivotPointY
3900 GetProperty(View.Property.ANCHOR_POINT_Y).Get(out temp);
3905 SetProperty(View.Property.ANCHOR_POINT_Y, new Tizen.NUI.PropertyValue(value));
3909 internal float PivotPointZ
3914 GetProperty(View.Property.ANCHOR_POINT_Z).Get(out temp);
3919 SetProperty(View.Property.ANCHOR_POINT_Z, new Tizen.NUI.PropertyValue(value));
3923 internal Matrix WorldMatrix
3927 Matrix temp = new Matrix();
3928 GetProperty(View.Property.WORLD_MATRIX).Get(temp);
3933 private int LeftFocusableViewId
3938 GetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID).Get(out temp);
3943 SetProperty(View.Property.LEFT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
3947 private int RightFocusableViewId
3952 GetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID).Get(out temp);
3957 SetProperty(View.Property.RIGHT_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
3961 private int UpFocusableViewId
3966 GetProperty(View.Property.UP_FOCUSABLE_VIEW_ID).Get(out temp);
3971 SetProperty(View.Property.UP_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
3975 private int DownFocusableViewId
3980 GetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID).Get(out temp);
3985 SetProperty(View.Property.DOWN_FOCUSABLE_VIEW_ID, new Tizen.NUI.PropertyValue(value));
3990 /// Perform an action on a visual registered to this view. <br />
3991 /// Visuals will have actions. This API is used to perform one of these actions with the given attributes.
3993 /// <param name="propertyIndexOfVisual">The Property index of the visual.</param>
3994 /// <param name="propertyIndexOfActionId">The action to perform. See Visual to find the supported actions.</param>
3995 /// <param name="attributes">Optional attributes for the action.</param>
3996 /// <since_tizen> 5 </since_tizen>
3997 public void DoAction(int propertyIndexOfVisual, int propertyIndexOfActionId, PropertyValue attributes)
3999 Interop.View.View_DoAction(swigCPtr, propertyIndexOfVisual, propertyIndexOfActionId, PropertyValue.getCPtr(attributes));
4000 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4004 /// Creates an animation to animate the background color visual. If there is no
4005 /// background visual, creates one with transparent black as it's mixColor.
4007 /// <since_tizen> 3 </since_tizen>
4008 public Animation AnimateBackgroundColor(object destinationValue,
4011 AlphaFunction.BuiltinFunctions? alphaFunction = null,
4012 object initialValue = null)
4014 Tizen.NUI.PropertyMap background = Background;
4016 if (background.Empty())
4018 // If there is no background yet, ensure there is a transparent
4020 BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
4021 background = Background;
4023 return AnimateColor("background", destinationValue, startTime, endTime, alphaFunction, initialValue);
4027 /// Creates an animation to animate the mixColor of the named visual.
4029 /// <since_tizen> 3 </since_tizen>
4030 public Animation AnimateColor(string targetVisual, object destinationColor, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialColor = null)
4032 Animation animation = null;
4034 PropertyMap _animator = new PropertyMap();
4035 if (alphaFunction != null)
4037 _animator.Add("alphaFunction", new PropertyValue(AlphaFunction.BuiltinToPropertyKey(alphaFunction)));
4040 PropertyMap _timePeriod = new PropertyMap();
4041 _timePeriod.Add("duration", new PropertyValue((endTime - startTime) / 1000.0f));
4042 _timePeriod.Add("delay", new PropertyValue(startTime / 1000.0f));
4043 _animator.Add("timePeriod", new PropertyValue(_timePeriod));
4045 PropertyMap _transition = new PropertyMap();
4046 _transition.Add("animator", new PropertyValue(_animator));
4047 _transition.Add("target", new PropertyValue(targetVisual));
4048 _transition.Add("property", new PropertyValue("mixColor"));
4050 if (initialColor != null)
4052 PropertyValue initValue = PropertyValue.CreateFromObject(initialColor);
4053 _transition.Add("initialValue", initValue);
4056 PropertyValue destValue = PropertyValue.CreateFromObject(destinationColor);
4057 _transition.Add("targetValue", destValue);
4058 TransitionData _transitionData = new TransitionData(_transition);
4060 animation = new Animation(Interop.View.View_CreateTransition(swigCPtr, TransitionData.getCPtr(_transitionData)), true);
4061 if (NDalicPINVOKE.SWIGPendingException.Pending)
4062 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4067 // From Container Base class
4069 /// Adds a child view to this view.
4071 /// <seealso cref="Container.Add" />
4072 /// <since_tizen> 4 </since_tizen>
4073 public override void Add(View child)
4075 bool hasLayout = (_layout != null);
4079 Tizen.Log.Fatal("NUI", "Child is null");
4083 Container oldParent = child.GetParent();
4084 if (oldParent != this)
4086 // If child already has a parent then re-parent child
4087 if (oldParent != null)
4089 oldParent.Remove(child);
4091 child.InternalParent = this;
4093 Interop.Actor.Actor_Add(swigCPtr, View.getCPtr(child));
4095 if (NDalicPINVOKE.SWIGPendingException.Pending)
4096 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4097 Children.Add(child);
4099 if (ChildAdded != null)
4101 ChildAddedEventArgs e = new ChildAddedEventArgs
4105 ChildAdded(this, e);
4107 BindableObject.SetInheritedBindingContext(child, this?.BindingContext);
4112 /// Removes a child view from this View. If the view was not a child of this view, this is a no-op.
4114 /// <seealso cref="Container.Remove" />
4115 /// <since_tizen> 4 </since_tizen>
4116 public override void Remove(View child)
4118 if (!child || child.GetParent()==null) // Early out if child null.
4121 bool hasLayout = (_layout != null);
4123 // If View has a layout then do a deferred child removal
4124 // Actual child removal is performed by the layouting system so
4125 // transitions can be completed.
4128 (_layout as LayoutGroup)?.RemoveChildFromLayoutGroup( child );
4137 /// Retrieves a child view by index.
4139 /// <seealso cref="Container.GetChildAt" />
4140 /// <since_tizen> 4 </since_tizen>
4141 public override View GetChildAt(uint index)
4143 if (index < Children.Count)
4145 return Children[Convert.ToInt32(index)];
4154 /// Retrieves the number of children held by the view.
4156 /// <seealso cref="Container.GetChildCount" />
4157 /// <since_tizen> 4 </since_tizen>
4158 public override uint GetChildCount()
4160 return Convert.ToUInt32(Children.Count);
4164 /// Gets the views parent.
4166 /// <seealso cref="Container.GetParent()" />
4167 /// <since_tizen> 4 </since_tizen>
4168 public override Container GetParent()
4170 return this.InternalParent as Container;
4174 /// Queries whether the view has a focus.
4176 /// <returns>True if this view has a focus.</returns>
4177 /// <since_tizen> 3 </since_tizen>
4178 public bool HasFocus()
4181 if (swigCPtr.Handle != global::System.IntPtr.Zero)
4183 ret = Interop.View.View_HasKeyInputFocus(swigCPtr);
4184 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4188 Tizen.Log.Error("NUI", "swigCPtr of view is aleady disposed.");
4194 /// Sets the name of the style to be applied to the view.
4196 /// <param name="styleName">A string matching a style described in a stylesheet.</param>
4197 /// <since_tizen> 3 </since_tizen>
4198 public void SetStyleName(string styleName)
4200 Interop.View.View_SetStyleName(swigCPtr, styleName);
4201 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4205 /// Retrieves the name of the style to be applied to the view (if any).
4207 /// <returns>A string matching a style, or an empty string.</returns>
4208 /// <since_tizen> 3 </since_tizen>
4209 public string GetStyleName()
4211 string ret = Interop.View.View_GetStyleName(swigCPtr);
4212 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4217 /// Clears the background.
4219 /// <since_tizen> 3 </since_tizen>
4220 public void ClearBackground()
4222 Interop.View.View_ClearBackground(swigCPtr);
4223 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4230 /// This is an asynchronous method.
4232 /// <since_tizen> 3 </since_tizen>
4242 /// This is an asynchronous method.
4243 /// If the view is hidden, then the view and its children will not be rendered.
4244 /// This is regardless of the individual visibility of the children, i.e., the view will only be rendered if all of its parents are shown.
4246 /// <since_tizen> 3 </since_tizen>
4253 /// Raises the view above all other views.
4256 /// Sibling order of views within the parent will be updated automatically.
4257 /// Once a raise or lower API is used, that view will then have an exclusive sibling order independent of insertion.
4259 /// <since_tizen> 3 </since_tizen>
4260 public void RaiseToTop()
4262 var parentChildren = GetParent()?.Children;
4264 if (parentChildren != null)
4266 parentChildren.Remove(this);
4267 parentChildren.Add(this);
4269 Interop.NDalic.RaiseToTop(swigCPtr);
4270 if (NDalicPINVOKE.SWIGPendingException.Pending)
4271 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4277 /// Lowers the view to the bottom of all views.
4280 /// The sibling order of views within the parent will be updated automatically.
4281 /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
4283 /// <since_tizen> 3 </since_tizen>
4284 public void LowerToBottom()
4286 var parentChildren = GetParent()?.Children;
4288 if (parentChildren != null)
4290 parentChildren.Remove(this);
4291 parentChildren.Insert(0, this);
4293 Interop.NDalic.LowerToBottom(swigCPtr);
4294 if (NDalicPINVOKE.SWIGPendingException.Pending)
4295 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4300 /// Queries if all resources required by a view are loaded and ready.
4302 /// <remarks>Most resources are only loaded when the control is placed on the stage.
4304 /// <since_tizen> 3 </since_tizen>
4305 public bool IsResourceReady()
4307 bool ret = Interop.View.IsResourceReady(swigCPtr);
4308 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4313 /// Gets the parent layer of this view.If a view has no parent, this method does not do anything.
4315 /// <pre>The view has been initialized. </pre>
4316 /// <returns>The parent layer of view </returns>
4317 /// <since_tizen> 5 </since_tizen>
4318 public Layer GetLayer()
4320 //to fix memory leak issue, match the handle count with native side.
4321 IntPtr cPtr = Interop.Actor.Actor_GetLayer(swigCPtr);
4322 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
4323 Layer ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Layer;
4324 Interop.BaseHandle.delete_BaseHandle(CPtr);
4325 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
4327 if (NDalicPINVOKE.SWIGPendingException.Pending)
4328 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4333 /// Removes a view from its parent view or layer. If a view has no parent, this method does nothing.
4335 /// <pre>The (child) view has been initialized. </pre>
4336 /// <since_tizen> 4 </since_tizen>
4337 public void Unparent()
4339 GetParent()?.Remove(this);
4343 /// Search through this view's hierarchy for a view with the given name.
4344 /// The view itself is also considered in the search.
4346 /// <pre>The view has been initialized.</pre>
4347 /// <param name="viewName">The name of the view to find.</param>
4348 /// <returns>A handle to the view if found, or an empty handle if not.</returns>
4349 /// <since_tizen> 3 </since_tizen>
4350 public View FindChildByName(string viewName)
4352 //to fix memory leak issue, match the handle count with native side.
4353 IntPtr cPtr = Interop.Actor.Actor_FindChildByName(swigCPtr, viewName);
4354 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
4355 View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
4356 Interop.BaseHandle.delete_BaseHandle(CPtr);
4357 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
4359 if (NDalicPINVOKE.SWIGPendingException.Pending)
4360 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4365 /// Converts screen coordinates into the view's coordinate system using the default camera.
4367 /// <pre>The view has been initialized.</pre>
4368 /// <remarks>The view coordinates are relative to the top-left(0.0, 0.0, 0.5).</remarks>
4369 /// <param name="localX">On return, the X-coordinate relative to the view.</param>
4370 /// <param name="localY">On return, the Y-coordinate relative to the view.</param>
4371 /// <param name="screenX">The screen X-coordinate.</param>
4372 /// <param name="screenY">The screen Y-coordinate.</param>
4373 /// <returns>True if the conversion succeeded.</returns>
4374 /// <since_tizen> 3 </since_tizen>
4375 public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
4377 bool ret = Interop.Actor.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
4378 if (NDalicPINVOKE.SWIGPendingException.Pending)
4379 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4384 /// Sets the relative to parent size factor of the view.<br />
4385 /// This factor is only used when ResizePolicy is set to either:
4386 /// ResizePolicy::SIZE_RELATIVE_TO_PARENT or ResizePolicy::SIZE_FIXED_OFFSET_FROM_PARENT.<br />
4387 /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicy.<br />
4389 /// <pre>The view has been initialized.</pre>
4390 /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis.</param>
4391 /// <since_tizen> 3 </since_tizen>
4392 public void SetSizeModeFactor(Vector3 factor)
4394 Interop.Actor.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
4395 if (NDalicPINVOKE.SWIGPendingException.Pending)
4396 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4399 /// Calculates the height of the view given a width.<br />
4400 /// The natural size is used for default calculation.<br />
4401 /// Size 0 is treated as aspect ratio 1:1.<br />
4403 /// <param name="width">The width to use.</param>
4404 /// <returns>The height based on the width.</returns>
4405 /// <since_tizen> 3 </since_tizen>
4406 public float GetHeightForWidth(float width)
4408 float ret = Interop.Actor.Actor_GetHeightForWidth(swigCPtr, width);
4409 if (NDalicPINVOKE.SWIGPendingException.Pending)
4410 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4415 /// Calculates the width of the view given a height.<br />
4416 /// The natural size is used for default calculation.<br />
4417 /// Size 0 is treated as aspect ratio 1:1.<br />
4419 /// <param name="height">The height to use.</param>
4420 /// <returns>The width based on the height.</returns>
4421 /// <since_tizen> 3 </since_tizen>
4422 public float GetWidthForHeight(float height)
4424 float ret = Interop.Actor.Actor_GetWidthForHeight(swigCPtr, height);
4425 if (NDalicPINVOKE.SWIGPendingException.Pending)
4426 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4431 /// Return the amount of size allocated for relayout.
4433 /// <param name="dimension">The dimension to retrieve.</param>
4434 /// <returns>Return the size.</returns>
4435 /// <since_tizen> 3 </since_tizen>
4436 public float GetRelayoutSize(DimensionType dimension)
4438 float ret = Interop.Actor.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
4439 if (NDalicPINVOKE.SWIGPendingException.Pending)
4440 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4445 /// Set the padding for the view.
4447 /// <param name="padding">Padding for the view.</param>
4448 /// <since_tizen> 3 </since_tizen>
4449 public void SetPadding(PaddingType padding)
4451 Interop.Actor.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
4452 if (NDalicPINVOKE.SWIGPendingException.Pending)
4453 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4457 /// Return the value of padding for the view.
4459 /// <param name="paddingOut">the value of padding for the view</param>
4460 /// <since_tizen> 3 </since_tizen>
4461 public void GetPadding(PaddingType paddingOut)
4463 Interop.Actor.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
4464 if (NDalicPINVOKE.SWIGPendingException.Pending)
4465 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4468 /// <since_tizen> 3 </since_tizen>
4469 public uint AddRenderer(Renderer renderer)
4471 uint ret = Interop.Actor.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
4472 if (NDalicPINVOKE.SWIGPendingException.Pending)
4473 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4477 /// <since_tizen> 3 </since_tizen>
4478 public Renderer GetRendererAt(uint index)
4480 //to fix memory leak issue, match the handle count with native side.
4481 IntPtr cPtr = Interop.Actor.Actor_GetRendererAt(swigCPtr, index);
4482 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
4483 Renderer ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Renderer;
4484 if (cPtr != null && ret == null)
4486 ret = new Renderer(cPtr, false);
4487 if (NDalicPINVOKE.SWIGPendingException.Pending)
4488 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4491 Interop.BaseHandle.delete_BaseHandle(CPtr);
4492 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
4494 if (NDalicPINVOKE.SWIGPendingException.Pending)
4495 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4499 /// <since_tizen> 3 </since_tizen>
4500 public void RemoveRenderer(Renderer renderer)
4502 Interop.Actor.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
4503 if (NDalicPINVOKE.SWIGPendingException.Pending)
4504 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4507 /// <since_tizen> 3 </since_tizen>
4508 public void RemoveRenderer(uint index)
4510 Interop.Actor.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
4511 if (NDalicPINVOKE.SWIGPendingException.Pending)
4512 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4515 internal void Raise()
4517 var parentChildren = GetParent()?.Children;
4519 if (parentChildren != null)
4521 int currentIndex = parentChildren.IndexOf(this);
4523 // If the view is not already the last item in the list.
4524 if (currentIndex >= 0 && currentIndex < parentChildren.Count - 1)
4526 View temp = parentChildren[currentIndex + 1];
4527 parentChildren[currentIndex + 1] = this;
4528 parentChildren[currentIndex] = temp;
4530 Interop.NDalic.Raise(swigCPtr);
4531 if (NDalicPINVOKE.SWIGPendingException.Pending)
4532 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4537 internal void Lower()
4539 var parentChildren = GetParent()?.Children;
4541 if (parentChildren != null)
4543 int currentIndex = parentChildren.IndexOf(this);
4545 // If the view is not already the first item in the list.
4546 if (currentIndex > 0 && currentIndex < parentChildren.Count)
4548 View temp = parentChildren[currentIndex - 1];
4549 parentChildren[currentIndex - 1] = this;
4550 parentChildren[currentIndex] = temp;
4552 Interop.NDalic.Lower(swigCPtr);
4553 if (NDalicPINVOKE.SWIGPendingException.Pending)
4554 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4560 /// Raises the view to above the target view.
4562 /// <remarks>The sibling order of views within the parent will be updated automatically.
4563 /// Views on the level above the target view will still be shown above this view.
4564 /// Raising this view above views with the same sibling order as each other will raise this view above them.
4565 /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
4567 /// <param name="target">Will be raised above this view.</param>
4568 internal void RaiseAbove(View target)
4570 var parentChildren = GetParent()?.Children;
4572 if (parentChildren != null)
4574 int currentIndex = parentChildren.IndexOf(this);
4575 int targetIndex = parentChildren.IndexOf(target);
4577 if (currentIndex < 0 || targetIndex < 0 ||
4578 currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
4580 NUILog.Error("index should be bigger than 0 and less than children of layer count");
4583 // If the currentIndex is less than the target index and the target has the same parent.
4584 if (currentIndex < targetIndex)
4586 parentChildren.Remove(this);
4587 parentChildren.Insert(targetIndex, this);
4589 Interop.NDalic.RaiseAbove(swigCPtr, View.getCPtr(target));
4590 if (NDalicPINVOKE.SWIGPendingException.Pending)
4591 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4598 /// Lowers the view to below the target view.
4600 /// <remarks>The sibling order of views within the parent will be updated automatically.
4601 /// Lowering this view below views with the same sibling order as each other will lower this view above them.
4602 /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
4604 /// <param name="target">Will be lowered below this view.</param>
4605 internal void LowerBelow(View target)
4607 var parentChildren = GetParent()?.Children;
4609 if (parentChildren != null)
4611 int currentIndex = parentChildren.IndexOf(this);
4612 int targetIndex = parentChildren.IndexOf(target);
4613 if (currentIndex < 0 || targetIndex < 0 ||
4614 currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
4616 NUILog.Error("index should be bigger than 0 and less than children of layer count");
4620 // If the currentIndex is not already the 0th index and the target has the same parent.
4621 if ((currentIndex != 0) && (targetIndex != -1) &&
4622 (currentIndex > targetIndex))
4624 parentChildren.Remove(this);
4625 parentChildren.Insert(targetIndex, this);
4627 Interop.NDalic.LowerBelow(swigCPtr, View.getCPtr(target));
4628 if (NDalicPINVOKE.SWIGPendingException.Pending)
4629 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4635 internal string GetName()
4637 string ret = Interop.Actor.Actor_GetName(swigCPtr);
4638 if (NDalicPINVOKE.SWIGPendingException.Pending)
4639 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4643 internal void SetName(string name)
4645 Interop.Actor.Actor_SetName(swigCPtr, name);
4646 if (NDalicPINVOKE.SWIGPendingException.Pending)
4647 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4650 internal uint GetId()
4652 uint ret = Interop.Actor.Actor_GetId(swigCPtr);
4653 if (NDalicPINVOKE.SWIGPendingException.Pending)
4654 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4658 internal bool IsRoot()
4660 bool ret = Interop.ActorInternal.Actor_IsRoot(swigCPtr);
4661 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4665 internal bool OnWindow()
4667 bool ret = Interop.Actor.Actor_OnStage(swigCPtr);
4668 if (NDalicPINVOKE.SWIGPendingException.Pending)
4669 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4673 internal View FindChildById(uint id)
4675 //to fix memory leak issue, match the handle count with native side.
4676 IntPtr cPtr = Interop.Actor.Actor_FindChildById(swigCPtr, id);
4677 HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
4678 View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
4679 Interop.BaseHandle.delete_BaseHandle(CPtr);
4680 CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
4682 if (NDalicPINVOKE.SWIGPendingException.Pending)
4683 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4687 internal override View FindCurrentChildById(uint id)
4689 return FindChildById(id);
4692 internal void SetParentOrigin(Vector3 origin)
4694 Interop.ActorInternal.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
4695 if (NDalicPINVOKE.SWIGPendingException.Pending)
4696 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4699 internal Vector3 GetCurrentParentOrigin()
4701 Vector3 ret = new Vector3(Interop.ActorInternal.Actor_GetCurrentParentOrigin(swigCPtr), true);
4702 if (NDalicPINVOKE.SWIGPendingException.Pending)
4703 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4707 internal void SetAnchorPoint(Vector3 anchorPoint)
4709 Interop.Actor.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
4710 if (NDalicPINVOKE.SWIGPendingException.Pending)
4711 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4714 internal Vector3 GetCurrentAnchorPoint()
4716 Vector3 ret = new Vector3(Interop.ActorInternal.Actor_GetCurrentAnchorPoint(swigCPtr), true);
4717 if (NDalicPINVOKE.SWIGPendingException.Pending)
4718 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4722 internal void SetSize(float width, float height)
4724 Interop.ActorInternal.Actor_SetSize__SWIG_0(swigCPtr, width, height);
4725 if (NDalicPINVOKE.SWIGPendingException.Pending)
4726 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4729 internal void SetSize(float width, float height, float depth)
4731 Interop.ActorInternal.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
4732 if (NDalicPINVOKE.SWIGPendingException.Pending)
4733 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4736 internal void SetSize(Vector2 size)
4738 Interop.ActorInternal.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
4739 if (NDalicPINVOKE.SWIGPendingException.Pending)
4740 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4743 internal void SetSize(Vector3 size)
4745 Interop.ActorInternal.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
4746 if (NDalicPINVOKE.SWIGPendingException.Pending)
4747 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4750 internal Vector3 GetTargetSize()
4752 Vector3 ret = new Vector3(Interop.ActorInternal.Actor_GetTargetSize(swigCPtr), true);
4753 if (NDalicPINVOKE.SWIGPendingException.Pending)
4754 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4758 internal Size2D GetCurrentSize()
4760 Size ret = new Size(Interop.Actor.Actor_GetCurrentSize(swigCPtr), true);
4761 if (NDalicPINVOKE.SWIGPendingException.Pending)
4762 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4763 Size2D size = new Size2D((int)ret.Width, (int)ret.Height);
4767 internal Vector3 GetNaturalSize()
4769 Vector3 ret = new Vector3(Interop.Actor.Actor_GetNaturalSize(swigCPtr), true);
4770 if (NDalicPINVOKE.SWIGPendingException.Pending)
4771 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4775 internal void SetPosition(float x, float y)
4777 Interop.ActorInternal.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
4778 if (NDalicPINVOKE.SWIGPendingException.Pending)
4779 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4782 internal void SetPosition(float x, float y, float z)
4784 Interop.ActorInternal.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
4785 if (NDalicPINVOKE.SWIGPendingException.Pending)
4786 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4789 internal void SetPosition(Vector3 position)
4791 Interop.ActorInternal.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
4792 if (NDalicPINVOKE.SWIGPendingException.Pending)
4793 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4796 internal void SetX(float x)
4798 Interop.ActorInternal.Actor_SetX(swigCPtr, x);
4799 if (NDalicPINVOKE.SWIGPendingException.Pending)
4800 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4803 internal void SetY(float y)
4805 Interop.ActorInternal.Actor_SetY(swigCPtr, y);
4806 if (NDalicPINVOKE.SWIGPendingException.Pending)
4807 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4810 internal void SetZ(float z)
4812 Interop.ActorInternal.Actor_SetZ(swigCPtr, z);
4813 if (NDalicPINVOKE.SWIGPendingException.Pending)
4814 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4817 internal void TranslateBy(Vector3 distance)
4819 Interop.ActorInternal.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
4820 if (NDalicPINVOKE.SWIGPendingException.Pending)
4821 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4824 internal Position GetCurrentPosition()
4826 Position ret = new Position(Interop.Actor.Actor_GetCurrentPosition(swigCPtr), true);
4827 if (NDalicPINVOKE.SWIGPendingException.Pending)
4828 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4832 internal Vector3 GetCurrentWorldPosition()
4834 Vector3 ret = new Vector3(Interop.ActorInternal.Actor_GetCurrentWorldPosition(swigCPtr), true);
4835 if (NDalicPINVOKE.SWIGPendingException.Pending)
4836 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4840 internal void SetInheritPosition(bool inherit)
4842 Interop.ActorInternal.Actor_SetInheritPosition(swigCPtr, inherit);
4843 if (NDalicPINVOKE.SWIGPendingException.Pending)
4844 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4847 internal bool IsPositionInherited()
4849 bool ret = Interop.ActorInternal.Actor_IsPositionInherited(swigCPtr);
4850 if (NDalicPINVOKE.SWIGPendingException.Pending)
4851 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4855 internal void SetOrientation(Degree angle, Vector3 axis)
4857 Interop.ActorInternal.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
4858 if (NDalicPINVOKE.SWIGPendingException.Pending)
4859 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4862 internal void SetOrientation(Radian angle, Vector3 axis)
4864 Interop.ActorInternal.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
4865 if (NDalicPINVOKE.SWIGPendingException.Pending)
4866 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4869 internal void SetOrientation(Rotation orientation)
4871 Interop.ActorInternal.Actor_SetOrientation__SWIG_2(swigCPtr, Rotation.getCPtr(orientation));
4872 if (NDalicPINVOKE.SWIGPendingException.Pending)
4873 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4876 /// This will be public opened in tizen_next after ACR done. Before ACR, need to be hidden as inhouse API.
4877 [EditorBrowsable(EditorBrowsableState.Never)]
4878 public void RotateBy(Degree angle, Vector3 axis)
4880 Interop.ActorInternal.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
4881 if (NDalicPINVOKE.SWIGPendingException.Pending)
4882 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4885 /// This will be public opened in tizen_next after ACR done. Before ACR, need to be hidden as inhouse API.
4886 [EditorBrowsable(EditorBrowsableState.Never)]
4887 public void RotateBy(Radian angle, Vector3 axis)
4889 Interop.ActorInternal.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
4890 if (NDalicPINVOKE.SWIGPendingException.Pending)
4891 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4894 /// This will be public opened in tizen_next after ACR done. Before ACR, need to be hidden as inhouse API.
4895 [EditorBrowsable(EditorBrowsableState.Never)]
4896 public void RotateBy(Rotation relativeRotation)
4898 Interop.ActorInternal.Actor_RotateBy__SWIG_2(swigCPtr, Rotation.getCPtr(relativeRotation));
4899 if (NDalicPINVOKE.SWIGPendingException.Pending)
4900 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4903 internal Rotation GetCurrentOrientation()
4905 Rotation ret = new Rotation(Interop.ActorInternal.Actor_GetCurrentOrientation(swigCPtr), true);
4906 if (NDalicPINVOKE.SWIGPendingException.Pending)
4907 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4911 internal void SetInheritOrientation(bool inherit)
4913 Interop.ActorInternal.Actor_SetInheritOrientation(swigCPtr, inherit);
4914 if (NDalicPINVOKE.SWIGPendingException.Pending)
4915 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4918 internal bool IsOrientationInherited()
4920 bool ret = Interop.ActorInternal.Actor_IsOrientationInherited(swigCPtr);
4921 if (NDalicPINVOKE.SWIGPendingException.Pending)
4922 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4926 internal Rotation GetCurrentWorldOrientation()
4928 Rotation ret = new Rotation(Interop.ActorInternal.Actor_GetCurrentWorldOrientation(swigCPtr), true);
4929 if (NDalicPINVOKE.SWIGPendingException.Pending)
4930 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4934 internal void SetScale(float scale)
4936 Interop.ActorInternal.Actor_SetScale__SWIG_0(swigCPtr, scale);
4937 if (NDalicPINVOKE.SWIGPendingException.Pending)
4938 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4941 internal void SetScale(float scaleX, float scaleY, float scaleZ)
4943 Interop.ActorInternal.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
4944 if (NDalicPINVOKE.SWIGPendingException.Pending)
4945 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4948 internal void SetScale(Vector3 scale)
4950 Interop.ActorInternal.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
4951 if (NDalicPINVOKE.SWIGPendingException.Pending)
4952 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4955 internal void ScaleBy(Vector3 relativeScale)
4957 Interop.ActorInternal.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
4958 if (NDalicPINVOKE.SWIGPendingException.Pending)
4959 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4962 internal Vector3 GetCurrentScale()
4964 Vector3 ret = new Vector3(Interop.ActorInternal.Actor_GetCurrentScale(swigCPtr), true);
4965 if (NDalicPINVOKE.SWIGPendingException.Pending)
4966 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4970 internal Vector3 GetCurrentWorldScale()
4972 Vector3 ret = new Vector3(Interop.ActorInternal.Actor_GetCurrentWorldScale(swigCPtr), true);
4973 if (NDalicPINVOKE.SWIGPendingException.Pending)
4974 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4978 internal void SetInheritScale(bool inherit)
4980 Interop.ActorInternal.Actor_SetInheritScale(swigCPtr, inherit);
4981 if (NDalicPINVOKE.SWIGPendingException.Pending)
4982 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4985 internal bool IsScaleInherited()
4987 bool ret = Interop.ActorInternal.Actor_IsScaleInherited(swigCPtr);
4988 if (NDalicPINVOKE.SWIGPendingException.Pending)
4989 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
4993 internal Matrix GetCurrentWorldMatrix()
4995 Matrix ret = new Matrix(Interop.ActorInternal.Actor_GetCurrentWorldMatrix(swigCPtr), true);
4996 if (NDalicPINVOKE.SWIGPendingException.Pending)
4997 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5001 internal void SetVisible(bool visible)
5003 Interop.Actor.Actor_SetVisible(swigCPtr, visible);
5004 if (NDalicPINVOKE.SWIGPendingException.Pending)
5005 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5008 internal bool IsVisible()
5010 bool ret = Interop.ActorInternal.Actor_IsVisible(swigCPtr);
5011 if (NDalicPINVOKE.SWIGPendingException.Pending)
5012 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5016 internal void SetOpacity(float opacity)
5018 Interop.ActorInternal.Actor_SetOpacity(swigCPtr, opacity);
5019 if (NDalicPINVOKE.SWIGPendingException.Pending)
5020 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5023 internal float GetCurrentOpacity()
5025 float ret = Interop.ActorInternal.Actor_GetCurrentOpacity(swigCPtr);
5026 if (NDalicPINVOKE.SWIGPendingException.Pending)
5027 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5031 internal void SetColor(Vector4 color)
5033 Interop.ActorInternal.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
5034 if (NDalicPINVOKE.SWIGPendingException.Pending)
5035 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5038 internal Vector4 GetCurrentColor()
5040 Vector4 ret = new Vector4(Interop.ActorInternal.Actor_GetCurrentColor(swigCPtr), true);
5041 if (NDalicPINVOKE.SWIGPendingException.Pending)
5042 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5046 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
5047 [EditorBrowsable(EditorBrowsableState.Never)]
5048 public void SetColorMode(ColorMode colorMode)
5050 Interop.ActorInternal.Actor_SetColorMode(swigCPtr, (int)colorMode);
5051 if (NDalicPINVOKE.SWIGPendingException.Pending)
5052 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5055 internal ColorMode GetColorMode()
5057 ColorMode ret = (ColorMode)Interop.ActorInternal.Actor_GetColorMode(swigCPtr);
5058 if (NDalicPINVOKE.SWIGPendingException.Pending)
5059 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5063 internal Vector4 GetCurrentWorldColor()
5065 Vector4 ret = new Vector4(Interop.ActorInternal.Actor_GetCurrentWorldColor(swigCPtr), true);
5066 if (NDalicPINVOKE.SWIGPendingException.Pending)
5067 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5071 internal void SetDrawMode(DrawModeType drawMode)
5073 Interop.ActorInternal.Actor_SetDrawMode(swigCPtr, (int)drawMode);
5074 if (NDalicPINVOKE.SWIGPendingException.Pending)
5075 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5078 internal DrawModeType GetDrawMode()
5080 DrawModeType ret = (DrawModeType)Interop.ActorInternal.Actor_GetDrawMode(swigCPtr);
5081 if (NDalicPINVOKE.SWIGPendingException.Pending)
5082 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5086 internal void SetKeyboardFocusable(bool focusable)
5088 Interop.ActorInternal.Actor_SetKeyboardFocusable(swigCPtr, focusable);
5089 if (NDalicPINVOKE.SWIGPendingException.Pending)
5090 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5093 internal bool IsKeyboardFocusable()
5095 bool ret = Interop.ActorInternal.Actor_IsKeyboardFocusable(swigCPtr);
5096 if (NDalicPINVOKE.SWIGPendingException.Pending)
5097 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5101 internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
5103 Interop.Actor.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
5104 if (NDalicPINVOKE.SWIGPendingException.Pending)
5105 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5108 internal ResizePolicyType GetResizePolicy(DimensionType dimension)
5110 ResizePolicyType ret = (ResizePolicyType)Interop.Actor.Actor_GetResizePolicy(swigCPtr, (int)dimension);
5111 if (NDalicPINVOKE.SWIGPendingException.Pending)
5112 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5116 internal Vector3 GetSizeModeFactor()
5118 Vector3 ret = new Vector3(Interop.Actor.Actor_GetSizeModeFactor(swigCPtr), true);
5119 if (NDalicPINVOKE.SWIGPendingException.Pending)
5120 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5124 internal void SetMinimumSize(Vector2 size)
5126 Interop.ActorInternal.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
5127 if (NDalicPINVOKE.SWIGPendingException.Pending)
5128 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5131 internal Vector2 GetMinimumSize()
5133 Vector2 ret = new Vector2(Interop.ActorInternal.Actor_GetMinimumSize(swigCPtr), true);
5134 if (NDalicPINVOKE.SWIGPendingException.Pending)
5135 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5139 internal void SetMaximumSize(Vector2 size)
5141 Interop.ActorInternal.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
5142 if (NDalicPINVOKE.SWIGPendingException.Pending)
5143 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5146 internal Vector2 GetMaximumSize()
5148 Vector2 ret = new Vector2(Interop.ActorInternal.Actor_GetMaximumSize(swigCPtr), true);
5149 if (NDalicPINVOKE.SWIGPendingException.Pending)
5150 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5154 internal int GetHierarchyDepth()
5156 int ret = Interop.Actor.Actor_GetHierarchyDepth(swigCPtr);
5157 if (NDalicPINVOKE.SWIGPendingException.Pending)
5158 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5162 internal uint GetRendererCount()
5164 uint ret = Interop.Actor.Actor_GetRendererCount(swigCPtr);
5165 if (NDalicPINVOKE.SWIGPendingException.Pending)
5166 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5170 internal TouchDataSignal TouchSignal()
5172 TouchDataSignal ret = new TouchDataSignal(Interop.ActorSignal.Actor_TouchSignal(swigCPtr), false);
5173 if (NDalicPINVOKE.SWIGPendingException.Pending)
5174 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5178 internal HoverSignal HoveredSignal()
5180 HoverSignal ret = new HoverSignal(Interop.ActorSignal.Actor_HoveredSignal(swigCPtr), false);
5181 if (NDalicPINVOKE.SWIGPendingException.Pending)
5182 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5186 internal WheelSignal WheelEventSignal()
5188 WheelSignal ret = new WheelSignal(Interop.ActorSignal.Actor_WheelEventSignal(swigCPtr), false);
5189 if (NDalicPINVOKE.SWIGPendingException.Pending)
5190 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5194 internal ViewSignal OnWindowSignal()
5196 ViewSignal ret = new ViewSignal(Interop.ActorSignal.Actor_OnStageSignal(swigCPtr), false);
5197 if (NDalicPINVOKE.SWIGPendingException.Pending)
5198 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5202 internal ViewSignal OffWindowSignal()
5204 ViewSignal ret = new ViewSignal(Interop.ActorSignal.Actor_OffStageSignal(swigCPtr), false);
5205 if (NDalicPINVOKE.SWIGPendingException.Pending)
5206 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5210 internal ViewSignal OnRelayoutSignal()
5212 ViewSignal ret = new ViewSignal(Interop.ActorSignal.Actor_OnRelayoutSignal(swigCPtr), false);
5213 if (NDalicPINVOKE.SWIGPendingException.Pending)
5214 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5218 internal ViewVisibilityChangedSignal VisibilityChangedSignal(View view)
5220 ViewVisibilityChangedSignal ret = new ViewVisibilityChangedSignal(Interop.NDalic.VisibilityChangedSignal(View.getCPtr(view)), false);
5221 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5225 internal ViewLayoutDirectionChangedSignal LayoutDirectionChangedSignal(View view)
5227 ViewLayoutDirectionChangedSignal ret = new ViewLayoutDirectionChangedSignal(Interop.Layout.LayoutDirectionChangedSignal(View.getCPtr(view)), false);
5228 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5232 internal ViewSignal ResourcesLoadedSignal()
5234 ViewSignal ret = new ViewSignal(Interop.View.ResourceReadySignal(swigCPtr), false);
5235 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5239 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj)
5241 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
5244 internal bool IsTopLevelView()
5246 if (GetParent() is Layer)
5253 internal void SetKeyInputFocus()
5255 Interop.ViewInternal.View_SetKeyInputFocus(swigCPtr);
5256 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5259 internal void ClearKeyInputFocus()
5261 Interop.ViewInternal.View_ClearKeyInputFocus(swigCPtr);
5262 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5265 internal PinchGestureDetector GetPinchGestureDetector()
5267 PinchGestureDetector ret = new PinchGestureDetector(Interop.ViewInternal.View_GetPinchGestureDetector(swigCPtr), true);
5268 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5272 internal PanGestureDetector GetPanGestureDetector()
5274 PanGestureDetector ret = new PanGestureDetector(Interop.ViewInternal.View_GetPanGestureDetector(swigCPtr), true);
5275 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5279 internal TapGestureDetector GetTapGestureDetector()
5281 TapGestureDetector ret = new TapGestureDetector(Interop.ViewInternal.View_GetTapGestureDetector(swigCPtr), true);
5282 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5286 internal LongPressGestureDetector GetLongPressGestureDetector()
5288 LongPressGestureDetector ret = new LongPressGestureDetector(Interop.ViewInternal.View_GetLongPressGestureDetector(swigCPtr), true);
5289 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5293 internal ControlKeySignal KeyEventSignal()
5295 ControlKeySignal ret = new ControlKeySignal(Interop.ViewSignal.View_KeyEventSignal(swigCPtr), false);
5296 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5300 internal KeyInputFocusSignal KeyInputFocusGainedSignal()
5302 KeyInputFocusSignal ret = new KeyInputFocusSignal(Interop.ViewSignal.View_KeyInputFocusGainedSignal(swigCPtr), false);
5303 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5307 internal KeyInputFocusSignal KeyInputFocusLostSignal()
5309 KeyInputFocusSignal ret = new KeyInputFocusSignal(Interop.ViewSignal.View_KeyInputFocusLostSignal(swigCPtr), false);
5310 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5314 internal IntPtr GetPtrfromView()
5316 return (IntPtr)swigCPtr;
5319 internal void RemoveChild(View child)
5321 // Do actual child removal
5322 Interop.Actor.Actor_Remove(swigCPtr, View.getCPtr(child));
5323 if (NDalicPINVOKE.SWIGPendingException.Pending)
5324 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
5326 Children.Remove(child);
5327 child.InternalParent = null;
5329 if (ChildRemoved != null)
5331 ChildRemovedEventArgs e = new ChildRemovedEventArgs
5335 ChildRemoved(this, e);
5340 /// Removes the layout from this View.
5342 internal void ResetLayout()
5347 internal ResourceLoadingStatusType GetBackgroundResourceStatus()
5349 return (ResourceLoadingStatusType)Interop.View.View_GetVisualResourceStatus(this.swigCPtr, Property.BACKGROUND);
5353 /// you can override it to clean-up your own resources.
5355 /// <param name="type">DisposeTypes</param>
5356 /// <since_tizen> 3 </since_tizen>
5357 protected override void Dispose(DisposeTypes type)
5364 //_mergedStyle = null;
5366 //Release your own unmanaged resources here.
5367 //You should not access any managed member here except static instance.
5368 //because the execution order of Finalizes is non-deterministic.
5371 DisConnectFromSignals();
5374 if (swigCPtr.Handle != global::System.IntPtr.Zero)
5378 swigCMemOwn = false;
5379 Interop.View.delete_View(swigCPtr);
5381 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
5384 foreach (View view in Children)
5386 view.InternalParent = null;
5393 private void OnSize2DChanged(int width, int height)
5395 Size2D = new Size2D(width, height);
5398 private void OnMinimumSizeChanged(int width, int height)
5400 MinimumSize = new Size2D(width, height);
5403 private void OnMaximumSizeChanged(int width, int height)
5405 MaximumSize = new Size2D(width, height);
5408 private void OnPosition2DChanged(int x, int y)
5410 Position2D = new Position2D(x, y);
5413 private void OnSizeChanged(float width, float height, float depth)
5415 Size = new Size(width, height, depth);
5418 private void OnPositionChanged(float x, float y, float z)
5420 Position = new Position(x, y, z);
5423 private void OnParentOriginChanged(float x, float y, float z)
5425 ParentOrigin = new Position(x, y, z);
5428 private void OnPivotPointChanged(float x, float y, float z)
5430 PivotPoint = new Position(x, y, z);
5433 private void DisConnectFromSignals()
5435 // Save current CPtr.
5436 global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
5438 // Use BaseHandle CPtr as current might have been deleted already in derived classes.
5439 swigCPtr = GetBaseHandleCPtrHandleRef;
5441 if (_onRelayoutEventCallback != null)
5443 this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
5446 if (_offWindowEventCallback != null)
5448 this.OffWindowSignal().Disconnect(_offWindowEventCallback);
5451 if (_onWindowEventCallback != null)
5453 this.OnWindowSignal().Disconnect(_onWindowEventCallback);
5456 if (_wheelEventCallback != null)
5458 this.WheelEventSignal().Disconnect(_wheelEventCallback);
5461 if (_hoverEventCallback != null)
5463 this.HoveredSignal().Disconnect(_hoverEventCallback);
5466 if (_touchDataCallback != null)
5468 this.TouchSignal().Disconnect(_touchDataCallback);
5471 if (_ResourcesLoadedCallback != null)
5473 this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
5476 if (_offWindowEventCallback != null)
5478 this.OffWindowSignal().Disconnect(_offWindowEventCallback);
5481 if (_onWindowEventCallback != null)
5483 this.OnWindowSignal().Disconnect(_onWindowEventCallback);
5486 if (_wheelEventCallback != null)
5488 this.WheelEventSignal().Disconnect(_wheelEventCallback);
5491 if (_hoverEventCallback != null)
5493 this.HoveredSignal().Disconnect(_hoverEventCallback);
5496 if (_touchDataCallback != null)
5498 this.TouchSignal().Disconnect(_touchDataCallback);
5501 if (_onRelayoutEventCallback != null)
5503 this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
5506 if (_keyCallback != null)
5508 this.KeyEventSignal().Disconnect(_keyCallback);
5511 if (_keyInputFocusLostCallback != null)
5513 this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
5516 if (_keyInputFocusGainedCallback != null)
5518 this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
5521 if (_backgroundResourceLoadedCallback != null)
5523 this.ResourcesLoadedSignal().Disconnect(_backgroundResourceLoadedCallback);
5526 if (_onWindowSendEventCallback != null)
5528 this.OnWindowSignal().Disconnect(_onWindowSendEventCallback);
5531 // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
5532 // Restore current CPtr.
5533 swigCPtr = currentCPtr;
5536 private void OnKeyInputFocusGained(IntPtr view)
5538 if (_keyInputFocusGainedEventHandler != null)
5540 _keyInputFocusGainedEventHandler(this, null);
5544 private void OnKeyInputFocusLost(IntPtr view)
5546 if (_keyInputFocusLostEventHandler != null)
5548 _keyInputFocusLostEventHandler(this, null);
5552 private bool OnKeyEvent(IntPtr view, IntPtr keyEvent)
5554 if (keyEvent == global::System.IntPtr.Zero)
5556 NUILog.Error("keyEvent should not be null!");
5560 KeyEventArgs e = new KeyEventArgs();
5562 bool result = false;
5564 e.Key = Tizen.NUI.Key.GetKeyFromPtr(keyEvent);
5566 if (_keyEventHandler != null)
5568 Delegate[] delegateList = _keyEventHandler.GetInvocationList();
5570 // Oring the result of each callback.
5571 foreach (EventHandlerWithReturnType<object, KeyEventArgs, bool> del in delegateList)
5573 result |= del(this, e);
5580 // Callback for View OnRelayout signal
5581 private void OnRelayout(IntPtr data)
5583 if (_onRelayoutEventHandler != null)
5585 _onRelayoutEventHandler(this, null);
5589 // Callback for View TouchSignal
5590 private bool OnTouch(IntPtr view, IntPtr touchData)
5592 if (touchData == global::System.IntPtr.Zero)
5594 NUILog.Error("touchData should not be null!");
5598 TouchEventArgs e = new TouchEventArgs();
5600 e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
5602 if (_touchDataEventHandler != null)
5604 return _touchDataEventHandler(this, e);
5609 // Callback for View Hover signal
5610 private bool OnHoverEvent(IntPtr view, IntPtr hoverEvent)
5612 if (hoverEvent == global::System.IntPtr.Zero)
5614 NUILog.Error("hoverEvent should not be null!");
5618 HoverEventArgs e = new HoverEventArgs();
5620 e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hoverEvent);
5622 if (_hoverEventHandler != null)
5624 return _hoverEventHandler(this, e);
5629 // Callback for View Wheel signal
5630 private bool OnWheelEvent(IntPtr view, IntPtr wheelEvent)
5632 if (wheelEvent == global::System.IntPtr.Zero)
5634 NUILog.Error("wheelEvent should not be null!");
5638 WheelEventArgs e = new WheelEventArgs();
5640 e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
5642 if (_wheelEventHandler != null)
5644 return _wheelEventHandler(this, e);
5649 // Callback for View OnWindow signal
5650 private void OnWindow(IntPtr data)
5652 if (_onWindowEventHandler != null)
5654 _onWindowEventHandler(this, null);
5658 // Callback for View OffWindow signal
5659 private void OffWindow(IntPtr data)
5661 if (_offWindowEventHandler != null)
5663 _offWindowEventHandler(this, null);
5667 // Callback for View visibility change signal
5668 private void OnVisibilityChanged(IntPtr data, bool visibility, VisibilityChangeType type)
5670 VisibilityChangedEventArgs e = new VisibilityChangedEventArgs();
5673 e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
5675 e.Visibility = visibility;
5678 if (_visibilityChangedEventHandler != null)
5680 _visibilityChangedEventHandler(this, e);
5684 // Callback for View layout direction change signal
5685 private void OnLayoutDirectionChanged(IntPtr data, ViewLayoutDirectionType type)
5687 LayoutDirectionChangedEventArgs e = new LayoutDirectionChangedEventArgs();
5690 e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
5694 if (_layoutDirectionChangedEventHandler != null)
5696 _layoutDirectionChangedEventHandler(this, e);
5700 private void OnResourcesLoaded(IntPtr view)
5702 if (_resourcesLoadedEventHandler != null)
5704 _resourcesLoadedEventHandler(this, null);
5708 private View ConvertIdToView(uint id)
5710 View view = GetParent()?.FindCurrentChildById(id);
5712 //If we can't find the parent's children, find in the top layer.
5715 Container parent = GetParent();
5716 while ((parent is View) && (parent != null))
5718 parent = parent.GetParent();
5719 if (parent is Layer)
5721 view = parent.FindCurrentChildById(id);
5730 private void OnBackgroundResourceLoaded(IntPtr view)
5732 BackgroundResourceLoadedEventArgs e = new BackgroundResourceLoadedEventArgs();
5733 e.Status = (ResourceLoadingStatusType)Interop.View.View_GetVisualResourceStatus(this.swigCPtr, Property.BACKGROUND);
5735 if (_backgroundResourceLoadedEventHandler != null)
5737 _backgroundResourceLoadedEventHandler(this, e);
5742 /// Event argument passed through the ChildAdded event.
5744 /// <since_tizen> 5 </since_tizen>
5745 public class ChildAddedEventArgs : EventArgs
5748 /// Added child view at moment.
5750 /// <since_tizen> 5 </since_tizen>
5751 public View Added { get; set; }
5755 /// Event argument passed through the ChildRemoved event.
5757 /// <since_tizen> 5 </since_tizen>
5758 public class ChildRemovedEventArgs : EventArgs
5761 /// Removed child view at moment.
5763 /// <since_tizen> 5 </since_tizen>
5764 public View Removed { get; set; }
5768 /// Event arguments that passed via the KeyEvent signal.
5770 /// <since_tizen> 3 </since_tizen>
5771 public class KeyEventArgs : EventArgs
5776 /// Key - is the key sent to the view.
5778 /// <since_tizen> 3 </since_tizen>
5793 /// Event arguments that passed via the touch signal.
5795 /// <since_tizen> 3 </since_tizen>
5796 public class TouchEventArgs : EventArgs
5798 private Touch _touch;
5801 /// Touch - contains the information of touch points.
5803 /// <since_tizen> 3 </since_tizen>
5818 /// Event arguments that passed via the hover signal.
5820 /// <since_tizen> 3 </since_tizen>
5821 public class HoverEventArgs : EventArgs
5823 private Hover _hover;
5826 /// Hover - contains touch points that represent the points that are currently being hovered or the points where a hover has stopped.
5828 /// <since_tizen> 3 </since_tizen>
5843 /// Event arguments that passed via the wheel signal.
5845 /// <since_tizen> 3 </since_tizen>
5846 public class WheelEventArgs : EventArgs
5848 private Wheel _wheel;
5851 /// WheelEvent - store a wheel rolling type: MOUSE_WHEEL or CUSTOM_WHEEL.
5853 /// <since_tizen> 3 </since_tizen>
5868 /// Event arguments of visibility changed.
5870 /// <since_tizen> 3 </since_tizen>
5871 public class VisibilityChangedEventArgs : EventArgs
5874 private bool _visibility;
5875 private VisibilityChangeType _type;
5878 /// The view, or child of view, whose visibility has changed.
5880 /// <since_tizen> 3 </since_tizen>
5894 /// Whether the view is now visible or not.
5896 /// <since_tizen> 3 </since_tizen>
5897 public bool Visibility
5905 _visibility = value;
5910 /// Whether the view's visible property has changed or a parent's.
5912 /// <since_tizen> 3 </since_tizen>
5913 public VisibilityChangeType Type
5927 /// Event arguments of layout direction changed.
5929 /// <since_tizen> 4 </since_tizen>
5930 public class LayoutDirectionChangedEventArgs : EventArgs
5933 private ViewLayoutDirectionType _type;
5936 /// The view, or child of view, whose layout direction has changed.
5938 /// <since_tizen> 4 </since_tizen>
5952 /// Whether the view's layout direction property has changed or a parent's.
5954 /// <since_tizen> 4 </since_tizen>
5955 public ViewLayoutDirectionType Type
5968 /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
5969 [EditorBrowsable(EditorBrowsableState.Never)]
5970 public Vector2 UpdateSizeHint
5974 return (Vector2)GetValue(UpdateSizeHintProperty);
5978 SetValue(UpdateSizeHintProperty, value);
5979 NotifyPropertyChanged();
5983 private Dictionary<string, Transition> transDictionary = new Dictionary<string, Transition>();
5985 /// This will be public opened in tizen_next after ACR done. Before ACR, need to be hidden as inhouse API.
5986 [EditorBrowsable(EditorBrowsableState.Never)]
5987 public Transition GetTransition(string transitionName)
5989 Transition trans = null;
5990 transDictionary.TryGetValue(transitionName, out trans);
5994 private void LoadTransitions()
5996 foreach (string str in transitionNames)
5998 string resourceName = str + ".xaml";
5999 Transition trans = null;
6001 string resource = Tizen.Applications.Application.Current.DirectoryInfo.Resource;
6003 string likelyResourcePath = resource + "animation/" + resourceName;
6005 if (File.Exists(likelyResourcePath))
6007 trans = Extensions.LoadObject<Transition>(likelyResourcePath);
6011 transDictionary.Add(trans.Name, trans);
6016 /// This will be public opened in tizen_next after ACR done. Before ACR, need to be hidden as inhouse API.
6017 [EditorBrowsable(EditorBrowsableState.Never)]
6018 public string[] TransitionNames
6022 return transitionNames;
6026 transitionNames = value;
6030 private string[] transitionNames;
6032 internal class BackgroundResourceLoadedEventArgs : EventArgs
6034 private ResourceLoadingStatusType status = ResourceLoadingStatusType.Invalid;
6035 public ResourceLoadingStatusType Status
6048 internal class Property
6050 internal static readonly int TOOLTIP = Interop.ViewProperty.View_Property_TOOLTIP_get();
6051 internal static readonly int STATE = Interop.ViewProperty.View_Property_STATE_get();
6052 internal static readonly int SUB_STATE = Interop.ViewProperty.View_Property_SUB_STATE_get();
6053 internal static readonly int LEFT_FOCUSABLE_VIEW_ID = Interop.ViewProperty.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
6054 internal static readonly int RIGHT_FOCUSABLE_VIEW_ID = Interop.ViewProperty.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
6055 internal static readonly int UP_FOCUSABLE_VIEW_ID = Interop.ViewProperty.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
6056 internal static readonly int DOWN_FOCUSABLE_VIEW_ID = Interop.ViewProperty.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
6057 internal static readonly int STYLE_NAME = Interop.ViewProperty.View_Property_STYLE_NAME_get();
6058 internal static readonly int BACKGROUND = Interop.ViewProperty.View_Property_BACKGROUND_get();
6059 internal static readonly int SIBLING_ORDER = Interop.ActorProperty.Actor_Property_SIBLING_ORDER_get();
6060 internal static readonly int OPACITY = Interop.ActorProperty.Actor_Property_OPACITY_get();
6061 internal static readonly int SCREEN_POSITION = Interop.ActorProperty.Actor_Property_SCREEN_POSITION_get();
6062 internal static readonly int POSITION_USES_ANCHOR_POINT = Interop.ActorProperty.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
6063 internal static readonly int PARENT_ORIGIN = Interop.ActorProperty.Actor_Property_PARENT_ORIGIN_get();
6064 internal static readonly int PARENT_ORIGIN_X = Interop.ActorProperty.Actor_Property_PARENT_ORIGIN_X_get();
6065 internal static readonly int PARENT_ORIGIN_Y = Interop.ActorProperty.Actor_Property_PARENT_ORIGIN_Y_get();
6066 internal static readonly int PARENT_ORIGIN_Z = Interop.ActorProperty.Actor_Property_PARENT_ORIGIN_Z_get();
6067 internal static readonly int ANCHOR_POINT = Interop.ActorProperty.Actor_Property_ANCHOR_POINT_get();
6068 internal static readonly int ANCHOR_POINT_X = Interop.ActorProperty.Actor_Property_ANCHOR_POINT_X_get();
6069 internal static readonly int ANCHOR_POINT_Y = Interop.ActorProperty.Actor_Property_ANCHOR_POINT_Y_get();
6070 internal static readonly int ANCHOR_POINT_Z = Interop.ActorProperty.Actor_Property_ANCHOR_POINT_Z_get();
6071 internal static readonly int SIZE = Interop.ActorProperty.Actor_Property_SIZE_get();
6072 internal static readonly int SIZE_WIDTH = Interop.ActorProperty.Actor_Property_SIZE_WIDTH_get();
6073 internal static readonly int SIZE_HEIGHT = Interop.ActorProperty.Actor_Property_SIZE_HEIGHT_get();
6074 internal static readonly int SIZE_DEPTH = Interop.ActorProperty.Actor_Property_SIZE_DEPTH_get();
6075 internal static readonly int POSITION = Interop.ActorProperty.Actor_Property_POSITION_get();
6076 internal static readonly int POSITION_X = Interop.ActorProperty.Actor_Property_POSITION_X_get();
6077 internal static readonly int POSITION_Y = Interop.ActorProperty.Actor_Property_POSITION_Y_get();
6078 internal static readonly int POSITION_Z = Interop.ActorProperty.Actor_Property_POSITION_Z_get();
6079 internal static readonly int WORLD_POSITION = Interop.ActorProperty.Actor_Property_WORLD_POSITION_get();
6080 internal static readonly int WORLD_POSITION_X = Interop.ActorProperty.Actor_Property_WORLD_POSITION_X_get();
6081 internal static readonly int WORLD_POSITION_Y = Interop.ActorProperty.Actor_Property_WORLD_POSITION_Y_get();
6082 internal static readonly int WORLD_POSITION_Z = Interop.ActorProperty.Actor_Property_WORLD_POSITION_Z_get();
6083 internal static readonly int ORIENTATION = Interop.ActorProperty.Actor_Property_ORIENTATION_get();
6084 internal static readonly int WORLD_ORIENTATION = Interop.ActorProperty.Actor_Property_WORLD_ORIENTATION_get();
6085 internal static readonly int SCALE = Interop.ActorProperty.Actor_Property_SCALE_get();
6086 internal static readonly int SCALE_X = Interop.ActorProperty.Actor_Property_SCALE_X_get();
6087 internal static readonly int SCALE_Y = Interop.ActorProperty.Actor_Property_SCALE_Y_get();
6088 internal static readonly int SCALE_Z = Interop.ActorProperty.Actor_Property_SCALE_Z_get();
6089 internal static readonly int WORLD_SCALE = Interop.ActorProperty.Actor_Property_WORLD_SCALE_get();
6090 internal static readonly int VISIBLE = Interop.ActorProperty.Actor_Property_VISIBLE_get();
6091 internal static readonly int WORLD_COLOR = Interop.ActorProperty.Actor_Property_WORLD_COLOR_get();
6092 internal static readonly int WORLD_MATRIX = Interop.ActorProperty.Actor_Property_WORLD_MATRIX_get();
6093 internal static readonly int NAME = Interop.ActorProperty.Actor_Property_NAME_get();
6094 internal static readonly int SENSITIVE = Interop.ActorProperty.Actor_Property_SENSITIVE_get();
6095 internal static readonly int LEAVE_REQUIRED = Interop.ActorProperty.Actor_Property_LEAVE_REQUIRED_get();
6096 internal static readonly int INHERIT_ORIENTATION = Interop.ActorProperty.Actor_Property_INHERIT_ORIENTATION_get();
6097 internal static readonly int INHERIT_SCALE = Interop.ActorProperty.Actor_Property_INHERIT_SCALE_get();
6098 internal static readonly int DRAW_MODE = Interop.ActorProperty.Actor_Property_DRAW_MODE_get();
6099 internal static readonly int SIZE_MODE_FACTOR = Interop.ActorProperty.Actor_Property_SIZE_MODE_FACTOR_get();
6100 internal static readonly int WIDTH_RESIZE_POLICY = Interop.ActorProperty.Actor_Property_WIDTH_RESIZE_POLICY_get();
6101 internal static readonly int HEIGHT_RESIZE_POLICY = Interop.ActorProperty.Actor_Property_HEIGHT_RESIZE_POLICY_get();
6102 internal static readonly int SIZE_SCALE_POLICY = Interop.ActorProperty.Actor_Property_SIZE_SCALE_POLICY_get();
6103 internal static readonly int WIDTH_FOR_HEIGHT = Interop.ActorProperty.Actor_Property_WIDTH_FOR_HEIGHT_get();
6104 internal static readonly int HEIGHT_FOR_WIDTH = Interop.ActorProperty.Actor_Property_HEIGHT_FOR_WIDTH_get();
6105 internal static readonly int MINIMUM_SIZE = Interop.ActorProperty.Actor_Property_MINIMUM_SIZE_get();
6106 internal static readonly int MAXIMUM_SIZE = Interop.ActorProperty.Actor_Property_MAXIMUM_SIZE_get();
6107 internal static readonly int INHERIT_POSITION = Interop.ActorProperty.Actor_Property_INHERIT_POSITION_get();
6108 internal static readonly int CLIPPING_MODE = Interop.ActorProperty.Actor_Property_CLIPPING_MODE_get();
6109 internal static readonly int INHERIT_LAYOUT_DIRECTION = Interop.ActorProperty.Actor_Property_INHERIT_LAYOUT_DIRECTION_get();
6110 internal static readonly int LAYOUT_DIRECTION = Interop.ActorProperty.Actor_Property_LAYOUT_DIRECTION_get();
6111 internal static readonly int MARGIN = Interop.ViewProperty.View_Property_MARGIN_get();
6112 internal static readonly int PADDING = Interop.ViewProperty.View_Property_PADDING_get();