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 theDeviceLoop
procedure.
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
DeviceLoopFlags
data 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
TheDeviceLoop
procedure searches for graphics devices that intersect your window's drawing region, and it calls your drawing procedure for each video device it finds. In thedrawingRgn
parameter, supply a handle to the region in which you wish to draw; in thedrawingProc
parameter, supply a pointer to your drawing procedure. In theflags
parameter, you can specify members of the set of these flags defined by theDeviceLoopFlags
data type:For each dissimilar video device that intersects this region,
DeviceLoop
calls your drawing procedure. For example, after a call to the Event Manager procedureBeginUpdate
, the region you specify in thedrawingRgn
parameter can be the same as the visible region for the active window. BecauseDeviceLoop
provides 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 theHiliteColor
procedure to set magenta as the highlight color on a color video device.SPECIAL CONSIDERATIONS
TheDeviceLoop
procedure 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 thedrawingProc
parameter. Offscreen graphics worlds are described in the next chapter. TheHiliteColor
procedure is described in the chapter "Color QuickDraw" in this book.