Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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();
            }
        }