Use RgbaColorRenderer in PerfGraphWidget.

This commit is contained in:
Paul Chote
2015-12-10 18:20:02 +00:00
parent 8fc323602c
commit 17c98e8af5

View File

@@ -19,30 +19,37 @@ namespace OpenRA.Mods.Common.Widgets
{ {
public override void Draw() public override void Draw()
{ {
var cr = Game.Renderer.RgbaColorRenderer;
var rect = RenderBounds; var rect = RenderBounds;
var origin = new float2(rect.Right, rect.Bottom); var origin = new float2(rect.Right, rect.Bottom);
var basis = new float2(-rect.Width / 100, -rect.Height / 100); var basis = new float2(-rect.Width / 100, -rect.Height / 100);
Game.Renderer.LineRenderer.DrawLine(origin, origin + new float2(100, 0) * basis, Color.White); cr.DrawLine(new[]
Game.Renderer.LineRenderer.DrawLine(origin + new float2(100, 0) * basis, origin + new float2(100, 100) * basis, Color.White); {
new float2(rect.Left, rect.Top),
new float2(rect.Left, rect.Bottom),
new float2(rect.Right, rect.Bottom)
}, 1, Color.White);
cr.DrawLine(origin + new float2(100, 0) * basis, origin + new float2(100, 100) * basis, 1, Color.White);
var k = 0; var k = 0;
foreach (var item in PerfHistory.Items.Values) foreach (var item in PerfHistory.Items.Values)
{ {
Game.Renderer.LineRenderer.DrawLineStrip( cr.DrawLine(item.Samples()
item.Samples().Select((sample, i) => origin + new float2(i, (float)sample) * basis), item.C); .Select((sample, i) => origin + new float2(i, (float)sample) * basis).ToArray(),
1, item.C);
var u = new float2(rect.Left, rect.Top); var u = new float2(rect.Left, rect.Top);
Game.Renderer.LineRenderer.DrawLine( cr.DrawLine(
u + new float2(10, 10 * k + 5), u + new float2(10, 10 * k + 5),
u + new float2(12, 10 * k + 5), u + new float2(12, 10 * k + 5),
item.C); 1, item.C);
cr.DrawLine(
Game.Renderer.LineRenderer.DrawLine(
u + new float2(10, 10 * k + 4), u + new float2(10, 10 * k + 4),
u + new float2(12, 10 * k + 4), u + new float2(12, 10 * k + 4),
item.C); 1, item.C);
++k; ++k;
} }