The PM programming interface assembles the application's graphics output in a process that can use up to five coordinate spaces, known collectively as the viewing pipeline. Clipping can occur at each stage in the viewing pipeline. Objects in world coordinate, model, page, or device space can be clipped. When an application defines clipping areas in several coordinate spaces, the final result is similar to combining all the areas into a single clipping area. This single area is defined by the intersection of the areas in each coordinate space.
Clipping in different coordinate spaces, however, is a means of conceptualizing the process to aid in its understanding. Clipping, like transformations, actually happens in one operation, with all the different types of clipping being performed on all primitives in the device space at once.
The following table describes the different types of clipping areas associated with the different coordinate spaces.
Clipping Areas and Coordinate Space Summary
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Clipping Area ³Coordinate Space³Description ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Clip path ³World space ³Always inclusive/inclusive ³ ³ ³ ³ ³ ³ ³ ³Clipping area can have ³ ³ ³ ³curved edges ³ ³ ³ ³ ³ ³ ³ ³Clipping area can be ³ ³ ³ ³rotated. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Viewing limit ³Model space ³Always a rectangular ³ ³ ³ ³clipping boundary ³ ³ ³ ³ ³ ³ ³ ³Always inclusive/inclusive ³ ³ ³ ³ ³ ³ ³ ³Rotating clipping area ³ ³ ³ ³results in larger rectangle.³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Graphics field ³Page space ³Always a rectangular ³ ³ ³ ³clipping boundary ³ ³ ³ ³ ³ ³ ³ ³Always inclusive/inclusive ³ ³ ³ ³ ³ ³ ³ ³Rotating clipping area ³ ³ ³ ³impossible. Cannot specify a³ ³ ³ ³device transform with ³ ³ ³ ³rotation. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³Clip region ³Device space ³Can be a single rectangle or³ ³ ³ ³multiple rectangles that ³ ³ ³ ³overlap or remain separate ³ ³ ³ ³ ³ ³ ³ ³Always inclusive/exclusive ³ ³ ³ ³ ³ ³ ³ ³Rotating the clipping area ³ ³ ³ ³is impossible. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Note: Inclusive/inclusive means that the operating system includes the bottom and leftmost edges of the rectangle in the clipping area as well as the top and rightmost edges. Inclusive/exclusive means that the operating system includes the bottom and leftmost edges but excludes the top and rightmost edges.
The following figure illustrates the differences between inclusive-inclusive and inclusive-exclusive clipping.
Inclusive/Inclusive and Inclusive/Exclusive Clipping