using System.Windows;
using System.Windows.Media;
using Artemis.Core.Models.Profile;
using SkiaSharp;
namespace Artemis.UI.Services.Interfaces
{
public interface ILayerEditorService : IArtemisUIService
{
///
/// Returns the layer's bounds, corrected for the current render scale.
///
///
///
Rect GetLayerBounds(Layer layer);
///
/// Returns the layer's anchor, corrected for the current render scale.
///
///
///
Point GetLayerAnchorPosition(Layer layer);
///
/// Creates a WPF transform group that contains all the transformations required to render the provided layer.
/// Note: Run on UI thread.
///
///
///
TransformGroup GetLayerTransformGroup(Layer layer);
///
/// Returns an absolute and scaled rectangular path for the given layer that is corrected for the current render scale.
///
///
///
///
///
///
SKPath GetLayerPath(Layer layer, bool includeTranslation, bool includeScale, bool includeRotation);
///
/// Returns a new point scaled to the layer.
///
///
///
///
///
SKPoint GetScaledPoint(Layer layer, SKPoint point, bool absolute);
}
}