using Artemis.Core.Models.Profile; using Artemis.Core.Models.Profile.KeyframeEngines; using Artemis.Core.Models.Profile.LayerProperties; using Artemis.Core.Plugins.LayerBrush; namespace Artemis.Core.Services.Interfaces { public interface ILayerService : IArtemisService { /// /// Instantiates and adds the described by the provided /// to the . /// /// The layer to instantiate the brush for /// LayerBrush InstantiateLayerBrush(Layer layer); /// /// Instantiates and adds a compatible to the provided . /// If the property already has a compatible keyframe engine, nothing happens. /// /// The layer property to apply the keyframe engine to. /// The resulting keyframe engine, if a compatible engine was found. KeyframeEngine InstantiateKeyframeEngine(LayerProperty layerProperty); /// /// Instantiates and adds a compatible to the provided . /// If the property already has a compatible keyframe engine, nothing happens. /// /// The layer property to apply the keyframe engine to. /// The resulting keyframe engine, if a compatible engine was found. KeyframeEngine InstantiateKeyframeEngine(BaseLayerProperty layerProperty); } }