There are some typos in documentation that make the use of pygame confusing. N1: Surface.blit has different arguments if used as an object method Read comments at http://www.pygame.org/docs/ref/surface.html#Surface.blit N2: display.Info current_w attribute in return result is undocumented http://www.pygame.org/docs/ref/display.html#pygame.display.Info