2 * Copyright(c) 2020 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 extern alias TizenSystemSettings;
19 using TizenSystemSettings.Tizen.System;
21 using System.Globalization;
22 using System.ComponentModel;
23 using Tizen.NUI.Binding;
25 namespace Tizen.NUI.BaseComponents
29 /// A control which renders a short text string.<br />
30 /// Text labels are lightweight, non-editable, and do not respond to the user input.<br />
32 /// <since_tizen> 3 </since_tizen>
33 public partial class TextLabel : View
35 static TextLabel() { }
37 private string textLabelSid = null;
38 private bool systemlangTextFlag = false;
39 private TextLabelSelectorData selectorData;
42 /// Return a copied Style instance of the TextLabel.
45 /// It returns copied style instance so that changing it does not effect to the view.
46 /// Style setting is possible by using constructor or the function of <see cref="View.ApplyStyle"/>.
48 [EditorBrowsable(EditorBrowsableState.Never)]
49 public new TextLabelStyle Style => new TextLabelStyle(this);
52 /// Creates the TextLabel control.
54 /// <since_tizen> 3 </since_tizen>
55 public TextLabel() : this(Interop.TextLabel.TextLabel_New__SWIG_0(), true)
57 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
60 /// This will be public opened in next release of tizen after ACR done. Before ACR, it is used as HiddenAPI (InhouseAPI).
61 [EditorBrowsable(EditorBrowsableState.Never)]
62 public TextLabel(TextLabelStyle viewStyle) : this(Interop.TextLabel.TextLabel_New__SWIG_0(), true, viewStyle)
67 /// Creates the TextLabel with setting the status of shown or hidden.
69 /// <param name="shown">false : Not displayed (hidden), true : displayed (shown)</param>
70 /// This will be public opened in next release of tizen after ACR done. Before ACR, it is used as HiddenAPI (InhouseAPI).
71 [EditorBrowsable(EditorBrowsableState.Never)]
72 public TextLabel(bool shown) : this(Interop.TextLabel.TextLabel_New__SWIG_0(), true)
74 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
79 /// Creates the TextLabel control.
81 /// <param name="text">The text to display</param>
82 /// <since_tizen> 3 </since_tizen>
83 public TextLabel(string text) : this(Interop.TextLabel.TextLabel_New__SWIG_1(text), true)
85 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
89 /// Creates the TextLabel with setting the status of shown or hidden.
91 /// <param name="text">The text to display</param>
92 /// <param name="shown">false : Not displayed (hidden), true : displayed (shown)</param>
93 /// This will be public opened in next release of tizen after ACR done. Before ACR, it is used as HiddenAPI (InhouseAPI).
94 [EditorBrowsable(EditorBrowsableState.Never)]
95 public TextLabel(string text, bool shown) : this(Interop.TextLabel.TextLabel_New__SWIG_1(text), true)
97 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
101 internal TextLabel(TextLabel handle, bool shown = true) : this(Interop.TextLabel.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true)
103 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
111 internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn, ViewStyle viewStyle, bool shown = true) : base(Interop.TextLabel.TextLabel_SWIGUpcast(cPtr), cMemoryOwn, viewStyle)
119 internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn, bool shown = true) : base(Interop.TextLabel.TextLabel_SWIGUpcast(cPtr), cMemoryOwn)
128 /// The TranslatableText property.<br />
129 /// The text can set the SID value.<br />
131 /// <exception cref='ArgumentNullException'>
132 /// ResourceManager about multilingual is null.
134 /// <since_tizen> 4 </since_tizen>
135 public string TranslatableText
139 return (string)GetValue(TranslatableTextProperty);
143 SetValue(TranslatableTextProperty, value);
144 selectorData?.TranslatableText.UpdateIfNeeds(this, value);
147 private string translatableText
155 if (NUIApplication.MultilingualResourceManager == null)
157 throw new ArgumentNullException("ResourceManager about multilingual is null");
159 string translatableText = null;
160 textLabelSid = value;
161 translatableText = NUIApplication.MultilingualResourceManager?.GetString(textLabelSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
162 if (translatableText != null)
164 Text = translatableText;
165 if (systemlangTextFlag == false)
167 SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
168 systemlangTextFlag = true;
175 NotifyPropertyChanged();
180 /// The Text property.<br />
181 /// The text to display in the UTF-8 format.<br />
183 /// <since_tizen> 3 </since_tizen>
188 return (string)GetValue(TextProperty);
192 SetValue(TextProperty, value);
193 selectorData?.Text.UpdateIfNeeds(this, value);
194 NotifyPropertyChangedAndRequestLayout();
199 /// The FontFamily property.<br />
200 /// The requested font family to use.<br />
202 /// <since_tizen> 3 </since_tizen>
203 public string FontFamily
207 return (string)GetValue(FontFamilyProperty);
211 SetValue(FontFamilyProperty, value);
212 selectorData?.FontFamily.UpdateIfNeeds(this, value);
213 NotifyPropertyChangedAndRequestLayout();
218 /// The FontStyle property.<br />
219 /// The requested font style to use.<br />
221 /// <since_tizen> 3 </since_tizen>
222 public PropertyMap FontStyle
226 return (PropertyMap)GetValue(FontStyleProperty);
230 SetValue(FontStyleProperty, value);
231 NotifyPropertyChangedAndRequestLayout();
236 /// The PointSize property.<br />
237 /// The size of font in points.<br />
239 /// <since_tizen> 3 </since_tizen>
240 public float PointSize
244 return (float)GetValue(PointSizeProperty);
248 SetValue(PointSizeProperty, value);
249 selectorData?.PointSize.UpdateIfNeeds(this, value);
250 NotifyPropertyChangedAndRequestLayout();
255 /// The MultiLine property.<br />
256 /// The single-line or multi-line layout option.<br />
258 /// <since_tizen> 3 </since_tizen>
259 public bool MultiLine
263 return (bool)GetValue(MultiLineProperty);
267 SetValue(MultiLineProperty, value);
268 NotifyPropertyChangedAndRequestLayout();
273 /// The HorizontalAlignment property.<br />
274 /// The line horizontal alignment.<br />
276 /// <since_tizen> 3 </since_tizen>
277 public HorizontalAlignment HorizontalAlignment
281 return (HorizontalAlignment)GetValue(HorizontalAlignmentProperty);
285 SetValue(HorizontalAlignmentProperty, value);
286 NotifyPropertyChanged();
291 /// The VerticalAlignment property.<br />
292 /// The line vertical alignment.<br />
294 /// <since_tizen> 3 </since_tizen>
295 public VerticalAlignment VerticalAlignment
299 return (VerticalAlignment)GetValue(VerticalAlignmentProperty);
303 SetValue(VerticalAlignmentProperty, value);
304 NotifyPropertyChanged();
309 /// The TextColor property.<br />
310 /// The color of the text.<br />
311 /// Animation framework can be used to change the color of the text when not using mark up.<br />
312 /// Cannot animate the color when text is auto scrolling.<br />
315 /// The property cascade chaining set is possible. For example, this (textLabel.TextColor.X = 0.1f;) is possible.
317 /// <since_tizen> 3 </since_tizen>
318 public Color TextColor
322 Color temp = (Color)GetValue(TextColorProperty);
323 return new Color(OnTextColorChanged, temp.R, temp.G, temp.B, temp.A);
327 SetValue(TextColorProperty, value);
328 selectorData?.TextColor.UpdateIfNeeds(this, value);
329 NotifyPropertyChanged();
334 /// The ShadowOffset property.<br />
335 /// The drop shadow offset 0 indicates no shadow.<br />
337 /// <since_tizen> 3 </since_tizen>
339 /// Deprecated.(API Level 6) Use Shadow instead.
340 /// The property cascade chaining set is possible. For example, this (textLabel.ShadowOffset.X = 0.1f;) is possible.
342 [Obsolete("Please do not use this ShadowOffset(Deprecated). Please use Shadow instead.")]
343 public Vector2 ShadowOffset
347 Vector2 shadowOffset = new Vector2();
348 Shadow.Find(TextLabel.Property.SHADOW, "offset")?.Get(shadowOffset);
349 return new Vector2(OnShadowOffsetChanged, shadowOffset.X, shadowOffset.Y);
353 PropertyMap temp = new PropertyMap();
354 temp.Insert("offset", new PropertyValue(value));
356 PropertyMap shadowMap = Shadow;
357 shadowMap.Merge(temp);
359 SetValue(ShadowProperty, shadowMap);
360 NotifyPropertyChanged();
365 /// The ShadowColor property.<br />
366 /// The color of a drop shadow.<br />
368 /// <since_tizen> 3 </since_tizen>
370 /// Deprecated.(API Level 6) Use Shadow instead.
371 /// The property cascade chaining set is possible. For example, this (textLabel.ShadowColor.X = 0.1f;) is possible.
373 [Obsolete("Please do not use this ShadowColor(Deprecated). Please use Shadow instead.")]
374 public Vector4 ShadowColor
378 Vector4 shadowColor = new Vector4();
379 Shadow.Find(TextLabel.Property.SHADOW, "color")?.Get(shadowColor);
380 return new Vector4(OnShadowColorChanged, shadowColor.X, shadowColor.Y, shadowColor.Z, shadowColor.W);
384 PropertyMap temp = new PropertyMap();
385 temp.Insert("color", new PropertyValue(value));
387 PropertyMap shadowMap = Shadow;
388 shadowMap.Merge(temp);
390 SetValue(ShadowProperty, shadowMap);
391 NotifyPropertyChanged();
396 /// The UnderlineEnabled property.<br />
397 /// The underline enabled flag.<br />
399 /// <since_tizen> 3 </since_tizen>
401 /// Deprecated.(API Level 6) Use Underline instead.
403 [Obsolete("Please do not use this UnderlineEnabled(Deprecated). Please use Underline instead.")]
404 public bool UnderlineEnabled
408 bool underlineEnabled = false;
409 Underline.Find(TextLabel.Property.UNDERLINE, "enable")?.Get(out underlineEnabled);
410 return underlineEnabled;
414 PropertyMap temp = new PropertyMap();
415 temp.Add("enable", new PropertyValue(value));
417 PropertyMap undelineMap = Underline;
418 undelineMap.Merge(temp);
420 SetValue(UnderlineProperty, undelineMap);
421 NotifyPropertyChanged();
427 /// The UnderlineColor property.<br />
428 /// Overrides the underline height from font metrics.<br />
430 /// <since_tizen> 3 </since_tizen>
432 /// Deprecated.(API Level 6) Use Underline instead.
433 /// The property cascade chaining set is possible. For example, this (textLabel.UnderlineColor.X = 0.1f;) is possible.
435 [Obsolete("Please do not use this UnderlineColor(Deprecated). Please use Underline instead.")]
436 public Vector4 UnderlineColor
440 Vector4 underlineColor = new Vector4();
441 Underline.Find(TextLabel.Property.UNDERLINE, "color")?.Get(underlineColor);
442 return new Vector4(OnUnderlineColorChanged, underlineColor.X, underlineColor.Y, underlineColor.Z, underlineColor.W);
446 PropertyMap temp = new PropertyMap();
447 temp.Insert("color", new PropertyValue(value));
449 PropertyMap undelineMap = Underline;
450 undelineMap.Merge(temp);
452 SetValue(UnderlineProperty, undelineMap);
453 NotifyPropertyChanged();
458 /// The UnderlineHeight property.<br />
459 /// Overrides the underline height from font metrics.<br />
461 /// <since_tizen> 3 </since_tizen>
463 /// Deprecated.(API Level 6) Use Underline instead.
465 [Obsolete("Please do not use this UnderlineHeight(Deprecated). Please use Underline instead.")]
466 public float UnderlineHeight
470 float underlineHeight = 0.0f;
471 Underline.Find(TextLabel.Property.UNDERLINE, "height")?.Get(out underlineHeight);
472 return underlineHeight;
476 PropertyMap temp = new PropertyMap();
477 temp.Insert("height", new PropertyValue(value));
479 PropertyMap undelineMap = Underline;
480 undelineMap.Merge(temp);
482 SetValue(UnderlineProperty, undelineMap);
483 NotifyPropertyChanged();
488 /// The EnableMarkup property.<br />
489 /// Whether the mark-up processing is enabled.<br />
491 /// <since_tizen> 3 </since_tizen>
492 public bool EnableMarkup
496 return (bool)GetValue(EnableMarkupProperty);
500 SetValue(EnableMarkupProperty, value);
501 NotifyPropertyChanged();
506 /// The EnableAutoScroll property.<br />
507 /// Starts or stops auto scrolling.<br />
509 /// <since_tizen> 3 </since_tizen>
510 public bool EnableAutoScroll
514 return (bool)GetValue(EnableAutoScrollProperty);
518 SetValue(EnableAutoScrollProperty, value);
519 NotifyPropertyChanged();
524 /// The AutoScrollSpeed property.<br />
525 /// Sets the speed of scrolling in pixels per second.<br />
527 /// <since_tizen> 3 </since_tizen>
528 public int AutoScrollSpeed
532 return (int)GetValue(AutoScrollSpeedProperty);
536 SetValue(AutoScrollSpeedProperty, value);
537 NotifyPropertyChanged();
542 /// The AutoScrollLoopCount property.<br />
543 /// Number of complete loops when scrolling enabled.<br />
545 /// <since_tizen> 3 </since_tizen>
546 public int AutoScrollLoopCount
550 return (int)GetValue(AutoScrollLoopCountProperty);
554 SetValue(AutoScrollLoopCountProperty, value);
555 NotifyPropertyChanged();
560 /// The AutoScrollGap property.<br />
561 /// Gap before scrolling wraps.<br />
563 /// <since_tizen> 3 </since_tizen>
564 public float AutoScrollGap
568 return (float)GetValue(AutoScrollGapProperty);
572 SetValue(AutoScrollGapProperty, value);
573 NotifyPropertyChanged();
578 /// The LineSpacing property.<br />
579 /// The default extra space between lines in points.<br />
581 /// <since_tizen> 3 </since_tizen>
582 public float LineSpacing
586 return (float)GetValue(LineSpacingProperty);
590 SetValue(LineSpacingProperty, value);
591 NotifyPropertyChangedAndRequestLayout();
596 /// The Underline property.<br />
597 /// The default underline parameters.<br />
599 /// <since_tizen> 3 </since_tizen>
600 public PropertyMap Underline
604 return (PropertyMap)GetValue(UnderlineProperty);
608 SetValue(UnderlineProperty, value);
609 NotifyPropertyChanged();
614 /// The Shadow property.<br />
615 /// The default shadow parameters.<br />
617 /// <since_tizen> 3 </since_tizen>
618 public PropertyMap Shadow
622 return (PropertyMap)GetValue(ShadowProperty);
626 SetValue(ShadowProperty, value);
627 NotifyPropertyChanged();
632 /// Describes a text shadow for a TextLabel.
633 /// It is null by default.
635 [EditorBrowsable(EditorBrowsableState.Never)]
636 public TextShadow TextShadow
640 return (TextShadow)GetValue(TextShadowProperty);
644 SetValue(TextShadowProperty, value);
645 selectorData?.TextShadow.UpdateIfNeeds(this, value);
646 NotifyPropertyChanged();
651 /// The Emboss property.<br />
652 /// The default emboss parameters.<br />
654 /// <since_tizen> 3 </since_tizen>
659 return (string)GetValue(EmbossProperty);
663 SetValue(EmbossProperty, value);
664 NotifyPropertyChanged();
669 /// The Outline property.<br />
670 /// The default outline parameters.<br />
672 /// <since_tizen> 3 </since_tizen>
673 public PropertyMap Outline
677 return (PropertyMap)GetValue(OutlineProperty);
681 SetValue(OutlineProperty, value);
682 NotifyPropertyChanged();
687 /// The PixelSize property.<br />
688 /// The size of font in pixels.<br />
690 /// <since_tizen> 3 </since_tizen>
691 public float PixelSize
695 return (float)GetValue(PixelSizeProperty);
699 SetValue(PixelSizeProperty, value);
700 NotifyPropertyChangedAndRequestLayout();
705 /// The Ellipsis property.<br />
706 /// Enable or disable the ellipsis.<br />
708 /// <since_tizen> 3 </since_tizen>
713 return (bool)GetValue(EllipsisProperty);
717 SetValue(EllipsisProperty, value);
718 NotifyPropertyChanged();
723 /// The AutoScrollLoopDelay property.<br />
724 /// Do something.<br />
726 /// <since_tizen> 3 </since_tizen>
727 public float AutoScrollLoopDelay
731 return (float)GetValue(AutoScrollLoopDelayProperty);
735 SetValue(AutoScrollLoopDelayProperty, value);
736 NotifyPropertyChanged();
741 /// The AutoScrollStopMode property.<br />
742 /// Do something.<br />
744 /// <since_tizen> 3 </since_tizen>
745 public AutoScrollStopMode AutoScrollStopMode
749 return (AutoScrollStopMode)GetValue(AutoScrollStopModeProperty);
753 SetValue(AutoScrollStopModeProperty, value);
754 NotifyPropertyChanged();
759 /// The line count of the text.
761 /// <since_tizen> 3 </since_tizen>
767 GetProperty(TextLabel.Property.LINE_COUNT).Get(out temp);
773 /// The LineWrapMode property.<br />
774 /// line wrap mode when the text lines over layout width.<br />
776 /// <since_tizen> 4 </since_tizen>
777 public LineWrapMode LineWrapMode
781 return (LineWrapMode)GetValue(LineWrapModeProperty);
785 SetValue(LineWrapModeProperty, value);
786 NotifyPropertyChanged();
791 /// The direction of the text such as left to right or right to left.
793 /// <since_tizen> 5 </since_tizen>
794 /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
795 [EditorBrowsable(EditorBrowsableState.Never)]
796 public TextDirection TextDirection
801 GetProperty(TextLabel.Property.TEXT_DIRECTION).Get(out temp);
802 return (TextDirection)temp;
807 /// The vertical line alignment of the text.
809 /// <since_tizen> 5 </since_tizen>
810 /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
811 [EditorBrowsable(EditorBrowsableState.Never)]
812 public VerticalLineAlignment VerticalLineAlignment
816 return (VerticalLineAlignment)GetValue(VerticalLineAlignmentProperty);
820 SetValue(VerticalLineAlignmentProperty, value);
821 NotifyPropertyChanged();
826 /// The text alignment to match the direction of the system language.
828 /// <since_tizen> 6 </since_tizen>
829 public bool MatchSystemLanguageDirection
833 return (bool)GetValue(MatchSystemLanguageDirectionProperty);
837 SetValue(MatchSystemLanguageDirectionProperty, value);
838 NotifyPropertyChanged();
843 /// The text fit parameters.<br />
844 /// The textFit map contains the following keys :<br />
845 /// - enable (bool type) : True to enable the text fit or false to disable(the default value is false)<br />
846 /// - minSize (float type) : Minimum Size for text fit(the default value is 10.f)<br />
847 /// - maxSize (float type) : Maximum Size for text fit(the default value is 100.f)<br />
848 /// - stepSize (float type) : Step Size for font increase(the default value is 1.f)<br />
849 /// - fontSize (string type) : The size type of font, You can choose between "pointSize" or "pixelSize". (the default value is "pointSize")<br />
851 /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
852 [EditorBrowsable(EditorBrowsableState.Never)]
853 public PropertyMap TextFit
857 return (PropertyMap)GetValue(TextFitProperty);
861 SetValue(TextFitProperty, value);
862 NotifyPropertyChanged();
867 /// The MinLineSize property.<br />
869 /// <since_tizen> 8 </since_tizen>
870 [EditorBrowsable(EditorBrowsableState.Never)]
871 public float MinLineSize
875 return (float)GetValue(MinLineSizeProperty);
879 SetValue(MinLineSizeProperty, value);
880 NotifyPropertyChangedAndRequestLayout();
884 private TextLabelSelectorData SelectorData
888 if (selectorData == null)
890 selectorData = new TextLabelSelectorData();
897 /// Downcasts a handle to textLabel handle
899 /// <param name="handle"></param>
900 /// <returns></returns>
901 /// <since_tizen> 3 </since_tizen>
902 /// Please do not use! this will be deprecated!
903 /// Instead please use as keyword.
904 [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead! " +
906 "BaseHandle handle = new TextLabel(\"Hello World!\"); " +
907 "TextLabel label = handle as TextLabel")]
908 [EditorBrowsable(EditorBrowsableState.Never)]
909 public static TextLabel DownCast(BaseHandle handle)
911 TextLabel ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as TextLabel;
913 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
918 [EditorBrowsable(EditorBrowsableState.Never)]
919 protected override void Dispose(DisposeTypes type)
926 if (type == DisposeTypes.Explicit)
929 //Release your own managed resources here.
930 //You should release all of your own disposable objects here.
931 selectorData?.Reset(this);
937 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj)
939 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
942 /// This will not be public opened.
943 [EditorBrowsable(EditorBrowsableState.Never)]
944 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
946 Interop.TextLabel.delete_TextLabel(swigCPtr);
950 /// Get attribues, it is abstract function and must be override.
952 /// <since_tizen> 6 </since_tizen>
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 protected override ViewStyle GetViewStyle()
957 return new TextLabelStyle();
961 /// Invoked whenever the binding context of the textlabel changes. Implement this method to add class handling for this event.
963 protected override void OnBindingContextChanged()
965 base.OnBindingContextChanged();
968 private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
970 Text = NUIApplication.MultilingualResourceManager?.GetString(textLabelSid, new CultureInfo(e.Value.Replace("_", "-")));
973 private void NotifyPropertyChangedAndRequestLayout()
975 NotifyPropertyChanged();
976 Layout?.RequestLayout();
979 internal new class Property
981 internal static readonly int TEXT = Interop.TextLabel.TextLabel_Property_TEXT_get();
982 internal static readonly int FONT_FAMILY = Interop.TextLabel.TextLabel_Property_FONT_FAMILY_get();
983 internal static readonly int FONT_STYLE = Interop.TextLabel.TextLabel_Property_FONT_STYLE_get();
984 internal static readonly int POINT_SIZE = Interop.TextLabel.TextLabel_Property_POINT_SIZE_get();
985 internal static readonly int MULTI_LINE = Interop.TextLabel.TextLabel_Property_MULTI_LINE_get();
986 internal static readonly int HORIZONTAL_ALIGNMENT = Interop.TextLabel.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
987 internal static readonly int VERTICAL_ALIGNMENT = Interop.TextLabel.TextLabel_Property_VERTICAL_ALIGNMENT_get();
988 internal static readonly int TEXT_COLOR = Interop.TextLabel.TextLabel_Property_TEXT_COLOR_get();
989 internal static readonly int ENABLE_MARKUP = Interop.TextLabel.TextLabel_Property_ENABLE_MARKUP_get();
990 internal static readonly int ENABLE_AUTO_SCROLL = Interop.TextLabel.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
991 internal static readonly int AUTO_SCROLL_SPEED = Interop.TextLabel.TextLabel_Property_AUTO_SCROLL_SPEED_get();
992 internal static readonly int AUTO_SCROLL_LOOP_COUNT = Interop.TextLabel.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
993 internal static readonly int AUTO_SCROLL_GAP = Interop.TextLabel.TextLabel_Property_AUTO_SCROLL_GAP_get();
994 internal static readonly int LINE_SPACING = Interop.TextLabel.TextLabel_Property_LINE_SPACING_get();
995 internal static readonly int UNDERLINE = Interop.TextLabel.TextLabel_Property_UNDERLINE_get();
996 internal static readonly int SHADOW = Interop.TextLabel.TextLabel_Property_SHADOW_get();
997 internal static readonly int EMBOSS = Interop.TextLabel.TextLabel_Property_EMBOSS_get();
998 internal static readonly int OUTLINE = Interop.TextLabel.TextLabel_Property_OUTLINE_get();
999 internal static readonly int PIXEL_SIZE = Interop.TextLabel.TextLabel_Property_PIXEL_SIZE_get();
1000 internal static readonly int ELLIPSIS = Interop.TextLabel.TextLabel_Property_ELLIPSIS_get();
1001 internal static readonly int AUTO_SCROLL_STOP_MODE = Interop.TextLabel.TextLabel_Property_AUTO_SCROLL_STOP_MODE_get();
1002 internal static readonly int AUTO_SCROLL_LOOP_DELAY = Interop.TextLabel.TextLabel_Property_AUTO_SCROLL_LOOP_DELAY_get();
1003 internal static readonly int LINE_COUNT = Interop.TextLabel.TextLabel_Property_LINE_COUNT_get();
1004 internal static readonly int LINE_WRAP_MODE = Interop.TextLabel.TextLabel_Property_LINE_WRAP_MODE_get();
1005 internal static readonly int TEXT_DIRECTION = Interop.TextLabel.TextLabel_Property_TEXT_DIRECTION_get();
1006 internal static readonly int VERTICAL_LINE_ALIGNMENT = Interop.TextLabel.TextLabel_Property_VERTICAL_LINE_ALIGNMENT_get();
1007 internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = Interop.TextLabel.TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
1008 internal static readonly int TEXT_FIT = Interop.TextLabel.TextLabel_Property_TEXT_FIT_get();
1009 internal static readonly int MIN_LINE_SIZE = Interop.TextLabel.TextLabel_Property_MIN_LINE_SIZE_get();
1012 private void OnShadowColorChanged(float x, float y, float z, float w)
1014 ShadowColor = new Vector4(x, y, z, w);
1016 private void OnShadowOffsetChanged(float x, float y)
1018 ShadowOffset = new Vector2(x, y);
1020 private void OnTextColorChanged(float r, float g, float b, float a)
1022 TextColor = new Color(r, g, b, a);
1024 private void OnUnderlineColorChanged(float x, float y, float z, float w)
1026 UnderlineColor = new Vector4(x, y, z, w);