Printing in MS Windows is relatively easy, since all drawing is done to a 'device context' which could equally well be associated with a printer as with a window. MS Windows handles the plethora of printer types that abound in the PC environment. In X under UNIX, the standard is PostScript; X, XView and Motif provide no help at all. The solution adopted in wxWindow is to use a device context for canvases and printers, with MS Windows printing supported on the PC and an Encapsulated PostScript driver provided under X. Thus graphic code may be extremely generic - the same piece of code can draw to MS Windows screens of all types, to X windows, and to hundreds of different printers.