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