private void OnPaintImpl(PaintEventArgs2 e) { using (Surface doubleBuffer = GetDoubleBuffer(e.ClipRectangle.Size)) { using (RenderArgs renderArgs = new RenderArgs(doubleBuffer)) { OnPrePaint(e); DrawArea(renderArgs, e.ClipRectangle.Location); OnPainted(e); IntPtr tracking; Point childOffset; Size parentSize; doubleBuffer.GetDrawBitmapInfo(out tracking, out childOffset, out parentSize); PdnGraphics.DrawBitmap(e.Graphics, e.ClipRectangle, e.Graphics.Transform, tracking, childOffset.X, childOffset.Y); } } }