private static void Enqueue(IImageStreamRenderer renderer, StreamPicture picture, Int32 priority) { if ((picture == null) || !picture.IsAvailable) { return; } if (!picture.UseAsyncPattern) { renderer.StreamContent = new ImageStreamContent(picture.Size, picture.GetStream()); } else { PictureProcessor.Enqueue(new StreamPictureRequest(renderer, picture), priority); } }
public async Task <Boolean> ProcessAsync(TaskFactory imageRenderingTaskFactory) { var removeFromQueue = true; var pictureStream = Picture.UseAsyncPattern ? await Picture.GetStreamAsync().ConfigureAwait(false) : Picture.GetStream(); if (IsValid) { await imageRenderingTaskFactory.StartNew(() => Renderer.StreamContent = new ImageStreamContent(Picture.Size, pictureStream)).ConfigureAwait(false); } return(removeFromQueue); }