Multiple columns for name

This commit is contained in:
Andy Adshead 2019-01-26 06:09:21 +00:00
commit ead6a065fc

View file

@ -116,9 +116,11 @@ namespace Ryujinx
int verticalIndex = 0; int verticalIndex = 0;
int lineHeight = 12; int lineHeight = 12;
int linePadding = 2; int linePadding = 2;
int columnSpacing = 30;
float maxWidth = 0; float maxWidth = 0;
float yOffset = scrollPos; float yOffset = scrollPos;
float xOffset = 10;
// Background lines to make reading easier // Background lines to make reading easier
GL.Begin(PrimitiveType.Triangles); GL.Begin(PrimitiveType.Triangles);
@ -138,24 +140,53 @@ namespace Ryujinx
GL.End(); GL.End();
maxScroll = (lineHeight + linePadding) * (profileData.Count - 1); maxScroll = (lineHeight + linePadding) * (profileData.Count - 1);
// Display tags // Display category
foreach (var entry in profileData) foreach (var entry in profileData)
{ {
float y = yOffset + Height - (lineHeight + linePadding) * (verticalIndex++ + 1); float y = yOffset + Height - (lineHeight + linePadding) * (verticalIndex++ + 1);
float width = fontService.DrawText(entry.Key.Tag, 50, y, lineHeight); float width = fontService.DrawText(entry.Key.Category, xOffset, y, lineHeight);
if (width > maxWidth) if (width > maxWidth)
{ {
maxWidth = width; maxWidth = width;
} }
} }
xOffset += maxWidth + columnSpacing;
// Display session group
maxWidth = 0;
verticalIndex = 0;
foreach (var entry in profileData)
{
float y = yOffset + Height - (lineHeight + linePadding) * (verticalIndex++ + 1);
float width = fontService.DrawText(entry.Key.SessionGroup, xOffset, y, lineHeight);
if (width > maxWidth)
{
maxWidth = width;
}
}
xOffset += maxWidth + columnSpacing;
// Display session item
maxWidth = 0;
verticalIndex = 0;
foreach (var entry in profileData)
{
float y = yOffset + Height - (lineHeight + linePadding) * (verticalIndex++ + 1);
float width = fontService.DrawText(entry.Key.SessionItem, xOffset, y, lineHeight);
if (width > maxWidth)
{
maxWidth = width;
}
}
xOffset += maxWidth + columnSpacing;
// Display timestamps // Display timestamps
verticalIndex = 0; verticalIndex = 0;
foreach (var entry in profileData) foreach (var entry in profileData)
{ {
float y = yOffset + Height - (lineHeight + 2) * (verticalIndex++ + 1); float y = yOffset + Height - (lineHeight + 2) * (verticalIndex++ + 1);
fontService.DrawText($"{entry.Value.AverageTime:F3}", 75 + maxWidth, y, lineHeight); fontService.DrawText($"{entry.Value.AverageTime:F3}", xOffset, y, lineHeight);
fontService.DrawText($"{entry.Value.LastTime:F3}", 175 + maxWidth, y, lineHeight); fontService.DrawText($"{entry.Value.LastTime:F3}", columnSpacing + 50 + xOffset, y, lineHeight);
} }
SwapBuffers(); SwapBuffers();