[NUI] Fix CustomView.GetNaturalSize() to return Size2D set by user
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / ViewBindableProperty.cs
1 /*
2  * Copyright(c) 2019-2022 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 using global::System;
19 using System.ComponentModel;
20 using Tizen.NUI.Binding;
21
22 namespace Tizen.NUI.BaseComponents
23 {
24     /// <summary>
25     /// View is the base class for all views.
26     /// </summary>
27     /// <since_tizen> 3 </since_tizen>
28     public partial class View
29     {
30         private float userSizeWidth = 0.0f;
31         private float userSizeHeight = 0.0f;
32
33         /// <summary>
34         /// StyleNameProperty (DALi json)
35         /// </summary>
36         [EditorBrowsable(EditorBrowsableState.Never)]
37         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create(nameof(StyleName), typeof(string), typeof(View), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
38         {
39             var view = (View)bindable;
40             if (newValue != null)
41             {
42                 string styleName = (string)newValue;
43                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.StyleName, new Tizen.NUI.PropertyValue(styleName));
44
45                 view.styleName = styleName;
46
47                 if (string.IsNullOrEmpty(styleName)) return;
48
49                 var style = ThemeManager.GetUpdateStyleWithoutClone(styleName);
50
51                 if (style == null) return;
52
53                 view.ApplyStyle(style);
54                 view.SetThemeApplied();
55             }
56         }),
57         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
58         {
59             var view = (View)bindable;
60
61             if (!string.IsNullOrEmpty(view.styleName)) return view.styleName;
62
63             string temp;
64             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.StyleName).Get(out temp);
65             return temp;
66         }));
67
68         /// <summary>
69         /// KeyInputFocusProperty
70         /// </summary>
71         [EditorBrowsable(EditorBrowsableState.Never)]
72         public static readonly BindableProperty KeyInputFocusProperty = BindableProperty.Create(nameof(KeyInputFocus), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
73         {
74             var view = (View)bindable;
75             if (newValue != null)
76             {
77                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.KeyInputFocus, new Tizen.NUI.PropertyValue((bool)newValue));
78             }
79         }),
80         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
81         {
82             var view = (View)bindable;
83             bool temp = false;
84             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.KeyInputFocus).Get(out temp);
85             return temp;
86         }));
87
88         /// <summary>
89         /// BackgroundColorProperty
90         /// </summary>
91         [EditorBrowsable(EditorBrowsableState.Never)]
92         public static readonly BindableProperty BackgroundColorProperty = BindableProperty.Create(nameof(BackgroundColor), typeof(Color), typeof(View), null,
93             propertyChanged: (bindable, oldValue, newValue) =>
94             {
95                 var view = (View)bindable;
96
97                 view.themeData?.selectorData?.ClearBackground(view);
98
99                 if (newValue is Selector<Color> selector)
100                 {
101                     if (selector.HasAll()) view.SetBackgroundColor(selector.All);
102                     else view.EnsureSelectorData().BackgroundColor = new TriggerableSelector<Color>(view, selector, view.SetBackgroundColor, true);
103                 }
104                 else
105                 {
106                     view.SetBackgroundColor((Color)newValue);
107                 }
108             },
109             defaultValueCreator: (bindable) =>
110             {
111                 var view = (View)bindable;
112
113                 if (view.internalBackgroundColor == null)
114                 {
115                     view.internalBackgroundColor = new Color(view.OnBackgroundColorChanged, 0, 0, 0, 0);
116                 }
117
118                 PropertyMap background = view.Background;
119                 int visualType = 0;
120                 background.Find(Visual.Property.Type)?.Get(out visualType);
121                 if (visualType == (int)Visual.Type.Color)
122                 {
123                     background.Find(ColorVisualProperty.MixColor)?.Get(view.internalBackgroundColor);
124                 }
125
126                 background?.Dispose();
127                 background = null;
128
129                 return view.internalBackgroundColor;
130             }
131         );
132
133         /// <summary>
134         /// ColorProperty
135         /// </summary>
136         [EditorBrowsable(EditorBrowsableState.Never)]
137         public static readonly BindableProperty ColorProperty = BindableProperty.Create(nameof(Color), typeof(Color), typeof(View), null,
138             propertyChanged: (bindable, oldValue, newValue) =>
139             {
140                 var view = (View)bindable;
141
142                 view.themeData?.selectorData?.Color?.Reset(view);
143
144                 if (newValue is Selector<Color> selector)
145                 {
146                     if (selector.HasAll()) view.SetColor(selector.All);
147                     else view.EnsureSelectorData().Color = new TriggerableSelector<Color>(view, selector, view.SetColor, true);
148                 }
149                 else
150                 {
151                     view.SetColor((Color)newValue);
152                 }
153             },
154             defaultValueCreator: (bindable) =>
155             {
156                 var view = (View)bindable;
157                 var tmpProperty = view.GetProperty(Interop.ActorProperty.ColorGet());
158
159                 if (view.internalColor == null)
160                 {
161                     view.internalColor = new Color(view.OnColorChanged, 0, 0, 0, 0);
162                 }
163
164                 tmpProperty?.Get(view.internalColor);
165                 tmpProperty?.Dispose();
166
167                 return view.internalColor;
168             }
169         );
170
171         /// <summary> BackgroundImageProperty </summary>
172         [EditorBrowsable(EditorBrowsableState.Never)]
173         public static readonly BindableProperty BackgroundImageProperty = BindableProperty.Create(nameof(BackgroundImage), typeof(string), typeof(View), default(string),
174             propertyChanged: (bindable, oldValue, newValue) =>
175             {
176                 var view = (View)bindable;
177
178                 if (view.themeData?.selectorData != null)
179                 {
180                     view.themeData.selectorData.BackgroundColor?.Reset(view);
181                     view.themeData.selectorData.BackgroundImage?.Reset(view);
182                 }
183
184                 if (newValue is Selector<string> selector)
185                 {
186                     if (selector.HasAll()) view.SetBackgroundImage(selector.All);
187                     else view.EnsureSelectorData().BackgroundImage = new TriggerableSelector<string>(view, selector, view.SetBackgroundImage, true);
188                 }
189                 else
190                 {
191                     view.SetBackgroundImage((string)newValue);
192                 }
193             },
194             defaultValueCreator: (bindable) =>
195             {
196                 var view = (View)bindable;
197                 string backgroundImage = "";
198
199                 PropertyMap background = view.Background;
200                 background.Find(ImageVisualProperty.URL)?.Get(out backgroundImage);
201
202                 background.Dispose();
203                 background = null;
204
205                 return backgroundImage;
206             }
207         );
208
209
210         /// <summary>BackgroundImageBorderProperty</summary>
211         [EditorBrowsable(EditorBrowsableState.Never)]
212         public static readonly BindableProperty BackgroundImageBorderProperty = BindableProperty.Create(nameof(BackgroundImageBorder), typeof(Rectangle), typeof(View), default(Rectangle), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
213         {
214             var view = (View)bindable;
215
216             view.themeData?.selectorData?.BackgroundImageBorder?.Reset(view);
217
218             if (newValue is Selector<Rectangle> selector)
219             {
220                 if (selector.HasAll()) view.SetBackgroundImageBorder(selector.All);
221                 else view.EnsureSelectorData().BackgroundImageBorder = new TriggerableSelector<Rectangle>(view, selector, view.SetBackgroundImageBorder, true);
222             }
223             else
224             {
225                 view.SetBackgroundImageBorder((Rectangle)newValue);
226             }
227         }),
228         defaultValueCreator: (bindable) =>
229         {
230             var view = (View)bindable;
231
232             return view.backgroundExtraData?.BackgroundImageBorder;
233         });
234
235         /// <summary>
236         /// BackgroundProperty
237         /// </summary>
238         [EditorBrowsable(EditorBrowsableState.Never)]
239         public static readonly BindableProperty BackgroundProperty = BindableProperty.Create(nameof(Background), typeof(PropertyMap), typeof(View), null,
240             propertyChanged: (bindable, oldValue, newValue) =>
241             {
242                 var view = (View)bindable;
243                 if (newValue != null)
244                 {
245                     var propertyValue = new PropertyValue((PropertyMap)newValue);
246                     Object.SetProperty(view.SwigCPtr, Property.BACKGROUND, propertyValue);
247
248                     view.backgroundExtraData = null;
249
250                     propertyValue.Dispose();
251                     propertyValue = null;
252                 }
253             },
254             defaultValueCreator: (bindable) =>
255             {
256                 var view = (View)bindable;
257                 PropertyMap tmp = new PropertyMap();
258                 var propertyValue = Object.GetProperty(view.SwigCPtr, Property.BACKGROUND);
259                 propertyValue.Get(tmp);
260                 propertyValue.Dispose();
261                 propertyValue = null;
262                 return tmp;
263             }
264         );
265
266         /// <summary>
267         /// StateProperty
268         /// </summary>
269         [EditorBrowsable(EditorBrowsableState.Never)]
270         public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(State), typeof(States), typeof(View), States.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
271         {
272             var view = (View)bindable;
273             if (newValue != null)
274             {
275                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
276             }
277         }),
278         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
279         {
280             var view = (View)bindable;
281             int temp = 0;
282             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.STATE).Get(out temp) == false)
283             {
284                 NUILog.Error("State get error!");
285             }
286             switch (temp)
287             {
288                 case 0: return States.Normal;
289                 case 1: return States.Focused;
290                 case 2: return States.Disabled;
291                 default: return States.Normal;
292             }
293         }));
294
295         /// <summary>
296         /// SubStateProperty
297         /// </summary>
298         [EditorBrowsable(EditorBrowsableState.Never)]
299         public static readonly BindableProperty SubStateProperty = BindableProperty.Create(nameof(SubState), typeof(States), typeof(View), States.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
300         {
301             var view = (View)bindable;
302             string valueToString = "";
303             if (newValue != null)
304             {
305                 valueToString = ((States)newValue).GetDescription();
306                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SubState, new Tizen.NUI.PropertyValue(valueToString));
307             }
308         }),
309         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
310         {
311             var view = (View)bindable;
312             string temp;
313             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SubState).Get(out temp) == false)
314             {
315                 NUILog.Error("subState get error!");
316             }
317             return temp.GetValueByDescription<States>();
318         }));
319
320         /// <summary>
321         /// TooltipProperty
322         /// </summary>
323         [EditorBrowsable(EditorBrowsableState.Never)]
324         public static readonly BindableProperty TooltipProperty = BindableProperty.Create(nameof(Tooltip), typeof(PropertyMap), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
325         {
326             var view = (View)bindable;
327             if (newValue != null)
328             {
329                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
330             }
331         }),
332         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
333         {
334             var view = (View)bindable;
335             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
336             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.TOOLTIP).Get(temp);
337             return temp;
338         }));
339
340         /// <summary>
341         /// FlexProperty
342         /// </summary>
343         [EditorBrowsable(EditorBrowsableState.Never)]
344         public static readonly BindableProperty FlexProperty = BindableProperty.Create(nameof(Flex), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
345         {
346             var view = (View)bindable;
347             if (newValue != null)
348             {
349                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
350             }
351         }),
352         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
353         {
354             var view = (View)bindable;
355             float temp = 0.0f;
356             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FLEX).Get(out temp);
357             return temp;
358         }));
359
360         /// <summary>
361         /// AlignSelfProperty
362         /// </summary>
363         [EditorBrowsable(EditorBrowsableState.Never)]
364         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create(nameof(AlignSelf), typeof(int), typeof(View), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
365         {
366             var view = (View)bindable;
367             if (newValue != null)
368             {
369                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.AlignSelf, new Tizen.NUI.PropertyValue((int)newValue));
370             }
371         }),
372         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
373         {
374             var view = (View)bindable;
375             int temp = 0;
376             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.AlignSelf).Get(out temp);
377             return temp;
378         }));
379
380         /// <summary>
381         /// FlexMarginProperty
382         /// </summary>
383         [EditorBrowsable(EditorBrowsableState.Never)]
384         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create(nameof(FlexMargin), typeof(Vector4), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
385         {
386             var view = (View)bindable;
387             if (newValue != null)
388             {
389                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FlexMargin, new Tizen.NUI.PropertyValue((Vector4)newValue));
390             }
391         }),
392         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
393         {
394             var view = (View)bindable;
395             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
396             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, FlexContainer.ChildProperty.FlexMargin).Get(temp);
397             return temp;
398         }));
399
400         /// <summary>
401         /// CellIndexProperty
402         /// </summary>
403         [EditorBrowsable(EditorBrowsableState.Never)]
404         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create(nameof(CellIndex), typeof(Vector2), typeof(View), null,
405             propertyChanged: (bindable, oldValue, newValue) =>
406             {
407                 var view = (View)bindable;
408                 if (newValue != null)
409                 {
410                     var tmp = new PropertyValue((Vector2)newValue);
411                     Object.SetProperty(view.SwigCPtr, TableView.ChildProperty.CellIndex, tmp);
412                     tmp.Dispose();
413                 }
414             },
415             defaultValueCreator: (bindable) =>
416             {
417                 var view = (View)bindable;
418                 if (view.internalCellIndex == null)
419                 {
420                     view.internalCellIndex = new Vector2(view.OnCellIndexChanged, 0, 0);
421                 }
422
423                 var tmp = Object.GetProperty(view.SwigCPtr, TableView.ChildProperty.CellIndex);
424                 tmp?.Get(view.internalCellIndex);
425                 tmp?.Dispose();
426
427                 return view.internalCellIndex;
428             }
429         );
430
431         /// <summary>
432         /// RowSpanProperty
433         /// </summary>
434         [EditorBrowsable(EditorBrowsableState.Never)]
435         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create(nameof(RowSpan), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
436         {
437             var view = (View)bindable;
438             if (newValue != null)
439             {
440                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.RowSpan, new Tizen.NUI.PropertyValue((float)newValue));
441             }
442         }),
443         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
444         {
445             var view = (View)bindable;
446             float temp = 0.0f;
447             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.RowSpan).Get(out temp);
448             return temp;
449         }));
450
451         /// <summary>
452         /// ColumnSpanProperty
453         /// </summary>
454         [EditorBrowsable(EditorBrowsableState.Never)]
455         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create(nameof(ColumnSpan), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
456         {
457             var view = (View)bindable;
458             if (newValue != null)
459             {
460                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.ColumnSpan, new Tizen.NUI.PropertyValue((float)newValue));
461             }
462         }),
463         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
464         {
465             var view = (View)bindable;
466             float temp = 0.0f;
467             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.ColumnSpan).Get(out temp);
468             return temp;
469         }));
470
471         /// <summary>
472         /// CellHorizontalAlignmentProperty
473         /// </summary>
474         [EditorBrowsable(EditorBrowsableState.Never)]
475         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create(nameof(CellHorizontalAlignment), typeof(HorizontalAlignmentType), typeof(View), HorizontalAlignmentType.Left, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
476         {
477             var view = (View)bindable;
478             string valueToString = "";
479
480             if (newValue != null)
481             {
482                 valueToString = ((HorizontalAlignmentType)newValue).GetDescription();
483                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellHorizontalAlignment, new Tizen.NUI.PropertyValue(valueToString));
484             }
485         }),
486         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
487         {
488             var view = (View)bindable;
489             string temp;
490             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellHorizontalAlignment).Get(out temp) == false)
491             {
492                 NUILog.Error("CellHorizontalAlignment get error!");
493             }
494
495             return temp.GetValueByDescription<HorizontalAlignmentType>();
496         }));
497
498         /// <summary>
499         /// CellVerticalAlignmentProperty
500         /// </summary>
501         [EditorBrowsable(EditorBrowsableState.Never)]
502         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create(nameof(CellVerticalAlignment), typeof(VerticalAlignmentType), typeof(View), VerticalAlignmentType.Top, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
503         {
504             var view = (View)bindable;
505             string valueToString = "";
506
507             if (newValue != null)
508             {
509                 valueToString = ((VerticalAlignmentType)newValue).GetDescription();
510                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellVerticalAlignment, new Tizen.NUI.PropertyValue(valueToString));
511             }
512         }),
513         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
514         {
515             var view = (View)bindable;
516             string temp;
517             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, TableView.ChildProperty.CellVerticalAlignment).Get(out temp);
518             {
519                 NUILog.Error("CellVerticalAlignment get error!");
520             }
521
522             return temp.GetValueByDescription<VerticalAlignmentType>();
523         }));
524
525         /// <summary>
526         /// "Please DO NOT use! This will be deprecated! Please use 'View Weight' instead of BindableProperty"
527         /// This needs to be hidden as inhouse API until all applications using it have been updated.  Do not make public.
528         /// </summary>
529         [EditorBrowsable(EditorBrowsableState.Never)]
530         public static readonly BindableProperty WeightProperty = BindableProperty.Create(nameof(Weight), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
531         {
532             var view = (View)bindable;
533             if (newValue != null)
534             {
535                 view.Weight = (float)newValue;
536             }
537         },
538
539         defaultValueCreator: (bindable) =>
540         {
541             var view = (View)bindable;
542             return view.Weight;
543         });
544
545         /// <summary>
546         /// LeftFocusableViewProperty
547         /// </summary>
548         [EditorBrowsable(EditorBrowsableState.Never)]
549         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
550         {
551             var view = (View)bindable;
552             if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
553             else { view.LeftFocusableViewId = -1; }
554         },
555         defaultValueCreator: (bindable) =>
556         {
557             var view = (View)bindable;
558             if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
559             return null;
560         });
561
562         /// <summary>
563         /// RightFocusableViewProperty
564         /// </summary>
565         [EditorBrowsable(EditorBrowsableState.Never)]
566         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
567         {
568             var view = (View)bindable;
569             if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
570             else { view.RightFocusableViewId = -1; }
571         },
572         defaultValueCreator: (bindable) =>
573         {
574             var view = (View)bindable;
575             if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
576             return null;
577         });
578
579         /// <summary>
580         /// UpFocusableViewProperty
581         /// </summary>
582         [EditorBrowsable(EditorBrowsableState.Never)]
583         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
584         {
585             var view = (View)bindable;
586             if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View)?.GetId(); }
587             else { view.UpFocusableViewId = -1; }
588         },
589         defaultValueCreator: (bindable) =>
590         {
591             var view = (View)bindable;
592             if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
593             return null;
594         });
595
596         /// <summary>
597         /// DownFocusableViewProperty
598         /// </summary>
599         [EditorBrowsable(EditorBrowsableState.Never)]
600         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
601         {
602             var view = (View)bindable;
603             if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
604             else { view.DownFocusableViewId = -1; }
605         },
606         defaultValueCreator: (bindable) =>
607         {
608             var view = (View)bindable;
609             if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
610             return null;
611         });
612
613         /// <summary>
614         /// ClockwiseFocusableViewProperty
615         /// </summary>
616         [EditorBrowsable(EditorBrowsableState.Never)]
617         public static readonly BindableProperty ClockwiseFocusableViewProperty = BindableProperty.Create(nameof(View.ClockwiseFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
618         {
619             var view = (View)bindable;
620             if (newValue != null && (newValue is View)) { view.ClockwiseFocusableViewId = (int)(newValue as View)?.GetId(); }
621             else { view.ClockwiseFocusableViewId = -1; }
622         },
623         defaultValueCreator: (bindable) =>
624         {
625             var view = (View)bindable;
626             if (view.ClockwiseFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.ClockwiseFocusableViewId); }
627             return null;
628         });
629
630         /// <summary>
631         /// CounterClockwiseFocusableViewProperty
632         /// </summary>
633         [EditorBrowsable(EditorBrowsableState.Never)]
634         public static readonly BindableProperty CounterClockwiseFocusableViewProperty = BindableProperty.Create(nameof(View.CounterClockwiseFocusableView), typeof(View), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
635         {
636             var view = (View)bindable;
637             if (newValue != null && (newValue is View)) { view.CounterClockwiseFocusableViewId = (int)(newValue as View)?.GetId(); }
638             else { view.CounterClockwiseFocusableViewId = -1; }
639         },
640         defaultValueCreator: (bindable) =>
641         {
642             var view = (View)bindable;
643             if (view.CounterClockwiseFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.CounterClockwiseFocusableViewId); }
644             return null;
645         });
646
647         /// <summary>
648         /// FocusableProperty
649         /// </summary>
650         [EditorBrowsable(EditorBrowsableState.Never)]
651         public static readonly BindableProperty FocusableProperty = BindableProperty.Create(nameof(Focusable), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
652         {
653             var view = (View)bindable;
654             if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
655         },
656         defaultValueCreator: (bindable) =>
657         {
658             var view = (View)bindable;
659             return view.IsKeyboardFocusable();
660         });
661
662         /// <summary>
663         /// FocusableChildrenProperty
664         /// </summary>
665         [EditorBrowsable(EditorBrowsableState.Never)]
666         public static readonly BindableProperty FocusableChildrenProperty = BindableProperty.Create(nameof(FocusableChildren), typeof(bool), typeof(View), true, propertyChanged: (bindable, oldValue, newValue) =>
667         {
668             var view = (View)bindable;
669             if (newValue != null) { view.SetKeyboardFocusableChildren((bool)newValue); }
670         },
671         defaultValueCreator: (bindable) =>
672         {
673             var view = (View)bindable;
674             return view.AreChildrenKeyBoardFocusable();
675         });
676
677         /// <summary>
678         /// FocusableInTouchProperty
679         /// </summary>
680         [EditorBrowsable(EditorBrowsableState.Never)]
681         public static readonly BindableProperty FocusableInTouchProperty = BindableProperty.Create(nameof(FocusableInTouch), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
682         {
683             var view = (View)bindable;
684             if (newValue != null) { view.SetFocusableInTouch((bool)newValue); }
685         },
686         defaultValueCreator: (bindable) =>
687         {
688             var view = (View)bindable;
689             return view.IsFocusableInTouch();
690         });
691
692         /// <summary>
693         /// Size2DProperty
694         /// </summary>
695         [EditorBrowsable(EditorBrowsableState.Never)]
696         public static readonly BindableProperty Size2DProperty = BindableProperty.Create(nameof(Size2D), typeof(Size2D), typeof(View), null,
697             propertyChanged: (bindable, oldValue, newValue) =>
698             {
699                 var view = (View)bindable;
700                 if (newValue != null)
701                 {
702                     // Size property setter is only used by user.
703                     // Framework code uses SetSize() instead of Size property setter.
704                     // Size set by user is returned by GetUserSize2D() for SuggestedMinimumWidth/Height.
705                     // SuggestedMinimumWidth/Height is used by Layout calculation.
706                     view.userSizeWidth = ((Size2D)newValue).Width;
707                     view.userSizeHeight = ((Size2D)newValue).Height;
708
709                     view.SetSize(((Size2D)newValue).Width, ((Size2D)newValue).Height, 0);
710
711                     view.widthPolicy = ((Size2D)newValue).Width;
712                     view.heightPolicy = ((Size2D)newValue).Height;
713
714                     view.layout?.RequestLayout();
715                 }
716             },
717             defaultValueCreator: (bindable) =>
718             {
719                 var view = (View)bindable;
720                 var tmp = new Size(0, 0, 0);
721                 var tmpProperty = Object.GetProperty(view.SwigCPtr, Property.SIZE);
722                 tmpProperty?.Get(tmp);
723
724                 if (view.internalSize2D == null)
725                 {
726                     view.internalSize2D = new Size2D(view.OnSize2DChanged, (int)tmp?.Width, (int)tmp?.Height);
727                 }
728                 else
729                 {
730                     if (view.internalSize2D.SwigCPtr.Handle != global::System.IntPtr.Zero)
731                     {
732                         Interop.Vector2.WidthSet(view.internalSize2D.SwigCPtr, (float)tmp?.Width);
733                         Interop.Vector2.HeightSet(view.internalSize2D.SwigCPtr, (float)tmp?.Height);
734                     }
735                 }
736
737                 tmpProperty?.Dispose();
738                 tmp?.Dispose();
739
740                 return view.internalSize2D;
741             }
742         );
743
744         /// <summary>
745         /// OpacityProperty
746         /// </summary>
747         [EditorBrowsable(EditorBrowsableState.Never)]
748         public static readonly BindableProperty OpacityProperty = BindableProperty.Create(nameof(Opacity), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
749         {
750             var view = (View)bindable;
751
752             view.themeData?.selectorData?.Opacity?.Reset(view);
753
754             if (newValue is Selector<float?> selector)
755             {
756                 if (selector.HasAll()) view.SetOpacity(selector.All);
757                 else view.EnsureSelectorData().Opacity = new TriggerableSelector<float?>(view, selector, view.SetOpacity, true);
758             }
759             else
760             {
761                 view.SetOpacity((float?)newValue);
762             }
763         }),
764         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
765         {
766             var view = (View)bindable;
767             float temp = 0.0f;
768             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.OPACITY).Get(out temp);
769             return temp;
770         }));
771
772         /// <summary>
773         /// Position2DProperty
774         /// </summary>
775         [EditorBrowsable(EditorBrowsableState.Never)]
776         public static readonly BindableProperty Position2DProperty = BindableProperty.Create(nameof(Position2D), typeof(Position2D), typeof(View), null,
777             propertyChanged: (bindable, oldValue, newValue) =>
778             {
779                 var view = (View)bindable;
780                 if (newValue != null)
781                 {
782                     view.SetPosition(((Position2D)newValue).X, ((Position2D)newValue).Y, 0);
783                 }
784             },
785             defaultValueCreator: (bindable) =>
786             {
787                 var view = (View)bindable;
788                 var tmp = new Position(0, 0, 0);
789                 var tmpProperty = Object.GetProperty(view.SwigCPtr, Property.POSITION);
790                 tmpProperty?.Get(tmp);
791
792                 if (view.internalPosition2D == null)
793                 {
794                     view.internalPosition2D = new Position2D(view.OnPosition2DChanged, (int)tmp?.X, (int)tmp?.Y);
795                 }
796                 else
797                 {
798                     if (view.internalPosition2D.SwigCPtr.Handle != IntPtr.Zero)
799                     {
800                         Interop.Vector2.XSet(view.internalPosition2D.SwigCPtr, (float)tmp?.X);
801                         Interop.Vector2.YSet(view.internalPosition2D.SwigCPtr, (float)tmp?.Y);
802                     }
803                 }
804
805                 tmpProperty?.Dispose();
806                 tmp?.Dispose();
807
808                 return view.internalPosition2D;
809             }
810         );
811
812         /// <summary>
813         /// PositionUsesPivotPointProperty
814         /// </summary>
815         [EditorBrowsable(EditorBrowsableState.Never)]
816         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create(nameof(PositionUsesPivotPoint), typeof(bool), typeof(View), true, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
817         {
818             var view = (View)bindable;
819             if (newValue != null)
820             {
821                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint, new Tizen.NUI.PropertyValue((bool)newValue));
822             }
823         }),
824         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
825         {
826             var view = (View)bindable;
827             bool temp = false;
828             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionUsesAnchorPoint).Get(out temp);
829             return temp;
830         }));
831
832         /// <summary>
833         /// SiblingOrderProperty
834         /// </summary>
835         [EditorBrowsable(EditorBrowsableState.Never)]
836         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create(nameof(SiblingOrder), typeof(int), typeof(View), default(int), propertyChanged: (bindable, oldValue, newValue) =>
837         {
838             var view = (View)bindable;
839             int value;
840             if (newValue != null)
841             {
842                 value = (int)newValue;
843                 if (value < 0)
844                 {
845                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
846                     return;
847                 }
848                 var siblings = view.GetParent()?.Children;
849                 if (siblings != null)
850                 {
851                     int currentOrder = siblings.IndexOf(view);
852                     if (value != currentOrder)
853                     {
854                         if (value == 0) { view.LowerToBottom(); }
855                         else if (value < siblings.Count - 1)
856                         {
857                             if (value > currentOrder) { view.RaiseAbove(siblings[value]); }
858                             else { view.LowerBelow(siblings[value]); }
859                         }
860                         else { view.RaiseToTop(); }
861                     }
862                 }
863             }
864         },
865         defaultValueCreator: (bindable) =>
866         {
867             var view = (View)bindable;
868             var parentChildren = view.GetParent()?.Children;
869             int currentOrder = 0;
870             if (parentChildren != null)
871             {
872                 currentOrder = parentChildren.IndexOf(view);
873
874                 if (currentOrder < 0) { return 0; }
875                 else if (currentOrder < parentChildren.Count) { return currentOrder; }
876             }
877
878             return 0;
879         });
880
881         /// <summary>
882         /// ParentOriginProperty
883         /// </summary>
884         [EditorBrowsable(EditorBrowsableState.Never)]
885         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create(nameof(ParentOrigin), typeof(Position), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
886         {
887             var view = (View)bindable;
888             if (newValue != null)
889             {
890                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin, new Tizen.NUI.PropertyValue((Position)newValue));
891             }
892         }),
893         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
894         {
895             var view = (View)bindable;
896             Position temp = new Position(0.0f, 0.0f, 0.0f);
897             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ParentOrigin).Get(temp);
898             return temp;
899         })
900         );
901
902         /// <summary>
903         /// PivotPointProperty
904         /// </summary>
905         [EditorBrowsable(EditorBrowsableState.Never)]
906         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create(nameof(PivotPoint), typeof(Position), typeof(View), null,
907             propertyChanged: (bindable, oldValue, newValue) =>
908             {
909                 var view = (View)bindable;
910                 if (newValue != null)
911                 {
912                     view.SetAnchorPoint((Position)newValue);
913                 }
914             },
915             defaultValueCreator: (bindable) =>
916             {
917                 var view = (View)bindable;
918                 if (view.internalPivotPoint == null)
919                 {
920                     view.internalPivotPoint = new Position(view.OnPivotPointChanged, 0, 0, 0);
921                 }
922                 var tmp = Object.GetProperty(view.SwigCPtr, Property.AnchorPoint);
923                 tmp?.Get(view.internalPivotPoint);
924                 tmp?.Dispose();
925
926                 return view.internalPivotPoint;
927             }
928         );
929
930         /// <summary>
931         /// SizeWidthProperty
932         /// </summary>
933         [EditorBrowsable(EditorBrowsableState.Never)]
934         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create(nameof(SizeWidth), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
935         {
936             var view = (View)bindable;
937             if (newValue != null)
938             {
939                 // Size property setter is only used by user.
940                 // Framework code uses SetSize() instead of Size property setter.
941                 // Size set by user is returned by GetUserSize2D() for SuggestedMinimumWidth/Height.
942                 // SuggestedMinimumWidth/Height is used by Layout calculation.
943                 view.userSizeWidth = (float)newValue;
944
945                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth, new Tizen.NUI.PropertyValue((float)newValue));
946                 view.WidthSpecification = (int)System.Math.Ceiling((float)newValue);
947             }
948         }),
949         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
950         {
951             var view = (View)bindable;
952             float temp = 0.0f;
953             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth).Get(out temp);
954             return temp;
955         }));
956
957         /// <summary>
958         /// SizeHeightProperty
959         /// </summary>
960         [EditorBrowsable(EditorBrowsableState.Never)]
961         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create(nameof(SizeHeight), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
962         {
963             var view = (View)bindable;
964             if (newValue != null)
965             {
966                 // Size property setter is only used by user.
967                 // Framework code uses SetSize() instead of Size property setter.
968                 // Size set by user is returned by GetUserSize2D() for SuggestedMinimumWidth/Height.
969                 // SuggestedMinimumWidth/Height is used by Layout calculation.
970                 view.userSizeHeight = (float)newValue;
971
972                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight, new Tizen.NUI.PropertyValue((float)newValue));
973                 view.HeightSpecification = (int)System.Math.Ceiling((float)newValue);
974             }
975         }),
976         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
977         {
978             var view = (View)bindable;
979             float temp = 0.0f;
980             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight).Get(out temp);
981             return temp;
982         }));
983
984         /// <summary>
985         /// PositionProperty
986         /// </summary>
987         [EditorBrowsable(EditorBrowsableState.Never)]
988         public static readonly BindableProperty PositionProperty = BindableProperty.Create(nameof(Position), typeof(Position), typeof(View), null,
989             propertyChanged: (bindable, oldValue, newValue) =>
990             {
991                 var view = (View)bindable;
992                 if (newValue != null)
993                 {
994                     view.SetPosition(((Position)newValue).X, ((Position)newValue).Y, ((Position)newValue).Z);
995                 }
996             },
997             defaultValueCreator: (bindable) =>
998             {
999                 var view = (View)bindable;
1000                 var tmpProperty = Object.GetProperty(view.SwigCPtr, Property.POSITION);
1001
1002                 if (view.internalPosition == null)
1003                 {
1004                     view.internalPosition = new Position(view.OnPositionChanged, 0, 0, 0);
1005                 }
1006                 tmpProperty?.Get(view.internalPosition);
1007                 tmpProperty?.Dispose();
1008
1009                 return view.internalPosition;
1010             }
1011         );
1012
1013         /// <summary>
1014         /// PositionXProperty
1015         /// </summary>
1016         [EditorBrowsable(EditorBrowsableState.Never)]
1017         public static readonly BindableProperty PositionXProperty = BindableProperty.Create(nameof(PositionX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1018         {
1019             var view = (View)bindable;
1020             if (newValue != null)
1021             {
1022                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX, new Tizen.NUI.PropertyValue((float)newValue));
1023             }
1024         }),
1025         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1026         {
1027             var view = (View)bindable;
1028             float temp = 0.0f;
1029             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionX).Get(out temp);
1030             return temp;
1031         }));
1032
1033         /// <summary>
1034         /// PositionYProperty
1035         /// </summary>
1036         [EditorBrowsable(EditorBrowsableState.Never)]
1037         public static readonly BindableProperty PositionYProperty = BindableProperty.Create(nameof(PositionY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1038         {
1039             var view = (View)bindable;
1040             if (newValue != null)
1041             {
1042                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY, new Tizen.NUI.PropertyValue((float)newValue));
1043             }
1044         }),
1045         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1046         {
1047             var view = (View)bindable;
1048             float temp = 0.0f;
1049             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionY).Get(out temp);
1050             return temp;
1051         }));
1052
1053         /// <summary>
1054         /// PositionZProperty
1055         /// </summary>
1056         [EditorBrowsable(EditorBrowsableState.Never)]
1057         public static readonly BindableProperty PositionZProperty = BindableProperty.Create(nameof(PositionZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1058         {
1059             var view = (View)bindable;
1060             if (newValue != null)
1061             {
1062                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ, new Tizen.NUI.PropertyValue((float)newValue));
1063             }
1064         }),
1065         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1066         {
1067             var view = (View)bindable;
1068             float temp = 0.0f;
1069             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.PositionZ).Get(out temp);
1070             return temp;
1071         }));
1072
1073         /// <summary>
1074         /// OrientationProperty
1075         /// </summary>
1076         [EditorBrowsable(EditorBrowsableState.Never)]
1077         public static readonly BindableProperty OrientationProperty = BindableProperty.Create(nameof(Orientation), typeof(Rotation), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1078         {
1079             var view = (View)bindable;
1080             if (newValue != null)
1081             {
1082                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
1083             }
1084         }),
1085         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1086         {
1087             var view = (View)bindable;
1088             Rotation temp = new Rotation();
1089             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ORIENTATION).Get(temp);
1090             return temp;
1091         }));
1092
1093         /// <summary>
1094         /// ScaleProperty
1095         /// </summary>
1096         [EditorBrowsable(EditorBrowsableState.Never)]
1097         public static readonly BindableProperty ScaleProperty = BindableProperty.Create(nameof(Scale), typeof(Vector3), typeof(View), null,
1098             propertyChanged: (bindable, oldValue, newValue) =>
1099             {
1100                 var view = (View)bindable;
1101                 if (newValue != null)
1102                 {
1103                     view.SetScale((Vector3)newValue);
1104                 }
1105             },
1106             defaultValueCreator: (bindable) =>
1107             {
1108                 var view = (View)bindable;
1109                 if (view.internalScale == null)
1110                 {
1111                     view.internalScale = new Vector3(view.OnScaleChanged, 0, 0, 0);
1112                 }
1113
1114                 var tmpPropery = Object.GetProperty(view.SwigCPtr, Property.SCALE);
1115                 tmpPropery?.Get(view.internalScale);
1116                 tmpPropery?.Dispose();
1117
1118                 return view.internalScale;
1119             }
1120         );
1121
1122         /// <summary>
1123         /// ScaleXProperty
1124         /// </summary>
1125         [EditorBrowsable(EditorBrowsableState.Never)]
1126         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create(nameof(ScaleX), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1127         {
1128             var view = (View)bindable;
1129             if (newValue != null)
1130             {
1131                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX, new Tizen.NUI.PropertyValue((float)newValue));
1132             }
1133         }),
1134         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1135         {
1136             var view = (View)bindable;
1137             float temp = 0.0f;
1138             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleX).Get(out temp);
1139             return temp;
1140         }));
1141
1142         /// <summary>
1143         /// ScaleYProperty
1144         /// </summary>
1145         [EditorBrowsable(EditorBrowsableState.Never)]
1146         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create(nameof(ScaleY), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1147         {
1148             var view = (View)bindable;
1149             if (newValue != null)
1150             {
1151                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY, new Tizen.NUI.PropertyValue((float)newValue));
1152             }
1153         }),
1154         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1155         {
1156             var view = (View)bindable;
1157             float temp = 0.0f;
1158             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleY).Get(out temp);
1159             return temp;
1160         }));
1161
1162         /// <summary>
1163         /// ScaleZProperty
1164         /// </summary>
1165         [EditorBrowsable(EditorBrowsableState.Never)]
1166         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create(nameof(ScaleZ), typeof(float), typeof(View), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1167         {
1168             var view = (View)bindable;
1169             if (newValue != null)
1170             {
1171                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ, new Tizen.NUI.PropertyValue((float)newValue));
1172             }
1173         }),
1174         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1175         {
1176             var view = (View)bindable;
1177             float temp = 0.0f;
1178             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ScaleZ).Get(out temp);
1179             return temp;
1180         }));
1181
1182         /// <summary>
1183         /// NameProperty
1184         /// </summary>
1185         [EditorBrowsable(EditorBrowsableState.Never)]
1186         public static readonly BindableProperty NameProperty = BindableProperty.Create(nameof(Name), typeof(string), typeof(View), string.Empty,
1187             propertyChanged: (bindable, oldValue, newValue) =>
1188             {
1189                 var view = (View)bindable;
1190                 if (newValue != null)
1191                 {
1192                     view.SetName((string)newValue);
1193                 }
1194             },
1195             defaultValueCreator: (bindable) =>
1196             {
1197                 var view = (View)bindable;
1198                 string temp;
1199                 temp = view.GetName();
1200                 return temp;
1201             }
1202         );
1203
1204         /// <summary>
1205         /// SensitiveProperty
1206         /// </summary>
1207         [EditorBrowsable(EditorBrowsableState.Never)]
1208         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create(nameof(Sensitive), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1209         {
1210             var view = (View)bindable;
1211             if (newValue != null)
1212             {
1213                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
1214             }
1215         }),
1216         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1217         {
1218             var view = (View)bindable;
1219             bool temp = false;
1220             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SENSITIVE).Get(out temp);
1221             return temp;
1222         }));
1223
1224         /// <summary>
1225         /// IsEnabledProperty
1226         /// </summary>
1227         [EditorBrowsable(EditorBrowsableState.Never)]
1228         public static readonly BindableProperty IsEnabledProperty = BindableProperty.Create(nameof(IsEnabled), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1229         {
1230             var view = (View)bindable;
1231             if (newValue != null)
1232             {
1233                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.UserInteractionEnabled, new Tizen.NUI.PropertyValue((bool)newValue));
1234                 view.OnEnabled((bool)newValue);
1235             }
1236         }),
1237         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1238         {
1239             var view = (View)bindable;
1240             bool temp = false;
1241             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.UserInteractionEnabled).Get(out temp);
1242             return temp;
1243         }));
1244
1245         /// <summary>
1246         /// DispatchKeyEventsProperty
1247         /// </summary>
1248         [EditorBrowsable(EditorBrowsableState.Never)]
1249         public static readonly BindableProperty DispatchKeyEventsProperty = BindableProperty.Create(nameof(DispatchKeyEvents), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1250         {
1251             var view = (View)bindable;
1252             if (newValue != null)
1253             {
1254                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DispatchKeyEvents, new Tizen.NUI.PropertyValue((bool)newValue));
1255             }
1256         }),
1257         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1258         {
1259             var view = (View)bindable;
1260             bool temp = false;
1261             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DispatchKeyEvents).Get(out temp);
1262             return temp;
1263         }));
1264
1265         /// <summary>
1266         /// LeaveRequiredProperty
1267         /// </summary>
1268         [EditorBrowsable(EditorBrowsableState.Never)]
1269         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create(nameof(LeaveRequired), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1270         {
1271             var view = (View)bindable;
1272             if (newValue != null)
1273             {
1274                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired, new Tizen.NUI.PropertyValue((bool)newValue));
1275             }
1276         }),
1277         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1278         {
1279             var view = (View)bindable;
1280             bool temp = false;
1281             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LeaveRequired).Get(out temp);
1282             return temp;
1283         }));
1284
1285         /// <summary>
1286         /// InheritOrientationProperty
1287         /// </summary>
1288         [EditorBrowsable(EditorBrowsableState.Never)]
1289         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create(nameof(InheritOrientation), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1290         {
1291             var view = (View)bindable;
1292             if (newValue != null)
1293             {
1294                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation, new Tizen.NUI.PropertyValue((bool)newValue));
1295             }
1296         }),
1297         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1298         {
1299             var view = (View)bindable;
1300             bool temp = false;
1301             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritOrientation).Get(out temp);
1302             return temp;
1303         }));
1304
1305         /// <summary>
1306         /// InheritScaleProperty
1307         /// </summary>
1308         [EditorBrowsable(EditorBrowsableState.Never)]
1309         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create(nameof(InheritScale), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1310         {
1311             var view = (View)bindable;
1312             if (newValue != null)
1313             {
1314                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale, new Tizen.NUI.PropertyValue((bool)newValue));
1315             }
1316         }),
1317         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1318         {
1319             var view = (View)bindable;
1320             bool temp = false;
1321             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritScale).Get(out temp);
1322             return temp;
1323         }));
1324
1325         /// <summary>
1326         /// DrawModeProperty
1327         /// </summary>
1328         [EditorBrowsable(EditorBrowsableState.Never)]
1329         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create(nameof(DrawMode), typeof(DrawModeType), typeof(View), DrawModeType.Normal, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1330         {
1331             var view = (View)bindable;
1332             if (newValue != null)
1333             {
1334                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode, new Tizen.NUI.PropertyValue((int)newValue));
1335             }
1336         }),
1337         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1338         {
1339             var view = (View)bindable;
1340             int temp;
1341             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.DrawMode).Get(out temp) == false)
1342             {
1343                 NUILog.Error("DrawMode get error!");
1344             }
1345             return (DrawModeType)temp;
1346         }));
1347
1348         /// <summary>
1349         /// SizeModeFactorProperty
1350         /// </summary>
1351         [EditorBrowsable(EditorBrowsableState.Never)]
1352         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create(nameof(SizeModeFactor), typeof(Vector3), typeof(View), null,
1353             propertyChanged: (bindable, oldValue, newValue) =>
1354             {
1355                 var view = (View)bindable;
1356                 if (newValue != null)
1357                 {
1358                     var tmp = new PropertyValue((Vector3)newValue);
1359                     Object.SetProperty(view.SwigCPtr, Property.SizeModeFactor, tmp);
1360                     tmp?.Dispose();
1361                 }
1362             },
1363             defaultValueCreator: (bindable) =>
1364             {
1365                 var view = (View)bindable;
1366                 if (view.internalSizeModeFactor == null)
1367                 {
1368                     view.internalSizeModeFactor = new Vector3(view.OnSizeModeFactorChanged, 0, 0, 0);
1369                 }
1370                 var tmp = Object.GetProperty(view.SwigCPtr, Property.SizeModeFactor);
1371                 tmp?.Get(view.internalSizeModeFactor);
1372                 tmp?.Dispose();
1373
1374                 return view.internalSizeModeFactor;
1375             }
1376         );
1377
1378         /// <summary>
1379         /// WidthResizePolicyProperty
1380         /// </summary>
1381         [EditorBrowsable(EditorBrowsableState.Never)]
1382         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create(nameof(WidthResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1383         {
1384             var view = (View)bindable;
1385             if (newValue != null)
1386             {
1387                 if ((ResizePolicyType)newValue == ResizePolicyType.KeepSizeFollowingParent)
1388                 {
1389                     if (view.widthConstraint == null)
1390                     {
1391                         view.widthConstraint = new EqualConstraintWithParentFloat((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeWidth, View.Property.SizeWidth);
1392                         view.widthConstraint.Apply();
1393                     }
1394                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy, new Tizen.NUI.PropertyValue((int)ResizePolicyType.FillToParent));
1395                 }
1396                 else
1397                 {
1398                     view.widthConstraint?.Remove();
1399                     view.widthConstraint?.Dispose();
1400                     view.widthConstraint = null;
1401                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1402                 }
1403                 // Match ResizePolicy to new Layouting.
1404                 // Parent relative policies can not be mapped at this point as parent size unknown.
1405                 switch ((ResizePolicyType)newValue)
1406                 {
1407                     case ResizePolicyType.UseNaturalSize:
1408                         {
1409                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1410                             break;
1411                         }
1412                     case ResizePolicyType.FillToParent:
1413                         {
1414                             view.WidthSpecification = LayoutParamPolicies.MatchParent;
1415                             break;
1416                         }
1417                     case ResizePolicyType.FitToChildren:
1418                         {
1419                             view.WidthSpecification = LayoutParamPolicies.WrapContent;
1420                             break;
1421                         }
1422                     default:
1423                         break;
1424                 }
1425             }
1426         }),
1427         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1428         {
1429             var view = (View)bindable;
1430             string temp;
1431             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthResizePolicy).Get(out temp) == false)
1432             {
1433                 NUILog.Error("WidthResizePolicy get error!");
1434             }
1435             return temp.GetValueByDescription<ResizePolicyType>();
1436         }));
1437
1438         /// <summary>
1439         /// HeightResizePolicyProperty
1440         /// </summary>
1441         [EditorBrowsable(EditorBrowsableState.Never)]
1442         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create(nameof(HeightResizePolicy), typeof(ResizePolicyType), typeof(View), ResizePolicyType.Fixed, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1443         {
1444             var view = (View)bindable;
1445             if (newValue != null)
1446             {
1447                 if ((ResizePolicyType)newValue == ResizePolicyType.KeepSizeFollowingParent)
1448                 {
1449                     if (view.heightConstraint == null)
1450                     {
1451                         view.heightConstraint = new EqualConstraintWithParentFloat((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeHeight, View.Property.SizeHeight);
1452                         view.heightConstraint.Apply();
1453                     }
1454                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy, new Tizen.NUI.PropertyValue((int)ResizePolicyType.FillToParent));
1455                 }
1456                 else
1457                 {
1458                     view.heightConstraint?.Remove();
1459                     view.heightConstraint?.Dispose();
1460                     view.heightConstraint = null;
1461                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy, new Tizen.NUI.PropertyValue((int)newValue));
1462                 }
1463                 // Match ResizePolicy to new Layouting.
1464                 // Parent relative policies can not be mapped at this point as parent size unknown.
1465                 switch ((ResizePolicyType)newValue)
1466                 {
1467                     case ResizePolicyType.UseNaturalSize:
1468                         {
1469                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1470                             break;
1471                         }
1472                     case ResizePolicyType.FillToParent:
1473                         {
1474                             view.HeightSpecification = LayoutParamPolicies.MatchParent;
1475                             break;
1476                         }
1477                     case ResizePolicyType.FitToChildren:
1478                         {
1479                             view.HeightSpecification = LayoutParamPolicies.WrapContent;
1480                             break;
1481                         }
1482                     default:
1483                         break;
1484                 }
1485             }
1486         }),
1487         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1488         {
1489             var view = (View)bindable;
1490             string temp;
1491             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightResizePolicy).Get(out temp) == false)
1492             {
1493                 NUILog.Error("HeightResizePolicy get error!");
1494             }
1495             return temp.GetValueByDescription<ResizePolicyType>();
1496         }));
1497
1498         /// <summary>
1499         /// SizeScalePolicyProperty
1500         /// </summary>
1501         [EditorBrowsable(EditorBrowsableState.Never)]
1502         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create(nameof(SizeScalePolicy), typeof(SizeScalePolicyType), typeof(View), SizeScalePolicyType.UseSizeSet, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1503         {
1504             var view = (View)bindable;
1505             string valueToString = "";
1506             if (newValue != null)
1507             {
1508                 valueToString = ((SizeScalePolicyType)newValue).GetDescription();
1509                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy, new Tizen.NUI.PropertyValue(valueToString));
1510             }
1511         }),
1512         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1513         {
1514             var view = (View)bindable;
1515             int temp;
1516             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SizeScalePolicy).Get(out temp) == false)
1517             {
1518                 NUILog.Error("SizeScalePolicy get error!");
1519             }
1520             return (SizeScalePolicyType)temp;
1521         }));
1522
1523         /// <summary>
1524         /// WidthForHeightProperty
1525         /// </summary>
1526         [EditorBrowsable(EditorBrowsableState.Never)]
1527         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create(nameof(WidthForHeight), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1528         {
1529             var view = (View)bindable;
1530             if (newValue != null)
1531             {
1532                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight, new Tizen.NUI.PropertyValue((bool)newValue));
1533             }
1534         }),
1535         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1536         {
1537             var view = (View)bindable;
1538             bool temp = false;
1539             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.WidthForHeight).Get(out temp);
1540             return temp;
1541         }));
1542
1543         /// <summary>
1544         /// HeightForWidthProperty
1545         /// </summary>
1546         [EditorBrowsable(EditorBrowsableState.Never)]
1547         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create(nameof(HeightForWidth), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1548         {
1549             var view = (View)bindable;
1550             if (newValue != null)
1551             {
1552                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth, new Tizen.NUI.PropertyValue((bool)newValue));
1553             }
1554         }),
1555         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1556         {
1557             var view = (View)bindable;
1558             bool temp = false;
1559             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.HeightForWidth).Get(out temp);
1560             return temp;
1561         }));
1562
1563         /// <summary>
1564         /// PaddingProperty
1565         /// </summary>
1566         [EditorBrowsable(EditorBrowsableState.Never)]
1567         public static readonly BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(View), null,
1568             propertyChanged: (bindable, oldValue, newValue) =>
1569             {
1570                 var view = (View)bindable;
1571                 if (newValue != null)
1572                 {
1573                     var tmp = new PropertyValue((Extents)newValue);
1574                     Object.SetProperty(view.SwigCPtr, View.Property.PADDING, tmp);
1575                     tmp?.Dispose();
1576                 }
1577             },
1578             defaultValueCreator: (bindable) =>
1579             {
1580                 var view = (View)bindable;
1581                 if (view.internalPadding == null)
1582                 {
1583                     view.internalPadding = new Extents(view.OnPaddingChanged, 0, 0, 0, 0);
1584                 }
1585
1586                 var tmp = Object.GetProperty(view.SwigCPtr, Property.PADDING);
1587                 tmp?.Get(view.internalPadding);
1588                 tmp?.Dispose();
1589
1590                 return view.internalPadding;
1591             }
1592         );
1593
1594         /// <summary>
1595         /// SizeProperty
1596         /// </summary>
1597         [EditorBrowsable(EditorBrowsableState.Never)]
1598         public static readonly BindableProperty SizeProperty = BindableProperty.Create(nameof(Size), typeof(Size), typeof(View), null,
1599             propertyChanged: (bindable, oldValue, newValue) =>
1600             {
1601                 var view = (View)bindable;
1602                 if (newValue != null)
1603                 {
1604                     // Size property setter is only used by user.
1605                     // Framework code uses SetSize() instead of Size property setter.
1606                     // Size set by user is returned by GetUserSize2D() for SuggestedMinimumWidth/Height.
1607                     // SuggestedMinimumWidth/Height is used by Layout calculation.
1608                     view.userSizeWidth = ((Size)newValue).Width;
1609                     view.userSizeHeight = ((Size)newValue).Height;
1610
1611                     // Set Specification so when layouts measure this View it matches the value set here.
1612                     // All Views are currently Layouts.
1613                     view.WidthSpecification = (int)System.Math.Ceiling(((Size)newValue).Width);
1614                     view.HeightSpecification = (int)System.Math.Ceiling(((Size)newValue).Height);
1615
1616                     view.SetSize(((Size)newValue).Width, ((Size)newValue).Height, ((Size)newValue).Depth);
1617                 }
1618             },
1619             defaultValueCreator: (bindable) =>
1620             {
1621                 var view = (View)bindable;
1622
1623                 var tmpProperty = Object.GetProperty(view.SwigCPtr, Property.SIZE);
1624                 if (view.internalSize == null)
1625                 {
1626                     view.internalSize = new Size(view.OnSizeChanged, 0, 0, 0);
1627                 }
1628                 tmpProperty?.Get(view.internalSize);
1629                 tmpProperty?.Dispose();
1630
1631                 return view.internalSize;
1632             }
1633         );
1634
1635         /// <summary>
1636         /// MinimumSizeProperty
1637         /// </summary>
1638         [EditorBrowsable(EditorBrowsableState.Never)]
1639         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create(nameof(MinimumSize), typeof(Size2D), typeof(View), null,
1640             propertyChanged: (bindable, oldValue, newValue) =>
1641             {
1642                 var view = (View)bindable;
1643                 if (newValue != null)
1644                 {
1645                     view.SetMinimumSize((Size2D)newValue);
1646                 }
1647             },
1648             defaultValueCreator: (bindable) =>
1649             {
1650                 var view = (View)bindable;
1651                 if (view.internalMinimumSize == null)
1652                 {
1653                     view.internalMinimumSize = new Size2D(view.OnMinimumSizeChanged, 0, 0);
1654                 }
1655                 var tmp = Object.GetProperty(view.SwigCPtr, Property.MinimumSize);
1656                 tmp?.Get(view.internalMinimumSize);
1657                 tmp?.Dispose();
1658
1659                 return view.internalMinimumSize;
1660             }
1661         );
1662
1663         /// <summary>
1664         /// MaximumSizeProperty
1665         /// </summary>
1666         [EditorBrowsable(EditorBrowsableState.Never)]
1667         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create(nameof(MaximumSize), typeof(Size2D), typeof(View), null,
1668             propertyChanged: (bindable, oldValue, newValue) =>
1669             {
1670                 var view = (View)bindable;
1671                 if (newValue != null)
1672                 {
1673                     view.SetMaximumSize((Size2D)newValue);
1674                 }
1675             },
1676             defaultValueCreator: (bindable) =>
1677             {
1678                 var view = (View)bindable;
1679                 if (view.internalMaximumSize == null)
1680                 {
1681                     view.internalMaximumSize = new Size2D(view.OnMaximumSizeChanged, 0, 0);
1682                 }
1683                 var tmp = Object.GetProperty(view.SwigCPtr, Property.MaximumSize);
1684                 tmp?.Get(view.internalMaximumSize);
1685                 tmp?.Dispose();
1686
1687                 return view.internalMaximumSize;
1688             }
1689         );
1690
1691         /// <summary>
1692         /// InheritPositionProperty
1693         /// </summary>
1694         [EditorBrowsable(EditorBrowsableState.Never)]
1695         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create(nameof(InheritPosition), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1696         {
1697             var view = (View)bindable;
1698             if (newValue != null)
1699             {
1700                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition, new Tizen.NUI.PropertyValue((bool)newValue));
1701             }
1702         }),
1703         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1704         {
1705             var view = (View)bindable;
1706             bool temp = false;
1707             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritPosition).Get(out temp);
1708             return temp;
1709         }));
1710
1711         /// <summary>
1712         /// ClippingModeProperty
1713         /// </summary>
1714         [EditorBrowsable(EditorBrowsableState.Never)]
1715         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create(nameof(ClippingMode), typeof(ClippingModeType), typeof(View), ClippingModeType.Disabled, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1716         {
1717             var view = (View)bindable;
1718             if (newValue != null)
1719             {
1720                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode, new Tizen.NUI.PropertyValue((int)newValue));
1721             }
1722         }),
1723         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1724         {
1725             var view = (View)bindable;
1726             int temp = 0;
1727             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.ClippingMode).Get(out temp) == false)
1728             {
1729                 NUILog.Error("ClippingMode get error!");
1730             }
1731             return (ClippingModeType)temp;
1732         }));
1733
1734         /// <summary>
1735         /// InheritLayoutDirectionProperty
1736         /// </summary>
1737         [EditorBrowsable(EditorBrowsableState.Never)]
1738         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create(nameof(InheritLayoutDirection), typeof(bool), typeof(View), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1739         {
1740             var view = (View)bindable;
1741             if (newValue != null)
1742             {
1743                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection, new Tizen.NUI.PropertyValue((bool)newValue));
1744             }
1745         }),
1746         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1747         {
1748             var view = (View)bindable;
1749             bool temp = false;
1750             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.InheritLayoutDirection).Get(out temp);
1751             return temp;
1752         }));
1753
1754         /// <summary>
1755         /// LayoutDirectionProperty
1756         /// </summary>
1757         [EditorBrowsable(EditorBrowsableState.Never)]
1758         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create(nameof(LayoutDirection), typeof(ViewLayoutDirectionType), typeof(View), ViewLayoutDirectionType.LTR, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1759         {
1760             var view = (View)bindable;
1761             if (newValue != null)
1762             {
1763                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection, new Tizen.NUI.PropertyValue((int)newValue));
1764             }
1765         }),
1766         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1767         {
1768             var view = (View)bindable;
1769             int temp;
1770             if (false == Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.LayoutDirection).Get(out temp))
1771             {
1772                 NUILog.Error("LAYOUT_DIRECTION get error!");
1773             }
1774             return (ViewLayoutDirectionType)temp;
1775         }));
1776
1777         /// <summary>
1778         /// MarginProperty
1779         /// </summary>
1780         [EditorBrowsable(EditorBrowsableState.Never)]
1781         public static readonly BindableProperty MarginProperty = BindableProperty.Create(nameof(Margin), typeof(Extents), typeof(View), null,
1782             propertyChanged: (bindable, oldValue, newValue) =>
1783             {
1784                 var view = (View)bindable;
1785                 if (newValue != null)
1786                 {
1787                     var tmp = new PropertyValue((Extents)newValue);
1788                     Object.SetProperty(view.SwigCPtr, Property.MARGIN, tmp);
1789                     tmp?.Dispose();
1790                 }
1791             },
1792             defaultValueCreator: (bindable) =>
1793             {
1794                 var view = (View)bindable;
1795                 if (view.internalMargin == null)
1796                 {
1797                     view.internalMargin = new Extents(view.OnMarginChanged, 0, 0, 0, 0);
1798                 }
1799                 var tmp = Object.GetProperty(view.SwigCPtr, Property.MARGIN);
1800                 tmp?.Get(view.internalMargin);
1801                 tmp?.Dispose();
1802
1803                 return view.internalMargin;
1804             }
1805         );
1806
1807         /// <summary>
1808         /// UpdateSizeHintProperty
1809         /// </summary>
1810         [EditorBrowsable(EditorBrowsableState.Never)]
1811         public static readonly BindableProperty UpdateSizeHintProperty = BindableProperty.Create(nameof(UpdateSizeHint), typeof(Vector2), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1812         {
1813             var view = (View)bindable;
1814             if (newValue != null)
1815             {
1816                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet(), new Tizen.NUI.PropertyValue((Vector2)newValue));
1817             }
1818         }),
1819         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1820         {
1821             var view = (View)bindable;
1822
1823             Vector2 temp = new Vector2(0.0f, 0.0f);
1824             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, Interop.ViewProperty.UpdateSizeHintGet()).Get(temp);
1825             return temp;
1826         }));
1827
1828         /// <summary>
1829         /// ImageShadow Property
1830         /// </summary>
1831         [EditorBrowsable(EditorBrowsableState.Never)]
1832         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create(nameof(ImageShadow), typeof(ImageShadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1833         {
1834             var view = (View)bindable;
1835
1836             view.themeData?.selectorData?.ClearShadow(view);
1837
1838             if (newValue is Selector<ImageShadow> selector)
1839             {
1840                 if (selector.HasAll()) view.SetShadow(selector.All);
1841                 else view.EnsureSelectorData().ImageShadow = new TriggerableSelector<ImageShadow>(view, selector, view.SetShadow, true);
1842             }
1843             else
1844             {
1845                 view.SetShadow((ImageShadow)newValue);
1846             }
1847         }),
1848         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1849         {
1850             var view = (View)bindable;
1851
1852             PropertyMap map = new PropertyMap();
1853             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1854
1855             var shadow = new ImageShadow(map);
1856             return shadow.IsEmpty() ? null : shadow;
1857         }));
1858
1859         /// <summary>
1860         /// Shadow Property
1861         /// </summary>
1862         [EditorBrowsable(EditorBrowsableState.Never)]
1863         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Shadow), typeof(View), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
1864         {
1865             var view = (View)bindable;
1866
1867             view.themeData?.selectorData?.ClearShadow(view);
1868
1869             if (newValue is Selector<Shadow> selector)
1870             {
1871                 if (selector.HasAll()) view.SetShadow(selector.All);
1872                 else view.EnsureSelectorData().BoxShadow = new TriggerableSelector<Shadow>(view, selector, view.SetShadow, true);
1873             }
1874             else
1875             {
1876                 view.SetShadow((Shadow)newValue);
1877             }
1878         }),
1879         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
1880         {
1881             var view = (View)bindable;
1882
1883             PropertyMap map = new PropertyMap();
1884             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.SHADOW).Get(map);
1885
1886             var shadow = new Shadow(map);
1887             return shadow.IsEmpty() ? null : shadow;
1888         }));
1889
1890         /// <summary>
1891         /// CornerRadius Property
1892         /// </summary>
1893         [EditorBrowsable(EditorBrowsableState.Never)]
1894         public static readonly BindableProperty CornerRadiusProperty = BindableProperty.Create(nameof(CornerRadius), typeof(Vector4), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1895         {
1896             var view = (View)bindable;
1897             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadius = (Vector4)newValue;
1898             view.ApplyCornerRadius();
1899         },
1900         defaultValueCreator: (bindable) =>
1901         {
1902             var view = (View)bindable;
1903             return view.backgroundExtraData == null ? 0.0f : view.backgroundExtraData.CornerRadius;
1904         });
1905
1906         /// <summary>
1907         /// CornerRadiusPolicy Property
1908         /// </summary>
1909         [EditorBrowsable(EditorBrowsableState.Never)]
1910         public static readonly BindableProperty CornerRadiusPolicyProperty = BindableProperty.Create(nameof(CornerRadiusPolicy), typeof(VisualTransformPolicyType), typeof(View), VisualTransformPolicyType.Absolute, propertyChanged: (bindable, oldValue, newValue) =>
1911         {
1912             var view = (View)bindable;
1913             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).CornerRadiusPolicy = (VisualTransformPolicyType)newValue;
1914
1915             if (view.backgroundExtraData.CornerRadius != null)
1916             {
1917                 view.ApplyCornerRadius();
1918             }
1919         },
1920         defaultValueCreator: (bindable) =>
1921         {
1922             var view = (View)bindable;
1923             return view.backgroundExtraData == null ? VisualTransformPolicyType.Absolute : view.backgroundExtraData.CornerRadiusPolicy;
1924         });
1925
1926         /// <summary>
1927         /// BorderlineWidth Property
1928         /// </summary>
1929         [EditorBrowsable(EditorBrowsableState.Never)]
1930         public static readonly BindableProperty BorderlineWidthProperty = BindableProperty.Create(nameof(BorderlineWidth), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
1931         {
1932             var view = (View)bindable;
1933             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BorderlineWidth = (float)newValue;
1934             view.ApplyBorderline();
1935         },
1936         defaultValueCreator: (bindable) =>
1937         {
1938             var view = (View)bindable;
1939             return view.backgroundExtraData == null ? 0.0f : view.backgroundExtraData.BorderlineWidth;
1940         });
1941
1942         /// <summary>
1943         /// BorderlineColor Property
1944         /// </summary>
1945         [EditorBrowsable(EditorBrowsableState.Never)]
1946         public static readonly BindableProperty BorderlineColorProperty = BindableProperty.Create(nameof(BorderlineColor), typeof(Color), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
1947         {
1948             var view = (View)bindable;
1949             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BorderlineColor = (Color)newValue;
1950             view.ApplyBorderline();
1951         },
1952         defaultValueCreator: (bindable) =>
1953         {
1954             var view = (View)bindable;
1955             return view.backgroundExtraData == null ? Color.Black : view.backgroundExtraData.BorderlineColor;
1956         });
1957
1958         /// <summary>
1959         /// BorderlineOffset Property
1960         /// </summary>
1961         [EditorBrowsable(EditorBrowsableState.Never)]
1962         public static readonly BindableProperty BorderlineOffsetProperty = BindableProperty.Create(nameof(BorderlineOffset), typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
1963         {
1964             var view = (View)bindable;
1965             (view.backgroundExtraData ?? (view.backgroundExtraData = new BackgroundExtraData())).BorderlineOffset = (float)newValue;
1966             view.ApplyBorderline();
1967         },
1968         defaultValueCreator: (bindable) =>
1969         {
1970             var view = (View)bindable;
1971             return view.backgroundExtraData == null ? 0.0f : view.backgroundExtraData.BorderlineOffset;
1972         });
1973
1974         /// <summary>
1975         /// EnableControlState property
1976         /// </summary>
1977         [EditorBrowsable(EditorBrowsableState.Never)]
1978         public static readonly BindableProperty EnableControlStateProperty = BindableProperty.Create(nameof(EnableControlState), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
1979         {
1980             var view = (View)bindable;
1981             bool prev = view.enableControlState;
1982             view.enableControlState = (bool)newValue;
1983
1984             if (prev != view.enableControlState)
1985             {
1986                 if (prev)
1987                 {
1988                     view.TouchEvent -= view.EmptyOnTouch;
1989                 }
1990                 else
1991                 {
1992                     view.TouchEvent += view.EmptyOnTouch;
1993                 }
1994             }
1995         },
1996         defaultValueCreator: (bindable) =>
1997         {
1998             return ((View)bindable).enableControlState;
1999         });
2000
2001         /// <summary>
2002         /// ThemeChangeSensitive property
2003         /// </summary>
2004         [EditorBrowsable(EditorBrowsableState.Never)]
2005         public static readonly BindableProperty ThemeChangeSensitiveProperty = BindableProperty.Create(nameof(ThemeChangeSensitive), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2006         {
2007             var view = (View)bindable;
2008
2009             if (view.ThemeChangeSensitive == (bool)newValue) return;
2010
2011             if (view.themeData == null) view.themeData = new ThemeData();
2012
2013             view.themeData.ThemeChangeSensitive = (bool)newValue;
2014
2015             if (!view.themeData.ThemeApplied) return;
2016
2017             if (view.themeData.ThemeChangeSensitive && !view.themeData.ListeningThemeChangeEvent)
2018             {
2019                 view.themeData.ListeningThemeChangeEvent = true;
2020                 ThemeManager.ThemeChangedInternal.Add(view.OnThemeChanged);
2021             }
2022             else if (!view.themeData.ThemeChangeSensitive && view.themeData.ListeningThemeChangeEvent)
2023             {
2024                 view.themeData.ListeningThemeChangeEvent = false;
2025                 ThemeManager.ThemeChangedInternal.Remove(view.OnThemeChanged);
2026             }
2027         },
2028         defaultValueCreator: (bindable) =>
2029         {
2030             return ((View)bindable).themeData?.ThemeChangeSensitive ?? ThemeManager.ApplicationThemeChangeSensitive;
2031         });
2032
2033         /// <summary>
2034         /// AccessibilityNameProperty
2035         /// </summary>
2036         [EditorBrowsable(EditorBrowsableState.Never)]
2037         public static readonly BindableProperty AccessibilityNameProperty = BindableProperty.Create(nameof(AccessibilityName), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
2038         {
2039             var view = (View)bindable;
2040             if (newValue != null)
2041             {
2042                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityName, new Tizen.NUI.PropertyValue((string)newValue));
2043             }
2044         },
2045         defaultValueCreator: (bindable) =>
2046         {
2047             var view = (View)bindable;
2048
2049             string temp;
2050             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityName).Get(out temp);
2051             return temp;
2052         });
2053
2054         /// <summary>
2055         /// AccessibilityDescriptionProperty
2056         /// </summary>
2057         [EditorBrowsable(EditorBrowsableState.Never)]
2058         public static readonly BindableProperty AccessibilityDescriptionProperty = BindableProperty.Create(nameof(AccessibilityDescription), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
2059         {
2060             var view = (View)bindable;
2061             if (newValue != null)
2062             {
2063                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityDescription, new Tizen.NUI.PropertyValue((string)newValue));
2064             }
2065         },
2066         defaultValueCreator: (bindable) =>
2067         {
2068             var view = (View)bindable;
2069
2070             string temp;
2071             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityDescription).Get(out temp);
2072             return temp;
2073         });
2074
2075         /// <summary>
2076         /// AccessibilityTranslationDomainProperty
2077         /// </summary>
2078         [EditorBrowsable(EditorBrowsableState.Never)]
2079         public static readonly BindableProperty AccessibilityTranslationDomainProperty = BindableProperty.Create(nameof(AccessibilityTranslationDomain), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
2080         {
2081             var view = (View)bindable;
2082             if (newValue != null)
2083             {
2084                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityTranslationDomain, new Tizen.NUI.PropertyValue((string)newValue));
2085             }
2086         },
2087         defaultValueCreator: (bindable) =>
2088         {
2089             var view = (View)bindable;
2090
2091             string temp;
2092             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityTranslationDomain).Get(out temp);
2093             return temp;
2094         });
2095
2096         /// <summary>
2097         /// AccessibilityRoleProperty
2098         /// </summary>
2099         [EditorBrowsable(EditorBrowsableState.Never)]
2100         public static readonly BindableProperty AccessibilityRoleProperty = BindableProperty.Create(nameof(AccessibilityRole), typeof(Role), typeof(View), default(Role), propertyChanged: (bindable, oldValue, newValue) =>
2101         {
2102             var view = (View)bindable;
2103             if (newValue != null)
2104             {
2105                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityRole, new Tizen.NUI.PropertyValue((int)newValue));
2106             }
2107         },
2108         defaultValueCreator: (bindable) =>
2109         {
2110             var view = (View)bindable;
2111
2112             int temp = 0;
2113             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityRole).Get(out temp);
2114             return (Role)temp;
2115         });
2116
2117         /// <summary>
2118         /// AccessibilityHighlightableProperty
2119         /// </summary>
2120         [EditorBrowsable(EditorBrowsableState.Never)]
2121         public static readonly BindableProperty AccessibilityHighlightableProperty = BindableProperty.Create(nameof(AccessibilityHighlightable), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2122         {
2123             var view = (View)bindable;
2124             if (newValue != null)
2125             {
2126                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHighlightable, new Tizen.NUI.PropertyValue((bool)newValue));
2127             }
2128         },
2129         defaultValueCreator: (bindable) =>
2130         {
2131             var view = (View)bindable;
2132             bool temp = false;
2133             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHighlightable).Get(out temp);
2134             return temp;
2135         });
2136
2137         /// <summary>
2138         /// AccessibilityHiddenProperty
2139         /// </summary>
2140         [EditorBrowsable(EditorBrowsableState.Never)]
2141         public static readonly BindableProperty AccessibilityHiddenProperty = BindableProperty.Create(nameof(AccessibilityHidden), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2142         {
2143             var view = (View)bindable;
2144             if (newValue != null)
2145             {
2146                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHidden, new Tizen.NUI.PropertyValue((bool)newValue));
2147             }
2148         },
2149         defaultValueCreator: (bindable) =>
2150         {
2151             var view = (View)bindable;
2152             bool temp = false;
2153             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)view.SwigCPtr, View.Property.AccessibilityHidden).Get(out temp);
2154             return temp;
2155         });
2156
2157         /// <summary>
2158         /// ExcludeLayoutingProperty
2159         /// </summary>
2160         [EditorBrowsable(EditorBrowsableState.Never)]
2161         public static readonly BindableProperty ExcludeLayoutingProperty = BindableProperty.Create(nameof(ExcludeLayouting), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2162         {
2163             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2164             if (newValue != null)
2165             {
2166                 instance.InternalExcludeLayouting = (bool)newValue;
2167             }
2168         },
2169         defaultValueCreator: (bindable) =>
2170         {
2171             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2172             return instance.InternalExcludeLayouting;
2173         });
2174
2175         /// <summary>
2176         /// TooltipTextProperty
2177         /// </summary>
2178         [EditorBrowsable(EditorBrowsableState.Never)]
2179         public static readonly BindableProperty TooltipTextProperty = BindableProperty.Create(nameof(TooltipText), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
2180         {
2181             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2182             if (newValue != null)
2183             {
2184                 instance.InternalTooltipText = (string)newValue;
2185             }
2186         },
2187         defaultValueCreator: (bindable) =>
2188         {
2189             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2190             return instance.InternalTooltipText;
2191         });
2192
2193         /// <summary>
2194         /// PositionUsesAnchorPointProperty
2195         /// </summary>
2196         [EditorBrowsable(EditorBrowsableState.Never)]
2197         public static readonly BindableProperty PositionUsesAnchorPointProperty = BindableProperty.Create(nameof(PositionUsesAnchorPoint), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2198         {
2199             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2200             if (newValue != null)
2201             {
2202                 instance.InternalPositionUsesAnchorPoint = (bool)newValue;
2203             }
2204         },
2205         defaultValueCreator: (bindable) =>
2206         {
2207             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2208             return instance.InternalPositionUsesAnchorPoint;
2209         });
2210
2211         /// <summary>
2212         /// AnchorPointProperty
2213         /// </summary>
2214         [EditorBrowsable(EditorBrowsableState.Never)]
2215         public static readonly BindableProperty AnchorPointProperty = BindableProperty.Create(nameof(AnchorPoint), typeof(Tizen.NUI.Position), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
2216         {
2217             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2218             if (newValue != null)
2219             {
2220                 instance.InternalAnchorPoint = (Tizen.NUI.Position)newValue;
2221             }
2222         },
2223         defaultValueCreator: (bindable) =>
2224         {
2225             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2226             return instance.InternalAnchorPoint;
2227         });
2228
2229         /// <summary>
2230         /// WidthSpecificationProperty
2231         /// </summary>
2232         [EditorBrowsable(EditorBrowsableState.Never)]
2233         public static readonly BindableProperty WidthSpecificationProperty = BindableProperty.Create(nameof(WidthSpecification), typeof(int), typeof(View), 0, propertyChanged: (bindable, oldValue, newValue) =>
2234         {
2235             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2236             if (newValue != null)
2237             {
2238                 instance.InternalWidthSpecification = (int)newValue;
2239             }
2240         },
2241         defaultValueCreator: (bindable) =>
2242         {
2243             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2244             return instance.InternalWidthSpecification;
2245         });
2246
2247         /// <summary>
2248         /// HeightSpecificationProperty
2249         /// </summary>
2250         [EditorBrowsable(EditorBrowsableState.Never)]
2251         public static readonly BindableProperty HeightSpecificationProperty = BindableProperty.Create(nameof(HeightSpecification), typeof(int), typeof(View), 0, propertyChanged: (bindable, oldValue, newValue) =>
2252         {
2253             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2254             if (newValue != null)
2255             {
2256                 instance.InternalHeightSpecification = (int)newValue;
2257             }
2258         },
2259         defaultValueCreator: (bindable) =>
2260         {
2261             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2262             return instance.InternalHeightSpecification;
2263         });
2264
2265         /// <summary>
2266         /// LayoutTransitionProperty
2267         /// </summary>
2268         [EditorBrowsable(EditorBrowsableState.Never)]
2269         public static readonly BindableProperty LayoutTransitionProperty = BindableProperty.Create(nameof(LayoutTransition), typeof(Tizen.NUI.LayoutTransition), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
2270         {
2271             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2272             if (newValue != null)
2273             {
2274                 instance.InternalLayoutTransition = (Tizen.NUI.LayoutTransition)newValue;
2275             }
2276         },
2277         defaultValueCreator: (bindable) =>
2278         {
2279             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2280             return instance.InternalLayoutTransition;
2281         });
2282
2283         /// <summary>
2284         /// PaddingEXProperty
2285         /// </summary>
2286         [EditorBrowsable(EditorBrowsableState.Never)]
2287         public static readonly BindableProperty PaddingEXProperty = BindableProperty.Create(nameof(PaddingEX), typeof(Tizen.NUI.Extents), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
2288         {
2289             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2290             if (newValue != null)
2291             {
2292                 instance.InternalPaddingEX = (Tizen.NUI.Extents)newValue;
2293             }
2294         },
2295         defaultValueCreator: (bindable) =>
2296         {
2297             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2298             return instance.InternalPaddingEX;
2299         });
2300
2301         /// <summary>
2302         /// LayoutProperty
2303         /// </summary>
2304         [EditorBrowsable(EditorBrowsableState.Never)]
2305         public static readonly BindableProperty LayoutProperty = BindableProperty.Create(nameof(Layout), typeof(Tizen.NUI.LayoutItem), typeof(View), null, propertyChanged: (bindable, oldValue, newValue) =>
2306         {
2307             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2308             if (newValue != null)
2309             {
2310                 instance.InternalLayout = (Tizen.NUI.LayoutItem)newValue;
2311             }
2312         },
2313         defaultValueCreator: (bindable) =>
2314         {
2315             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2316             return instance.InternalLayout;
2317         });
2318
2319         /// <summary>
2320         /// BackgroundImageSynchronosLoadingProperty
2321         /// </summary>
2322         [EditorBrowsable(EditorBrowsableState.Never)]
2323         public static readonly BindableProperty BackgroundImageSynchronosLoadingProperty = BindableProperty.Create(nameof(BackgroundImageSynchronosLoading), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2324         {
2325             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2326             if (newValue != null)
2327             {
2328                 instance.InternalBackgroundImageSynchronosLoading = (bool)newValue;
2329             }
2330         },
2331         defaultValueCreator: (bindable) =>
2332         {
2333             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2334             return instance.InternalBackgroundImageSynchronosLoading;
2335         });
2336
2337         /// <summary>
2338         /// BackgroundImageSynchronousLoadingProperty
2339         /// </summary>
2340         [EditorBrowsable(EditorBrowsableState.Never)]
2341         public static readonly BindableProperty BackgroundImageSynchronousLoadingProperty = BindableProperty.Create(nameof(BackgroundImageSynchronousLoading), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2342         {
2343             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2344             if (newValue != null)
2345             {
2346                 instance.InternalBackgroundImageSynchronousLoading = (bool)newValue;
2347             }
2348         },
2349         defaultValueCreator: (bindable) =>
2350         {
2351             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2352             return instance.InternalBackgroundImageSynchronousLoading;
2353         });
2354
2355         /// <summary>
2356         /// EnableControlStatePropagationProperty
2357         /// </summary>
2358         [EditorBrowsable(EditorBrowsableState.Never)]
2359         public static readonly BindableProperty EnableControlStatePropagationProperty = BindableProperty.Create(nameof(EnableControlStatePropagation), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2360         {
2361             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2362             if (newValue != null)
2363             {
2364                 instance.InternalEnableControlStatePropagation = (bool)newValue;
2365             }
2366         },
2367         defaultValueCreator: (bindable) =>
2368         {
2369             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2370             return instance.InternalEnableControlStatePropagation;
2371         });
2372
2373         /// <summary>
2374         /// GrabTouchAfterLeaveProperty
2375         /// </summary>
2376         [EditorBrowsable(EditorBrowsableState.Never)]
2377         public static readonly BindableProperty GrabTouchAfterLeaveProperty = BindableProperty.Create(nameof(GrabTouchAfterLeave), typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
2378         {
2379             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2380             if (newValue != null)
2381             {
2382                 instance.InternalGrabTouchAfterLeave = (bool)newValue;
2383             }
2384         },
2385         defaultValueCreator: (bindable) =>
2386         {
2387             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2388             return instance.InternalGrabTouchAfterLeave;
2389         });
2390
2391         /// <summary>
2392         /// BlendEquationProperty
2393         /// </summary>
2394         [EditorBrowsable(EditorBrowsableState.Never)]
2395         public static readonly BindableProperty BlendEquationProperty = BindableProperty.Create(nameof(BlendEquation), typeof(BlendEquationType), typeof(View), default(BlendEquationType), propertyChanged: (bindable, oldValue, newValue) =>
2396         {
2397             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2398             if (newValue != null)
2399             {
2400                 instance.InternalBlendEquation = (Tizen.NUI.BlendEquationType)newValue;
2401             }
2402         },
2403         defaultValueCreator: (bindable) =>
2404         {
2405             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2406             return instance.InternalBlendEquation;
2407         });
2408
2409         /// <summary>
2410         /// TransitionOptionsProperty
2411         /// </summary>
2412         [EditorBrowsable(EditorBrowsableState.Never)]
2413         public static readonly BindableProperty TransitionOptionsProperty = BindableProperty.Create(nameof(TransitionOptions), typeof(TransitionOptions), typeof(View), default(TransitionOptions), propertyChanged: (bindable, oldValue, newValue) =>
2414         {
2415             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2416             if (newValue != null)
2417             {
2418                 instance.InternalTransitionOptions = (Tizen.NUI.TransitionOptions)newValue;
2419             }
2420         },
2421         defaultValueCreator: (bindable) =>
2422         {
2423             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2424             return instance.InternalTransitionOptions;
2425         });
2426
2427         /// <summary>
2428         /// AutomationIdProperty
2429         /// </summary>
2430         [EditorBrowsable(EditorBrowsableState.Never)]
2431         public static readonly BindableProperty AutomationIdProperty = BindableProperty.Create(nameof(AutomationId), typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
2432         {
2433             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2434             if (newValue != null)
2435             {
2436                 instance.InternalAutomationId = (string)newValue;
2437             }
2438         },
2439         defaultValueCreator: (bindable) =>
2440         {
2441             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2442             return instance.InternalAutomationId;
2443         });
2444
2445         /// <summary>
2446         /// TouchAreaOffsetProperty
2447         /// </summary>
2448         [EditorBrowsable(EditorBrowsableState.Never)]
2449         public static readonly BindableProperty TouchAreaOffsetProperty = BindableProperty.Create(nameof(TouchAreaOffset), typeof(Offset), typeof(View), default(Offset), propertyChanged: (bindable, oldValue, newValue) =>
2450         {
2451             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2452             if (newValue != null)
2453             {
2454                 instance.InternalTouchAreaOffset = (Tizen.NUI.Offset)newValue;
2455             }
2456         },
2457         defaultValueCreator: (bindable) =>
2458         {
2459             var instance = (Tizen.NUI.BaseComponents.View)bindable;
2460             return instance.InternalTouchAreaOffset;
2461         });
2462
2463         /// <summary>
2464         /// Gets View's Size2D set by user.
2465         /// </summary>
2466         internal Size2D GetUserSize2D()
2467         {
2468             return new Size2D((int)userSizeWidth, (int)userSizeHeight);
2469         }
2470
2471         private void SetBackgroundImage(string value)
2472         {
2473             if (string.IsNullOrEmpty(value))
2474             {
2475                 var empty = new PropertyValue();
2476                 // Clear background
2477                 Object.SetProperty(SwigCPtr, Property.BACKGROUND, empty);
2478                 empty.Dispose();
2479                 return;
2480             }
2481
2482             if (value.StartsWith("*Resource*"))
2483             {
2484                 string resource = Tizen.Applications.Application.Current.DirectoryInfo.Resource;
2485                 value = value.Replace("*Resource*", resource);
2486             }
2487
2488             if (backgroundExtraData == null)
2489             {
2490                 var propertyValue = new PropertyValue(value);
2491                 Object.SetProperty(SwigCPtr, Property.BACKGROUND, propertyValue);
2492                 BackgroundImageSynchronousLoading = backgroundImageSynchronousLoading;
2493                 propertyValue?.Dispose();
2494                 return;
2495             }
2496
2497             var map = new PropertyMap();
2498             var url = new PropertyValue(value);
2499             var cornerRadiusValue = backgroundExtraData.CornerRadius == null ? new PropertyValue() : new PropertyValue(backgroundExtraData.CornerRadius);
2500             var cornerRadius = new PropertyValue(cornerRadiusValue);
2501             var cornerRadiusPolicy = new PropertyValue((int)(backgroundExtraData.CornerRadiusPolicy));
2502             var borderlineWidth = new PropertyValue(backgroundExtraData.BorderlineWidth);
2503             var borderlineColorValue = backgroundExtraData.BorderlineColor == null ? new PropertyValue(Color.Black) : new PropertyValue(backgroundExtraData.BorderlineColor);
2504             var borderlineColor = new PropertyValue(borderlineColorValue);
2505             var borderlineOffset = new PropertyValue(backgroundExtraData.BorderlineOffset);
2506             var synchronousLoading = new PropertyValue(backgroundImageSynchronousLoading);
2507             var npatchType = new PropertyValue((int)Visual.Type.NPatch);
2508             var border = (backgroundExtraData.BackgroundImageBorder != null) ? new PropertyValue(backgroundExtraData.BackgroundImageBorder) : null;
2509             var imageType = new PropertyValue((int)Visual.Type.Image);
2510
2511             map.Add(ImageVisualProperty.URL, url)
2512                .Add(Visual.Property.CornerRadius, cornerRadius)
2513                .Add(Visual.Property.CornerRadiusPolicy, cornerRadiusPolicy)
2514                .Add(Visual.Property.BorderlineWidth, borderlineWidth)
2515                .Add(Visual.Property.BorderlineColor, borderlineColor)
2516                .Add(Visual.Property.BorderlineOffset, borderlineOffset)
2517                .Add(ImageVisualProperty.SynchronousLoading, synchronousLoading);
2518
2519             if (backgroundExtraData.BackgroundImageBorder != null)
2520             {
2521                 map.Add(Visual.Property.Type, npatchType)
2522                    .Add(NpatchImageVisualProperty.Border, border);
2523             }
2524             else
2525             {
2526                 map.Add(Visual.Property.Type, imageType);
2527             }
2528
2529             var mapValue = new PropertyValue(map);
2530             Object.SetProperty(SwigCPtr, Property.BACKGROUND, mapValue);
2531
2532             imageType?.Dispose();
2533             border?.Dispose();
2534             npatchType?.Dispose();
2535             synchronousLoading?.Dispose();
2536             borderlineOffset?.Dispose();
2537             borderlineColor?.Dispose();
2538             borderlineColorValue?.Dispose();
2539             borderlineWidth?.Dispose();
2540             cornerRadiusPolicy?.Dispose();
2541             cornerRadius?.Dispose();
2542             cornerRadiusValue?.Dispose();
2543             url?.Dispose();
2544             map?.Dispose();
2545             mapValue?.Dispose();
2546         }
2547
2548         private void SetBackgroundImageBorder(Rectangle value)
2549         {
2550             bool isEmptyValue = Rectangle.IsNullOrZero(value);
2551
2552             var backgroundImageBorder = isEmptyValue ? null : value;
2553
2554             (backgroundExtraData ?? (backgroundExtraData = new BackgroundExtraData())).BackgroundImageBorder = backgroundImageBorder;
2555
2556             if (isEmptyValue)
2557             {
2558                 return;
2559             }
2560
2561             PropertyMap map = Background;
2562
2563             if (map.Empty())
2564             {
2565                 return;
2566             }
2567
2568             map[NpatchImageVisualProperty.Border] = new PropertyValue(backgroundImageBorder);
2569
2570             int visualType = 0;
2571
2572             map.Find(Visual.Property.Type)?.Get(out visualType);
2573
2574             if (visualType == (int)Visual.Type.Image)
2575             {
2576                 map[Visual.Property.Type] = new PropertyValue((int)Visual.Type.NPatch);
2577             }
2578
2579             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.BACKGROUND, new PropertyValue(map));
2580         }
2581
2582         private void SetBackgroundColor(Color value)
2583         {
2584             if (value == null)
2585             {
2586                 return;
2587             }
2588
2589             if (backgroundExtraData == null)
2590             {
2591                 var background = new PropertyValue(value);
2592                 Object.SetProperty(SwigCPtr, Property.BACKGROUND, background);
2593                 background?.Dispose();
2594                 return;
2595             }
2596
2597             var map = new PropertyMap();
2598             var colorType = new PropertyValue((int)Visual.Type.Color);
2599             var mixColor = new PropertyValue(value);
2600             var cornerRadiusValue = backgroundExtraData.CornerRadius == null ? new PropertyValue() : new PropertyValue(backgroundExtraData.CornerRadius);
2601             var cornerRadius = new PropertyValue(cornerRadiusValue);
2602             var cornerRadiusPolicy = new PropertyValue((int)(backgroundExtraData.CornerRadiusPolicy));
2603             var borderlineWidth = new PropertyValue(backgroundExtraData.BorderlineWidth);
2604             var borderlineColorValue = backgroundExtraData.BorderlineColor == null ? new PropertyValue(Color.Black) : new PropertyValue(backgroundExtraData.BorderlineColor);
2605             var borderlineColor = new PropertyValue(borderlineColorValue);
2606             var borderlineOffset = new PropertyValue(backgroundExtraData.BorderlineOffset);
2607
2608             map.Add(Visual.Property.Type, colorType)
2609                .Add(ColorVisualProperty.MixColor, mixColor)
2610                .Add(Visual.Property.CornerRadius, cornerRadius)
2611                .Add(Visual.Property.CornerRadiusPolicy, cornerRadiusPolicy)
2612                .Add(Visual.Property.BorderlineWidth, borderlineWidth)
2613                .Add(Visual.Property.BorderlineColor, borderlineColor)
2614                .Add(Visual.Property.BorderlineOffset, borderlineOffset);
2615
2616             var mapValue = new PropertyValue(map);
2617             Object.SetProperty(SwigCPtr, Property.BACKGROUND, mapValue);
2618
2619             borderlineOffset?.Dispose();
2620             borderlineColor?.Dispose();
2621             borderlineColorValue?.Dispose();
2622             borderlineWidth?.Dispose();
2623             cornerRadiusPolicy?.Dispose();
2624             cornerRadius?.Dispose();
2625             cornerRadiusValue?.Dispose();
2626             mixColor?.Dispose();
2627             colorType?.Dispose();
2628             map?.Dispose();
2629             mapValue?.Dispose();
2630         }
2631
2632         private void SetColor(Color value)
2633         {
2634             if (value == null)
2635             {
2636                 return;
2637             }
2638
2639             Interop.ActorInternal.SetColor(SwigCPtr, value.SwigCPtr);
2640             if (NDalicPINVOKE.SWIGPendingException.Pending)
2641                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
2642         }
2643
2644         private void SetOpacity(float? value)
2645         {
2646             if (value == null)
2647             {
2648                 return;
2649             }
2650
2651             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)value));
2652         }
2653
2654         private void SetShadow(ShadowBase value)
2655         {
2656             Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, View.Property.SHADOW, value == null ? new PropertyValue() : value.ToPropertyValue(this));
2657         }
2658     }
2659 }