curve_editor_multiple_waveforms_c

	status.i4.v = curve_editor_multiple_waveforms_c(num_waveforms.i4.v,
							waveform_data.sa.r,
							options.u4.v
							[,user_function.f.v]
							[,function_data.g.v]
							[,switch_func.f.v]
							[,switch_func_data.g.v]
							[,switch_label.i1a.r]
							[,title.i1a.r])

	This routine allows a user to edit an array of curves (set of points)
	graphically and returns the modified curves.

	num_waveforms	number of waveforms to edit
	waveform_data	waveform data
			(array of structures of type CURVE_EDITOR_WAVEFORM_DATA)
	options		edit option flags
			(CURVE_OPT_NONE -> no options selected,
			 CURVE_OPT_Y_MOVE_ONLY -> only move points in the
						  Y plane,
			 CURVE_OPT_X_MOVE_ONLY -> only move points in the
						  X plane,
			 CURVE_OPT_CLEAN_UP -> clear graphics screen upon exit)
	[user_function]	user supplied function which will be called whenever
			a change is made to the curve and is called as follows:
			user_function(curve_data.s.r, function_data.g.v,
				      curve_number.i4.v)
			("curve_data" is a structure of type CURVE_EDIT_DATA)
			(A value of NULL can be passed for this argument if
			 this functionality is not needed.)
			(default is NULL)
	[function_data]	data to be passed to the user supplied function
			(A value of NULL can be passed for this argument if
			 this functionality is not needed.)
			(default is NULL)
	[switch_func]	user supplied function which will be called
			whenever the user defined switch is pressed and is
			called as follows:
			status.i4.v = switch_func(curve_data.s.r,
						  function_data.g.v,
						  curve_number.i4.v)
			("curve_data" is a structure of type CURVE_EDIT_DATA)
			(If a value of TRUE is returned, the curve will be
			 reloaded and redrawn with the values returned in
			 the curve_data structure.)
			(A value of NULL can be passed for this argument if
			 this functionality is not needed.)
			(default is NULL)
	[switch_func_data]	data to be passed to the user supplied
			switch function
			(A value of NULL can be passed for this argument if
			 this functionality is not needed.)
			(default is NULL)
	[switch_label]	label for the user defined switch
			(default is "User")
	[title]		optional window title
			(default is "Curve Editor")

	This function returns ACNET status values as follows:

	OK			success
	CBS_MEMFAIL		failed in allocating dynamic memory
	CBS_INVALID_DATA	passed data is out of range
	CBS_ABORT		user aborted
	CBS_READONLY		no points were changed

	This function requires the following include files:

	ul_cbsaux_h:auxlib_misc_h, acnet_errors_h

	Related functions:

	curve_editor, curve_editor_init

	C/C++ usage:

	static const char	switch_label[] = "User Switch";
	static const char	title[] = "Curve Editor";
	int	status;
	int	num_waveforms = NUM_WAVEFORMS;
	unsigned int	options = 0;
	CURVE_EDITOR_WAVEFORM_DATA	waveform_data[NUM_WAVEFORMS];
	void	*function_data = (void *) NULL;
	void	*switch_func_data = (void *) NULL;
	curve_editor_user_function	user_function;
	curve_editor_user_function	switch_func;

	status = curve_editor_multiple_waveforms_c(num_waveforms,waveform_data,
						   options,user_function,
						   function_data,switch_func,
						   switch_func_data,
						   switch_label,title);