@@ -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