using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
namespace UnityEditor.U2D.Sprites
{
internal abstract partial class SpriteFrameModuleBase : SpriteEditorModuleModeSupportBase, ISpriteEditor
{
public override ISpriteEditor modeSpriteEditor => this;
///
/// Mimics ISpriteEditor for SpriteEditorMode. Calls are route back to SpriteEditor
/// but can be override by if SpriteEditorModuleModeSupportBase it wants specific behaviour.
///
#region ISpriteEditor implementation.
public virtual List spriteRects
{
set => spriteEditor.spriteRects = value;
}
public virtual SpriteRect selectedSpriteRect
{
get => spriteEditor.selectedSpriteRect;
set => spriteEditor.selectedSpriteRect = value;
}
public virtual bool enableMouseMoveEvent { set => spriteEditor.enableMouseMoveEvent = value; }
public virtual bool editingDisabled => spriteEditor.editingDisabled;
public virtual Rect windowDimension => spriteEditor.windowDimension;
public virtual T GetDataProvider() where T : class
{
return spriteEditor.GetDataProvider();
}
public virtual bool HandleSpriteSelection()
{
return spriteEditor.HandleSpriteSelection();
}
public virtual void RequestRepaint()
{
spriteEditor.RequestRepaint();
}
public virtual void SetDataModified()
{
spriteEditor.SetDataModified();
}
public virtual void ApplyOrRevertModification(bool apply)
{
spriteEditor.ApplyOrRevertModification(apply);
}
public virtual VisualElement GetMainVisualContainer()
{
return spriteEditor.GetMainVisualContainer();
}
public virtual VisualElement GetToolbarRootElement()
{
return spriteEditor.GetToolbarRootElement();
}
public virtual void SetPreviewTexture(Texture2D texture, int width, int height)
{
spriteEditor.SetPreviewTexture(texture, width, height);
}
public virtual void ResetZoomAndScroll()
{
spriteEditor.ResetZoomAndScroll();
}
public virtual float zoomLevel
{
get => spriteEditor.zoomLevel;
set => spriteEditor.zoomLevel = value;
}
public virtual Vector2 scrollPosition
{
get => spriteEditor.scrollPosition;
set => spriteEditor.scrollPosition = value;
}
public virtual bool showAlpha
{
get => spriteEditor.showAlpha;
set => spriteEditor.showAlpha = value;
}
public virtual float mipLevel
{
get => spriteEditor.mipLevel;
set => spriteEditor.mipLevel = value;
}
#endregion
}
}