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);
}
}