/// <summary> /// refreshes a single bar after it's value has changed /// </summary> /// <param name="e"></param> private void RefreshBar(DataSource.ChartDataSourceBase.DataValueChangedEventArgs e) { BarObject bar; if (mBars.TryGetValue(e.ItemIndex, out bar)) { double min = ((IInternalBarData)Data).GetMinValue(); double max = ((IInternalBarData)Data).GetMaxValue(); double interp = 0f; if (min != max) { interp = (e.NewValue - min) / (max - min); } interp = Math.Max(0.0, Math.Min(1.0, interp)); float height = (float)(interp * HeightRatio); float ySize = height * bar.InitialScale.y; if (bar.Bar != null) { bar.Bar.Generate((float)interp, ySize); } SetBarSize(bar.BarGameObject, new Vector3(BarSizeLink.Breadth * bar.InitialScale.x, ySize, BarSizeLink.Depth * bar.InitialScale.z), 0); bar.Size = height; bar.Value = e.NewValue; FixBarLabels(bar); } InvokeOnRedraw(); }
private void MDataSource_DataValueChanged1(object sender, DataSource.ChartDataSourceBase.DataValueChangedEventArgs e) { if (e.MinMaxChanged == true || Stacked) { if (mBars.Count == 0) { Invalidate(); } else { RefreshAllBars(); FixAxisLabels(); } } else { RefreshBar(e); } }
private void MDataSource_DataValueChanged(object sender, DataSource.ChartDataSourceBase.DataValueChangedEventArgs e) { QuickInvalidate(); // GeneratePie(true); }
private void ValueChanged(object sender, DataSource.ChartDataSourceBase.DataValueChangedEventArgs e) { Invalidate(); }