Rev 1399 |
Rev 1404 |
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;
namespace ShapeEditor
.interaction
{
public abstract
class InteractionMode
{
public const int SELECT = 0;
public const int RECTANGLE
= 1;
public const int ELLIPSE
= 2;
public const int POLYGON
= 3;
protected MainForm mParent
= null;
public InteractionMode
(MainForm parent
)
{
mParent
= parent
;
}
public abstract
void MouseDown
(MouseEventArgs e
);
public abstract
void MouseMove
(MouseEventArgs e
);
public abstract
void MouseUp
(MouseEventArgs e
);
public abstract
void Render
();
public static InteractionMode CreateMode
(MainForm parent,
int mode
)
{
switch(mode
)
{
case SELECT:
return new SelectMode
(parent
);
case RECTANGLE
:
return new RectangleMode
(parent
);
case ELLIPSE
:
return new EllipseMode
(parent
);
case POLYGON
:
return new PolygonMode
(parent
);
}
return null;
}
}
}