Table of Contents

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, IDisposable

Inheritance

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

items IEnumerable<ImageSequenceItem>

The list of image sequence items with filenames and durations.

x int

The X position.

y int

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

items IEnumerable<ImageSequenceItem>

The list of image sequence items with filenames and durations.

x int

The X position.

y int

The Y position.

width int

The display width (0 for original size).

height int

The display height (0 for original size).

stretchMode OverlayManagerImageStretchMode

The stretch mode to apply.

Fields

Lock

The lock object used for thread-safe operations.

public readonly object Lock

Field Value

object

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

bool

AnimationEndTime

Gets or sets the animation end time.

public TimeSpan AnimationEndTime { get; set; }

Property Value

TimeSpan

AnimationLength

Gets the total animation length (sum of all frame durations).

public TimeSpan AnimationLength { get; }

Property Value

TimeSpan

AnimationStartTime

Gets or sets the animation start time.

public TimeSpan AnimationStartTime { get; set; }

Property Value

TimeSpan

Cache

Gets or sets the cache. Used internally by the rendering system.

public object Cache { get; set; }

Property Value

object

Easing

Gets or sets the easing function for position/size animation.

public OverlayManagerPanEasing Easing { get; set; }

Property Value

OverlayManagerPanEasing

Enabled

Gets or sets a value indicating whether this VisioForge.Core.Types.X.VideoEffects.IOverlayManagerElement is enabled.

public bool Enabled { get; set; }

Property Value

bool

EndTime

Gets or sets the end time (optional).

public TimeSpan EndTime { get; set; }

Property Value

TimeSpan

FadeEasing

Gets or sets the easing function for fade animation.

public OverlayManagerPanEasing FadeEasing { get; set; }

Property Value

OverlayManagerPanEasing

FadeEnabled

Gets or sets a value indicating whether fade animation is enabled.

public bool FadeEnabled { get; set; }

Property Value

bool

FadeEndTime

Gets or sets the fade end time.

public TimeSpan FadeEndTime { get; set; }

Property Value

TimeSpan

FadeStartTime

Gets or sets the fade start time.

public TimeSpan FadeStartTime { get; set; }

Property Value

TimeSpan

FadeType

Gets or sets the fade type (FadeIn or FadeOut).

public OverlayManagerFadeType FadeType { get; set; }

Property Value

OverlayManagerFadeType

FrameCount

Gets the number of frames in the sequence.

public int FrameCount { get; }

Property Value

int

Height

Gets or sets the display height (0 for original image size).

public int Height { get; set; }

Property Value

int

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

bool

Name

Gets or sets the name.

public string Name { get; set; }

Property Value

string

Opacity

Gets or sets the opacity (0.0 to 1.0).

public double Opacity { get; set; }

Property Value

double

Rotation

Gets or sets the rotation angle in degrees (0-360).

public double Rotation { get; set; }

Property Value

double

Shadow

Gets or sets the shadow settings.

public OverlayManagerShadowSettings Shadow { get; set; }

Property Value

OverlayManagerShadowSettings

StartTime

Gets or sets the start time (optional).

public TimeSpan StartTime { get; set; }

Property Value

TimeSpan

StretchMode

Gets or sets the stretch mode.

public OverlayManagerImageStretchMode StretchMode { get; set; }

Property Value

OverlayManagerImageStretchMode

TargetHeight

Gets or sets the animation target height (0 to keep current).

public int TargetHeight { get; set; }

Property Value

int

TargetWidth

Gets or sets the animation target width (0 to keep current).

public int TargetWidth { get; set; }

Property Value

int

TargetX

Gets or sets the animation target X position.

public int TargetX { get; set; }

Property Value

int

TargetY

Gets or sets the animation target Y position.

public int TargetY { get; set; }

Property Value

int

Width

Gets or sets the display width (0 for original image size).

public int Width { get; set; }

Property Value

int

X

Gets or sets the X coordinate position.

public int X { get; set; }

Property Value

int

Y

Gets or sets the Y coordinate position.

public int Y { get; set; }

Property Value

int

ZIndex

Gets or sets the Z-Index (drawing order). Higher values are drawn on top.

public int ZIndex { get; set; }

Property Value

int

Methods

AddFrame(string, TimeSpan)

Adds a frame to the end of the sequence.

public void AddFrame(string filename, TimeSpan duration)

Parameters

filename string

The image filename (full path).

duration TimeSpan

The display duration for this frame.

Dispose(bool)

Releases unmanaged and - optionally - managed resources.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to 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

currentTime TimeSpan

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

currentTime TimeSpan

The current playback time.

Returns

(int X, int Y, int Width, int Height)

The interpolated rectangle (X, Y, Width, Height).

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

targetX int

The target X position.

targetY int

The target Y position.

targetWidth int

The target width (0 to keep current).

targetHeight int

The target height (0 to keep current).

startTime TimeSpan

The animation start time.

duration TimeSpan

The animation duration.

easing OverlayManagerPanEasing

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

startTime TimeSpan

The fade start time.

duration TimeSpan

The fade duration.

easing OverlayManagerPanEasing

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

startTime TimeSpan

The fade start time.

duration TimeSpan

The fade duration.

easing OverlayManagerPanEasing

The easing function.

See Also