Screen backdrop (schema v5/v6) + five-scene catalog + webcam polish: live desktop/game capture as a permanent non-deletable bottom layer (Source.IsBackdrop), auto full-screen game detection (Win32FullScreenDetector) else primary display, GraphicsCapturePicker re-designation, refcounted shared ScreenCaptureManager, Live-only backdrop by policy (HasBackdrop + v5-v6 backfill + EnforceBackdropPolicy, checkbox gone), SceneCatalog (Starting/Live/BRB/Chat/Ending) with + button re-adding missing scenes, webcam mid-session transparent-container fix (GetPreviewBitmap propagation), Chat half-screen-area cap, 'Add Webcam' always opens the picker (SwapWebcamIdentityAsync, no silent resurrect), WindowsRuntimeMarshal frame-read + 5s-throttled errors, docs updated, tests (65 passing)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
namespace ytLive.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Identifies which monitor holds a full-screen window (a game/app running
|
||||
/// borderless or exclusive fullscreen). Seam so ScreenCaptureManager is
|
||||
/// testable without Win32 interop.
|
||||
/// </summary>
|
||||
public interface IFullScreenDetector
|
||||
{
|
||||
/// <summary>
|
||||
/// The index of the monitor a full-screen foreground window covers, or null
|
||||
/// when the foreground window is windowed, missing, or one of our own.
|
||||
/// </summary>
|
||||
int? GetForegroundFullScreenMonitorIndex();
|
||||
|
||||
/// <summary>Index of the primary (taskbar-hosting) monitor.</summary>
|
||||
int PrimaryMonitorIndex();
|
||||
|
||||
/// <summary>All monitors in capture-key order (enumeration order).</summary>
|
||||
IReadOnlyList<DisplayInfo> GetDisplays();
|
||||
}
|
||||
Reference in New Issue
Block a user