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:
2026-11-04 17:05:06 -08:00
parent 5c4acf141b
commit 5f7bcc2425
15 changed files with 417 additions and 52 deletions
+12
View File
@@ -74,6 +74,7 @@ public partial class MainViewModel : ViewModelBase
OnPropertyChanged(nameof(IsBlurSelected));
OnPropertyChanged(nameof(IsElementsPanelEmpty));
OnPropertyChanged(nameof(CanToggleClipShape));
SyncTextFontCategory();
if (_selectedElement != null)
_selectedElement.PropertyChanged += OnSelectedElementPropertyChanged;
}
@@ -113,6 +114,17 @@ public partial class MainViewModel : ViewModelBase
// property. Cheap: the bake is recomputed on demand, once.
if (StagedScene != null) _sceneGraph.InvalidateBake(StagedScene);
if (sender is Source text && text.Type == SourceType.TextOverlay)
{
if (e.PropertyName == nameof(Source.TextFontFamily))
{
SelectedTextFontType = FontTypeFor(text.TextFontFamily);
OnPropertyChanged(nameof(SelectedTextFontFamily));
}
if (e.PropertyName == nameof(Source.TextFontSize))
OnPropertyChanged(nameof(TextFontSizeOptions));
}
if (e.PropertyName == nameof(SceneElement.UseDefaultBackground))
{
// ⛔ Turning the default back ON has to RE-STAMP the shipped art. Browse… writes the