Skip to content

Commit 06855d3

Browse files
committed
Note app spilt visualizer
1 parent 3175294 commit 06855d3

1 file changed

Lines changed: 51 additions & 23 deletions

File tree

Applications/Note/Note.cpp

Lines changed: 51 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -90,29 +90,6 @@ void Note::Setup(const vector<string>& args) {
9090
}
9191
actionMenu.AddUIComponent(forceSensitiveToggle, Point(7, 5));
9292

93-
// Split View
94-
UIButton splitViewToggle;
95-
splitViewToggle.SetName("Split View");
96-
splitViewToggle.SetColorFunc([&]() -> Color {
97-
switch(splitView)
98-
{
99-
100-
case VERT_SPLIT: return Color(0x00FFFF);
101-
case HORIZ_SPLIT: return Color(0xFF00FF);
102-
default: return Color::White.Dim();
103-
}
104-
});
105-
splitViewToggle.OnPress([&]() -> void { splitView = (ESpiltView)(((uint8_t)splitView + 1) % 3); });
106-
splitViewToggle.OnHold([&]() -> void {
107-
switch(splitView)
108-
{
109-
case SINGLE_VIEW: MatrixOS::UIUtility::TextScroll("Single View", Color::White); break;
110-
case VERT_SPLIT: MatrixOS::UIUtility::TextScroll("Vertical Split", Color(0x00FFFF)); break;
111-
case HORIZ_SPLIT: MatrixOS::UIUtility::TextScroll("Horizontal Split", Color(0xFF00FF)); break;
112-
}
113-
});
114-
actionMenu.AddUIComponent(splitViewToggle, Point(0, 0));
115-
11693
UIButton notepad1SelectBtn;
11794
notepad1SelectBtn.SetName("Note Pad 1");
11895
notepad1SelectBtn.SetSize(Dimension(2, 1));
@@ -181,6 +158,57 @@ void Note::Setup(const vector<string>& args) {
181158
});
182159
actionMenu.AddUIComponent(octaveMinusBtn, Point(2, 7));
183160

161+
// Spilt Note Pad Display
162+
UITimedDisplay spiltDisplay;
163+
spiltDisplay.SetDimension(Dimension(4, 4));
164+
spiltDisplay.SetRenderFunc([&](Point origin) -> void {
165+
for(uint8_t x = 0; x < 4; x++)
166+
{
167+
for(uint8_t y = 0; y < 4; y++)
168+
{
169+
Color color = notePadConfigs[activeConfig].color;
170+
if (splitView == SINGLE_VIEW)
171+
{
172+
// color = notePadConfigs[activeConfig].color;
173+
}
174+
else if (splitView == VERT_SPLIT)
175+
{
176+
color = x < 2 ? notePadConfigs[activeConfig].color : notePadConfigs[(1 == activeConfig) ? 0 : 1].color;
177+
}
178+
else if (splitView == HORIZ_SPLIT)
179+
{
180+
color = y < 2 ? notePadConfigs[activeConfig].color : notePadConfigs[(1 == activeConfig) ? 0 : 1].color;
181+
}
182+
MatrixOS::LED::SetColor(origin + Point(x, y), color);
183+
}
184+
}
185+
});
186+
spiltDisplay.Disable();
187+
actionMenu.AddUIComponent(spiltDisplay, Point(2, 2));
188+
189+
UIButton splitViewToggle;
190+
splitViewToggle.SetName("Split View");
191+
splitViewToggle.SetColorFunc([&]() -> Color {
192+
switch(splitView)
193+
{
194+
195+
case VERT_SPLIT: return Color(0x00FFFF);
196+
case HORIZ_SPLIT: return Color(0xFF00FF);
197+
default: return Color::White.Dim();
198+
}
199+
});
200+
splitViewToggle.OnPress([&]() -> void { splitView = (ESpiltView)(((uint8_t)splitView + 1) % 3); spiltDisplay.Enable();});
201+
splitViewToggle.OnHold([&]() -> void {
202+
switch(splitView)
203+
{
204+
case SINGLE_VIEW: MatrixOS::UIUtility::TextScroll("Single View", Color::White); break;
205+
case VERT_SPLIT: MatrixOS::UIUtility::TextScroll("Vertical Split", Color(0x00FFFF)); break;
206+
case HORIZ_SPLIT: MatrixOS::UIUtility::TextScroll("Horizontal Split", Color(0xFF00FF)); break;
207+
}
208+
});
209+
actionMenu.AddUIComponent(splitViewToggle, Point(0, 0));
210+
211+
184212
// Control Bar
185213
UIToggle controlBarToggle;
186214
controlBarToggle.SetName("Control Bar");

0 commit comments

Comments
 (0)