— A clipboard function that retrieves a data
item from the clipboard
int XmClipboardRetrieve ( display, window, format_name,
buffer, length, num_bytes, private_id)
Display * display;
char * format_name;
unsigned long length;
unsigned long * num_bytes;
long * private_id;
retrieves the current data item from clipboard
storage. It returns a warning if the clipboard is locked, if there is no data
on the clipboard, or if the data needs to be truncated because the buffer
length is too short.
Between a call to XmClipboardStartRetrieve
and a call to
, multiple calls to XmClipboardRetrieve
with the same format name result in data being incrementally copied from the
clipboard until the data in that format has all been copied.
The return value XmClipboardTruncate
from calls to
indicates that more data remains to be copied in
the given format. It is recommended that any calls to the Inquire
functions that the application needs to make to effect the copy from the
clipboard be made between the call to XmClipboardStartRetrieve
first call to XmClipboardRetrieve
. This way, the application does not
need to call XmClipboardLock
- Specifies a pointer to the Display structure that was returned in a
previous call to XOpenDisplay or XtDisplay.
- Specifies the window ID of a widget that relates the application window to
the clipboard. The widget's window ID can be obtained through
XtWindow. The same application instance should pass the same window
ID to each of the clipboard functions that it calls.
- Specifies the name of a format in which the data is stored on the
- Specifies the buffer to which the application wants the clipboard to copy
the data. The function allocates space to hold the data returned into the
buffer. The application is responsible for managing this allocated space.
The application can recover this allocated space by calling
- Specifies the length of the application buffer.
- Specifies the number of bytes of data copied into the application
- Specifies the private data stored with the data item by the application
that placed the data item on the clipboard. If the application did not
store private data with the data item, this argument returns 0
- The function was successful.
- The function failed because the clipboard was locked by another
application. The application can continue to call the function again with
the same parameters until the lock goes away. This gives the application
the opportunity to ask if the user wants to keep trying or to give up on
- The data returned is truncated because the user did not provide a buffer
large enough to hold the data.
- The function could not find data on the clipboard corresponding to the
format requested. This could occur because the clipboard is empty; there
is data on the clipboard but not in the requested format; or the data in
the requested format was passed by name and is no longer available.