diff --git a/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/sidebar.hpp b/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/sidebar.hpp index b5bec46a..8bb7c57f 100644 --- a/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/sidebar.hpp +++ b/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/sidebar.hpp @@ -84,6 +84,11 @@ class Sidebar : public ScrollingFrame */ void addItem(std::string label, GenericEvent::Callback focusCallback); + /** + * Adds a non-focusable section header to this sidebar. + */ + void addHeader(std::string label); + /** * Adds a separator to this sidebar. */ diff --git a/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/tab_frame.hpp b/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/tab_frame.hpp index eee11d40..8d03369f 100644 --- a/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/tab_frame.hpp +++ b/Source/Benchmark-Toolbox/lib/borealis/library/include/borealis/views/tab_frame.hpp @@ -37,6 +37,7 @@ class TabFrame : public AppletFrame void handleXMLElement(tinyxml2::XMLElement* element) override; void addTab(std::string label, TabViewCreator creator); + void addHeader(std::string label); void addSeparator(); static View* create(); diff --git a/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/sidebar.cpp b/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/sidebar.cpp index d33e914f..3edf6614 100644 --- a/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/sidebar.cpp +++ b/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/sidebar.cpp @@ -157,6 +157,19 @@ void Sidebar::addItem(std::string label, GenericEvent::Callback focusCallback) this->contentBox->addView(item); } +void Sidebar::addHeader(std::string label) +{ + Label* header = new Label(); + header->setText(label); + header->setFontSize(15.0f); + header->setTextColor(nvgRGB(120, 130, 140)); + header->setMarginTop(18.0f); + header->setMarginBottom(4.0f); + header->setMarginLeft(12.0f); + + this->contentBox->addView(header); +} + void Sidebar::addSeparator() { this->contentBox->addView(new SidebarSeparator()); diff --git a/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/tab_frame.cpp b/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/tab_frame.cpp index d7162d55..2ce82e7a 100644 --- a/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/tab_frame.cpp +++ b/Source/Benchmark-Toolbox/lib/borealis/library/lib/views/tab_frame.cpp @@ -75,6 +75,11 @@ void TabFrame::addTab(std::string label, TabViewCreator creator) }); } +void TabFrame::addHeader(std::string label) +{ + this->sidebar->addHeader(label); +} + void TabFrame::addSeparator() { this->sidebar->addSeparator(); diff --git a/Source/Benchmark-Toolbox/source/main.cpp b/Source/Benchmark-Toolbox/source/main.cpp index 6471076d..46b48f73 100644 --- a/Source/Benchmark-Toolbox/source/main.cpp +++ b/Source/Benchmark-Toolbox/source/main.cpp @@ -889,18 +889,23 @@ class MainActivity : public brls::Activity { tab->setTitle("Benchmark Toolbox"); tab->setIconFromRes("img/logo.png"); tab->addTab("System Info", [] { return new SysInfoTab(); }); - tab->addSeparator(); - tab->addTab("Membench", [] { return new BenchTab(); }); - tab->addTab("GPU Test", [] { return new StressTab(); }); - tab->addTab("Memtester", [] { return new MemtesterTab(); }); + + tab->addHeader("CPU"); tab->addTab("CPU Stress", [] { return new CpuStressTab(); }); - tab->addSeparator(); + tab->addTab("CPU Ray Trace", [] { return new FurmarkTab(4, "CPU Path Tracer"); }); + + tab->addHeader("GPU"); + tab->addTab("GPU Test", [] { return new StressTab(); }); tab->addTab("Furmark", [] { return new FurmarkTab(0, "FurMark for Switch (48 step)"); }); - tab->addTab("Furmark RAM", [] { return new FurmarkTab(1, "FurMark with extra ram stress"); }); tab->addTab("GPU Path Trace", [] { return new FurmarkTab(2, "GPU Path Tracer"); }); tab->addTab("Black Hole", [] { return new FurmarkTab(3, "CPU+GPU black-hole."); }); - tab->addTab("CPU Ray Trace", [] { return new FurmarkTab(4, "CPU Path Tracer"); }); + + tab->addHeader("RAM"); + tab->addTab("Memtester", [] { return new MemtesterTab(); }); + tab->addTab("Membench", [] { return new BenchTab(); }); + tab->addTab("Furmark RAM", [] { return new FurmarkTab(1, "FurMark with extra ram stress"); }); tab->addTab("CPU RAM", [] { return new FurmarkTab(5, "CPU RT with extra RAM stress"); }); + tab->addSeparator(); tab->addTab("Credits", [] { return new CreditsTab(); }); return tab;