public Form1() { InitializeComponent(); graphics = panel1.CreateGraphics(); var pen = new System.Drawing.Pen(System.Drawing.Color.Black); twoDimensional = new TwoDimensionalDrawer() { Graphics = graphics, Pen = pen }; threeDimensional = new ThreeDimensionalDrawer() { Graphics = graphics, Pen = pen }; shadedRectangleDrawer = new ShadedRectangleDrawer() { Graphics = graphics, Pen = pen, TwoDimensionalDrawer = twoDimensional }; imageDrawer = new ImageDrawer() { ThreeDimensionalDrawer = threeDimensional, TwoDimensionalDrawer = twoDimensional, ShadedRectangleDrawer = shadedRectangleDrawer }; image = new Image(panel1.Height, panel1.Width); imageSerializator = new XmlImageSerializator(); }
public void Draw(Image image) { foreach (var shape in image.Shapes) { if (shape is IThreeDimensionalShape) { ThreeDimensionalDrawer.Draw(shape); } else if (shape is IShadedShape) { ShadedRectangleDrawer.Draw(shape); } else if (shape is ITwoDimensionalShape) { TwoDimensionalDrawer.Draw(shape); } } }