[NUI] Apply CornerRadius to View (#1463)
[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.CopyCloneable<ImageShadow>(newValue);
753
754             if (viewStyle.imageShadow != null) viewStyle.boxShadow = null;
755         },
756         defaultValueCreator: (bindable) =>
757         {
758             var viewStyle = (ViewStyle)bindable;
759             return viewStyle.imageShadow;
760         });
761
762         /// A BindableProperty for BoxShadow
763         [EditorBrowsable(EditorBrowsableState.Never)]
764         public static readonly BindableProperty BoxShadowProperty = BindableProperty.Create(nameof(BoxShadow), typeof(Selector<ImageShadow>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
765         {
766             var viewStyle = (ViewStyle)bindable;
767             viewStyle.boxShadow = SelectorHelper.CopyCloneable<Shadow>(newValue);
768
769             if (viewStyle.boxShadow != null) viewStyle.imageShadow = null;
770         },
771         defaultValueCreator: (bindable) =>
772         {
773             var viewStyle = (ViewStyle)bindable;
774             return viewStyle.boxShadow;
775         });
776
777         /// A BindableProperty for CornerRadius
778         [EditorBrowsable(EditorBrowsableState.Never)]
779         public static readonly BindableProperty CornerRadiusProperty = BindableProperty.Create(nameof(CornerRadius), typeof(Selector<float?>), typeof(ViewStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
780         {
781             var viewStyle = (ViewStyle)bindable;
782             viewStyle.cornerRadius = SelectorHelper.CopyValue<float?>(newValue);
783         },
784         defaultValueCreator: (bindable) =>
785         {
786             var viewStyle = (ViewStyle)bindable;
787             return viewStyle.cornerRadius;
788         });
789
790         private string styleName;
791         private string backgroundImage;
792         private View.States? state;
793         private View.States? subState;
794         private float? flex;
795         private int? alignSelf;
796         private Vector4 flexMargin;
797         private Vector2 cellIndex;
798         private float? rowSpan;
799         private float? columnSpan;
800         private HorizontalAlignmentType? cellHorizontalAlignment;
801         private VerticalAlignmentType? cellVerticalAlignment;
802         private View leftFocusableView;
803         private View rightFocusableView;
804         private View upFocusableView;
805         private View downFocusableView;
806         private bool? focusable;
807         private Size2D size2D;
808         private Position2D position2D;
809         private bool? positionUsesPivotPoint;
810         private int? siblingOrder;
811         private Position parentOrigin;
812         private Position pivotPoint;
813         private float? sizeWidth;
814         private float? sizeHeight;
815         private Position position;
816         private float? positionX;
817         private float? positionY;
818         private float? positionZ;
819         private Rotation orientation;
820         private Vector3 scale;
821         private float? scaleX;
822         private float? scaleY;
823         private float? scaleZ;
824         private string name;
825         private bool? sensitive;
826         private bool? leaveRequired;
827         private bool? inheritOrientation;
828         private bool? inheritScale;
829         private DrawModeType? drawMode;
830         private Vector3 sizeModeFactor;
831         private ResizePolicyType? widthResizePolicy;
832         private ResizePolicyType? heightResizePolicy;
833         private SizeScalePolicyType? sizeScalePolicy;
834         private bool? widthForHeight;
835         private bool? heightForWidth;
836         private Extents padding;
837         private Size2D minimumSize;
838         private Size2D maximumSize;
839         private bool? inheritPosition;
840         private ClippingModeType? clippingMode;
841         private Size size;
842         private bool? inheritLayoutDirection;
843         private ViewLayoutDirectionType? layoutDirection;
844         private Extents margin;
845         private float? weight;
846
847         private Selector<ImageShadow> imageShadow;
848         private Selector<Shadow> boxShadow;
849         private Selector<string> backgroundImageSelector;
850         private Selector<float?> cornerRadius;
851         private Selector<float?> opacitySelector;
852         private Selector<Color> backgroundColorSelector;
853         private Selector<Rectangle> backgroundImageBorderSelector;
854
855         static ViewStyle() {}
856
857         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
858         [EditorBrowsable(EditorBrowsableState.Never)]
859         public ViewStyle() { }
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 ViewStyle(ViewStyle viewAttributes)
864         {
865             if (null != viewAttributes)
866             {
867                 this.CopyFrom(viewAttributes);
868             }
869         }
870
871         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
872         [EditorBrowsable(EditorBrowsableState.Never)]
873         public string StyleName
874         {
875             get => (string)GetValue(StyleNameProperty);
876             set => SetValue(StyleNameProperty, value);
877         }
878
879         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
880         [EditorBrowsable(EditorBrowsableState.Never)]
881         public Selector<string> BackgroundImage
882         {
883             get
884             {
885                 Selector<string> image = (Selector<string>)GetValue(BackgroundImageSelectorProperty);
886                 return (null != image) ? image : backgroundImageSelector = new Selector<string>();
887             }
888             set => SetValue(BackgroundImageSelectorProperty, value);
889         }
890
891         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
892         [EditorBrowsable(EditorBrowsableState.Never)]
893         public View.States? State
894         {
895             get => (View.States?)GetValue(StateProperty);
896             set => SetValue(StateProperty, value);
897         }
898
899         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
900         [EditorBrowsable(EditorBrowsableState.Never)]
901         public View.States? SubState
902         {
903             get => (View.States?)GetValue(SubStateProperty);
904             set => SetValue(SubStateProperty, value);
905         }
906
907         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
908         [EditorBrowsable(EditorBrowsableState.Never)]
909         public float? Flex
910         {
911             get => (float?)GetValue(FlexProperty);
912             set => SetValue(FlexProperty, value);
913         }
914
915         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
916         [EditorBrowsable(EditorBrowsableState.Never)]
917         public int? AlignSelf
918         {
919             get => (int?)GetValue(AlignSelfProperty);
920             set => SetValue(AlignSelfProperty, value);
921         }
922
923         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
924         [EditorBrowsable(EditorBrowsableState.Never)]
925         public Vector4 FlexMargin
926         {
927             get => (Vector4)GetValue(FlexMarginProperty);
928             set => SetValue(FlexMarginProperty, value);
929         }
930
931         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
932         [EditorBrowsable(EditorBrowsableState.Never)]
933         public Vector2 CellIndex
934         {
935             get => (Vector2)GetValue(CellIndexProperty);
936             set => SetValue(CellIndexProperty, value);
937         }
938
939         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
940         [EditorBrowsable(EditorBrowsableState.Never)]
941         public float? RowSpan
942         {
943             get => (float?)GetValue(RowSpanProperty);
944             set => SetValue(RowSpanProperty, value);
945         }
946
947         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
948         [EditorBrowsable(EditorBrowsableState.Never)]
949         public float? ColumnSpan
950         {
951             get => (float?)GetValue(ColumnSpanProperty);
952             set => SetValue(ColumnSpanProperty, value);
953         }
954
955         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
956         [EditorBrowsable(EditorBrowsableState.Never)]
957         public HorizontalAlignmentType? CellHorizontalAlignment
958         {
959             get => (HorizontalAlignmentType?)GetValue(CellHorizontalAlignmentProperty);
960             set => SetValue(CellHorizontalAlignmentProperty, value);
961         }
962
963         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
964         [EditorBrowsable(EditorBrowsableState.Never)]
965         public VerticalAlignmentType? CellVerticalAlignment
966         {
967             get => (VerticalAlignmentType?)GetValue(CellVerticalAlignmentProperty);
968             set => SetValue(CellVerticalAlignmentProperty, value);
969         }
970
971         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
972         [EditorBrowsable(EditorBrowsableState.Never)]
973         public View LeftFocusableView
974         {
975             get => (View)GetValue(LeftFocusableViewProperty);
976             set => SetValue(LeftFocusableViewProperty, value);
977         }
978
979         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
980         [EditorBrowsable(EditorBrowsableState.Never)]
981         public View RightFocusableView
982         {
983             get => (View)GetValue(RightFocusableViewProperty);
984             set => SetValue(RightFocusableViewProperty, value);
985         }
986
987         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
988         [EditorBrowsable(EditorBrowsableState.Never)]
989         public View UpFocusableView
990         {
991             get => (View)GetValue(UpFocusableViewProperty);
992             set => SetValue(UpFocusableViewProperty, value);
993         }
994
995         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
996         [EditorBrowsable(EditorBrowsableState.Never)]
997         public View DownFocusableView
998         {
999             get => (View)GetValue(DownFocusableViewProperty);
1000             set => SetValue(DownFocusableViewProperty, value);
1001         }
1002
1003         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1004         [EditorBrowsable(EditorBrowsableState.Never)]
1005         public bool? Focusable
1006         {
1007             get => (bool?)GetValue(FocusableProperty);
1008             set => SetValue(FocusableProperty, value);
1009         }
1010
1011         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1012         [EditorBrowsable(EditorBrowsableState.Never)]
1013         public Size2D Size2D
1014         {
1015             get => (Size2D)GetValue(Size2DProperty);
1016             set => SetValue(Size2DProperty, value);
1017         }
1018
1019         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1020         [EditorBrowsable(EditorBrowsableState.Never)]
1021         public Selector<float?> Opacity
1022         {
1023             get
1024             {
1025                 Selector<float?> opacity = (Selector<float?>)GetValue(OpacitySelectorProperty);
1026                 return (null != opacity) ? opacity : opacitySelector = new Selector<float?>();
1027             }
1028             set => SetValue(OpacitySelectorProperty, value);
1029         }
1030
1031         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1032         [EditorBrowsable(EditorBrowsableState.Never)]
1033         public Position2D Position2D
1034         {
1035             get => (Position2D)GetValue(Position2DProperty);
1036             set => SetValue(Position2DProperty, value);
1037         }
1038
1039         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1040         [EditorBrowsable(EditorBrowsableState.Never)]
1041         public bool? PositionUsesPivotPoint
1042         {
1043             get => (bool?)GetValue(PositionUsesPivotPointProperty);
1044             set => SetValue(PositionUsesPivotPointProperty, value);
1045         }
1046
1047         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1048         [EditorBrowsable(EditorBrowsableState.Never)]
1049         public int? SiblingOrder
1050         {
1051             get => (int?)GetValue(SiblingOrderProperty);
1052             set => SetValue(SiblingOrderProperty, value);
1053         }
1054
1055         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1056         [EditorBrowsable(EditorBrowsableState.Never)]
1057         public Position ParentOrigin
1058         {
1059             get => (Position)GetValue(ParentOriginProperty);
1060             set => SetValue(ParentOriginProperty, value);
1061         }
1062
1063         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1064         [EditorBrowsable(EditorBrowsableState.Never)]
1065         public Position PivotPoint
1066         {
1067             get => (Position)GetValue(PivotPointProperty);
1068             set => SetValue(PivotPointProperty, value);
1069         }
1070
1071         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1072         [EditorBrowsable(EditorBrowsableState.Never)]
1073         public float? SizeWidth
1074         {
1075             get => (float?)GetValue(SizeWidthProperty);
1076             set => SetValue(SizeWidthProperty, value);
1077         }
1078
1079         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1080         [EditorBrowsable(EditorBrowsableState.Never)]
1081         public float? SizeHeight
1082         {
1083             get => (float?)GetValue(SizeHeightProperty);
1084             set => SetValue(SizeHeightProperty, value);
1085         }
1086
1087         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1088         [EditorBrowsable(EditorBrowsableState.Never)]
1089         public Position Position
1090         {
1091             get => (Position)GetValue(PositionProperty);
1092             set => SetValue(PositionProperty, value);
1093         }
1094
1095         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1096         [EditorBrowsable(EditorBrowsableState.Never)]
1097         public float? PositionX
1098         {
1099             get => (float?)GetValue(PositionXProperty);
1100             set => SetValue(PositionXProperty, value);
1101         }
1102
1103         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1104         [EditorBrowsable(EditorBrowsableState.Never)]
1105         public float? PositionY
1106         {
1107             get => (float?)GetValue(PositionYProperty);
1108             set => SetValue(PositionYProperty, value);
1109         }
1110
1111         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1112         [EditorBrowsable(EditorBrowsableState.Never)]
1113         public float? PositionZ
1114         {
1115             get => (float?)GetValue(PositionZProperty);
1116             set => SetValue(PositionZProperty, value);
1117         }
1118
1119         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1120         [EditorBrowsable(EditorBrowsableState.Never)]
1121         public Rotation Orientation
1122         {
1123             get => (Rotation)GetValue(OrientationProperty);
1124             set => SetValue(OrientationProperty, value);
1125         }
1126
1127         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1128         [EditorBrowsable(EditorBrowsableState.Never)]
1129         public Vector3 Scale
1130         {
1131             get => (Vector3)GetValue(ScaleProperty);
1132             set => SetValue(ScaleProperty, value);
1133         }
1134
1135         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1136         [EditorBrowsable(EditorBrowsableState.Never)]
1137         public float? ScaleX
1138         {
1139             get => (float?)GetValue(ScaleXProperty);
1140             set => SetValue(ScaleXProperty, value);
1141         }
1142
1143         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1144         [EditorBrowsable(EditorBrowsableState.Never)]
1145         public float? ScaleY
1146         {
1147             get => (float?)GetValue(ScaleYProperty);
1148             set => SetValue(ScaleYProperty, value);
1149         }
1150
1151         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1152         [EditorBrowsable(EditorBrowsableState.Never)]
1153         public float? ScaleZ
1154         {
1155             get => (float?)GetValue(ScaleZProperty);
1156             set => SetValue(ScaleZProperty, value);
1157         }
1158
1159         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1160         [EditorBrowsable(EditorBrowsableState.Never)]
1161         public string Name
1162         {
1163             get => (string)GetValue(NameProperty);
1164             set => SetValue(NameProperty, value);
1165         }
1166
1167         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1168         [EditorBrowsable(EditorBrowsableState.Never)]
1169         public bool? Sensitive
1170         {
1171             get => (bool?)GetValue(SensitiveProperty);
1172             set => SetValue(SensitiveProperty, value);
1173         }
1174
1175         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1176         [EditorBrowsable(EditorBrowsableState.Never)]
1177         public bool? LeaveRequired
1178         {
1179             get => (bool?)GetValue(LeaveRequiredProperty);
1180             set => SetValue(LeaveRequiredProperty, value);
1181         }
1182
1183         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1184         [EditorBrowsable(EditorBrowsableState.Never)]
1185         public bool? InheritOrientation
1186         {
1187             get => (bool?)GetValue(InheritOrientationProperty);
1188             set => SetValue(InheritOrientationProperty, value);
1189         }
1190
1191         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1192         [EditorBrowsable(EditorBrowsableState.Never)]
1193         public bool? InheritScale
1194         {
1195             get => (bool?)GetValue(InheritScaleProperty);
1196             set => SetValue(InheritScaleProperty, value);
1197         }
1198
1199         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1200         [EditorBrowsable(EditorBrowsableState.Never)]
1201         public DrawModeType? DrawMode
1202         {
1203             get => (DrawModeType?)GetValue(DrawModeProperty);
1204             set => SetValue(DrawModeProperty, value);
1205         }
1206
1207         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1208         [EditorBrowsable(EditorBrowsableState.Never)]
1209         public Vector3 SizeModeFactor
1210         {
1211             get => (Vector3)GetValue(SizeModeFactorProperty);
1212             set => SetValue(SizeModeFactorProperty, value);
1213         }
1214
1215         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1216         [EditorBrowsable(EditorBrowsableState.Never)]
1217         public ResizePolicyType? WidthResizePolicy
1218         {
1219             get => (ResizePolicyType?)GetValue(WidthResizePolicyProperty);
1220             set => SetValue(WidthResizePolicyProperty, value);
1221         }
1222
1223         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1224         [EditorBrowsable(EditorBrowsableState.Never)]
1225         public ResizePolicyType? HeightResizePolicy
1226         {
1227             get => (ResizePolicyType?)GetValue(HeightResizePolicyProperty);
1228             set => SetValue(HeightResizePolicyProperty, value);
1229         }
1230
1231         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1232         [EditorBrowsable(EditorBrowsableState.Never)]
1233         public SizeScalePolicyType? SizeScalePolicy
1234         {
1235             get => (SizeScalePolicyType?)GetValue(SizeScalePolicyProperty);
1236             set => SetValue(SizeScalePolicyProperty, value);
1237         }
1238
1239         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1240         [EditorBrowsable(EditorBrowsableState.Never)]
1241         public bool? WidthForHeight
1242         {
1243             get => (bool?)GetValue(WidthForHeightProperty);
1244             set => SetValue(WidthForHeightProperty, value);
1245         }
1246
1247         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1248         [EditorBrowsable(EditorBrowsableState.Never)]
1249         public bool? HeightForWidth
1250         {
1251             get => (bool?)GetValue(HeightForWidthProperty);
1252             set => SetValue(HeightForWidthProperty, value);
1253         }
1254
1255         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1256         [EditorBrowsable(EditorBrowsableState.Never)]
1257         public Extents Padding
1258         {
1259             get
1260             {
1261                 Extents tmp = (Extents)GetValue(PaddingProperty);
1262                 return (null != tmp) ? tmp : padding = new Extents(OnPaddingChanged, 0, 0, 0, 0);
1263             }
1264             set => SetValue(PaddingProperty, value);
1265         }
1266
1267         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1268         [EditorBrowsable(EditorBrowsableState.Never)]
1269         public Size2D MinimumSize
1270         {
1271             get => (Size2D)GetValue(MinimumSizeProperty);
1272             set => SetValue(MinimumSizeProperty, value);
1273         }
1274
1275         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1276         [EditorBrowsable(EditorBrowsableState.Never)]
1277         public Size2D MaximumSize
1278         {
1279             get => (Size2D)GetValue(MaximumSizeProperty);
1280             set => SetValue(MaximumSizeProperty, value);
1281         }
1282
1283         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1284         [EditorBrowsable(EditorBrowsableState.Never)]
1285         public bool? InheritPosition
1286         {
1287             get => (bool?)GetValue(InheritPositionProperty);
1288             set => SetValue(InheritPositionProperty, value);
1289         }
1290
1291         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1292         [EditorBrowsable(EditorBrowsableState.Never)]
1293         public ClippingModeType? ClippingMode
1294         {
1295             get => (ClippingModeType?)GetValue(ClippingModeProperty);
1296             set => SetValue(ClippingModeProperty, value);
1297         }
1298
1299         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1300         [EditorBrowsable(EditorBrowsableState.Never)]
1301         public Size Size
1302         {
1303             get
1304             {
1305                 Size tmp = (Size)GetValue(SizeProperty);
1306                 return (null != tmp) ? tmp : size = new Size((float width, float height, float depth) => { Size = new Size(width, height, depth); }, 0, 0, 0);
1307             }
1308             set => SetValue(SizeProperty, value);
1309         }
1310
1311         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1312         [EditorBrowsable(EditorBrowsableState.Never)]
1313         public bool? InheritLayoutDirection
1314         {
1315             get => (bool?)GetValue(InheritLayoutDirectionProperty);
1316             set => SetValue(InheritLayoutDirectionProperty, value);
1317         }
1318
1319         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1320         [EditorBrowsable(EditorBrowsableState.Never)]
1321         public ViewLayoutDirectionType? LayoutDirection
1322         {
1323             get => (ViewLayoutDirectionType?)GetValue(LayoutDirectionProperty);
1324             set => SetValue(LayoutDirectionProperty, value);
1325         }
1326
1327         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1328         [EditorBrowsable(EditorBrowsableState.Never)]
1329         public Extents Margin
1330         {
1331             get
1332             {
1333                 Extents tmp = (Extents)GetValue(MarginProperty);
1334                 return (null != tmp) ? tmp : margin = new Extents(OnMarginChanged, 0, 0, 0, 0);
1335             }
1336             set => SetValue(MarginProperty, value);
1337         }
1338
1339         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
1340         [EditorBrowsable(EditorBrowsableState.Never)]
1341         public float? Weight
1342         {
1343             get => (float?)GetValue(WeightProperty);
1344             set => SetValue(WeightProperty, value);
1345         }
1346
1347         /// <summary> View BackgroundColor </summary>
1348         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1349         [EditorBrowsable(EditorBrowsableState.Never)]
1350         public Selector<Color> BackgroundColor
1351         {
1352             get
1353             {
1354                 Selector<Color> color = (Selector<Color>)GetValue(BackgroundColorSelectorProperty);
1355                 return (null != color) ? color : backgroundColorSelector = new Selector<Color>();
1356             }
1357             set => SetValue(BackgroundColorSelectorProperty, value);
1358         }
1359
1360         /// <summary>View BackgroundBorder</summary>
1361         /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1362         [EditorBrowsable(EditorBrowsableState.Never)]
1363         public Selector<Rectangle> BackgroundImageBorder
1364         {
1365             get
1366             {
1367                 Selector<Rectangle> border = (Selector<Rectangle>)GetValue(BackgroundImageBorderSelectorProperty);
1368                 return (null != border) ? border : backgroundImageBorderSelector = new Selector<Rectangle>();
1369             }
1370             set => SetValue(BackgroundImageBorderSelectorProperty, value);
1371         }
1372
1373         /// <summary>
1374         /// Describes a shadow as an image for a View.
1375         /// It is null by default.
1376         /// </summary>
1377         /// <remarks>
1378         /// The mutually exclusive with "BoxShadow".
1379         /// </remarks>
1380         [EditorBrowsable(EditorBrowsableState.Never)]
1381         public Selector<ImageShadow> ImageShadow
1382         {
1383             get => (Selector<ImageShadow>)GetValue(ImageShadowProperty);
1384             set => SetValue(ImageShadowProperty, value);
1385         }
1386
1387         /// <summary>
1388         /// Describes a box shaped shadow drawing for a View.
1389         /// It is null by default.
1390         /// </summary>
1391         /// <remarks>
1392         /// The mutually exclusive with "ImageShadow".
1393         /// </remarks>
1394         [EditorBrowsable(EditorBrowsableState.Never)]
1395         public Selector<Shadow> BoxShadow
1396         {
1397             get => (Selector<Shadow>)GetValue(BoxShadowProperty);
1398             set => SetValue(BoxShadowProperty, value);
1399         }
1400
1401         /// <summary>
1402         /// The radius for the rounded corners of the View
1403         /// </summary>
1404         [EditorBrowsable(EditorBrowsableState.Never)]
1405         public Selector<float?> CornerRadius
1406         {
1407             get => (Selector<float?>)GetValue(CornerRadiusProperty);
1408             set => SetValue(CornerRadiusProperty, value);
1409         }
1410
1411         private void OnPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
1412         {
1413             Padding = new Extents(start, end, top, bottom);
1414         }
1415
1416         private void OnMarginChanged(ushort start, ushort end, ushort top, ushort bottom)
1417         {
1418             Margin = new Extents(start, end, top, bottom);
1419         }
1420     }
1421 }