mattercontrol/CustomWidgets/PerformanceFeedbackWindow.cs
2014-01-29 19:09:30 -08:00

70 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using MatterHackers.Agg;
using MatterHackers.Agg.Font;
using MatterHackers.Agg.Image;
using MatterHackers.Agg.ImageProcessing;
using MatterHackers.Agg.OpenGlGui;
using MatterHackers.Agg.UI;
using MatterHackers.Agg.VertexSource;
using MatterHackers.MarchingSquares;
using MatterHackers.MatterControl;
using MatterHackers.MatterControl.DataStorage;
using MatterHackers.MatterControl.PartPreviewWindow;
using MatterHackers.MatterControl.PrintLibrary;
using MatterHackers.MatterControl.PrintQueue;
using MatterHackers.MeshVisualizer;
using MatterHackers.PolygonMesh;
using MatterHackers.PolygonMesh.Csg;
using MatterHackers.PolygonMesh.Processors;
using MatterHackers.RayTracer;
using MatterHackers.RayTracer.Traceable;
using MatterHackers.RenderOpenGl;
using MatterHackers.VectorMath;
namespace MatterHackers.Agg.UI
{
public class PerformanceFeedbackWindow : SystemWindow
{
string timingString;
StyledTypeFace boldFont;
public PerformanceFeedbackWindow()
: base(700, 480)
{
BackgroundColor = RGBA_Bytes.White;
ShowAsSystemWindow();
string staticDataPath = ApplicationDataStorage.Instance.ApplicationStaticDataPath;
string fontPath = Path.Combine(staticDataPath, "Fonts", "LiberationMono.svg");
TypeFace boldTypeFace = TypeFace.LoadSVG(fontPath);
boldFont = new StyledTypeFace(boldTypeFace, 12);
}
public override void OnDraw(Graphics2D graphics2D)
{
TypeFacePrinter stringPrinter = new TypeFacePrinter(timingString, boldFont, new Vector2(0, Height - 16));
stringPrinter.DrawFromHintedCache = true;
stringPrinter.Render(graphics2D, RGBA_Bytes.Black);
base.OnDraw(graphics2D);
}
void SetDisplay(string timingString)
{
this.timingString = timingString;
Invalidate();
}
public void ShowResults(double totalTimeTracked)
{
string timingString = ExecutionTimer.Instance.GetResults(totalTimeTracked);
SetDisplay(timingString);
}
}
}