package com.kreative.paint.tool;
import java.util.List;
import java.util.Vector;
import com.kreative.paint.material.MaterialManager;
public class ToolManager {
private ArrowTool arrowTool;
private MarqueeTool marqueeTool;
private List<Tool> tools;
public ToolManager(MaterialManager mm) {
tools = new Vector<Tool>();
// SELECTION TOOLS
tools.add(arrowTool = new ArrowTool());
tools.add(new TransformTool());
tools.add(new PaintDrawMarqueeTool());
tools.add(marqueeTool = new RectangleMarqueeTool());
tools.add(new RoundRectMarqueeTool());
tools.add(new EllipseMarqueeTool());
tools.add(new PolygonMarqueeTool());
tools.add(new FreeformMarqueeTool());
tools.add(new LassoTool());
tools.add(new MagicWandTool());
tools.add(new RowColumnMarqueeTool());
//tools.add(new RowMarqueeTool());
//tools.add(new ColumnMarqueeTool());
tools.add(new LayerMoveTool());
// VIEW TOOLS
tools.add(new HotspotTool());
tools.add(new RulerTool());
tools.add(new GrabberTool());
tools.add(new MagnifierTool());
// PAINT TOOLS
tools.add(new PencilTool());
tools.add(new BrushTool());
tools.add(new PowerBrushTool());
tools.add(new FillTool());
tools.add(new EyedropperTool());
tools.add(new EraserTool());
tools.add(new PowerEraserTool());
tools.add(new TransparencyTool());
// SHAPE TOOLS
tools.add(new TextTool());
tools.add(new LineTool());
tools.add(new RectangleTool());
tools.add(new RoundRectTool());
tools.add(new EllipseTool());
tools.add(new ArcTool());
tools.add(new PolygonTool());
tools.add(new RegularPolygonTool());
tools.add(new FreeformShapeTool());
tools.add(new BezierTool());
tools.add(new PowerShapeTool());
// MISCELLANEOUS TOOLS
tools.add(new ThreeDBoxTool());
tools.add(new AlphabetStampTool());
tools.add(new BubblesTool());
tools.add(new CalligraphyBrushTool());
tools.add(new CellularAutomatonTool());
tools.add(new CharcoalTool());
tools.add(new CropMarksTool());
tools.add(new CurlBrushTool());
tools.add(new CurlPencilTool());
tools.add(new CurlShapeTool());
tools.add(new CycloidTool());
tools.add(new DotsaTool());
tools.add(new DryBrushTool());
tools.add(new FlowerTool());
tools.add(new FramerTool());
tools.add(new GridTool());
tools.add(new MagicMarkerTool());
tools.add(new MirrorBrushTool());
tools.add(new MovingVanTool());
tools.add(new PerspectiveGridTool());
tools.add(new RubberStampTool());
tools.add(new SmudgeTool());
tools.add(new SpinTool());
tools.add(new SpiralTool());
tools.add(new SpraypaintTool());
tools.add(new PowerSpraypaintTool());
tools.add(new SprinklerTool());
tools.add(new TwisterTool());
// PLUGIN TOOLS
for (Class<? extends Tool> c : mm.jarLoader().listClasses(Tool.class)) {
try { tools.add(c.newInstance()); }
catch (Exception e) { e.printStackTrace(); }
}
// COPLAND PERSPECTIVE TOOLS
// HAIKU PERSPECTIVE TOOLS
}
public List<Tool> getTools() {
return tools;
}
public ArrowTool getArrowTool() {
return arrowTool;
}
public MarqueeTool getMarqueeTool() {
return marqueeTool;
}
}