[NUI] Add ThemeManager (#2034)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / Style / TextLabelStyle.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.ComponentModel;
19 using Tizen.NUI.Binding;
20
21 namespace Tizen.NUI.BaseComponents
22 {
23     /// <summary>
24     /// The base class for Children attributes in Components.
25     /// </summary>
26     /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
27     [EditorBrowsable(EditorBrowsableState.Never)]
28     public class TextLabelStyle : ViewStyle
29     {
30         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
31         [EditorBrowsable(EditorBrowsableState.Never)]
32         public static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create("TranslatableTextSelector", typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
33         {
34             ((TextLabelStyle)bindable).translatableTextSelector = ((Selector<string>)newValue)?.Clone();
35         },
36         defaultValueCreator: (bindable) =>
37         {
38             return ((TextLabelStyle)bindable).translatableTextSelector;
39         });
40         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
41         [EditorBrowsable(EditorBrowsableState.Never)]
42         public static readonly BindableProperty TextSelectorProperty = BindableProperty.Create("TextSelector", typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
43         {
44             ((TextLabelStyle)bindable).textSelector = ((Selector<string>)newValue)?.Clone();
45         },
46         defaultValueCreator: (bindable) =>
47         {
48             return ((TextLabelStyle)bindable).textSelector;
49         });
50         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
51         [EditorBrowsable(EditorBrowsableState.Never)]
52         public static readonly BindableProperty FontFamilySelectorProperty = BindableProperty.Create("FontFamilySelector", typeof(Selector<string>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
53         {
54             ((TextLabelStyle)bindable).fontFamilySelector = ((Selector<string>)newValue)?.Clone();
55         },
56         defaultValueCreator: (bindable) =>
57         {
58             return ((TextLabelStyle)bindable).fontFamilySelector;
59         });
60         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
61         [EditorBrowsable(EditorBrowsableState.Never)]
62         public static readonly BindableProperty PointSizeSelectorProperty = BindableProperty.Create("PointSizeSelector", typeof(Selector<float?>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
63         {
64             ((TextLabelStyle)bindable).pointSizeSelector = ((Selector<float?>)newValue)?.Clone();
65         },
66         defaultValueCreator: (bindable) =>
67         {
68             return ((TextLabelStyle)bindable).pointSizeSelector;
69         });
70         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
71         [EditorBrowsable(EditorBrowsableState.Never)]
72         public static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create("TextColorSelector", typeof(Selector<Color>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
73         {
74             ((TextLabelStyle)bindable).textColorSelector = ((Selector<Color>)newValue)?.Clone();
75         },
76         defaultValueCreator: (bindable) =>
77         {
78             return ((TextLabelStyle)bindable).textColorSelector;
79         });
80
81         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
82         [EditorBrowsable(EditorBrowsableState.Never)]
83         public static readonly BindableProperty MultiLineProperty = BindableProperty.Create(nameof(MultiLine), typeof(bool?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
84         {
85             var textLabelStyle = (TextLabelStyle)bindable;
86             textLabelStyle.multiLine = (bool?)newValue;
87         },
88         defaultValueCreator: (bindable) =>
89         {
90             var textLabelStyle = (TextLabelStyle)bindable;
91             return textLabelStyle.multiLine;
92         });
93         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
94         [EditorBrowsable(EditorBrowsableState.Never)]
95         public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
96         {
97             var textLabelStyle = (TextLabelStyle)bindable;
98             textLabelStyle.horizontalAlignment = (HorizontalAlignment?)newValue;
99         },
100         defaultValueCreator: (bindable) =>
101         {
102             var textLabelStyle = (TextLabelStyle)bindable;
103             return textLabelStyle.horizontalAlignment;
104         });
105         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
106         [EditorBrowsable(EditorBrowsableState.Never)]
107         public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(VerticalAlignment), typeof(VerticalAlignment?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
108         {
109             var textLabelStyle = (TextLabelStyle)bindable;
110             textLabelStyle.verticalAlignment = (VerticalAlignment?)newValue;
111         },
112         defaultValueCreator: (bindable) =>
113         {
114             var textLabelStyle = (TextLabelStyle)bindable;
115             return textLabelStyle.verticalAlignment;
116         });
117         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
118         [EditorBrowsable(EditorBrowsableState.Never)]
119         public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(EnableMarkup), typeof(bool?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
120         {
121             var textLabelStyle = (TextLabelStyle)bindable;
122             textLabelStyle.enableMarkup = (bool?)newValue;
123         },
124         defaultValueCreator: (bindable) =>
125         {
126             var textLabelStyle = (TextLabelStyle)bindable;
127             return textLabelStyle.enableMarkup;
128         });
129         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
130         [EditorBrowsable(EditorBrowsableState.Never)]
131         public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create(nameof(EnableAutoScroll), typeof(bool?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
132         {
133             var textLabelStyle = (TextLabelStyle)bindable;
134             textLabelStyle.enableAutoScroll = (bool?)newValue;
135         },
136         defaultValueCreator: (bindable) =>
137         {
138             var textLabelStyle = (TextLabelStyle)bindable;
139             return textLabelStyle.enableAutoScroll;
140         });
141         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
142         [EditorBrowsable(EditorBrowsableState.Never)]
143         public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create(nameof(AutoScrollSpeed), typeof(int?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
144         {
145             var textLabelStyle = (TextLabelStyle)bindable;
146             textLabelStyle.autoScrollSpeed = (int?)newValue;
147         },
148         defaultValueCreator: (bindable) =>
149         {
150             var textLabelStyle = (TextLabelStyle)bindable;
151             return textLabelStyle.autoScrollSpeed;
152         });
153         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
154         [EditorBrowsable(EditorBrowsableState.Never)]
155         public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create(nameof(AutoScrollLoopCount), typeof(int?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
156         {
157             var textLabelStyle = (TextLabelStyle)bindable;
158             textLabelStyle.autoScrollLoopCount = (int?)newValue;
159         },
160         defaultValueCreator: (bindable) =>
161         {
162             var textLabelStyle = (TextLabelStyle)bindable;
163             return textLabelStyle.autoScrollLoopCount;
164         });
165         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
166         [EditorBrowsable(EditorBrowsableState.Never)]
167         public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create(nameof(AutoScrollGap), typeof(float?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
168         {
169             var textLabelStyle = (TextLabelStyle)bindable;
170             textLabelStyle.autoScrollGap = (float?)newValue;
171         },
172         defaultValueCreator: (bindable) =>
173         {
174             var textLabelStyle = (TextLabelStyle)bindable;
175             return textLabelStyle.autoScrollGap;
176         });
177         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
178         [EditorBrowsable(EditorBrowsableState.Never)]
179         public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
180         {
181             var textLabelStyle = (TextLabelStyle)bindable;
182             textLabelStyle.lineSpacing = (float?)newValue;
183         },
184         defaultValueCreator: (bindable) =>
185         {
186             var textLabelStyle = (TextLabelStyle)bindable;
187             return textLabelStyle.lineSpacing;
188         });
189         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
190         [EditorBrowsable(EditorBrowsableState.Never)]
191         public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
192         {
193             var textLabelStyle = (TextLabelStyle)bindable;
194             textLabelStyle.emboss = (string)newValue;
195         },
196         defaultValueCreator: (bindable) =>
197         {
198             var textLabelStyle = (TextLabelStyle)bindable;
199             return textLabelStyle.emboss;
200         });
201         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
202         [EditorBrowsable(EditorBrowsableState.Never)]
203         public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
204         {
205             var textLabelStyle = (TextLabelStyle)bindable;
206             textLabelStyle.pixelSize = (float?)newValue;
207         },
208         defaultValueCreator: (bindable) =>
209         {
210             var textLabelStyle = (TextLabelStyle)bindable;
211             return textLabelStyle.pixelSize;
212         });
213         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
214         [EditorBrowsable(EditorBrowsableState.Never)]
215         public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(Ellipsis), typeof(bool?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
216         {
217             var textLabelStyle = (TextLabelStyle)bindable;
218             textLabelStyle.ellipsis = (bool?)newValue;
219         },
220         defaultValueCreator: (bindable) =>
221         {
222             var textLabelStyle = (TextLabelStyle)bindable;
223             return textLabelStyle.ellipsis;
224         });
225         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
226         [EditorBrowsable(EditorBrowsableState.Never)]
227         public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create(nameof(AutoScrollLoopDelay), typeof(float?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
228         {
229             var textLabelStyle = (TextLabelStyle)bindable;
230             textLabelStyle.autoScrollLoopDelay = (float?)newValue;
231         },
232         defaultValueCreator: (bindable) =>
233         {
234             var textLabelStyle = (TextLabelStyle)bindable;
235             return textLabelStyle.autoScrollLoopDelay;
236         });
237         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
238         [EditorBrowsable(EditorBrowsableState.Never)]
239         public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create(nameof(AutoScrollStopMode), typeof(AutoScrollStopMode?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
240         {
241             var textLabelStyle = (TextLabelStyle)bindable;
242             textLabelStyle.autoScrollStopMode = (AutoScrollStopMode?)newValue;
243         },
244         defaultValueCreator: (bindable) =>
245         {
246             var textLabelStyle = (TextLabelStyle)bindable;
247             return textLabelStyle.autoScrollStopMode;
248         });
249         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
250         [EditorBrowsable(EditorBrowsableState.Never)]
251         public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
252         {
253             var textLabelStyle = (TextLabelStyle)bindable;
254             textLabelStyle.lineWrapMode = (LineWrapMode?)newValue;
255         },
256         defaultValueCreator: (bindable) =>
257         {
258             var textLabelStyle = (TextLabelStyle)bindable;
259             return textLabelStyle.lineWrapMode;
260         });
261         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
262         [EditorBrowsable(EditorBrowsableState.Never)]
263         public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create(nameof(VerticalLineAlignment), typeof(VerticalLineAlignment?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
264         {
265             var textLabelStyle = (TextLabelStyle)bindable;
266             textLabelStyle.verticalLineAlignment = (VerticalLineAlignment?)newValue;
267         },
268         defaultValueCreator: (bindable) =>
269         {
270             var textLabelStyle = (TextLabelStyle)bindable;
271             return textLabelStyle.verticalLineAlignment;
272         });
273         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
274         [EditorBrowsable(EditorBrowsableState.Never)]
275         public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(MatchSystemLanguageDirection), typeof(bool?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
276         {
277             var textLabelStyle = (TextLabelStyle)bindable;
278             textLabelStyle.matchSystemLanguageDirection = (bool?)newValue;
279         },
280         defaultValueCreator: (bindable) =>
281         {
282             var textLabelStyle = (TextLabelStyle)bindable;
283             return textLabelStyle.matchSystemLanguageDirection;
284         });
285         /// A BindableProperty for ImageShadow
286         [EditorBrowsable(EditorBrowsableState.Never)]
287         public static readonly BindableProperty TextShadowProperty = BindableProperty.Create("TextShadowSelector", typeof(Selector<TextShadow>), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
288         {
289             ((TextLabelStyle)bindable).textShadow = ((Selector<TextShadow>)newValue)?.Clone();
290         },
291         defaultValueCreator: (bindable) =>
292         {
293             return ((TextLabelStyle)bindable).textShadow;
294         });
295
296         private bool? multiLine;
297         private HorizontalAlignment? horizontalAlignment;
298         private VerticalAlignment? verticalAlignment;
299         private bool? enableMarkup;
300         private bool? enableAutoScroll;
301         private int? autoScrollSpeed;
302         private int? autoScrollLoopCount;
303         private float? autoScrollGap;
304         private float? lineSpacing;
305         private string emboss;
306         private float? pixelSize;
307         private bool? ellipsis;
308         private float? autoScrollLoopDelay;
309         private AutoScrollStopMode? autoScrollStopMode;
310         private LineWrapMode? lineWrapMode;
311         private VerticalLineAlignment? verticalLineAlignment;
312         private bool? matchSystemLanguageDirection;
313         private Selector<string> translatableTextSelector;
314         private Selector<string> fontFamilySelector;
315         private Selector<string> textSelector;
316         private Selector<Color> textColorSelector;
317         private Selector<float?> pointSizeSelector;
318         private Selector<TextShadow> textShadow;
319
320         static TextLabelStyle() { }
321
322         /// <summary>
323         /// Create an empty instance.
324         /// </summary>
325         [EditorBrowsable(EditorBrowsableState.Never)]
326         public TextLabelStyle() : base()
327         {
328         }
329
330         /// <summary>
331         /// Create an instance and set properties from the given TextLabel.
332         /// </summary>
333         /// <param name="textLabel">The TextLabel instance that includes property data.</param>
334         [EditorBrowsable(EditorBrowsableState.Never)]
335         public TextLabelStyle(TextLabel textLabel) : base(textLabel)
336         {
337         }
338
339         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
340         [EditorBrowsable(EditorBrowsableState.Never)]
341         public Selector<string> TranslatableText
342         {
343             get
344             {
345                 Selector<string> tmp = (Selector<string>)GetValue(TranslatableTextSelectorProperty);
346                 return (null != tmp) ? tmp : translatableTextSelector = new Selector<string>();
347             }
348             set => SetValue(TranslatableTextSelectorProperty, value);
349         }
350
351         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
352         [EditorBrowsable(EditorBrowsableState.Never)]
353         public Selector<string> FontFamily
354         {
355             get
356             {
357                 Selector<string> tmp = (Selector<string>)GetValue(FontFamilySelectorProperty);
358                 return (null != tmp) ? tmp : fontFamilySelector = new Selector<string>();
359             }
360             set => SetValue(FontFamilySelectorProperty, value);
361         }
362
363         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
364         [EditorBrowsable(EditorBrowsableState.Never)]
365         public bool? MultiLine
366         {
367             get => (bool?)GetValue(MultiLineProperty);
368             set => SetValue(MultiLineProperty, value);
369         }
370
371         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
372         [EditorBrowsable(EditorBrowsableState.Never)]
373         public HorizontalAlignment? HorizontalAlignment
374         {
375             get => (HorizontalAlignment?)GetValue(HorizontalAlignmentProperty);
376             set => SetValue(HorizontalAlignmentProperty, value);
377         }
378
379         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
380         [EditorBrowsable(EditorBrowsableState.Never)]
381         public VerticalAlignment? VerticalAlignment
382         {
383             get => (VerticalAlignment?)GetValue(VerticalAlignmentProperty);
384             set => SetValue(VerticalAlignmentProperty, value);
385         }
386
387         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
388         [EditorBrowsable(EditorBrowsableState.Never)]
389         public bool? EnableMarkup
390         {
391             get => (bool?)GetValue(EnableMarkupProperty);
392             set => SetValue(EnableMarkupProperty, value);
393         }
394
395         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
396         [EditorBrowsable(EditorBrowsableState.Never)]
397         public bool? EnableAutoScroll
398         {
399             get => (bool?)GetValue(EnableAutoScrollProperty);
400             set => SetValue(EnableAutoScrollProperty, value);
401         }
402
403         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
404         [EditorBrowsable(EditorBrowsableState.Never)]
405         public int? AutoScrollSpeed
406         {
407             get => (int?)GetValue(AutoScrollSpeedProperty);
408             set => SetValue(AutoScrollSpeedProperty, value);
409         }
410
411         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
412         [EditorBrowsable(EditorBrowsableState.Never)]
413         public int? AutoScrollLoopCount
414         {
415             get => (int?)GetValue(AutoScrollLoopCountProperty);
416             set => SetValue(AutoScrollLoopCountProperty, value);
417         }
418
419         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
420         [EditorBrowsable(EditorBrowsableState.Never)]
421         public float? AutoScrollGap
422         {
423             get => (float?)GetValue(AutoScrollGapProperty);
424             set => SetValue(AutoScrollGapProperty, value);
425         }
426
427         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
428         [EditorBrowsable(EditorBrowsableState.Never)]
429         public float? LineSpacing
430         {
431             get => (float?)GetValue(LineSpacingProperty);
432             set => SetValue(LineSpacingProperty, value);
433         }
434
435         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
436         [EditorBrowsable(EditorBrowsableState.Never)]
437         public string Emboss
438         {
439             get => (string)GetValue(EmbossProperty);
440             set => SetValue(EmbossProperty, value);
441         }
442
443         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
444         [EditorBrowsable(EditorBrowsableState.Never)]
445         public float? PixelSize
446         {
447             get => (float?)GetValue(PixelSizeProperty);
448             set => SetValue(PixelSizeProperty, value);
449         }
450
451         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
452         [EditorBrowsable(EditorBrowsableState.Never)]
453         public bool? Ellipsis
454         {
455             get => (bool?)GetValue(EllipsisProperty);
456             set => SetValue(EllipsisProperty, value);
457         }
458
459         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
460         [EditorBrowsable(EditorBrowsableState.Never)]
461         public float? AutoScrollLoopDelay
462         {
463             get => (float?)GetValue(AutoScrollLoopDelayProperty);
464             set => SetValue(AutoScrollLoopDelayProperty, value);
465         }
466
467         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
468         [EditorBrowsable(EditorBrowsableState.Never)]
469         public AutoScrollStopMode? AutoScrollStopMode
470         {
471             get => (AutoScrollStopMode?)GetValue(AutoScrollStopModeProperty);
472             set => SetValue(AutoScrollStopModeProperty, value);
473         }
474
475         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
476         [EditorBrowsable(EditorBrowsableState.Never)]
477         public LineWrapMode? LineWrapMode
478         {
479             get => (LineWrapMode?)GetValue(LineWrapModeProperty);
480             set => SetValue(LineWrapModeProperty, value);
481         }
482
483         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
484         [EditorBrowsable(EditorBrowsableState.Never)]
485         public VerticalLineAlignment? VerticalLineAlignment
486         {
487             get => (VerticalLineAlignment?)GetValue(VerticalLineAlignmentProperty);
488             set => SetValue(VerticalLineAlignmentProperty, value);
489         }
490
491         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
492         [EditorBrowsable(EditorBrowsableState.Never)]
493         public bool? MatchSystemLanguageDirection
494         {
495             get => (bool?)GetValue(MatchSystemLanguageDirectionProperty);
496             set => SetValue(MatchSystemLanguageDirectionProperty, value);
497         }
498
499         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
500         [EditorBrowsable(EditorBrowsableState.Never)]
501         public Selector<string> Text
502         {
503             get
504             {
505                 Selector<string> tmp = (Selector<string>)GetValue(TextSelectorProperty);
506                 return (null != tmp) ? tmp : textSelector = new Selector<string>();
507             }
508             set => SetValue(TextSelectorProperty, value);
509         }
510
511         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
512         [EditorBrowsable(EditorBrowsableState.Never)]
513         public Selector<Color> TextColor
514         {
515             get
516             {
517                 Selector<Color> tmp = (Selector<Color>)GetValue(TextColorSelectorProperty);
518                 return (null != tmp) ? tmp : textColorSelector = new Selector<Color>();
519             }
520             set => SetValue(TextColorSelectorProperty, value);
521         }
522
523         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
524         [EditorBrowsable(EditorBrowsableState.Never)]
525         public Selector<float?> PointSize
526         {
527             get
528             {
529                 Selector<float?> tmp = (Selector<float?>)GetValue(PointSizeSelectorProperty);
530                 return (null != tmp) ? tmp : pointSizeSelector = new Selector<float?>();
531             }
532             set => SetValue(PointSizeSelectorProperty, value);
533         }
534
535         /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
536         [EditorBrowsable(EditorBrowsableState.Never)]
537         public Selector<TextShadow> TextShadow
538         {
539             get => (Selector<TextShadow>)GetValue(TextShadowProperty);
540             set => SetValue(TextShadowProperty, value);
541         }
542     }
543 }