/// <summary>
        /// Creates a cached resource from an embedded resource.
        /// </summary>
        private static Image CreateCachedImage(CachedImages cachedImages)
        {
            Bitmap bmp;

            switch (cachedImages)
            {
            case CachedImages.WhiteButtonTransparent:
            case CachedImages.OperationsInflowLegend:
            case CachedImages.OperationsOutflowLegend:
            case CachedImages.InvestingInflowLegend:
            case CachedImages.InvestingOutflowLegend:
            case CachedImages.FinancingInflowLegend:
            case CachedImages.FinancingOutflowLegend:
            case CachedImages.OtherInflowLegend:
            case CachedImages.OtherOutflowLegend:
            {
                bmp = GetImageFromResource(cachedImages);
            }
            break;

            default:
            {
                Debug.Fail("Unknown CachedImages value");
                bmp = null;
            }
            break;
            }
            return(bmp);
        }
Beispiel #2
0
        public override void GetImage(string imageUri, Action <Stream> OnGetImageFinished)
        {
            if (CachedImages.ContainsKey(imageUri))
            {
                var s = CachedImages[imageUri];
                s.Seek(0, SeekOrigin.Begin);
                OnGetImageFinished.NullableInvoke(s);
                return;
            }

            using (var myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) {
                var fileName = GetFileName(imageUri);
                Factory.FileStore.FileExists(fileName, exists =>
                {
                    if (exists)
                    {
                        using (var fileStream = new IsolatedStorageFileStream(fileName, FileMode.Open, FileAccess.Read))
                        {
                            var ms = new MemoryStream();
                            fileStream.CopyTo(ms);
                            OnGetImageFinished.NullableInvoke(CachedImages[imageUri] = ms);
                            return;
                        }
                    }
                    OnGetImageFinished.NullableInvoke(null);
                });
            }
        }
Beispiel #3
0
        private static bool TryGetCachedImage(string imageId, out CachedImage result)
        {
            string configName = CurrentConfig.Name;
            string cacheKey   = $"{Edition.FirstEdition}.{configName}";

            if (!CachedImages.TryGetValue(cacheKey, out Dictionary <string, CachedImage> configImages))
            {
                configImages           = new Dictionary <string, CachedImage>();
                CachedImages[cacheKey] = configImages;
            }

            if (!configImages.TryGetValue(imageId, out CachedImage cachedImage))
            {
                if (!AppVM.Configs.TryGetConfig(Edition.FirstEdition, configName, out Config config) || !config.ImageAssets.TryGetValue(imageId, out ImageAsset imageAsset))
                {
                    result = null;
                    return(false);
                }

                cachedImage           = new CachedImage(new Uri("file://" + imageAsset.Path), imageAsset.X, imageAsset.Y);
                configImages[imageId] = cachedImage;
            }

            result = cachedImage;
            return(true);
        }
        /// <summary>
        /// Gets the legend image for the specified source.
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        internal Image GetLegend(Source source)
        {
            string       legendResouceName = string.Format("{0}{1}Legend", source.ToString(), this.FlowDirection.ToString());
            CachedImages cachedImage       = (CachedImages)Enum.Parse(typeof(CachedImages), legendResouceName);

            return(Utilities.GetCachedImage(cachedImage));
        }
Beispiel #5
0
        /// <summary>
        /// Gets the image from the embedded resources
        /// </summary>
        private static Bitmap GetImageFromResource(CachedImages cachedImages)
        {
            Bitmap bmp;
            string resourceName     = cachedImages.ToString();
            Type   thisType         = typeof(Utilities);
            string fullResourceName = string.Format("Showcase.INGear.Images.{0}.png", resourceName);
            Stream stream           = thisType.Assembly.GetManifestResourceStream(fullResourceName);

            bmp = (Bitmap)Image.FromStream(stream);
            bmp.MakeTransparent(Color.Magenta);
            return(bmp);
        }
Beispiel #6
0
 async UniTask IAsyncNumberRenderer.RenderAsync(int value, CancellationToken cancellationToken)
 {
     if (!CachedImages.Any())
     {
         CachedImages = await UniTask
                        .WhenAll(
             RenderableImagesProvider.Images.Select(
                 x => x
                 .LoadAssetAsync()
                 .WithCancellation(cancellationToken)
                 )
             );
     }
     RenderDigits(value);
 }
Beispiel #7
0
        /// <summary>
        /// Gets the cached image.
        /// </summary>
        internal static Image GetCachedImage(CachedImages cachedImage)
        {
            if (null == Utilities.cachedImages)
            {
                Utilities.cachedImages = new Dictionary <CachedImages, Image>();
            }

            Image image;
            bool  success = Utilities.cachedImages.TryGetValue(cachedImage, out image);

            if (false == success)
            {
                image = Utilities.CreateCachedImage(cachedImage);
                Utilities.cachedImages[cachedImage] = image;
            }

            return(image);
        }
Beispiel #8
0
        private static Image CreateCachedImage(CachedImages cachedImages)
        {
            Bitmap bmp;

            switch (cachedImages)
            {
            case CachedImages.Background:
            case CachedImages.Batteries:
            case CachedImages.Brakes:
            case CachedImages.Daily:
            case CachedImages.EngineBlocks:
            case CachedImages.Inventory:
            case CachedImages.Invoice_Batteries:
            case CachedImages.Invoice_Brakes:
            case CachedImages.Invoice_EngineBlocks:
            case CachedImages.Invoice_Pistons:
            case CachedImages.Invoice_Sparkplugs:
            case CachedImages.Invoice_Suspension:
            case CachedImages.Invoice_Tires:
            case CachedImages.Invoice_Transmissions:
            case CachedImages.Logo:
            case CachedImages.Monthly:
            case CachedImages.Pistons:
            case CachedImages.RadialCenter:
            case CachedImages.Schedule:
            case CachedImages.Sparkplugs:
            case CachedImages.Suspension:
            case CachedImages.Tires:
            case CachedImages.Transmissions:
            case CachedImages.Weekly:
            {
                bmp = GetImageFromResource(cachedImages);
            }
            break;

            default:
            {
                Debug.Fail("Unknown CachedImages value");
                bmp = null;
            }
            break;
            }
            return(bmp);
        }
        /// <summary>
        /// Gets the image from the embedded resources
        /// </summary>
        private static Bitmap GetImageFromResource(CachedImages cachedImages)
        {
            string resourceName = cachedImages.ToString();

            return(GetImageFromResource(resourceName));
        }