public override void Erase() { IntPtr hDC = DC.GetHdc(); Win32Support.DrawBitmap(hDC, 0, 0, Width, Height, hDC, 0, 0, Width, Height, TernaryRasterOperations.BLACKNESS); DC.ReleaseHdc(hDC); }
private void RenderBackbufferAll() { IntPtr hDC = DC.GetHdc(); IntPtr hDCBuffer = Buffer.DC.GetHdc(); Win32Support.DrawBitmap(hDC, 0, 0, Width, Height, hDCBuffer, 0, 0, Width, Height, TernaryRasterOperations.SRCCOPY); DC.ReleaseHdc(hDC); Buffer.DC.ReleaseHdc(hDCBuffer); }
private void RenderBackbufferRect() { if (!Buffer.DirtyRectangle.IsEmpty) { IntPtr hDC = DC.GetHdc(); IntPtr hDCBuffer = Buffer.DC.GetHdc(); Win32Support.DrawBitmap(hDC, Buffer.DirtyRectangle, hDCBuffer, Buffer.DirtyRectangle, TernaryRasterOperations.SRCCOPY); DC.ReleaseHdc(hDC); Buffer.DC.ReleaseHdc(hDCBuffer); // dirty rectangle drawn, so clear it out for next cycle ((Backbuffer)Buffer).DirtyRectangle = new Rectangle(); } }