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)); }
public BitmapRef(Bitmap bitmap, ResourceTypes type, DivergenceScale scale) { Bitmap = bitmap; Type = type; Scale = scale; RefCount = 0; IsDisposed = false; }
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!"); } }
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); }
public static string GetResource(DivergenceScale scale, ResourceTypes type) { return(Embedding.Combine("Resources", $"{scale}", $"Nixie{type}.png")); }
private static Dictionary <ResourceTypes, BitmapRef> GetDictionary(DivergenceScale scale) { return(resourceScales[(int)scale]); }