18 TQ3ChannelSetMethod

You can define a function that QuickDraw3D calls to set a channel of a controller.

typedef TQ3Status (*TQ3ChannelSetMethod) (
TQ3ControllerRef controllerRef, 
unsigned long channel, 
const void *data, 
unsigned long dataSize);
controllerRef
A reference to a controller.
channel An index into the list of channels associated with the specified controller. This value is always greater than or equal to 0 and less than the channel count specified at the time Q3Controller_New was called.
data On entry, a pointer to a buffer that contains the desired value of the specified controller channel. If this field contains the value NULL, you should reset the specified channel to a default or inactive value.
dataSize On entry, the number of bytes of data in the specified buffer.

DESCRIPTION


Your TQ3ChannelSetMethod function should set the controller channel specified by the controllerRef and channel parameters to the value specified by the data parameter. The dataSize parameter specifies the number of bytes in the data buffer. QuickDraw3D allocates memory for the data buffer before it calls your function and deallocates the memory after your function has returned. The maximum number of bytes that the data buffer can hold is defined by a constant:

#define kQ3ControllerSetChannelMaxDataSize                 256

SPECIAL CONSIDERATIONS


You need to define a channel-setting method only if you are writing a device driver for a controller. You can, however, call Q3Controller_SetChannel at any time to invoke a controller's channel-setting method.

RESULT CODES


Your channel-setting method should return kQ3Success if it is able to set the specified channel to the specified value and kQ3Failure otherwise.

SEE ALSO


See the description of Q3Controller_SetChannel on page 18-20 for information on setting a controller's channels.

DESCRIPTION
SPECIAL CONSIDERATIONS
RESULT CODES
SEE ALSO

3D Graphics Programming with QuickDraw 3D - 21 OCT 1995

© Apple Computer, Inc.

Let us know what you think of these prototype pages.

Generated with Harlequin WebMaker