public IconOverlay FindOverlay(string overlayName) { IconOverlay overlay = Overlays.FirstOrDefault(o => o.Title.Equals(overlayName)); if (overlay != null) { return(overlay); } overlay = new IconOverlay(overlayName); Overlays.InsertSorted(overlay); return(overlay); }
public void AddOverlay(string relativeFileName, Viewbox viewbox) { string[] parts = relativeFileName.Split(@"\".ToCharArray(), 3, StringSplitOptions.RemoveEmptyEntries); if (parts.Length != 3) { return; } string libraryName = parts[0]; IconLibrary library = FindLibrary(libraryName); string iconName = new string(parts[2].TakeWhile(c => c != '.').ToArray()); parts = iconName.Split("_".ToCharArray()); if (parts.Length != 2) { return; } string overlayName = parts[0]; IconOverlay overlay = library.FindOverlay(overlayName); switch (parts[1]) { case "TL": overlay.TL = viewbox; break; case "TR": overlay.TR = viewbox; break; case "BL": overlay.BL = viewbox; break; case "BR": overlay.BR = viewbox; break; } }