Class OverlayManagerImageSequence
- Namespace
- VisioForge.Core.Types.X.VideoEffects
- Assembly
- VisioForge.Core.dll
Overlay Manager image sequence element. Displays a sequence of images, each with its own duration, supporting all standard image overlay properties including position, size, stretch mode, animation, fade, opacity, rotation, shadow, and Z-index. Implements the VisioForge.Core.Types.X.VideoEffects.IOverlayManagerElement. Implements the IDisposable.
public class OverlayManagerImageSequence : IOverlayManagerElement, IDisposableInheritance
Implements
Inherited Members
Constructors
OverlayManagerImageSequence(IEnumerable<ImageSequenceItem>, int, int)
Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.OverlayManagerImageSequence class.
public OverlayManagerImageSequence(IEnumerable<ImageSequenceItem> items, int x, int y)Parameters
itemsIEnumerable<ImageSequenceItem>-
The list of image sequence items with filenames and durations.
xint-
The X position.
yint-
The Y position.
OverlayManagerImageSequence(IEnumerable<ImageSequenceItem>, int, int, int, int, OverlayManagerImageStretchMode)
Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.OverlayManagerImageSequence class.
public OverlayManagerImageSequence(IEnumerable<ImageSequenceItem> items, int x, int y, int width, int height, OverlayManagerImageStretchMode stretchMode = OverlayManagerImageStretchMode.None)Parameters
itemsIEnumerable<ImageSequenceItem>-
The list of image sequence items with filenames and durations.
xint-
The X position.
yint-
The Y position.
widthint-
The display width (0 for original size).
heightint-
The display height (0 for original size).
stretchModeOverlayManagerImageStretchMode-
The stretch mode to apply.
Fields
Lock
The lock object used for thread-safe operations.
public readonly object LockField Value
Properties
AnimationEnabled
Gets or sets a value indicating whether position/size animation is enabled. When enabled, the overlay animates from current position to target position.
public bool AnimationEnabled { get; set; }Property Value
AnimationEndTime
Gets or sets the animation end time.
public TimeSpan AnimationEndTime { get; set; }Property Value
AnimationLength
Gets the total animation length (sum of all frame durations).
public TimeSpan AnimationLength { get; }Property Value
AnimationStartTime
Gets or sets the animation start time.
public TimeSpan AnimationStartTime { get; set; }Property Value
Cache
Gets or sets the cache. Used internally by the rendering system.
public object Cache { get; set; }Property Value
Easing
Gets or sets the easing function for position/size animation.
public OverlayManagerPanEasing Easing { get; set; }Property Value
Enabled
Gets or sets a value indicating whether this VisioForge.Core.Types.X.VideoEffects.IOverlayManagerElement is enabled.
public bool Enabled { get; set; }Property Value
EndTime
Gets or sets the end time (optional).
public TimeSpan EndTime { get; set; }Property Value
FadeEasing
Gets or sets the easing function for fade animation.
public OverlayManagerPanEasing FadeEasing { get; set; }Property Value
FadeEnabled
Gets or sets a value indicating whether fade animation is enabled.
public bool FadeEnabled { get; set; }Property Value
FadeEndTime
Gets or sets the fade end time.
public TimeSpan FadeEndTime { get; set; }Property Value
FadeStartTime
Gets or sets the fade start time.
public TimeSpan FadeStartTime { get; set; }Property Value
FadeType
Gets or sets the fade type (FadeIn or FadeOut).
public OverlayManagerFadeType FadeType { get; set; }Property Value
FrameCount
Gets the number of frames in the sequence.
public int FrameCount { get; }Property Value
Height
Gets or sets the display height (0 for original image size).
public int Height { get; set; }Property Value
Loop
Gets or sets a value indicating whether the sequence should loop. When true, the sequence restarts from the beginning after the last frame. When false, the last frame continues to be displayed.
public bool Loop { get; set; }Property Value
Name
Gets or sets the name.
public string Name { get; set; }Property Value
Opacity
Gets or sets the opacity (0.0 to 1.0).
public double Opacity { get; set; }Property Value
Rotation
Gets or sets the rotation angle in degrees (0-360).
public double Rotation { get; set; }Property Value
Shadow
Gets or sets the shadow settings.
public OverlayManagerShadowSettings Shadow { get; set; }Property Value
StartTime
Gets or sets the start time (optional).
public TimeSpan StartTime { get; set; }Property Value
StretchMode
Gets or sets the stretch mode.
public OverlayManagerImageStretchMode StretchMode { get; set; }Property Value
TargetHeight
Gets or sets the animation target height (0 to keep current).
public int TargetHeight { get; set; }Property Value
TargetWidth
Gets or sets the animation target width (0 to keep current).
public int TargetWidth { get; set; }Property Value
TargetX
Gets or sets the animation target X position.
public int TargetX { get; set; }Property Value
TargetY
Gets or sets the animation target Y position.
public int TargetY { get; set; }Property Value
Width
Gets or sets the display width (0 for original image size).
public int Width { get; set; }Property Value
X
Gets or sets the X coordinate position.
public int X { get; set; }Property Value
Y
Gets or sets the Y coordinate position.
public int Y { get; set; }Property Value
ZIndex
Gets or sets the Z-Index (drawing order). Higher values are drawn on top.
public int ZIndex { get; set; }Property Value
Methods
AddFrame(string, TimeSpan)
Adds a frame to the end of the sequence.
public void AddFrame(string filename, TimeSpan duration)Parameters
filenamestring-
The image filename (full path).
durationTimeSpan-
The display duration for this frame.
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()~OverlayManagerImageSequence()
Finalizes an instance of the VisioForge.Core.Types.X.VideoEffects.OverlayManagerImageSequence class.
protected ~OverlayManagerImageSequence()GetCurrentOpacity(TimeSpan)
Gets the current opacity based on fade animation progress.
public double GetCurrentOpacity(TimeSpan currentTime)Parameters
currentTimeTimeSpan-
The current playback time.
Returns
- double
-
The current opacity (0.0 to 1.0).
GetCurrentRect(TimeSpan)
Gets the current rectangle based on animation progress.
public (int X, int Y, int Width, int Height) GetCurrentRect(TimeSpan currentTime)Parameters
currentTimeTimeSpan-
The current playback time.
Returns
StartAnimation(int, int, int, int, TimeSpan, TimeSpan, OverlayManagerPanEasing)
Starts a position/size animation from current values to target values.
public void StartAnimation(int targetX, int targetY, int targetWidth, int targetHeight, TimeSpan startTime, TimeSpan duration, OverlayManagerPanEasing easing = OverlayManagerPanEasing.Linear)Parameters
targetXint-
The target X position.
targetYint-
The target Y position.
targetWidthint-
The target width (0 to keep current).
targetHeightint-
The target height (0 to keep current).
startTimeTimeSpan-
The animation start time.
durationTimeSpan-
The animation duration.
easingOverlayManagerPanEasing-
The easing function.
StartFadeIn(TimeSpan, TimeSpan, OverlayManagerPanEasing)
Starts a fade-in animation from the specified time.
public void StartFadeIn(TimeSpan startTime, TimeSpan duration, OverlayManagerPanEasing easing = OverlayManagerPanEasing.Linear)Parameters
startTimeTimeSpan-
The fade start time.
durationTimeSpan-
The fade duration.
easingOverlayManagerPanEasing-
The easing function.
StartFadeOut(TimeSpan, TimeSpan, OverlayManagerPanEasing)
Starts a fade-out animation from the specified time.
public void StartFadeOut(TimeSpan startTime, TimeSpan duration, OverlayManagerPanEasing easing = OverlayManagerPanEasing.Linear)Parameters
startTimeTimeSpan-
The fade start time.
durationTimeSpan-
The fade duration.
easingOverlayManagerPanEasing-
The easing function.