internal static void SetDataObjectImpl(object data, bool copy) {
IntPtr clipboard_handle;
//XplatUI.ObjectToClipboard converter;
int native_format;
DataFormats.Format item_format;
//converter = new XplatUI.ObjectToClipboard(ConvertToClipboardData);
//clipboard_handle = XplatUI.ClipboardOpen(false);
//XplatUI.ClipboardStore(clipboard_handle, null, 0, null); // Empty clipboard
native_format = -1;
if (data is IDataObject) {
string[] formats;
IDataObject data_object = data as IDataObject;
formats = data_object.GetFormats();
for (int i = 0; i < formats.Length; i++) {
item_format = DataFormats.GetFormat(formats[i]);
if ((item_format != null) && (item_format.Name != DataFormats.StringFormat)) {
native_format = item_format.Id;
}
object obj = data_object.GetData (formats [i]);
// this is used only by custom formats
if (IsDataSerializable (obj))
item_format.is_serializable = true;
//XplatUI.ClipboardStore(clipboard_handle, obj, native_format, converter);
}
} else {
item_format = DataFormats.Format.Find(data.GetType().FullName);
if ((item_format != null) && (item_format.Name != DataFormats.StringFormat)) {
native_format = item_format.Id;
}
//XplatUI.ClipboardStore(clipboard_handle, data, native_format, converter);
}
//XplatUI.ClipboardClose(clipboard_handle);
}