У меня есть приложение XULRunner, которому нужно скопировать данные изображения в буфер обмена. Я понял, как обрабатывать копирование текста в буфер обмена, и я могу вставить данные PNG из буфера обмена. Что я не могу понять, так это как получить данные из URL-адреса данных в буфер обмена, чтобы их можно было вставить в другие приложения.
Это код, который я использую для копирования текста (ну, XUL):
var transferObject=Components.classes["@mozilla.org/widget/transferable;1"].
createInstance(Components.interfaces.nsITransferable);
var stringWrapper=Components.classes["@mozilla.org/supports-string;1"].
createInstance(Components.interfaces.nsISupportsString);
var systemClipboard=Components.classes["@mozilla.org/widget/clipboard;1"].
createInstance(Components.interfaces.nsIClipboard);
var objToSerialize=aDOMNode;
transferObject.addDataFlavor("text/xul");
var xmls=new XMLSerializer();
var serializedObj=xmls.serializeToString(objToSerialize);
stringWrapper.data=serializedObj;
transferObject.setTransferData("text/xul",stringWrapper,serializedObj.length*2);
И, как я уже сказал, данные, которые я пытаюсь передать, представляют собой PNG как URL-адрес данных. Поэтому я ищу эквивалент вышеупомянутого, который позволит, например, Paint.NET для вставки данных моего приложения.