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