Name
XtConvertSelectionIncrProc — prototype procedure to convert incremental selection data.
Synopsis
typedef Boolean (∗XtConvertSelectionIncrProc)(Widget, Atom∗, Atom∗, Atom∗, XtPointer∗, unsigned long∗, int∗, unsigned long∗, XtPointer, XtRequestId∗)
Widget w;
Atom ∗selection;
Atom ∗target;
Atom ∗type_return;
XtPointer ∗value_return;
unsigned long ∗length_return;
int ∗format_return;
unsigned long ∗max_length;
XtPointer client_data;
XtRequestId ∗request_id;
Arguments
wSpecifies the widget which currently owns this selection.
selectionSpecifies the atom that names the selection requested (for example, XA_PRIMARY or XA_SECONDARY).
targetSpecifies the type of information required about selection (for example, FILENAME, TEXT, XA_WINDOW).
type_return
Specifies a pointer to an atom into which the property type of the converted value of the selection is to be stored. For instance, both file name and text might have property type XA_STRING.
value_return
Specifies a pointer into which a pointer to the converted value of the selection is to be stored. The selection owner is responsible for allocating this storage.
length_return
Specifies a pointer into which the number of elements in value (each of size indicated by format) is to be stored.
format_return
Specifies a pointer into which the size in bits of the data elements of the selection value is to be stored.
max_length
Specifies the maximum number of bytes which may be transferred at any one time.
client_data
Specifies the value passed in by the widget when it took ownership of the selection.
request_id
Specifies a pointer into which the size in bits of the data elements of the selection value is to be stored.
Description
XtConvertSelectionIncrProc is registered with XtOwnSelectionIncremental. This procedure is called repeatedly by the Intrinsics selection mechanism to get the next incremental chunk of data from a selection owner. It must return True if the procedure has succeeded in converting the selection data or False otherwise. On the first call with a particular request_id, the owner must begin a new incremental transfer for the requested selection and target. On subsequent calls with the same request_id, the owner may assume that the previously supplied value is no longer needed by the Intrinsics; that is, a fixed transfer area may be allocated and returned in value for each segment to be transferred. This procedure should store a non-NULL value in value and zero in length_return to indicate that the entire selection has been delivered. After returning this final segment, the request_id may be re-used by the Intrinsics to begin a new transfer.
See Also
XtGetSelectionValueIncremental(1), XtGetSelectionValuesIncremental(1), XtOwnSelectionIncremental(1),
XtCancelConvertSelectionProc(2), XtConvertSelectionProc(2), XtLoseSelectionIncrProc(2), XtSelectionDoneIncrProc(2).