public UncachedTextIndicator(IConfig config, StyleProvider styleProvider) { // TODO add more configuration for text size, etc _labelText = string.Empty; Style = styleProvider.GetStyle(config.GetString(CfgStyleName)); var strCfgLayer = config.GetString(CfgLayer); if (Enum.TryParse(strCfgLayer, out DrawLayer layer)) { Layer = layer; } else { throw new ArgumentException($"Could not parse {strCfgLayer} as DrawLayer"); } var strCfgLod = config.GetString(CfgLevelOfDetail); if (Enum.TryParse(strCfgLod, out DrawLevelOfDetail lod)) { LevelOfDetail = lod; } else { throw new ArgumentException($"Could not parse {strCfgLod} as DrawLevelOfDetail"); } }
/// <summary> /// Gets the pre-render for the given lod and layer, or null if no pre-render is /// available. /// </summary> public CanvasBitmap GetPrerender(DrawLevelOfDetail lod, DrawLayer layer) { if (lod != DrawLevelOfDetail.Low) { return(null); } return(_prerenders[layer].Render); }
public IEnumerable <IIndicator> GetIndicators(DrawLevelOfDetail lod, DrawLayer layer) { switch (lod) { case DrawLevelOfDetail.Low: return(_lowLod[(int)layer]); case DrawLevelOfDetail.Normal: return(_normalLod[(int)layer]); case DrawLevelOfDetail.High: return(_highLod[(int)layer]); default: throw new ArgumentOutOfRangeException(nameof(lod), lod, null); } }
public int GetVersion(DrawLevelOfDetail lod, DrawLayer layer) { switch (lod) { case DrawLevelOfDetail.Low: return(_lowLod[(int)layer].Version); case DrawLevelOfDetail.Normal: return(_normalLod[(int)layer].Version); case DrawLevelOfDetail.High: return(_highLod[(int)layer].Version); default: throw new ArgumentOutOfRangeException(nameof(lod), lod, null); } }
public PrerenderedLayer(DrawLevelOfDetail levelOfDetail, DrawLayer layer) { LevelOfDetail = levelOfDetail; Layer = layer; Offset = Vector2.Zero; }