73.1.1 Coordinate Spaces

A coordinate space is a planar space based on the Cartesian system. This system (named after the French mathematician Rene Descartes) is a method of specifying the location of each point on a plane. It requires two axis which are perpendicular and equal in length. The following illustration shows a coordinate space:

Cartesian Coordinate-Space

There are four coordinate spaces in Windows: the world space, the page space, the device space, and (usually) the client area. The world space is the starting point for any graphics operation performed by a GDI function that requires a DC handle. The world space measures 232 units high and wide. The second space, the page space, also measures 232 units in width in height. The third space is the device space; it measures 227 units in width and height. The fourth space is usually the client area of the application's window; however, it may also be the entire desktop, a complete window (including the frame, title bar, and menu bar) or a page of printer or plotter paper. The dimensions of this final space vary according to the display, printer, or plotter technology. For example, the dimensions of a VGA screen are 640 by 480 pixels while the dimensions of an 8514/A screen are 1024 by 760 pixels. And, the dimensions of a piece of letter-size paper on a typical laser printer are 2,550 by 3,300 dots while the dimensions of the same sheet of paper on a dot-matrix printer are 612 by 792 dots.

In order to render output in an application's client area (or the desktop, a window, or a page of printer paper), Windows copies a rectangular region from the world space (the starting point for all graphics output) into the page space, from the page space to the device space, and finally from device space onto the physical device. As it copies each point within the rectangular region from one space into the other, Windows applies an algorithm called a transformation. The transformation determines the size, orientation, and shape of objects which appear in the rectangle that is copied. The following illustration shows this process:

Windows Coordinate Spaces and Transformations