private void m_pnlNewShapeDrawing_MouseClick(object sender, MouseEventArgs e) { Adapter adapter = new Adapter(); Graphics g = m_pnlNewShapeDrawing.CreateGraphics(); Pen p = new Pen(new SolidBrush(PenColor)); p.Width = (float)m_nudPenWidth.Value; NewShapeDrawing nsd = new NewShapeDrawing(); Target t = new Adapter(); if (!m_cbUseOriginalShapeDrawing.Checked) { // This code is executed without using the adapter -- direct calls to the new code if (e.Button == System.Windows.Forms.MouseButtons.Left) { NewShapeDrawing.DrawRectangle(p, e.X, e.Y, 30, 45, g); } else { NewShapeDrawing.DrawCircle(p, e.X, e.Y, 30, g); } } else { // This code causes drawing to occur using the legacy drawing code in the adapter. if (e.Button == System.Windows.Forms.MouseButtons.Left) { adapter.DrawRectangle(p, e.X, e.Y, 30, 45, g); } else { adapter.DrawCircle(p, e.X, e.Y, 30, g); } } }