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