@@ -237,6 +237,40 @@ public void Write(Data data, string type = "")
237237 BridgeConnector . Socket . Emit ( "clipboard-write" , JObject . FromObject ( data , _jsonSerializer ) , type ) ;
238238 }
239239
240+ /// <summary>
241+ /// Reads an image from the clipboard.
242+ /// </summary>
243+ /// <param name="type"></param>
244+ /// <returns></returns>
245+ public Task < NativeImage > ReadImageAsync ( string type = "" )
246+ {
247+ var taskCompletionSource = new TaskCompletionSource < NativeImage > ( ) ;
248+
249+ BridgeConnector . Socket . On ( "clipboard-readImage-Completed" , ( image ) =>
250+ {
251+ BridgeConnector . Socket . Off ( "clipboard-readImage-Completed" ) ;
252+
253+ var nativeImage = ( ( JObject ) image ) . ToObject < NativeImage > ( ) ;
254+
255+ taskCompletionSource . SetResult ( nativeImage ) ;
256+
257+ } ) ;
258+
259+ BridgeConnector . Socket . Emit ( "clipboard-readImage" , type ) ;
260+
261+ return taskCompletionSource . Task ;
262+ }
263+
264+ /// <summary>
265+ /// Writes an image to the clipboard.
266+ /// </summary>
267+ /// <param name="image"></param>
268+ /// <param name="type"></param>
269+ public void WriteImage ( NativeImage image , string type = "" )
270+ {
271+ BridgeConnector . Socket . Emit ( "clipboard-writeImage" , JsonConvert . SerializeObject ( image ) , type ) ;
272+ }
273+
240274 private JsonSerializer _jsonSerializer = new JsonSerializer ( )
241275 {
242276 ContractResolver = new CamelCasePropertyNamesContractResolver ( ) ,
0 commit comments