Drawing operations can only be issued between a BeginDraw and EndDraw call.
The BeginDraw method must be called before drawing operations can be called, though state-setting and state-retrieval operations can be performed even outside of BeginDraw/EndDraw.
The EndDraw method always succeeds: it should not be called twice even if a previous EndDraw resulted in a failing result.
The EndDraw method invalidates the surface with the specified rectangle passed in the BeginDraw Method and causes the surface to be redrawn.