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