[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_TextEditor_Property_STRIKETHROUGH_get")]
public static extern int StrikethroughGet();
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_TextEditor_Property_CHARACTER_SPACING_get")]
+ public static extern int CharacterSpacingGet();
}
}
}
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_TextField_Property_STRIKETHROUGH_get")]
public static extern int StrikethroughGet();
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_TextField_Property_CHARACTER_SPACING_get")]
+ public static extern int CharacterSpacingGet();
}
}
}
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_TextLabel_Property_STRIKETHROUGH_get")]
public static extern int StrikethroughGet();
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_TextLabel_Property_CHARACTER_SPACING_get")]
+ public static extern int CharacterSpacingGet();
}
}
var textLabelStyle = (TextLabelStyle)bindable;
return textLabelStyle.ellipsisPosition;
});
+ /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly BindableProperty CharacterSpacingProperty = BindableProperty.Create(nameof(CharacterSpacing), typeof(float?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
+ {
+ var textLabelStyle = (TextLabelStyle)bindable;
+ textLabelStyle.characterSpacing = (float?)newValue;
+ },
+ defaultValueCreator: (bindable) =>
+ {
+ var textLabelStyle = (TextLabelStyle)bindable;
+ return textLabelStyle.characterSpacing;
+ });
/// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
[EditorBrowsable(EditorBrowsableState.Never)]
public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(MatchSystemLanguageDirection), typeof(bool?), typeof(TextLabelStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
private Selector<float?> pointSizeSelector;
private Selector<TextShadow> textShadow;
private PropertyMap fontStyle;
+ private float? characterSpacing;
static TextLabelStyle() { }
set => SetValue(EllipsisPositionProperty, value);
}
+ /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public float? CharacterSpacing
+ {
+ get => (float?)GetValue(CharacterSpacingProperty);
+ set => SetValue(CharacterSpacingProperty, value);
+ }
+
/// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
[EditorBrowsable(EditorBrowsableState.Never)]
public bool? MatchSystemLanguageDirection
}
/// <summary>
+ /// The spaces between characters in Pixels.
+ /// <remarks>
+ /// A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).<br />
+ /// The default value is 0.f which does nothing.
+ ///</remarks>
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public float CharacterSpacing
+ {
+ get
+ {
+ return (float)GetValue(CharacterSpacingProperty);
+ }
+ set
+ {
+ SetValue(CharacterSpacingProperty, value);
+ NotifyPropertyChanged();
+ }
+ }
+
+ /// <summary>
/// Dispose.
/// </summary>
/// <since_tizen> 3 </since_tizen>
internal static readonly int MinLineSize = Interop.TextEditor.MinLineSizeGet();
internal static readonly int InputFilter = Interop.TextEditor.InputFilterGet();
internal static readonly int Strikethrough = Interop.TextEditor.StrikethroughGet();
+ internal static readonly int CharacterSpacing = Interop.TextEditor.CharacterSpacingGet();
}
internal class InputStyle
var instance = (Tizen.NUI.BaseComponents.TextEditor)bindable;
return instance.InternalPrimaryCursorPosition;
});
+
+ /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly BindableProperty CharacterSpacingProperty = BindableProperty.Create(nameof(CharacterSpacing), typeof(float), typeof(TextEditor), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
+ {
+ var textEditor = (TextEditor)bindable;
+ if (newValue != null)
+ {
+ Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textEditor.SwigCPtr, TextEditor.Property.CharacterSpacing, new Tizen.NUI.PropertyValue((float)newValue));
+ }
+ }),
+ defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
+ {
+ var textEditor = (TextEditor)bindable;
+ float temp = 0;
+ Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textEditor.SwigCPtr, TextEditor.Property.CharacterSpacing).Get(out temp);
+ return temp;
+ }));
}
}
}
/// <summary>
+ /// The spaces between characters in Pixels.
+ /// <remarks>
+ /// A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).<br />
+ /// The default value is 0.f which does nothing.
+ ///</remarks>
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public float CharacterSpacing
+ {
+ get
+ {
+ return (float)GetValue(CharacterSpacingProperty);
+ }
+ set
+ {
+ SetValue(CharacterSpacingProperty, value);
+ NotifyPropertyChanged();
+ }
+ }
+
+ /// <summary>
/// Set InputFilter to TextField.
/// </summary>
/// <param name="inputFilter">The InputFilter</param>
internal static readonly int EllipsisPosition = Interop.TextField.EllipsisPositionGet();
internal static readonly int InputFilter = Interop.TextField.InputFilterGet();
internal static readonly int Strikethrough = Interop.TextField.StrikethroughGet();
-
+ internal static readonly int CharacterSpacing = Interop.TextField.CharacterSpacingGet();
}
internal class InputStyle
var instance = (Tizen.NUI.BaseComponents.TextField)bindable;
return instance.InternalPrimaryCursorPosition;
});
+ /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly BindableProperty CharacterSpacingProperty = BindableProperty.Create(nameof(CharacterSpacing), typeof(float), typeof(TextField), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
+ {
+ var textField = (TextField)bindable;
+ if (newValue != null)
+ {
+ Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textField.SwigCPtr, TextField.Property.CharacterSpacing, new Tizen.NUI.PropertyValue((float)newValue));
+ }
+ }),
+ defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
+ {
+ var textField = (TextField)bindable;
+ float temp = 0;
+ Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textField.SwigCPtr, TextField.Property.CharacterSpacing).Get(out temp);
+ return temp;
+ }));
}
}
}
/// <summary>
+ /// The spaces between characters in Pixels.
+ /// <remarks>
+ /// A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).<br />
+ /// The default value is 0.f which does nothing.
+ ///</remarks>
+ /// </summary>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public float CharacterSpacing
+ {
+ get
+ {
+ return (float)GetValue(CharacterSpacingProperty);
+ }
+ set
+ {
+ SetValue(CharacterSpacingProperty, value);
+ NotifyPropertyChanged();
+ }
+ }
+
+ /// <summary>
/// The FontSizeScale property for scaling the specified font size up or down. <br />
/// The default value is 1.0. <br />
/// The given font size scale value is used for multiplying the specified font size before querying fonts. <br />
internal static readonly int EnableFontSizeScale = Interop.TextLabel.EnableFontSizeScaleGet();
internal static readonly int EllipsisPosition = Interop.TextLabel.EllipsisPositionGet();
internal static readonly int Strikethrough = Interop.TextLabel.StrikethroughGet();
+ internal static readonly int CharacterSpacing = Interop.TextLabel.CharacterSpacingGet();
}
private void OnShadowColorChanged(float x, float y, float z, float w)
Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.MatchSystemLanguageDirection).Get(out temp);
return temp;
}));
-
+ /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly BindableProperty CharacterSpacingProperty = BindableProperty.Create(nameof(CharacterSpacing), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ if (newValue != null)
+ {
+ Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.CharacterSpacing, new Tizen.NUI.PropertyValue((float)newValue));
+ }
+ }),
+ defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
+ {
+ var textLabel = (TextLabel)bindable;
+ float temp = 0;
+ Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.CharacterSpacing).Get(out temp);
+ return temp;
+ }));
/// Only for XAML. No need of public API. Make hidden as inhouse API.
[EditorBrowsable(EditorBrowsableState.Never)]
public static readonly BindableProperty TextFitProperty = BindableProperty.Create(nameof(TextFit), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
testingTarget.Dispose();
tlog.Debug(tag, $"TextEditorStrikethrough END (OK)");
}
+
+
+ [Test]
+ [Category("P1")]
+ [Description("TextEditor CharacterSpacing.")]
+ [Property("SPEC", "Tizen.NUI.TextEditor.CharacterSpacing A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("AUTHOR", "s.sabah@samsung.com")]
+ public void TextEditorCharacterSpacing()
+ {
+ tlog.Debug(tag, $"TextEditorCharacterSpacing START");
+
+ var testingTarget = new TextEditor(true);
+ Assert.IsNotNull(testingTarget, "Can't create success object TextEditor");
+ Assert.IsInstanceOf<TextEditor>(testingTarget, "Should be an instance of TextEditor type.");
+
+ float expandedValue = 1.5f;
+ testingTarget.CharacterSpacing = expandedValue;
+ Assert.AreEqual(expandedValue, testingTarget.CharacterSpacing, "Should be equal!");
+
+ float condensedValue = -1.5f;
+ testingTarget.CharacterSpacing = condensedValue;
+ Assert.AreEqual(condensedValue, testingTarget.CharacterSpacing, "Should be equal!");
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"TextEditorCharacterSpacing END (OK)");
+ }
}
}
testingTarget.Dispose();
tlog.Debug(tag, $"TextFieldStrikethrough END (OK)");
}
+
+ [Test]
+ [Category("P1")]
+ [Description("TextField CharacterSpacing.")]
+ [Property("SPEC", "Tizen.NUI.TextField.CharacterSpacing A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("AUTHOR", "s.sabah@samsung.com")]
+ public void TextFieldCharacterSpacing()
+ {
+ tlog.Debug(tag, $"TextFieldCharacterSpacing START");
+
+ var testingTarget = new TextField(true);
+ Assert.IsNotNull(testingTarget, "Can't create success object TextField");
+ Assert.IsInstanceOf<TextField>(testingTarget, "Should be an instance of TextField type.");
+
+ float expandedValue = 1.5f;
+ testingTarget.CharacterSpacing = expandedValue;
+ Assert.AreEqual(expandedValue, testingTarget.CharacterSpacing, "Should be equal!");
+
+ float condensedValue = -1.5f;
+ testingTarget.CharacterSpacing = condensedValue;
+ Assert.AreEqual(condensedValue, testingTarget.CharacterSpacing, "Should be equal!");
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"TextFieldCharacterSpacing END (OK)");
+ }
}
}
testingTarget.Dispose();
tlog.Debug(tag, $"TextLabelStrikethrough END (OK)");
}
+
+ [Test]
+ [Category("P1")]
+ [Description("TextLabel CharacterSpacing.")]
+ [Property("SPEC", "Tizen.NUI.TextLabel.CharacterSpacing A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("AUTHOR", "s.sabah@samsung.com")]
+ public void TextLabelCharacterSpacing()
+ {
+ tlog.Debug(tag, $"TextLabelCharacterSpacing START");
+
+ var testingTarget = new TextLabel(true);
+ Assert.IsNotNull(testingTarget, "Can't create success object TextLabel");
+ Assert.IsInstanceOf<TextLabel>(testingTarget, "Should be an instance of TextLabel type.");
+
+ float expandedValue = 1.5f;
+ testingTarget.CharacterSpacing = expandedValue;
+ Assert.AreEqual(expandedValue, testingTarget.CharacterSpacing, "Should be equal!");
+
+ float condensedValue = -1.5f;
+ testingTarget.CharacterSpacing = condensedValue;
+ Assert.AreEqual(condensedValue, testingTarget.CharacterSpacing, "Should be equal!");
+
+ testingTarget.Dispose();
+ tlog.Debug(tag, $"TextLabelCharacterSpacing END (OK)");
+ }
+
}
}