aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/IVideoCaptureProvider.cs
blob: cd797dce260a59070365e5e24debe65f3d8d7587 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Video.DirectCapture;

namespace Tango.MachineStudio.Common.Video
{
    /// <summary>
    /// Represents a video capturing device provider.
    /// </summary>
    public interface IVideoCaptureProvider
    {
        /// <summary>
        /// Gets the available capture devices.
        /// </summary>
        ObservableCollection<CaptureDevice> AvailableCaptureDevices { get; }
    }
}
s="w"> SnippetElement { [OptionalField] bool setCaretOnlyIfTextIsSelected; /// <summary> /// Creates a new SnippetCaretElement. /// </summary> public SnippetCaretElement() { } /// <summary> /// Creates a new SnippetCaretElement. /// </summary> /// <param name="setCaretOnlyIfTextIsSelected"> /// If set to true, the caret is set only when some text was selected. /// This is useful when both SnippetCaretElement and SnippetSelectionElement are used in the same snippet. /// </param> public SnippetCaretElement(bool setCaretOnlyIfTextIsSelected) { this.setCaretOnlyIfTextIsSelected = setCaretOnlyIfTextIsSelected; } /// <inheritdoc/> public override void Insert(InsertionContext context) { if (!setCaretOnlyIfTextIsSelected || !string.IsNullOrEmpty(context.SelectedText)) SetCaret(context); } internal static void SetCaret(InsertionContext context) { TextAnchor pos = context.Document.CreateAnchor(context.InsertionPosition); pos.MovementType = AnchorMovementType.BeforeInsertion; pos.SurviveDeletion = true; context.Deactivated += (sender, e) => { if (e.Reason == DeactivateReason.ReturnPressed || e.Reason == DeactivateReason.NoActiveElements) { context.TextArea.Caret.Offset = pos.Offset; } }; } } }