fix(text): show selected formatting and style controls
Use category-filtered font and selected-item dropdowns, separate horizontal and vertical alignment, and reuse the border-color palette templates for text color. Persist vertical alignment additively. Follow the established static text-source pattern: https://obsproject.com/kb/text-sources
This commit is contained in:
@@ -18,6 +18,9 @@ public class SourceTextSettingsTests
|
||||
Assert.False(source.TextItalic);
|
||||
Assert.False(source.TextUnderline);
|
||||
Assert.Equal(TextLayerAlignment.Left, source.TextAlignment);
|
||||
Assert.Equal(TextLayerVerticalAlignment.Top, source.TextVerticalAlignment);
|
||||
Assert.Equal("#FFFFFF", source.TextColorEntry.Hex);
|
||||
Assert.Contains(source.TextColorOptions, color => color.Hex == "#FFFFFF");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -29,12 +32,14 @@ public class SourceTextSettingsTests
|
||||
TextFontSize = double.NaN,
|
||||
TextColor = "not-a-color",
|
||||
TextAlignment = (TextLayerAlignment)999,
|
||||
TextVerticalAlignment = (TextLayerVerticalAlignment)999,
|
||||
};
|
||||
|
||||
Assert.Equal("Segoe UI", source.TextFontFamily);
|
||||
Assert.Equal(48, source.TextFontSize);
|
||||
Assert.Equal("#FFFFFF", source.TextColor);
|
||||
Assert.Equal(TextLayerAlignment.Left, source.TextAlignment);
|
||||
Assert.Equal(TextLayerVerticalAlignment.Top, source.TextVerticalAlignment);
|
||||
|
||||
source.TextFontSize = 1;
|
||||
Assert.Equal(8, source.TextFontSize);
|
||||
@@ -42,5 +47,11 @@ public class SourceTextSettingsTests
|
||||
Assert.Equal(300, source.TextFontSize);
|
||||
source.TextColor = "#abcdef";
|
||||
Assert.Equal("#ABCDEF", source.TextColor);
|
||||
|
||||
source.TextColorEntry = BorderColorPalette.All.Single(color => color.Hex == "#FF0000");
|
||||
Assert.Equal("#FF0000", source.TextColor);
|
||||
Assert.Equal("Red", source.TextColorEntry.Name);
|
||||
source.TextColor = "#123456";
|
||||
Assert.Contains(source.TextColorOptions, color => color.Hex == "#123456");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user