|
|
|
@ -7,40 +7,41 @@ UiController::UiController(psvr::Psvr *hmd) : _hmd(hmd)
|
|
|
|
|
menuSize = cv::Size2i(400, 400);
|
|
|
|
|
menuPos = cv::Point2i(DEFAULT_UI_SIZE_X - menuSize.width, (DEFAULT_UI_SIZE_Y / 2) - (menuSize.height / 2)); // centered right
|
|
|
|
|
selectedIndex = 0;
|
|
|
|
|
menuItemNames = {"set vr mode", "set cinema mode", "settings","quit"};
|
|
|
|
|
menuItemNames = {"set vr mode", "set cinema mode", "settings", "quit"};
|
|
|
|
|
unsigned int i = 0;
|
|
|
|
|
update();
|
|
|
|
|
buildMenu();
|
|
|
|
|
cout << "done init ui controller" << endl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UiController::Update(const std::string &key,const std::string &value)
|
|
|
|
|
void UiController::Update(const std::string &key, const std::string &value)
|
|
|
|
|
{
|
|
|
|
|
char c = value[0];
|
|
|
|
|
switch (c)
|
|
|
|
|
{
|
|
|
|
|
case 'U':
|
|
|
|
|
cout << c << "++" << endl;
|
|
|
|
|
DEBUG_LOG(c << "++");
|
|
|
|
|
menus[_activeMenu]->selectedUp();
|
|
|
|
|
break;
|
|
|
|
|
case 'D':
|
|
|
|
|
cout << c << "--" << endl;
|
|
|
|
|
DEBUG_LOG(c << "--");
|
|
|
|
|
cout << _activeMenu << endl;
|
|
|
|
|
menus[_activeMenu]->selectedDown();
|
|
|
|
|
break;
|
|
|
|
|
case '1': //1
|
|
|
|
|
cout << c << "1" << endl;
|
|
|
|
|
case '1': // 1
|
|
|
|
|
DEBUG_LOG(c << "1");
|
|
|
|
|
menus[_activeMenu]->clickback();
|
|
|
|
|
break;
|
|
|
|
|
case '2': //<
|
|
|
|
|
cout << c << "2" << endl;
|
|
|
|
|
case '2': //<
|
|
|
|
|
DEBUG_LOG(c << "2");
|
|
|
|
|
menus[_activeMenu]->clickb1();
|
|
|
|
|
break;
|
|
|
|
|
case '3': //>
|
|
|
|
|
cout << c << "3" << endl;
|
|
|
|
|
case '3': //>
|
|
|
|
|
DEBUG_LOG(c << "3");
|
|
|
|
|
menus[_activeMenu]->clickb2();
|
|
|
|
|
break;
|
|
|
|
|
case '0': //2
|
|
|
|
|
cout << c << "0" << endl;
|
|
|
|
|
case '0': // 2
|
|
|
|
|
DEBUG_LOG(c << "0");
|
|
|
|
|
menus[_activeMenu]->clickok();
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
@ -56,31 +57,42 @@ void UiController::update()
|
|
|
|
|
menuTitle = std::string("P-OS ") + VERSION + " " + menutime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UiController::buildMenu(){
|
|
|
|
|
void UiController::buildMenu()
|
|
|
|
|
{
|
|
|
|
|
menus.clear();
|
|
|
|
|
_activeMenu = "main menu";
|
|
|
|
|
#pragma region main_menu
|
|
|
|
|
|
|
|
|
|
ExitAppCommand *ex = new ExitAppCommand();
|
|
|
|
|
|
|
|
|
|
Command* navigateToMain = new NavigateCommand(_activeMenu,this);
|
|
|
|
|
Menu* main = new Menu(_activeMenu,main,navigateToMain); //it's the root so it navigates back to itself
|
|
|
|
|
Command *navigateToMain = new NavigateCommand(_activeMenu, this);
|
|
|
|
|
Menu *main = new Menu(_activeMenu, main, navigateToMain); // it's the root so it navigates back to itself
|
|
|
|
|
menus[main->getName()] = main;
|
|
|
|
|
|
|
|
|
|
Menu* psvrMenu = new Menu("PSVR options",main, navigateToMain);
|
|
|
|
|
ButtonItem *exitBtn = new ButtonItem(ex);
|
|
|
|
|
exitBtn->setData("exit the app");
|
|
|
|
|
main->addItem(exitBtn);
|
|
|
|
|
#pragma endregion main_menu
|
|
|
|
|
#pragma region psvr_menu
|
|
|
|
|
Menu *psvrMenu = new Menu("PSVR options", main, navigateToMain);
|
|
|
|
|
menus[psvrMenu->getName()] = psvrMenu;
|
|
|
|
|
|
|
|
|
|
Command* navigateToPsvr = new NavigateCommand(psvrMenu->getName(),this);
|
|
|
|
|
Command *navigateToPsvr = new NavigateCommand(psvrMenu->getName(), this);
|
|
|
|
|
|
|
|
|
|
menuitem* psvrOptions = new menuitem(navigateToPsvr);
|
|
|
|
|
menuitem *psvrOptions = new menuitem(navigateToPsvr);
|
|
|
|
|
psvrOptions->setData("open psvr options");
|
|
|
|
|
|
|
|
|
|
Command* startup = new StartupCommand(_hmd);
|
|
|
|
|
Command* shutdown = new ShutdownCommand(_hmd);
|
|
|
|
|
Command* vrmode = new VrModeCommand(_hmd);
|
|
|
|
|
Command* cinemamode = new CinemaModeCommand(_hmd);
|
|
|
|
|
main->addItem(psvrOptions);
|
|
|
|
|
|
|
|
|
|
ButtonItem* startBtn = new ButtonItem(startup);
|
|
|
|
|
ButtonItem* stopBtn = new ButtonItem(shutdown);
|
|
|
|
|
ButtonItem* vrBtn = new ButtonItem(vrmode);
|
|
|
|
|
ButtonItem* cinemaBtn = new ButtonItem(cinemamode);
|
|
|
|
|
Command *startup = new StartupCommand(_hmd);
|
|
|
|
|
Command *shutdown = new ShutdownCommand(_hmd);
|
|
|
|
|
Command *vrmode = new VrModeCommand(_hmd);
|
|
|
|
|
Command *cinemamode = new CinemaModeCommand(_hmd);
|
|
|
|
|
|
|
|
|
|
ButtonItem *startBtn = new ButtonItem(startup);
|
|
|
|
|
ButtonItem *stopBtn = new ButtonItem(shutdown);
|
|
|
|
|
ButtonItem *vrBtn = new ButtonItem(vrmode);
|
|
|
|
|
ButtonItem *cinemaBtn = new ButtonItem(cinemamode);
|
|
|
|
|
|
|
|
|
|
startBtn->setData("startup psvr");
|
|
|
|
|
stopBtn->setData("shutdown psvr");
|
|
|
|
@ -91,4 +103,22 @@ void UiController::buildMenu(){
|
|
|
|
|
psvrMenu->addItem(stopBtn);
|
|
|
|
|
psvrMenu->addItem(vrBtn);
|
|
|
|
|
psvrMenu->addItem(cinemaBtn);
|
|
|
|
|
#pragma endregion psvr_menu
|
|
|
|
|
#pragma region fps_menu
|
|
|
|
|
Menu *fpsMenu = new Menu("EPS options", main, navigateToMain);
|
|
|
|
|
menus[fpsMenu->getName()] = fpsMenu;
|
|
|
|
|
|
|
|
|
|
Command *navigateToEPS = new NavigateCommand(fpsMenu->getName(), this);
|
|
|
|
|
|
|
|
|
|
menuitem *fpsOptions = new menuitem(navigateToEPS);
|
|
|
|
|
fpsOptions->setData("open EPS options");
|
|
|
|
|
main->addItem(fpsOptions);
|
|
|
|
|
|
|
|
|
|
fpsMenu->addItem(new NumberPickerItem("camera EPS limit","fpsLimit",60)); //must be in the same order as when the pipeline is created
|
|
|
|
|
fpsMenu->addItem(new NumberPickerItem("zbar EPS limit","fpsLimit",15));
|
|
|
|
|
fpsMenu->addItem(new NumberPickerItem("ui drawer EPS limit","fpsLimit",30));
|
|
|
|
|
fpsMenu->addItem(new NumberPickerItem("ui merger EPS limit","fpsLimit",60));
|
|
|
|
|
fpsMenu->addItem(new NumberPickerItem("display EPS limit","fpsLimit",60));
|
|
|
|
|
|
|
|
|
|
#pragma endregion fps_menu
|
|
|
|
|
}
|