Ejemplo n.º 1
0
 private static void ApplyImage(IImageVisual target, Uri source, BitmapImage image)
 {
     lock (_applyQueue)
     {
         _applyQueue.Push(Tuple.Create(target, source, image));
         if (_waitingDispatcher)
         {
             return;
         }
         _waitingDispatcher = true;
     }
     // dispatch action
     DispatcherHelper.UIDispatcher.InvokeAsync(ApplyImageOnDispatcher, DispatcherPriority.Loaded);
 }
Ejemplo n.º 2
0
        public static void QueueLoadImage(IImageVisual image, Uri uri, int dpw, int dph)
        {
            var id = image.Id;

            if (id == Guid.Empty)
            {
                return;
            }
            _visualTable[id] = Tuple.Create(image, uri, dpw, dph);

            // load image
            byte[] cache;
            if (GetCache(uri, out cache))
            {
                // decode immediately
                QueueDecodeTask(id, uri, cache, dpw, dph);
            }
            else
            {
                QueueLoadTask(uri, id);
            }
        }
Ejemplo n.º 3
0
        public static void QueueLoadImage(IImageVisual image, Uri uri, int dpw, int dph)
        {
            var id = image.Id;
            if (id == Guid.Empty) return;
            _visualTable[id] = Tuple.Create(image, uri, dpw, dph);

            // load image
            byte[] cache;
            if (GetCache(uri, out cache))
            {
                // decode immediately
                QueueDecodeTask(id, uri, cache, dpw, dph);
            }
            else
            {
                QueueLoadTask(uri, id);
            }
        }
Ejemplo n.º 4
0
 private static void ApplyImage(IImageVisual target, Uri source, BitmapImage image)
 {
     lock (_applyQueue)
     {
         _applyQueue.Push(Tuple.Create(target, source, image));
         if (_waitingDispatcher)
         {
             return;
         }
         _waitingDispatcher = true;
     }
     // dispatch action
     DispatcherHelper.UIDispatcher.InvokeAsync(ApplyImageOnDispatcher, DispatcherPriority.Loaded);
 }