mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-02 14:24:59 +00:00
Significantly restructure camera control interfaces and event arguments. Removed obsolete interfaces like `IHasCameras` and `CameraSelectedEventArgs`, and introduced generic event argument classes for improved type safety. Added `IHasCamerasWithControls` for better management of camera controls. Corrected the `IHasCameraMuteWithUnmuteReqeust` interface name. Reintroduced the `eCameraControlMode` enum to define camera control modes. These changes enhance the organization, clarity, and functionality of the camera control system.
50 lines
1.4 KiB
C#
50 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace PepperDash.Essentials.Devices.Common.Cameras
|
|
{
|
|
/// <summary>
|
|
/// Event arguments for the CameraSelected event
|
|
/// </summary>
|
|
[Obsolete("Use CameraSelectedEventArgs<T> instead. This class will be removed in a future version")]
|
|
public class CameraSelectedEventArgs : EventArgs
|
|
{
|
|
/// Gets or sets the SelectedCamera
|
|
/// </summary>
|
|
public CameraBase SelectedCamera { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Constructor for CameraSelectedEventArgs
|
|
/// </summary>
|
|
/// <param name="camera"></param>
|
|
public CameraSelectedEventArgs(CameraBase camera)
|
|
{
|
|
SelectedCamera = camera;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Event arguments for the CameraSelected event
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
public class CameraSelectedEventArgs<T> : EventArgs
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the SelectedCamera
|
|
/// </summary>
|
|
public T SelectedCamera { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Constructor for CameraSelectedEventArgs
|
|
/// </summary>
|
|
/// <param name="camera"></param>
|
|
public CameraSelectedEventArgs(T camera)
|
|
{
|
|
SelectedCamera = camera;
|
|
}
|
|
}
|
|
}
|