feat: Elements panel, Countdown/Web sources, webcam border config (TASK 14 Branch 2)
- New SourceType.Countdown (Starting/BRB only, timer 1-60 min) and SourceType.WebSource (all scenes, URI) - Elements panel beneath Sources: per-element config with live preview, ✕ revert / ✓ applied indicator - Webcam border: hex color input + swatch picker, thickness 0-10 slider - Countdown: timer minutes slider (1-60, default 15), Web: URI text input - SourceTypeToVisibilityConverter for conditional panel visibility - Snapshot/revert mechanism in code-behind for live-preview cancel
This commit is contained in:
+15
-1
@@ -9,7 +9,9 @@ public enum SourceType
|
||||
WindowCapture,
|
||||
Background,
|
||||
Image,
|
||||
TextOverlay
|
||||
TextOverlay,
|
||||
Countdown,
|
||||
WebSource
|
||||
}
|
||||
|
||||
public enum ClipShape
|
||||
@@ -86,4 +88,16 @@ public class Source : SceneElement
|
||||
public override ImageSource? DisplaySource => IsLiveCapture ? VideoImageSource : _imageSource;
|
||||
|
||||
public override bool IsImageSource => Type == SourceType.Image;
|
||||
|
||||
// Countdown config
|
||||
private int _timerMinutes = 15;
|
||||
public int TimerMinutes
|
||||
{
|
||||
get => _timerMinutes;
|
||||
set => Set(ref _timerMinutes, Math.Clamp(value, 1, 60));
|
||||
}
|
||||
|
||||
// Web source config
|
||||
private string? _webUri;
|
||||
public string? WebUri { get => _webUri; set => Set(ref _webUri, value); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user