//---------------------------------------------------------------------
        // Draw the canvas
        //---------------------------------------------------------------------
        private void canvas_Paint(object sender, PaintEventArgs e)
        {
            Rectangle sampleRectagle = e.ClipRectangle;

            sampleRectagle.X      = (int)(sampleRectagle.X / magnification);
            sampleRectagle.Y      = (int)(sampleRectagle.Y / magnification);
            sampleRectagle.Width  = (int)(sampleRectagle.Width / m_magnification);
            sampleRectagle.Height = (int)(sampleRectagle.Height / m_magnification);
            Rectangle targetRectangle = e.ClipRectangle;

            m_picture.DrawPicture(e.Graphics, targetRectangle, sampleRectagle);
        }