70 lines
2.2 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|