Abstract:
A printer driver, for example a QuickDraw printer driver, keeps track of changes in a drawing environment (specified by a GrafPort) by saving State records. Rather than filling up the State with the contents of each pattern and clip region, references to each of these members are stored in the State. This referencing allows each component of a State to be saved separately while still allowing the State to be reproduced precisely when it is time to draw. Referencing can greatly reduce disk accesses and file size, thereby accelerating printing. Referencing also allows significant time to be saved during state comparison. Whereas previous drivers have required a State to GrafPort comparison at translation (drawing) time, in the present method, each reference in the current state may be compared with references from the previous state to see which fields have changed. Comparing references, which may be stored in four bytes, is much faster than comparing large patterns and regions.