mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-23 18:18:00 +02:00
80 lines
1.9 KiB
Beef
80 lines
1.9 KiB
Beef
using Beefy.widgets;
|
|
using Beefy.theme.dark;
|
|
using System;
|
|
|
|
namespace BeefPerf
|
|
{
|
|
class StatusBar : Widget
|
|
{
|
|
public double mShowTime;
|
|
public double mSelTime;
|
|
public int64 mSelTick;
|
|
|
|
public override void Draw(Beefy.gfx.Graphics g)
|
|
{
|
|
base.Draw(g);
|
|
|
|
uint32 bkgColor = 0xFF404040;
|
|
using (g.PushColor(bkgColor))
|
|
g.FillRect(0, 0, mWidth, mHeight);
|
|
|
|
g.SetFont(DarkTheme.sDarkTheme.mSmallFont);
|
|
g.DrawString(scope String()..AppendF("FPS: {0}", gApp.mLastFPS), 4, 0);
|
|
|
|
//
|
|
g.DrawString(scope String()..AppendF("{0}", gApp.mUpdateCnt), 0, 0, .Right, mWidth - 8);
|
|
|
|
float curY = 64;
|
|
if (!gApp.mListenSocket.IsOpen)
|
|
{
|
|
using (g.PushColor(0xFFFF4040))
|
|
g.DrawString(scope String()..AppendF("Failed to listen on port {0}", gApp.mListenPort), 0, 0, .Right, mWidth - 8);
|
|
}
|
|
else
|
|
{
|
|
g.DrawString(scope String()..AppendF("Clients: {0}", gApp.mClients.Count), curY, 0);
|
|
curY += 64;
|
|
|
|
float kPerSec = gApp.mStatBytesPerSec / 1024.0f;
|
|
if ((kPerSec > 0) && (kPerSec < 0.1f))
|
|
kPerSec = 0.1f;
|
|
g.DrawString(scope String()..AppendF("BPS: {0:0.0}k", kPerSec), curY, 0);
|
|
curY += 80;
|
|
}
|
|
|
|
if (gApp.mBoard.mPerfView != null)
|
|
{
|
|
var client = gApp.mBoard.mPerfView.mSession;
|
|
g.DrawString(scope String()..AppendF("Zones: {0}", (int32)client.mNumZones), curY, 0);
|
|
curY += 118;
|
|
|
|
var str = scope String();
|
|
BpClient.TimeToStr(client.TicksToUS(client.mCurTick - client.mFirstTick), str);
|
|
g.DrawString(str, curY, 0);
|
|
curY += 108;
|
|
}
|
|
|
|
if (mShowTime != 0)
|
|
{
|
|
var str = scope String();
|
|
BpClient.TimeToStr(mShowTime, str);
|
|
g.DrawString(str, curY, 0);
|
|
curY += 108;
|
|
}
|
|
|
|
if (mSelTime != 0)
|
|
{
|
|
var str = scope String();
|
|
BpClient.ElapsedTimeToStr(mSelTime, str);
|
|
g.DrawString(str, curY, 0);
|
|
curY += 108;
|
|
}
|
|
|
|
/*{
|
|
var str = scope String();
|
|
str.FormatInto("{0}", mSelTick);
|
|
g.DrawString(str, 550, 0);
|
|
}*/
|
|
}
|
|
}
|
|
}
|