Important: The information in this document is obsolete and should not be used for new development.
DeviceLoop
For drawing images that are optimized for every screen they cross, use theDeviceLoopprocedure.
PROCEDURE DeviceLoop (drawingRgn: RgnHandle; drawingProc: DeviceLoopDrawingProcPtr; userData: LongInt; flags: DeviceLoopFlags);
drawingRgn- A handle to the region in which you will draw; this drawing region uses coordinates that are local to its graphics port.
drawingProc- A pointer to your own drawing procedure.
userData- Any additional data that you wish to supply to your drawing procedure.
flags- One or more members of the set of flags defined by the
DeviceLoopFlagsdata type:TYPE DeviceLoopFlags = SET OF (singleDevices,dontMatchSeeds,allDevices);
- These flags are described in the following text; if you want to use the default behavior of
DeviceLoop, specify an empty set ([]) in this parameter.DESCRIPTION
TheDeviceLoopprocedure searches for graphics devices that intersect your window's drawing region, and it calls your drawing procedure for each video device it finds. In thedrawingRgnparameter, supply a handle to the region in which you wish to draw; in thedrawingProcparameter, supply a pointer to your drawing procedure. In theflagsparameter, you can specify members of the set of these flags defined by theDeviceLoopFlagsdata type:For each dissimilar video device that intersects this region,
DeviceLoopcalls your drawing procedure. For example, after a call to the Event Manager procedureBeginUpdate, the region you specify in thedrawingRgnparameter can be the same as the visible region for the active window. BecauseDeviceLoopprovides your drawing procedure with the pixel depth and other attributes of each video device, your drawing procedure can optimize its drawing for each video device--for example, by using theHiliteColorprocedure to set magenta as the highlight color on a color video device.SPECIAL CONSIDERATIONS
TheDeviceLoopprocedure may move or purge memory blocks in the application heap. Your application should not call this procedure at interrupt time.SEE ALSO
Listing 5-1 on page 5-7 illustrates the use ofDeviceLoop. See page 5-34 for a description of the drawing procedure you must provide for thedrawingProcparameter. Offscreen graphics worlds are described in the next chapter. TheHiliteColorprocedure is described in the chapter "Color QuickDraw" in this book.