private void load() { AutoSizeAxes = Axes.Both; isNewStyle = getTexture(skin, "marker") != null; // background implementation is the same for both versions. AddInternal(new Sprite { Texture = getTexture(skin, "bg") }); if (isNewStyle) { AddRangeInternal(new[] { fill = new LegacyNewStyleFill(skin), marker = new LegacyNewStyleMarker(skin), }); } else { AddRangeInternal(new[] { fill = new LegacyOldStyleFill(skin), marker = new LegacyOldStyleMarker(skin), }); } fill.Current.BindTo(Current); marker.Current.BindTo(Current); maxFillWidth = fill.Width; }
private void load(ISkinSource source) { AutoSizeAxes = Axes.Both; var skin = source.FindProvider(s => getTexture(s, "bg") != null); // the marker lookup to decide which display style must be performed on the source of the bg, which is the most common element. isNewStyle = getTexture(skin, "marker") != null; // background implementation is the same for both versions. AddInternal(new Sprite { Texture = getTexture(skin, "bg") }); if (isNewStyle) { AddRangeInternal(new[] { fill = new LegacyNewStyleFill(skin), marker = new LegacyNewStyleMarker(skin), }); } else { AddRangeInternal(new[] { fill = new LegacyOldStyleFill(skin), marker = new LegacyOldStyleMarker(skin), }); } fill.Current.BindTo(Current); marker.Current.BindTo(Current); maxFillWidth = fill.Width; }