Subversion Repositories AndroidProjects

Rev

Rev 1412 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.ComponentModel;

using BauzoidNET.graphics.sprite;

namespace ShapeEditor.file.shapes
{
    public abstract class BaseShapeElement
    {
        [Browsable(false)]
        public string ShapeName { get; set; }

        protected Document mDocument = null;

        public BaseShapeElement(Document doc, string name)
        {
            mDocument = doc;
            ShapeName = name;
        }

        public abstract void Render(SpriteTransform transform);
        public abstract void RenderSelected(SpriteTransform transform, bool drawHandles = true);
        public abstract int GetNumHandles();
        public abstract int FindHandleAt(float x, float y);

        public abstract bool IsInside(float x, float y);

        public abstract void DragHandle(int handle, float dx, float dy);
        public abstract void DragMove(float dx, float dy);
        public abstract void FixCoordinates();

        public abstract Cursor GetCursor(int handle);

        public abstract void WriteFile(System.IO.TextWriter tw);

    }
}