コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: StreamPictureRequest.cs プロジェクト: Venzz/Venz
        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);
        }