Example #1
0
        private static BitmapRef Load(ResourceTypes type, DivergenceScale scale)
        {
            Stream stream = Embedding.Get(GetResource(scale, type));
            Bitmap bitmap = (Bitmap)Image.FromStream(stream);

            return(new BitmapRef(bitmap, type, scale));
        }
Example #2
0
 public BitmapRef(Bitmap bitmap, ResourceTypes type, DivergenceScale scale)
 {
     Bitmap     = bitmap;
     Type       = type;
     Scale      = scale;
     RefCount   = 0;
     IsDisposed = false;
 }
Example #3
0
 public Resources(ResourceTypes types, DivergenceScale scale)
 {
     Types      = types;
     Scale      = scale;
     authentic  = GetIf(ResourceTypes.Authentic);
     fontA      = GetIf(ResourceTypes.FontA);
     fontB      = GetIf(ResourceTypes.FontB);
     tubeLeft   = GetIf(ResourceTypes.TubeLeft);
     tubeMid    = GetIf(ResourceTypes.TubeMid);
     tubeRight  = GetIf(ResourceTypes.TubeRight);
     tubeSingle = GetIf(ResourceTypes.TubeSingle);
 }
        public Drawer(DivergenceScale scale)
        {
            Scale = scale;
            switch (scale)
            {
            case DivergenceScale.Large:  Ratio = 1.00; break;

            case DivergenceScale.Medium: Ratio = 0.50; break;

            case DivergenceScale.Small:  Ratio = 0.25; break;

            default: throw new ArgumentException("Invalid DivergenceScale!");
            }
        }
Example #5
0
        private static BitmapRef Get(ResourceTypes type, DivergenceScale scale)
        {
            BitmapRef bitmapRef;
            var       resources = GetDictionary(scale);

            lock (resources) {
                if (!resources.TryGetValue(type, out bitmapRef))
                {
                    bitmapRef = Load(type, scale);
                    resources.Add(type, bitmapRef);
                }
                bitmapRef.AddRef();
            }
            return(bitmapRef);
        }
Example #6
0
 public static string GetResource(DivergenceScale scale, ResourceTypes type)
 {
     return(Embedding.Combine("Resources", $"{scale}", $"Nixie{type}.png"));
 }
Example #7
0
 private static Dictionary <ResourceTypes, BitmapRef> GetDictionary(DivergenceScale scale)
 {
     return(resourceScales[(int)scale]);
 }