Whether or not you believe that good things always come in small packages, it should be clear that some very rich capabilities for creating graphical output have been placed in the very small package of the .NET Compact Framework's System.Drawing.dll library. This chapter looked in detail at the four types of drawing surfaces that Windows programmers are used to, two of which are supported in the .NET Compact Framework. This chapter also discussed the three families of drawing functions, which are reasonably well represented by the .NET Compact Framework's capable, though small, feature set.
In this chapter, we explored two of the families in depth: raster and vector drawing functions. In the next chapter, we take an in-depth look at the third family of outputtext. This part of the book concludes in Chapter 17 with coverage of an output device that is not officially supported in the .NET Compact Framework, namely, printers. In spite of the lack of managed-code support, we show that there are ways for a .NET Compact Framework program to satisfy the need that users sometimes have for hard copy. We do so by providing something that programmers sometimes need: some sample programs to make it clear how such an unsupported feature can, in fact, be made available.