1- #include " display_menu .h"
1+ #include " launcher_pages .h"
22#include " alt_launcher.h"
33#include " osd.h"
44
55#include < stdio.h>
66
7- #define DISPLAY_STD_EXIT " exit"
7+ // Mirrors menu.cpp's STD_EXIT (a local #define there, kept in sync
8+ // here rather than re-exporting it via a header touch).
9+ #define LAUNCHER_STD_EXIT " exit"
810
9- void display_menu_render (int menusub, uint64_t *menumask)
11+ void launcher_page_render (int menusub, uint64_t *menumask)
1012{
1113 OsdSetSize (16 );
12- OsdSetTitle (" Display Centering" , OSD_ARROW_LEFT );
13- *menumask = 0xF ; // 4 entries: H, V, CRT, Exit
14+ OsdSetTitle (" Zaparoo Launcher" , OSD_ARROW_LEFT );
15+ *menumask = 0x3 ; // Video, Exit
16+
17+ int m = 0 ;
18+ OsdWrite (m++);
19+ OsdWrite (m++, " " );
20+ OsdWrite (m++, " " );
21+ OsdWrite (m++, " " );
22+ OsdWrite (m++, " " );
23+
24+ OsdWrite (m++, " Video \x16 " , menusub == 0 );
25+
26+ while (m < OsdGetSize () - 1 ) OsdWrite (m++, " " );
27+ OsdWrite (15 , LAUNCHER_STD_EXIT , menusub == 1 );
28+ }
29+
30+ int launcher_page_handle_select (int menusub)
31+ {
32+ switch (menusub)
33+ {
34+ case 0 : return 1 ;
35+ case 1 : return 0 ;
36+ default : return -1 ;
37+ }
38+ }
39+
40+ void video_page_render (int menusub, uint64_t *menumask)
41+ {
42+ OsdSetSize (16 );
43+ // No arrow flags: left/right are bound to value adjustment on this
44+ // page, not sibling navigation.
45+ OsdSetTitle (" Video" , 0 );
46+ *menumask = 0xF ; // CRT, H Offset, V Offset, Exit
1447
1548 char s[64 ];
1649 int m = 0 ;
1750
1851 OsdWrite (m++);
1952 OsdWrite (m++, " " );
2053 OsdWrite (m++, " " );
21- OsdWrite (m++, " " );
2254
23- sprintf (s, " H Offset : %+3d (-/+) " , alt_launcher_h_offset () );
55+ sprintf (s, " CRT mode : %-15s " , alt_launcher_native_crt () ? " On " : " Off " );
2456 OsdWrite (m++, s, menusub == 0 );
2557
26- sprintf (s, " V Offset: %+3d (-/+)" , alt_launcher_v_offset ());
58+ OsdWrite (m++, " " );
59+ sprintf (s, " H Offset: %+3d" , alt_launcher_h_offset ());
2760 OsdWrite (m++, s, menusub == 1 );
2861
29- OsdWrite (m++, " " );
30- sprintf (s, " CRT mode: %-15s" , alt_launcher_native_crt () ? " On" : " Off" );
62+ sprintf (s, " V Offset: %+3d" , alt_launcher_v_offset ());
3163 OsdWrite (m++, s, menusub == 2 );
3264
3365 while (m < OsdGetSize () - 1 ) OsdWrite (m++, " " );
34- OsdWrite (15 , DISPLAY_STD_EXIT , menusub == 3 );
66+ OsdWrite (15 , LAUNCHER_STD_EXIT , menusub == 3 );
3567}
3668
37- bool display_menu_handle_select (int menusub)
69+ bool video_page_handle_select (int menusub)
3870{
3971 switch (menusub)
4072 {
41- case 2 :
73+ case 0 :
4274 alt_launcher_toggle_crt ();
4375 return true ;
4476 case 3 :
@@ -48,16 +80,19 @@ bool display_menu_handle_select(int menusub)
4880 }
4981}
5082
51- void display_menu_adjust (int menusub, int dir)
83+ void video_page_adjust (int menusub, int dir)
5284{
5385 if (dir == 0 ) return ;
5486 int8_t step = (int8_t )(dir > 0 ? 1 : -1 );
5587 switch (menusub)
5688 {
5789 case 0 :
58- alt_launcher_set_h_offset (( int8_t )( alt_launcher_h_offset () + step) );
90+ alt_launcher_toggle_crt ( );
5991 break ;
6092 case 1 :
93+ alt_launcher_set_h_offset ((int8_t )(alt_launcher_h_offset () + step));
94+ break ;
95+ case 2 :
6196 alt_launcher_set_v_offset ((int8_t )(alt_launcher_v_offset () + step));
6297 break ;
6398 default :
0 commit comments