Table of Contents

Class SkinCaptureControls

Namespace
VisioForge.Core.UI.WPF.Skins
Assembly
VisioForge.Core.dll

A comprehensive WPF control that provides a skinnable video capture interface. This control manages capture controls, recording functionality, camera switching, and video effects with full skin support and auto-hide capabilities.

public class SkinCaptureControls : Grid, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild, IDisposable

Inheritance

Implements

Inherited Members

Remarks

The SkinCaptureControls class provides a complete video capture interface including:

  • Record/stop recording controls with visual state management
  • Camera switching for multi-camera scenarios
  • Video effects integration with real-time processing
  • Full-screen mode support for capture scenarios
  • Settings dialog integration
  • Auto-hide functionality for overlay scenarios
  • Duration display during recording

The control integrates with the VisioForge skinning system to provide customizable appearances and supports both mouse and keyboard interactions. All UI updates are properly marshalled to the UI thread for thread safety.

Constructors

SkinCaptureControls()

Initializes a new instance of the VisioForge.Core.UI.WPF.Skins.SkinCaptureControls class.

public SkinCaptureControls()

Fields

SkinNameProperty

The skin name property.

public static readonly DependencyProperty SkinNameProperty

Field Value

DependencyProperty

Properties

Capture

Gets or sets the video capture interface that this control manages.

public IVideoCaptureControls Capture { get; set; }

Property Value

IVideoCaptureControls

Remarks

Setting this property will automatically attach event handlers to monitor the capture state and update the UI accordingly. When changed, the previous capture interface will be properly unsubscribed from events.

SkinName

Gets or sets the name of the skin.

public string SkinName { get; set; }

Property Value

string

Methods

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()

OnAction

Occurs when a user action is performed on the capture controls.

public event EventHandler<SkinActionEventArgs> OnAction

Event Type

EventHandler<SkinActionEventArgs>

Remarks

This event is raised for various user interactions such as button clicks, allowing the host application to handle or override the default behavior. The event arguments contain information about the specific action performed.

OnRecordClick

Occurs when the record button is clicked.

public event EventHandler OnRecordClick

Event Type

EventHandler

Remarks

This event is raised when the user clicks the record button, allowing the host application to handle the recording operation or provide custom recording logic.

OnVideoEffectsClick

Occurs when the video effects button is clicked.

public event EventHandler OnVideoEffectsClick

Event Type

EventHandler

Remarks

This event is raised when the user clicks the video effects button, typically to open a video effects configuration dialog or panel.

See Also