[NUI] Fix extents issue and unified style format (#1279)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / Style / ViewStyle.cs
1 /*
2  * Copyright(c) 2019 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 using System;
18 using System.Collections.Generic;
19 using System.ComponentModel;
20 using Tizen.NUI.Binding;
21
22 namespace Tizen.NUI.BaseComponents
23 {
24     /// <summary>
25     /// The base class for Children attributes in Components.
26     /// </summary>
27     /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
28     [EditorBrowsable(EditorBrowsableState.Never)]
29     public class ViewStyle : BindableObject
30     {
31         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
32         [EditorBrowsable(EditorBrowsableState.Never)]
33         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create(nameof(StyleName), typeof(string), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
34         {
35             var viewStyle = (ViewStyle)bindable;
36             viewStyle.styleName = (string)newValue;
37         },
38         defaultValueCreator: (bindable) =>
39         {
40             var viewStyle = (ViewStyle)bindable;
41             return viewStyle.styleName;
42         });
43         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
44         [EditorBrowsable(EditorBrowsableState.Never)]
45         public static readonly BindableProperty BackgroundImageSelectorProperty = BindableProperty.Create("BackgroundImageSelector", typeof(Selector<string>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
46         {
47             var viewStyle = (ViewStyle)bindable;
48             if (null == viewStyle.backgroundImageSelector) viewStyle.backgroundImageSelector = new Selector<string>();
49             viewStyle.backgroundImageSelector.Clone(null == newValue ? new Selector<string>() : (Selector<string>)newValue);
50         },
51         defaultValueCreator: (bindable) =>
52         {
53             var viewStyle = (ViewStyle)bindable;
54             return viewStyle.backgroundImageSelector;
55         });
56         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
57         [EditorBrowsable(EditorBrowsableState.Never)]
58         public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(State), typeof(View.States?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
59         {
60             var viewStyle = (ViewStyle)bindable;
61             viewStyle.state = (View.States?)newValue;
62         },
63         defaultValueCreator: (bindable) =>
64         {
65             var viewStyle = (ViewStyle)bindable;
66             return viewStyle.state;
67         });
68         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
69         [EditorBrowsable(EditorBrowsableState.Never)]
70         public static readonly BindableProperty SubStateProperty = BindableProperty.Create(nameof(SubState), typeof(View.States?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
71         {
72             var viewStyle = (ViewStyle)bindable;
73             viewStyle.subState = (View.States?)newValue;
74         },
75         defaultValueCreator: (bindable) =>
76         {
77             var viewStyle = (ViewStyle)bindable;
78             return viewStyle.subState;
79         });
80         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
81         [EditorBrowsable(EditorBrowsableState.Never)]
82         public static readonly BindableProperty FlexProperty = BindableProperty.Create(nameof(Flex), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
83         {
84             var viewStyle = (ViewStyle)bindable;
85             viewStyle.flex = (float?)newValue;
86         },
87         defaultValueCreator: (bindable) =>
88         {
89             var viewStyle = (ViewStyle)bindable;
90             return viewStyle.flex;
91         });
92         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
93         [EditorBrowsable(EditorBrowsableState.Never)]
94         public static readonly BindableProperty AlignSelfProperty = BindableProperty.Create(nameof(AlignSelf), typeof(int?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
95         {
96             var viewStyle = (ViewStyle)bindable;
97             viewStyle.alignSelf = (int?)newValue;
98         },
99         defaultValueCreator: (bindable) =>
100         {
101             var viewStyle = (ViewStyle)bindable;
102             return viewStyle.alignSelf;
103         });
104         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
105         [EditorBrowsable(EditorBrowsableState.Never)]
106         public static readonly BindableProperty FlexMarginProperty = BindableProperty.Create(nameof(FlexMargin), typeof(Vector4), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
107         {
108             var viewStyle = (ViewStyle)bindable;
109             viewStyle.flexMargin = (Vector4)newValue;
110         },
111         defaultValueCreator: (bindable) =>
112         {
113             var viewStyle = (ViewStyle)bindable;
114             return viewStyle.flexMargin;
115         });
116         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
117         [EditorBrowsable(EditorBrowsableState.Never)]
118         public static readonly BindableProperty CellIndexProperty = BindableProperty.Create(nameof(CellIndex), typeof(Vector2), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
119         {
120             var viewStyle = (ViewStyle)bindable;
121             viewStyle.cellIndex = (Vector2)newValue;
122         },
123         defaultValueCreator: (bindable) =>
124         {
125             var viewStyle = (ViewStyle)bindable;
126             return viewStyle.cellIndex;
127         });
128         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
129         [EditorBrowsable(EditorBrowsableState.Never)]
130         public static readonly BindableProperty RowSpanProperty = BindableProperty.Create(nameof(RowSpan), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
131         {
132             var viewStyle = (ViewStyle)bindable;
133             viewStyle.rowSpan = (float?)newValue;
134         },
135         defaultValueCreator: (bindable) =>
136         {
137             var viewStyle = (ViewStyle)bindable;
138             return viewStyle.rowSpan;
139         });
140         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
141         [EditorBrowsable(EditorBrowsableState.Never)]
142         public static readonly BindableProperty ColumnSpanProperty = BindableProperty.Create(nameof(ColumnSpan), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
143         {
144             var viewStyle = (ViewStyle)bindable;
145             viewStyle.columnSpan = (float?)newValue;
146         },
147         defaultValueCreator: (bindable) =>
148         {
149             var viewStyle = (ViewStyle)bindable;
150             return viewStyle.columnSpan;
151         });
152         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
153         [EditorBrowsable(EditorBrowsableState.Never)]
154         public static readonly BindableProperty CellHorizontalAlignmentProperty = BindableProperty.Create(nameof(CellHorizontalAlignment), typeof(HorizontalAlignmentType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
155         {
156             var viewStyle = (ViewStyle)bindable;
157             viewStyle.cellHorizontalAlignment = (HorizontalAlignmentType?)newValue;
158         },
159         defaultValueCreator: (bindable) =>
160         {
161             var viewStyle = (ViewStyle)bindable;
162             return viewStyle.cellHorizontalAlignment;
163         });
164         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
165         [EditorBrowsable(EditorBrowsableState.Never)]
166         public static readonly BindableProperty CellVerticalAlignmentProperty = BindableProperty.Create(nameof(CellVerticalAlignment), typeof(VerticalAlignmentType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
167         {
168             var viewStyle = (ViewStyle)bindable;
169             viewStyle.cellVerticalAlignment = (VerticalAlignmentType?)newValue;
170         },
171         defaultValueCreator: (bindable) =>
172         {
173             var viewStyle = (ViewStyle)bindable;
174             return viewStyle.cellVerticalAlignment;
175         });
176         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
177         [EditorBrowsable(EditorBrowsableState.Never)]
178         public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(LeftFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
179         {
180             var viewStyle = (ViewStyle)bindable;
181             viewStyle.leftFocusableView = (View)newValue;
182         },
183         defaultValueCreator: (bindable) =>
184         {
185             var viewStyle = (ViewStyle)bindable;
186             return viewStyle.leftFocusableView;
187         });
188         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
189         [EditorBrowsable(EditorBrowsableState.Never)]
190         public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(RightFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
191         {
192             var viewStyle = (ViewStyle)bindable;
193             viewStyle.rightFocusableView = (View)newValue;
194         },
195         defaultValueCreator: (bindable) =>
196         {
197             var viewStyle = (ViewStyle)bindable;
198             return viewStyle.rightFocusableView;
199         });
200         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
201         [EditorBrowsable(EditorBrowsableState.Never)]
202         public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(UpFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
203         {
204             var viewStyle = (ViewStyle)bindable;
205             viewStyle.upFocusableView = (View)newValue;
206         },
207         defaultValueCreator: (bindable) =>
208         {
209             var viewStyle = (ViewStyle)bindable;
210             return viewStyle.upFocusableView;
211         });
212         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
213         [EditorBrowsable(EditorBrowsableState.Never)]
214         public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(DownFocusableView), typeof(View), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
215         {
216             var viewStyle = (ViewStyle)bindable;
217             viewStyle.downFocusableView = (View)newValue;
218         },
219         defaultValueCreator: (bindable) =>
220         {
221             var viewStyle = (ViewStyle)bindable;
222             return viewStyle.downFocusableView;
223         });
224         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
225         [EditorBrowsable(EditorBrowsableState.Never)]
226         public static readonly BindableProperty FocusableProperty = BindableProperty.Create(nameof(Focusable), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
227         {
228             var viewStyle = (ViewStyle)bindable;
229             viewStyle.focusable = (bool?)newValue;
230         },
231         defaultValueCreator: (bindable) =>
232         {
233             var viewStyle = (ViewStyle)bindable;
234             return viewStyle.focusable;
235         });
236         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
237         [EditorBrowsable(EditorBrowsableState.Never)]
238         public static readonly BindableProperty Size2DProperty = BindableProperty.Create(nameof(Size2D), typeof(Size2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
239         {
240             var viewStyle = (ViewStyle)bindable;
241             viewStyle.size2D = (Size2D)newValue;
242         },
243         defaultValueCreator: (bindable) =>
244         {
245             var viewStyle = (ViewStyle)bindable;
246             return viewStyle.size2D;
247         });
248         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
249         [EditorBrowsable(EditorBrowsableState.Never)]
250         public static readonly BindableProperty OpacitySelectorProperty = BindableProperty.Create("OpacitySelector", typeof(Selector<float?>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
251         {
252             var viewStyle = (ViewStyle)bindable;
253             if (null == viewStyle.opacitySelector) viewStyle.opacitySelector = new Selector<float?>();
254             viewStyle.opacitySelector.Clone(null == newValue ? new Selector<float?>() : (Selector<float?>)newValue);
255         },
256         defaultValueCreator: (bindable) =>
257         {
258             var controlStyle = (ViewStyle)bindable;
259             return controlStyle.opacitySelector;
260         });
261         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
262         [EditorBrowsable(EditorBrowsableState.Never)]
263         public static readonly BindableProperty Position2DProperty = BindableProperty.Create(nameof(Position2D), typeof(Position2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
264         {
265             var viewStyle = (ViewStyle)bindable;
266             viewStyle.position2D = (Position2D)newValue;
267         },
268         defaultValueCreator: (bindable) =>
269         {
270             var viewStyle = (ViewStyle)bindable;
271             return viewStyle.position2D;
272         });
273         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
274         [EditorBrowsable(EditorBrowsableState.Never)]
275         public static readonly BindableProperty PositionUsesPivotPointProperty = BindableProperty.Create(nameof(PositionUsesPivotPoint), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
276         {
277             var viewStyle = (ViewStyle)bindable;
278             viewStyle.positionUsesPivotPoint = (bool?)newValue;
279         },
280         defaultValueCreator: (bindable) =>
281         {
282             var viewStyle = (ViewStyle)bindable;
283             return viewStyle.positionUsesPivotPoint;
284         });
285         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
286         [EditorBrowsable(EditorBrowsableState.Never)]
287         public static readonly BindableProperty SiblingOrderProperty = BindableProperty.Create(nameof(SiblingOrder), typeof(int?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
288         {
289             var viewStyle = (ViewStyle)bindable;
290             viewStyle.siblingOrder = (int?)newValue;
291         },
292         defaultValueCreator: (bindable) =>
293         {
294             var viewStyle = (ViewStyle)bindable;
295             return viewStyle.siblingOrder;
296         });
297         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
298         [EditorBrowsable(EditorBrowsableState.Never)]
299         public static readonly BindableProperty ParentOriginProperty = BindableProperty.Create(nameof(ParentOrigin), typeof(Position), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
300         {
301             var viewStyle = (ViewStyle)bindable;
302             viewStyle.parentOrigin = (Position)newValue;
303         },
304         defaultValueCreator: (bindable) =>
305         {
306             var viewStyle = (ViewStyle)bindable;
307             return viewStyle.parentOrigin;
308         });
309         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
310         [EditorBrowsable(EditorBrowsableState.Never)]
311         public static readonly BindableProperty PivotPointProperty = BindableProperty.Create(nameof(PivotPoint), typeof(Position), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
312         {
313             var viewStyle = (ViewStyle)bindable;
314             viewStyle.pivotPoint = (Position)newValue;
315         },
316         defaultValueCreator: (bindable) =>
317         {
318             var viewStyle = (ViewStyle)bindable;
319             return viewStyle.pivotPoint;
320         });
321         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
322         [EditorBrowsable(EditorBrowsableState.Never)]
323         public static readonly BindableProperty SizeWidthProperty = BindableProperty.Create(nameof(SizeWidth), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
324         {
325             var viewStyle = (ViewStyle)bindable;
326             viewStyle.sizeWidth = (float?)newValue;
327         },
328         defaultValueCreator: (bindable) =>
329         {
330             var viewStyle = (ViewStyle)bindable;
331             return viewStyle.sizeWidth;
332         });
333         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
334         [EditorBrowsable(EditorBrowsableState.Never)]
335         public static readonly BindableProperty SizeHeightProperty = BindableProperty.Create(nameof(SizeHeight), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
336         {
337             var viewStyle = (ViewStyle)bindable;
338             viewStyle.sizeHeight = (float?)newValue;
339         },
340         defaultValueCreator: (bindable) =>
341         {
342             var viewStyle = (ViewStyle)bindable;
343             return viewStyle.sizeHeight;
344         });
345         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
346         [EditorBrowsable(EditorBrowsableState.Never)]
347         public static readonly BindableProperty PositionProperty = BindableProperty.Create(nameof(Position), typeof(Position), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
348         {
349             var viewStyle = (ViewStyle)bindable;
350             viewStyle.position = (Position)newValue;
351         },
352         defaultValueCreator: (bindable) =>
353         {
354             var viewStyle = (ViewStyle)bindable;
355             return viewStyle.position;
356         });
357         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
358         [EditorBrowsable(EditorBrowsableState.Never)]
359         public static readonly BindableProperty PositionXProperty = BindableProperty.Create(nameof(PositionX), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
360         {
361             var viewStyle = (ViewStyle)bindable;
362             viewStyle.positionX = (float?)newValue;
363         },
364         defaultValueCreator: (bindable) =>
365         {
366             var viewStyle = (ViewStyle)bindable;
367             return viewStyle.positionX;
368         });
369         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
370         [EditorBrowsable(EditorBrowsableState.Never)]
371         public static readonly BindableProperty PositionYProperty = BindableProperty.Create(nameof(PositionY), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
372         {
373             var viewStyle = (ViewStyle)bindable;
374             viewStyle.positionY = (float?)newValue;
375         },
376         defaultValueCreator: (bindable) =>
377         {
378             var viewStyle = (ViewStyle)bindable;
379             return viewStyle.positionY;
380         });
381         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
382         [EditorBrowsable(EditorBrowsableState.Never)]
383         public static readonly BindableProperty PositionZProperty = BindableProperty.Create(nameof(PositionZ), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
384         {
385             var viewStyle = (ViewStyle)bindable;
386             viewStyle.positionZ = (float?)newValue;
387         },
388         defaultValueCreator: (bindable) =>
389         {
390             var viewStyle = (ViewStyle)bindable;
391             return viewStyle.positionZ;
392         });
393         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
394         [EditorBrowsable(EditorBrowsableState.Never)]
395         public static readonly BindableProperty OrientationProperty = BindableProperty.Create(nameof(Orientation), typeof(Rotation), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
396         {
397             var viewStyle = (ViewStyle)bindable;
398             viewStyle.orientation = (Rotation)newValue;
399         },
400         defaultValueCreator: (bindable) =>
401         {
402             var viewStyle = (ViewStyle)bindable;
403             return viewStyle.orientation;
404         });
405         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
406         [EditorBrowsable(EditorBrowsableState.Never)]
407         public static readonly BindableProperty ScaleProperty = BindableProperty.Create(nameof(Scale), typeof(Vector3), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
408         {
409             var viewStyle = (ViewStyle)bindable;
410             viewStyle.scale = (Vector3)newValue;
411         },
412         defaultValueCreator: (bindable) =>
413         {
414             var viewStyle = (ViewStyle)bindable;
415             return viewStyle.scale;
416         });
417         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
418         [EditorBrowsable(EditorBrowsableState.Never)]
419         public static readonly BindableProperty ScaleXProperty = BindableProperty.Create(nameof(ScaleX), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
420         {
421             var viewStyle = (ViewStyle)bindable;
422             viewStyle.scaleX = (float?)newValue;
423         },
424         defaultValueCreator: (bindable) =>
425         {
426             var viewStyle = (ViewStyle)bindable;
427             return viewStyle.scaleX;
428         });
429         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
430         [EditorBrowsable(EditorBrowsableState.Never)]
431         public static readonly BindableProperty ScaleYProperty = BindableProperty.Create(nameof(ScaleY), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
432         {
433             var viewStyle = (ViewStyle)bindable;
434             viewStyle.scaleY = (float?)newValue;
435         },
436         defaultValueCreator: (bindable) =>
437         {
438             var viewStyle = (ViewStyle)bindable;
439             return viewStyle.scaleY;
440         });
441         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
442         [EditorBrowsable(EditorBrowsableState.Never)]
443         public static readonly BindableProperty ScaleZProperty = BindableProperty.Create(nameof(ScaleZ), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
444         {
445             var viewStyle = (ViewStyle)bindable;
446             viewStyle.scaleZ = (float?)newValue;
447         },
448         defaultValueCreator: (bindable) =>
449         {
450             var viewStyle = (ViewStyle)bindable;
451             return viewStyle.scaleZ;
452         });
453         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
454         [EditorBrowsable(EditorBrowsableState.Never)]
455         public static readonly BindableProperty NameProperty = BindableProperty.Create(nameof(Name), typeof(string), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
456         {
457             var viewStyle = (ViewStyle)bindable;
458             viewStyle.name = (string)newValue;
459         },
460         defaultValueCreator: (bindable) =>
461         {
462             var viewStyle = (ViewStyle)bindable;
463             return viewStyle.name;
464         });
465         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
466         [EditorBrowsable(EditorBrowsableState.Never)]
467         public static readonly BindableProperty SensitiveProperty = BindableProperty.Create(nameof(Sensitive), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
468         {
469             var viewStyle = (ViewStyle)bindable;
470             viewStyle.sensitive = (bool?)newValue;
471         },
472         defaultValueCreator: (bindable) =>
473         {
474             var viewStyle = (ViewStyle)bindable;
475             return viewStyle.sensitive;
476         });
477         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
478         [EditorBrowsable(EditorBrowsableState.Never)]
479         public static readonly BindableProperty LeaveRequiredProperty = BindableProperty.Create(nameof(LeaveRequired), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
480         {
481             var viewStyle = (ViewStyle)bindable;
482             viewStyle.leaveRequired = (bool?)newValue;
483         },
484         defaultValueCreator: (bindable) =>
485         {
486             var viewStyle = (ViewStyle)bindable;
487             return viewStyle.leaveRequired;
488         });
489         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
490         [EditorBrowsable(EditorBrowsableState.Never)]
491         public static readonly BindableProperty InheritOrientationProperty = BindableProperty.Create(nameof(InheritOrientation), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
492         {
493             var viewStyle = (ViewStyle)bindable;
494             viewStyle.inheritOrientation = (bool?)newValue;
495         },
496         defaultValueCreator: (bindable) =>
497         {
498             var viewStyle = (ViewStyle)bindable;
499             return viewStyle.inheritOrientation;
500         });
501         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
502         [EditorBrowsable(EditorBrowsableState.Never)]
503         public static readonly BindableProperty InheritScaleProperty = BindableProperty.Create(nameof(InheritScale), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
504         {
505             var viewStyle = (ViewStyle)bindable;
506             viewStyle.inheritScale = (bool?)newValue;
507         },
508         defaultValueCreator: (bindable) =>
509         {
510             var viewStyle = (ViewStyle)bindable;
511             return viewStyle.inheritScale;
512         });
513         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
514         [EditorBrowsable(EditorBrowsableState.Never)]
515         public static readonly BindableProperty DrawModeProperty = BindableProperty.Create(nameof(DrawMode), typeof(DrawModeType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
516         {
517             var viewStyle = (ViewStyle)bindable;
518             viewStyle.drawMode = (DrawModeType?)newValue;
519         },
520         defaultValueCreator: (bindable) =>
521         {
522             var viewStyle = (ViewStyle)bindable;
523             return viewStyle.drawMode;
524         });
525         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
526         [EditorBrowsable(EditorBrowsableState.Never)]
527         public static readonly BindableProperty SizeModeFactorProperty = BindableProperty.Create(nameof(SizeModeFactor), typeof(Vector3), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
528         {
529             var viewStyle = (ViewStyle)bindable;
530             viewStyle.sizeModeFactor = (Vector3)newValue;
531         },
532         defaultValueCreator: (bindable) =>
533         {
534             var viewStyle = (ViewStyle)bindable;
535             return viewStyle.sizeModeFactor;
536         });
537         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
538         [EditorBrowsable(EditorBrowsableState.Never)]
539         public static readonly BindableProperty WidthResizePolicyProperty = BindableProperty.Create(nameof(WidthResizePolicy), typeof(ResizePolicyType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
540         {
541             var viewStyle = (ViewStyle)bindable;
542             viewStyle.widthResizePolicy = (ResizePolicyType?)newValue;
543         },
544         defaultValueCreator: (bindable) =>
545         {
546             var viewStyle = (ViewStyle)bindable;
547             return viewStyle.widthResizePolicy;
548         });
549         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
550         [EditorBrowsable(EditorBrowsableState.Never)]
551         public static readonly BindableProperty HeightResizePolicyProperty = BindableProperty.Create(nameof(HeightResizePolicy), typeof(ResizePolicyType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
552         {
553             var viewStyle = (ViewStyle)bindable;
554             viewStyle.heightResizePolicy = (ResizePolicyType?)newValue;
555         },
556         defaultValueCreator: (bindable) =>
557         {
558             var viewStyle = (ViewStyle)bindable;
559             return viewStyle.heightResizePolicy;
560         });
561         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
562         [EditorBrowsable(EditorBrowsableState.Never)]
563         public static readonly BindableProperty SizeScalePolicyProperty = BindableProperty.Create(nameof(SizeScalePolicy), typeof(SizeScalePolicyType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
564         {
565             var viewStyle = (ViewStyle)bindable;
566             viewStyle.sizeScalePolicy = (SizeScalePolicyType?)newValue;
567         },
568         defaultValueCreator: (bindable) =>
569         {
570             var viewStyle = (ViewStyle)bindable;
571             return viewStyle.sizeScalePolicy;
572         });
573         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
574         [EditorBrowsable(EditorBrowsableState.Never)]
575         public static readonly BindableProperty WidthForHeightProperty = BindableProperty.Create(nameof(WidthForHeight), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
576         {
577             var viewStyle = (ViewStyle)bindable;
578             viewStyle.widthForHeight = (bool?)newValue;
579         },
580         defaultValueCreator: (bindable) =>
581         {
582             var viewStyle = (ViewStyle)bindable;
583             return viewStyle.widthForHeight;
584         });
585         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
586         [EditorBrowsable(EditorBrowsableState.Never)]
587         public static readonly BindableProperty HeightForWidthProperty = BindableProperty.Create(nameof(HeightForWidth), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
588         {
589             var viewStyle = (ViewStyle)bindable;
590             viewStyle.heightForWidth = (bool?)newValue;
591         },
592         defaultValueCreator: (bindable) =>
593         {
594             var viewStyle = (ViewStyle)bindable;
595             return viewStyle.heightForWidth;
596         });
597         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
598         [EditorBrowsable(EditorBrowsableState.Never)]
599         public static readonly BindableProperty PaddingProperty = BindableProperty.Create(nameof(Padding), typeof(Extents), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
600         {
601             var viewStyle = (ViewStyle)bindable;
602             if (null == viewStyle.padding) viewStyle.padding = new Extents(viewStyle.OnPaddingChanged, 0, 0, 0, 0);
603             viewStyle.padding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
604         },
605         defaultValueCreator: (bindable) =>
606         {
607             var viewStyle = (ViewStyle)bindable;
608             return viewStyle.padding;
609         });
610         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
611         [EditorBrowsable(EditorBrowsableState.Never)]
612         public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create(nameof(MinimumSize), typeof(Size2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
613         {
614             var viewStyle = (ViewStyle)bindable;
615             viewStyle.minimumSize = (Size2D)newValue;
616         },
617         defaultValueCreator: (bindable) =>
618         {
619             var viewStyle = (ViewStyle)bindable;
620             return viewStyle.minimumSize;
621         });
622         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
623         [EditorBrowsable(EditorBrowsableState.Never)]
624         public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create(nameof(MaximumSize), typeof(Size2D), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
625         {
626             var viewStyle = (ViewStyle)bindable;
627             viewStyle.maximumSize = (Size2D)newValue;
628         },
629         defaultValueCreator: (bindable) =>
630         {
631             var viewStyle = (ViewStyle)bindable;
632             return viewStyle.maximumSize;
633         });
634         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
635         [EditorBrowsable(EditorBrowsableState.Never)]
636         public static readonly BindableProperty InheritPositionProperty = BindableProperty.Create(nameof(InheritPosition), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
637         {
638             var viewStyle = (ViewStyle)bindable;
639             viewStyle.inheritPosition = (bool?)newValue;
640         },
641         defaultValueCreator: (bindable) =>
642         {
643             var viewStyle = (ViewStyle)bindable;
644             return viewStyle.inheritPosition;
645         });
646         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
647         [EditorBrowsable(EditorBrowsableState.Never)]
648         public static readonly BindableProperty ClippingModeProperty = BindableProperty.Create(nameof(ClippingMode), typeof(ClippingModeType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
649         {
650             var viewStyle = (ViewStyle)bindable;
651             viewStyle.clippingMode = (ClippingModeType?)newValue;
652         },
653         defaultValueCreator: (bindable) =>
654         {
655             var viewStyle = (ViewStyle)bindable;
656             return viewStyle.clippingMode;
657         });
658         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
659         [EditorBrowsable(EditorBrowsableState.Never)]
660         public static readonly BindableProperty SizeProperty = BindableProperty.Create(nameof(Size), typeof(Size), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
661         {
662             var viewStyle = (ViewStyle)bindable;
663             viewStyle.size = (Size)newValue;
664         },
665         defaultValueCreator: (bindable) =>
666         {
667             var viewStyle = (ViewStyle)bindable;
668             return viewStyle.size;
669         });
670         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
671         [EditorBrowsable(EditorBrowsableState.Never)]
672         public static readonly BindableProperty InheritLayoutDirectionProperty = BindableProperty.Create(nameof(InheritLayoutDirection), typeof(bool?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
673         {
674             var viewStyle = (ViewStyle)bindable;
675             viewStyle.inheritLayoutDirection = (bool?)newValue;
676         },
677         defaultValueCreator: (bindable) =>
678         {
679             var viewStyle = (ViewStyle)bindable;
680             return viewStyle.inheritLayoutDirection;
681         });
682         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
683         [EditorBrowsable(EditorBrowsableState.Never)]
684         public static readonly BindableProperty LayoutDirectionProperty = BindableProperty.Create(nameof(LayoutDirection), typeof(ViewLayoutDirectionType?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
685         {
686             var viewStyle = (ViewStyle)bindable;
687             viewStyle.layoutDirection = (ViewLayoutDirectionType?)newValue;
688         },
689         defaultValueCreator: (bindable) =>
690         {
691             var viewStyle = (ViewStyle)bindable;
692             return viewStyle.layoutDirection;
693         });
694         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
695         [EditorBrowsable(EditorBrowsableState.Never)]
696         public static readonly BindableProperty MarginProperty = BindableProperty.Create(nameof(Margin), typeof(Extents), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
697         {
698             var viewStyle = (ViewStyle)bindable;
699             if (null == viewStyle.margin) viewStyle.margin = new Extents(viewStyle.OnMarginChanged, 0, 0, 0, 0);
700             viewStyle.margin.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
701         },
702         defaultValueCreator: (bindable) =>
703         {
704             var viewStyle = (ViewStyle)bindable;
705             return viewStyle.margin;
706         });
707         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
708         [EditorBrowsable(EditorBrowsableState.Never)]
709         public static readonly BindableProperty WeightProperty = BindableProperty.Create(nameof(Weight), typeof(float?), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
710         {
711             var viewStyle = (ViewStyle)bindable;
712             viewStyle.weight = (float?)newValue;
713         },
714         defaultValueCreator: (bindable) =>
715         {
716             var viewStyle = (ViewStyle)bindable;
717             return viewStyle.weight;
718         });
719         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
720         [EditorBrowsable(EditorBrowsableState.Never)]
721         public static readonly BindableProperty BackgroundColorSelectorProperty = BindableProperty.Create("BackgroundColorSelector", typeof(Selector<Color>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
722         {
723             var viewStyle = (ViewStyle)bindable;
724             if (null == viewStyle.backgroundColorSelector) viewStyle.backgroundColorSelector = new Selector<Color>();
725             viewStyle.backgroundColorSelector.Clone(null == newValue ? new Selector<Color>() : (Selector<Color>)newValue);
726         },
727         defaultValueCreator: (bindable) =>
728         {
729             var viewStyle = (ViewStyle)bindable;
730             return viewStyle.backgroundColorSelector;
731         });
732         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
733         [EditorBrowsable(EditorBrowsableState.Never)]
734         public static readonly BindableProperty BackgroundImageBorderSelectorProperty = BindableProperty.Create("BackgroundImageBorderSelector", typeof(Selector<Rectangle>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
735         {
736             var viewStyle = (ViewStyle)bindable;
737             if (null == viewStyle.backgroundImageBorderSelector) viewStyle.backgroundImageBorderSelector = new Selector<Rectangle>();
738
739             viewStyle.backgroundImageBorderSelector.Clone(newValue == null ? new Selector<Rectangle>() : (Selector<Rectangle>)newValue);
740         },
741         defaultValueCreator: (bindable) =>
742         {
743             var viewStyle = (ViewStyle)bindable;
744             return viewStyle.backgroundImageBorderSelector;
745         });
746
747         /// A BindableProperty for ImageShadow
748         [EditorBrowsable(EditorBrowsableState.Never)]
749         public static readonly BindableProperty ImageShadowProperty = BindableProperty.Create(nameof(ImageShadow), typeof(Selector<ImageShadow>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
750         {
751             var viewStyle = (ViewStyle)bindable;
752             viewStyle.imageShadow = SelectorHelper<ImageShadow>.Clone(newValue);
753         },
754         defaultValueCreator: (bindable) =>
755         {
756             var viewStyle = (ViewStyle)bindable;
757             return viewStyle.imageShadow;
758         });
759
760         /// A BindableProperty for BoxShadow
761         [EditorBrowsable(EditorBrowsableState.Never)]
762         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Selector<ImageShadow>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
763         {
764             var viewStyle = (ViewStyle)bindable;
765             viewStyle.boxShadow = SelectorHelper<Shadow>.Clone(newValue);
766         },
767         defaultValueCreator: (bindable) =>
768         {
769             var viewStyle = (ViewStyle)bindable;
770             return viewStyle.boxShadow;
771         });
772
773         private string styleName;
774         private string backgroundImage;
775         private View.States? state;
776         private View.States? subState;
777         private float? flex;
778         private int? alignSelf;
779         private Vector4 flexMargin;
780         private Vector2 cellIndex;
781         private float? rowSpan;
782         private float? columnSpan;
783         private HorizontalAlignmentType? cellHorizontalAlignment;
784         private VerticalAlignmentType? cellVerticalAlignment;
785         private View leftFocusableView;
786         private View rightFocusableView;
787         private View upFocusableView;
788         private View downFocusableView;
789         private bool? focusable;
790         private Size2D size2D;
791         private Position2D position2D;
792         private bool? positionUsesPivotPoint;
793         private int? siblingOrder;
794         private Position parentOrigin;
795         private Position pivotPoint;
796         private float? sizeWidth;
797         private float? sizeHeight;
798         private Position position;
799         private float? positionX;
800         private float? positionY;
801         private float? positionZ;
802         private Rotation orientation;
803         private Vector3 scale;
804         private float? scaleX;
805         private float? scaleY;
806         private float? scaleZ;
807         private string name;
808         private bool? sensitive;
809         private bool? leaveRequired;
810         private bool? inheritOrientation;
811         private bool? inheritScale;
812         private DrawModeType? drawMode;
813         private Vector3 sizeModeFactor;
814         private ResizePolicyType? widthResizePolicy;
815         private ResizePolicyType? heightResizePolicy;
816         private SizeScalePolicyType? sizeScalePolicy;
817         private bool? widthForHeight;
818         private bool? heightForWidth;
819         private Extents padding;
820         private Size2D minimumSize;
821         private Size2D maximumSize;
822         private bool? inheritPosition;
823         private ClippingModeType? clippingMode;
824         private Size size;
825         private bool? inheritLayoutDirection;
826         private ViewLayoutDirectionType? layoutDirection;
827         private Extents margin;
828         private float? weight;
829
830         private Selector<ImageShadow> imageShadow;
831         private Selector<Shadow> boxShadow;
832         private Selector<string> backgroundImageSelector;
833         private Selector<float?> opacitySelector;
834         private Selector<Color> backgroundColorSelector;
835         private Selector<Rectangle> backgroundImageBorderSelector;
836
837         static ViewStyle() {}
838
839         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
840         [EditorBrowsable(EditorBrowsableState.Never)]
841         public ViewStyle() { }
842
843         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
844         [EditorBrowsable(EditorBrowsableState.Never)]
845         public ViewStyle(ViewStyle viewAttributes)
846         {
847             if (null != viewAttributes)
848             {
849                 this.CopyFrom(viewAttributes);
850             }
851         }
852
853         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
854         [EditorBrowsable(EditorBrowsableState.Never)]
855         public string StyleName
856         {
857             get => (string)GetValue(StyleNameProperty);
858             set => SetValue(StyleNameProperty, value);
859         }
860
861         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
862         [EditorBrowsable(EditorBrowsableState.Never)]
863         public Selector<string> BackgroundImage
864         {
865             get
866             {
867                 Selector<string> image = (Selector<string>)GetValue(BackgroundImageSelectorProperty);
868                 return (null != image) ? image : backgroundImageSelector = new Selector<string>();
869             }
870             set => SetValue(BackgroundImageSelectorProperty, value);
871         }
872
873         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
874         [EditorBrowsable(EditorBrowsableState.Never)]
875         public View.States? State
876         {
877             get => (View.States?)GetValue(StateProperty);
878             set => SetValue(StateProperty, value);
879         }
880
881         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
882         [EditorBrowsable(EditorBrowsableState.Never)]
883         public View.States? SubState
884         {
885             get => (View.States?)GetValue(SubStateProperty);
886             set => SetValue(SubStateProperty, value);
887         }
888
889         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
890         [EditorBrowsable(EditorBrowsableState.Never)]
891         public float? Flex
892         {
893             get => (float?)GetValue(FlexProperty);
894             set => SetValue(FlexProperty, value);
895         }
896
897         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
898         [EditorBrowsable(EditorBrowsableState.Never)]
899         public int? AlignSelf
900         {
901             get => (int?)GetValue(AlignSelfProperty);
902             set => SetValue(AlignSelfProperty, value);
903         }
904
905         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
906         [EditorBrowsable(EditorBrowsableState.Never)]
907         public Vector4 FlexMargin
908         {
909             get => (Vector4)GetValue(FlexMarginProperty);
910             set => SetValue(FlexMarginProperty, value);
911         }
912
913         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
914         [EditorBrowsable(EditorBrowsableState.Never)]
915         public Vector2 CellIndex
916         {
917             get => (Vector2)GetValue(CellIndexProperty);
918             set => SetValue(CellIndexProperty, value);
919         }
920
921         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
922         [EditorBrowsable(EditorBrowsableState.Never)]
923         public float? RowSpan
924         {
925             get => (float?)GetValue(RowSpanProperty);
926             set => SetValue(RowSpanProperty, value);
927         }
928
929         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
930         [EditorBrowsable(EditorBrowsableState.Never)]
931         public float? ColumnSpan
932         {
933             get => (float?)GetValue(ColumnSpanProperty);
934             set => SetValue(ColumnSpanProperty, value);
935         }
936
937         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
938         [EditorBrowsable(EditorBrowsableState.Never)]
939         public HorizontalAlignmentType? CellHorizontalAlignment
940         {
941             get => (HorizontalAlignmentType?)GetValue(CellHorizontalAlignmentProperty);
942             set => SetValue(CellHorizontalAlignmentProperty, value);
943         }
944
945         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
946         [EditorBrowsable(EditorBrowsableState.Never)]
947         public VerticalAlignmentType? CellVerticalAlignment
948         {
949             get => (VerticalAlignmentType?)GetValue(CellVerticalAlignmentProperty);
950             set => SetValue(CellVerticalAlignmentProperty, value);
951         }
952
953         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
954         [EditorBrowsable(EditorBrowsableState.Never)]
955         public View LeftFocusableView
956         {
957             get => (View)GetValue(LeftFocusableViewProperty);
958             set => SetValue(LeftFocusableViewProperty, value);
959         }
960
961         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
962         [EditorBrowsable(EditorBrowsableState.Never)]
963         public View RightFocusableView
964         {
965             get => (View)GetValue(RightFocusableViewProperty);
966             set => SetValue(RightFocusableViewProperty, value);
967         }
968
969         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
970         [EditorBrowsable(EditorBrowsableState.Never)]
971         public View UpFocusableView
972         {
973             get => (View)GetValue(UpFocusableViewProperty);
974             set => SetValue(UpFocusableViewProperty, value);
975         }
976
977         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
978         [EditorBrowsable(EditorBrowsableState.Never)]
979         public View DownFocusableView
980         {
981             get => (View)GetValue(DownFocusableViewProperty);
982             set => SetValue(DownFocusableViewProperty, value);
983         }
984
985         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
986         [EditorBrowsable(EditorBrowsableState.Never)]
987         public bool? Focusable
988         {
989             get => (bool?)GetValue(FocusableProperty);
990             set => SetValue(FocusableProperty, value);
991         }
992
993         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
994         [EditorBrowsable(EditorBrowsableState.Never)]
995         public Size2D Size2D
996         {
997             get => (Size2D)GetValue(Size2DProperty);
998             set => SetValue(Size2DProperty, value);
999         }
1000
1001         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1002         [EditorBrowsable(EditorBrowsableState.Never)]
1003         public Selector<float?> Opacity
1004         {
1005             get
1006             {
1007                 Selector<float?> opacity = (Selector<float?>)GetValue(OpacitySelectorProperty);
1008                 return (null != opacity) ? opacity : opacitySelector = new Selector<float?>();
1009             }
1010             set => SetValue(OpacitySelectorProperty, value);
1011         }
1012
1013         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1014         [EditorBrowsable(EditorBrowsableState.Never)]
1015         public Position2D Position2D
1016         {
1017             get => (Position2D)GetValue(Position2DProperty);
1018             set => SetValue(Position2DProperty, value);
1019         }
1020
1021         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1022         [EditorBrowsable(EditorBrowsableState.Never)]
1023         public bool? PositionUsesPivotPoint
1024         {
1025             get => (bool?)GetValue(PositionUsesPivotPointProperty);
1026             set => SetValue(PositionUsesPivotPointProperty, value);
1027         }
1028
1029         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1030         [EditorBrowsable(EditorBrowsableState.Never)]
1031         public int? SiblingOrder
1032         {
1033             get => (int?)GetValue(SiblingOrderProperty);
1034             set => SetValue(SiblingOrderProperty, value);
1035         }
1036
1037         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1038         [EditorBrowsable(EditorBrowsableState.Never)]
1039         public Position ParentOrigin
1040         {
1041             get => (Position)GetValue(ParentOriginProperty);
1042             set => SetValue(ParentOriginProperty, value);
1043         }
1044
1045         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1046         [EditorBrowsable(EditorBrowsableState.Never)]
1047         public Position PivotPoint
1048         {
1049             get => (Position)GetValue(PivotPointProperty);
1050             set => SetValue(PivotPointProperty, value);
1051         }
1052
1053         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1054         [EditorBrowsable(EditorBrowsableState.Never)]
1055         public float? SizeWidth
1056         {
1057             get => (float?)GetValue(SizeWidthProperty);
1058             set => SetValue(SizeWidthProperty, value);
1059         }
1060
1061         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1062         [EditorBrowsable(EditorBrowsableState.Never)]
1063         public float? SizeHeight
1064         {
1065             get => (float?)GetValue(SizeHeightProperty);
1066             set => SetValue(SizeHeightProperty, value);
1067         }
1068
1069         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1070         [EditorBrowsable(EditorBrowsableState.Never)]
1071         public Position Position
1072         {
1073             get => (Position)GetValue(PositionProperty);
1074             set => SetValue(PositionProperty, value);
1075         }
1076
1077         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1078         [EditorBrowsable(EditorBrowsableState.Never)]
1079         public float? PositionX
1080         {
1081             get => (float?)GetValue(PositionXProperty);
1082             set => SetValue(PositionXProperty, value);
1083         }
1084
1085         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1086         [EditorBrowsable(EditorBrowsableState.Never)]
1087         public float? PositionY
1088         {
1089             get => (float?)GetValue(PositionYProperty);
1090             set => SetValue(PositionYProperty, value);
1091         }
1092
1093         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1094         [EditorBrowsable(EditorBrowsableState.Never)]
1095         public float? PositionZ
1096         {
1097             get => (float?)GetValue(PositionZProperty);
1098             set => SetValue(PositionZProperty, value);
1099         }
1100
1101         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1102         [EditorBrowsable(EditorBrowsableState.Never)]
1103         public Rotation Orientation
1104         {
1105             get => (Rotation)GetValue(OrientationProperty);
1106             set => SetValue(OrientationProperty, value);
1107         }
1108
1109         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1110         [EditorBrowsable(EditorBrowsableState.Never)]
1111         public Vector3 Scale
1112         {
1113             get => (Vector3)GetValue(ScaleProperty);
1114             set => SetValue(ScaleProperty, value);
1115         }
1116
1117         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1118         [EditorBrowsable(EditorBrowsableState.Never)]
1119         public float? ScaleX
1120         {
1121             get => (float?)GetValue(ScaleXProperty);
1122             set => SetValue(ScaleXProperty, value);
1123         }
1124
1125         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1126         [EditorBrowsable(EditorBrowsableState.Never)]
1127         public float? ScaleY
1128         {
1129             get => (float?)GetValue(ScaleYProperty);
1130             set => SetValue(ScaleYProperty, value);
1131         }
1132
1133         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1134         [EditorBrowsable(EditorBrowsableState.Never)]
1135         public float? ScaleZ
1136         {
1137             get => (float?)GetValue(ScaleZProperty);
1138             set => SetValue(ScaleZProperty, value);
1139         }
1140
1141         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1142         [EditorBrowsable(EditorBrowsableState.Never)]
1143         public string Name
1144         {
1145             get => (string)GetValue(NameProperty);
1146             set => SetValue(NameProperty, value);
1147         }
1148
1149         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1150         [EditorBrowsable(EditorBrowsableState.Never)]
1151         public bool? Sensitive
1152         {
1153             get => (bool?)GetValue(SensitiveProperty);
1154             set => SetValue(SensitiveProperty, value);
1155         }
1156
1157         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1158         [EditorBrowsable(EditorBrowsableState.Never)]
1159         public bool? LeaveRequired
1160         {
1161             get => (bool?)GetValue(LeaveRequiredProperty);
1162             set => SetValue(LeaveRequiredProperty, value);
1163         }
1164
1165         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1166         [EditorBrowsable(EditorBrowsableState.Never)]
1167         public bool? InheritOrientation
1168         {
1169             get => (bool?)GetValue(InheritOrientationProperty);
1170             set => SetValue(InheritOrientationProperty, value);
1171         }
1172
1173         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1174         [EditorBrowsable(EditorBrowsableState.Never)]
1175         public bool? InheritScale
1176         {
1177             get => (bool?)GetValue(InheritScaleProperty);
1178             set => SetValue(InheritScaleProperty, value);
1179         }
1180
1181         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1182         [EditorBrowsable(EditorBrowsableState.Never)]
1183         public DrawModeType? DrawMode
1184         {
1185             get => (DrawModeType?)GetValue(DrawModeProperty);
1186             set => SetValue(DrawModeProperty, value);
1187         }
1188
1189         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1190         [EditorBrowsable(EditorBrowsableState.Never)]
1191         public Vector3 SizeModeFactor
1192         {
1193             get => (Vector3)GetValue(SizeModeFactorProperty);
1194             set => SetValue(SizeModeFactorProperty, value);
1195         }
1196
1197         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1198         [EditorBrowsable(EditorBrowsableState.Never)]
1199         public ResizePolicyType? WidthResizePolicy
1200         {
1201             get => (ResizePolicyType?)GetValue(WidthResizePolicyProperty);
1202             set => SetValue(WidthResizePolicyProperty, value);
1203         }
1204
1205         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1206         [EditorBrowsable(EditorBrowsableState.Never)]
1207         public ResizePolicyType? HeightResizePolicy
1208         {
1209             get => (ResizePolicyType?)GetValue(HeightResizePolicyProperty);
1210             set => SetValue(HeightResizePolicyProperty, value);
1211         }
1212
1213         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1214         [EditorBrowsable(EditorBrowsableState.Never)]
1215         public SizeScalePolicyType? SizeScalePolicy
1216         {
1217             get => (SizeScalePolicyType?)GetValue(SizeScalePolicyProperty);
1218             set => SetValue(SizeScalePolicyProperty, value);
1219         }
1220
1221         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1222         [EditorBrowsable(EditorBrowsableState.Never)]
1223         public bool? WidthForHeight
1224         {
1225             get => (bool?)GetValue(WidthForHeightProperty);
1226             set => SetValue(WidthForHeightProperty, value);
1227         }
1228
1229         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1230         [EditorBrowsable(EditorBrowsableState.Never)]
1231         public bool? HeightForWidth
1232         {
1233             get => (bool?)GetValue(HeightForWidthProperty);
1234             set => SetValue(HeightForWidthProperty, value);
1235         }
1236
1237         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1238         [EditorBrowsable(EditorBrowsableState.Never)]
1239         public Extents Padding
1240         {
1241             get
1242             {
1243                 Extents tmp = (Extents)GetValue(PaddingProperty);
1244                 return (null != tmp) ? tmp : padding = new Extents(OnPaddingChanged, 0, 0, 0, 0);
1245             }
1246             set => SetValue(PaddingProperty, value);
1247         }
1248
1249         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1250         [EditorBrowsable(EditorBrowsableState.Never)]
1251         public Size2D MinimumSize
1252         {
1253             get => (Size2D)GetValue(MinimumSizeProperty);
1254             set => SetValue(MinimumSizeProperty, value);
1255         }
1256
1257         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1258         [EditorBrowsable(EditorBrowsableState.Never)]
1259         public Size2D MaximumSize
1260         {
1261             get => (Size2D)GetValue(MaximumSizeProperty);
1262             set => SetValue(MaximumSizeProperty, value);
1263         }
1264
1265         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1266         [EditorBrowsable(EditorBrowsableState.Never)]
1267         public bool? InheritPosition
1268         {
1269             get => (bool?)GetValue(InheritPositionProperty);
1270             set => SetValue(InheritPositionProperty, value);
1271         }
1272
1273         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1274         [EditorBrowsable(EditorBrowsableState.Never)]
1275         public ClippingModeType? ClippingMode
1276         {
1277             get => (ClippingModeType?)GetValue(ClippingModeProperty);
1278             set => SetValue(ClippingModeProperty, value);
1279         }
1280
1281         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1282         [EditorBrowsable(EditorBrowsableState.Never)]
1283         public Size Size
1284         {
1285             get
1286             {
1287                 Size tmp = (Size)GetValue(SizeProperty);
1288                 return (null != tmp) ? tmp : size = new Size((float width, float height, float depth) => { Size = new Size(width, height, depth); }, 0, 0, 0);
1289             }
1290             set => SetValue(SizeProperty, value);
1291         }
1292
1293         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1294         [EditorBrowsable(EditorBrowsableState.Never)]
1295         public bool? InheritLayoutDirection
1296         {
1297             get => (bool?)GetValue(InheritLayoutDirectionProperty);
1298             set => SetValue(InheritLayoutDirectionProperty, value);
1299         }
1300
1301         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1302         [EditorBrowsable(EditorBrowsableState.Never)]
1303         public ViewLayoutDirectionType? LayoutDirection
1304         {
1305             get => (ViewLayoutDirectionType?)GetValue(LayoutDirectionProperty);
1306             set => SetValue(LayoutDirectionProperty, value);
1307         }
1308
1309         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1310         [EditorBrowsable(EditorBrowsableState.Never)]
1311         public Extents Margin
1312         {
1313             get
1314             {
1315                 Extents tmp = (Extents)GetValue(MarginProperty);
1316                 return (null != tmp) ? tmp : margin = new Extents(OnMarginChanged, 0, 0, 0, 0);
1317             }
1318             set => SetValue(MarginProperty, value);
1319         }
1320
1321         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1322         [EditorBrowsable(EditorBrowsableState.Never)]
1323         public float? Weight
1324         {
1325             get => (float?)GetValue(WeightProperty);
1326             set => SetValue(WeightProperty, value);
1327         }
1328
1329         /// <summary> View BackgroundColor </summary>
1330         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1331         [EditorBrowsable(EditorBrowsableState.Never)]
1332         public Selector<Color> BackgroundColor
1333         {
1334             get
1335             {
1336                 Selector<Color> color = (Selector<Color>)GetValue(BackgroundColorSelectorProperty);
1337                 return (null != color) ? color : backgroundColorSelector = new Selector<Color>();
1338             }
1339             set => SetValue(BackgroundColorSelectorProperty, value);
1340         }
1341
1342         /// <summary>View BackgroundBorder</summary>
1343         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1344         [EditorBrowsable(EditorBrowsableState.Never)]
1345         public Selector<Rectangle> BackgroundImageBorder
1346         {
1347             get
1348             {
1349                 Selector<Rectangle> border = (Selector<Rectangle>)GetValue(BackgroundImageBorderSelectorProperty);
1350                 return (null != border) ? border : backgroundImageBorderSelector = new Selector<Rectangle>();
1351             }
1352             set => SetValue(BackgroundImageBorderSelectorProperty, value);
1353         }
1354
1355         /// <summary>
1356         /// Describes a shadow as an image for a View.
1357         /// It is null by default.
1358         /// </summary>
1359         /// <remarks>
1360         /// The mutually exclusive with "BoxShadow".
1361         /// </remarks>
1362         [EditorBrowsable(EditorBrowsableState.Never)]
1363         public Selector<ImageShadow> ImageShadow
1364         {
1365             get => (Selector<ImageShadow>)GetValue(ImageShadowProperty);
1366             set => SetValue(ImageShadowProperty, value);
1367         }
1368
1369         /// <summary>
1370         /// Describes a box shaped shadow drawing for a View.
1371         /// It is null by default.
1372         /// </summary>
1373         /// <remarks>
1374         /// The mutually exclusive with "ImageShadow".
1375         /// </remarks>
1376         [EditorBrowsable(EditorBrowsableState.Never)]
1377         public Selector<Shadow> BoxShadow
1378         {
1379             get => (Selector<Shadow>)GetValue(BoxShadowProperty);
1380             set => SetValue(BoxShadowProperty, value);
1381         }
1382
1383         private void OnPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
1384         {
1385             Padding = new Extents(start, end, top, bottom);
1386         }
1387
1388         private void OnMarginChanged(ushort start, ushort end, ushort top, ushort bottom)
1389         {
1390             Margin = new Extents(start, end, top, bottom);
1391         }
1392     }
1393 }