Class OverlayManagerGroup
- Namespace
- VisioForge.Core.Types.X.VideoEffects
- Assembly
- VisioForge.Core.dll
A group of overlay elements that start and stop synchronously. This is particularly useful for video overlays that need to be preloaded and started at the exact same time. Implements the VisioForge.Core.Types.X.VideoEffects.IOverlayManagerElement.
public class OverlayManagerGroup : IOverlayManagerElement, IDisposableInheritance
Implements
Inherited Members
Constructors
OverlayManagerGroup()
Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.OverlayManagerGroup class.
public OverlayManagerGroup()OverlayManagerGroup(string)
Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.OverlayManagerGroup class.
public OverlayManagerGroup(string name)Parameters
namestring-
The group name.
Properties
Cache
Gets or sets the cache. Not used for groups.
public object Cache { get; set; }Property Value
Enabled
Gets or sets whether the group is enabled. When disabled, all overlays in the group are disabled.
public bool Enabled { get; set; }Property Value
EndTime
Gets or sets the end time for all overlays in the group.
public TimeSpan EndTime { get; set; }Property Value
Name
Gets or sets the name of the group.
public string Name { get; set; }Property Value
Opacity
Gets or sets the opacity. Not used for groups.
public double Opacity { get; set; }Property Value
Overlays
Gets the list of overlays in this group.
public List<IOverlayManagerElement> Overlays { get; }Property Value
Rotation
Gets or sets the rotation. Not used for groups.
public double Rotation { get; set; }Property Value
Shadow
Gets or sets the shadow settings. Not used for groups.
public OverlayManagerShadowSettings Shadow { get; set; }Property Value
StartTime
Gets or sets the start time for all overlays in the group.
public TimeSpan StartTime { get; set; }Property Value
ZIndex
Gets or sets the Z-index. Not used for groups.
public int ZIndex { get; set; }Property Value
Methods
Add(IOverlayManagerElement)
Adds an overlay to the group.
public void Add(IOverlayManagerElement overlay)Parameters
overlayIOverlayManagerElement-
The overlay to add.
Exceptions
- InvalidOperationException
-
Thrown if the group has already been initialized.
Dispose(bool)
Releases unmanaged and - optionally - managed resources.
protected virtual void Dispose(bool disposing)Parameters
disposingbool-
trueto release both managed and unmanaged resources;falseto release only unmanaged resources.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()GetRenderableOverlays()
Gets all overlays in the group that should be rendered. This is used internally by the overlay manager to render individual overlays.
public IEnumerable<IOverlayManagerElement> GetRenderableOverlays()Returns
- IEnumerable<IOverlayManagerElement>
-
List of enabled overlays in the group.
Initialize()
Initializes all video overlays in the group to PAUSED state (preloaded but not playing). This prepares all video overlays to start playing synchronously when Play() is called.
public bool Initialize()Returns
- bool
-
trueif all video overlays initialized successfully; otherwise,false.
Pause()
Pauses all video overlays in the group.
public void Pause()Play()
Starts playing all video overlays in the group synchronously. For non-video overlays (images, text, shapes), this has no effect as they are drawn based on StartTime/EndTime.
public void Play()Remove(IOverlayManagerElement)
Removes an overlay from the group.
public void Remove(IOverlayManagerElement overlay)Parameters
overlayIOverlayManagerElement-
The overlay to remove.
Exceptions
- InvalidOperationException
-
Thrown if the group has already been initialized.
Stop()
Stops all video overlays in the group.
public void Stop()