public Canvas(Panel panelCanvas, MainForm mainForm)
        {
            this.panelCanvas = panelCanvas;
            this.itemDrawings = new List<ItemDrawing>();
            this.connectionDrawings = new List<ConnectionDrawing>();
            this.mainForm = mainForm;
            this.viewport = mainForm.circuitManager.circuit.Viewport;
            this.panelCanvas.MouseUp += new MouseEventHandler(mouseUp);
            this.panelCanvas.MouseWheel += new MouseEventHandler(mouseWheel);
            this.panelCanvas.Resize += new EventHandler(resize);
            this.panelCanvas.MouseMove += new MouseEventHandler(mouseMove);
            this.panelCanvas.Paint += new PaintEventHandler(paint);
            this.panelCanvas.DragOver += dragOver;
            changeSize(panelCanvas.Width, panelCanvas.Height);

            foreach (Item item in mainForm.circuitManager.circuit.Items)
            {
                ItemDrawing itemDrawing = new ItemDrawing(item, viewport, mainForm);
                itemDrawings.Add(itemDrawing);
            }

            this.lastMousePoint = Point.Empty;

            this.itemPreviewRectangle = new Rectangle(0, 0, viewport.getPixelLength(100), viewport.getPixelLength(100));
        }