using RealTimeGraphX.EventArguments; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RealTimeGraphX { /// /// Represents a graph component which can receive data from another type of component. /// /// The type of the in. /// public interface IGraphInputComponent : IGraphComponent where TIn : IGraphComponent { /// /// Occurs when the property has changed. /// event EventHandler> InputChanged; /// /// Gets the connected input . /// TIn Input { get; } /// /// Connects the specified component output to this component input. /// /// The component. /// Specifies whether this call was made from a component. void ConnectInput(TIn component, bool fromInput = false); /// /// Disconnects this component input from the current connected . /// /// Specifies whether this call was made from a component. void DisconnectInput(bool fromInput = false); } }