Definition at line 535 of file mainDemoCamera2d.cpp. References Impala::Application::DemoCamera2d::basicInvs, Impala::Application::DemoCamera2d::compoundInvs, Impala::Application::DemoCamera2d::curDemo, Impala::Application::DemoCamera2d::curInvList, Impala::Application::DemoCamera2d::demo, Impala::Visualization::AppControlSrc::FpsReset(), Impala::Application::DemoCamera2d::InvInfo::mName, OglGui::OglWindow::mOglWnd, OglGui::Window::MouseFunc(), Impala::Application::DemoCamera2d::nrBasicInvs, Impala::Application::DemoCamera2d::nrCompoundInvs, Impala::Application::DemoCamera2d::nrDemo, and Impala::Application::DemoCamera2d::SetCurDemo(). 00536 { 00537 Window::MouseFunc(msg, but, state, x, y); 00538 00539 if ((msg == oglMouseDown) && (but == oglRightButton)) 00540 { 00541 OGLMENU menu, subMenu1, subMenu2, subMenu3; 00542 int choice, i; 00543 menu = oglSys.MenuCreate(); 00544 subMenu1 = oglSys.MenuCreate(); 00545 oglSys.MenuAdd(menu, "demo preset", subMenu1, 0); 00546 for (i=0 ; i<nrDemo ; i++) 00547 { 00548 oglSys.MenuAdd(subMenu1, (char *) demo[i].c_str(), 0, 1000+i); 00549 if (curDemo == i) 00550 oglSys.MenuCheck(menu, 1000+i, 1); 00551 } 00552 subMenu2 = oglSys.MenuCreate(); 00553 oglSys.MenuAdd(menu, "add basic", subMenu2, 0); 00554 for (i=0 ; i<nrBasicInvs ; i++) 00555 { 00556 oglSys.MenuAdd(subMenu2, (char *) basicInvs[i].mName.c_str(), 0, 00557 2000+i); 00558 } 00559 subMenu3 = oglSys.MenuCreate(); 00560 oglSys.MenuAdd(menu, "add compound", subMenu3, 0); 00561 for (i=0 ; i<nrCompoundInvs ; i++) 00562 { 00563 oglSys.MenuAdd(subMenu3, (char *) compoundInvs[i].mName.c_str(), 0, 00564 3000+i); 00565 } 00566 oglSys.MenuAdd(menu, NULL, 0, 0); // separator 00567 oglSys.MenuAdd(menu, "fps reset", 0, 2); 00568 00569 choice = oglSys.MenuPopUp(mOglWnd, menu); 00570 00571 if (choice >= 3000) 00572 { 00573 int cInv = choice - 3000; 00574 curInvList.push_back(compoundInvs[cInv]); 00575 } 00576 else if (choice >= 2000) 00577 { 00578 int bInv = choice - 2000; 00579 curInvList.push_back(basicInvs[bInv]); 00580 } 00581 else if (choice >= 1000) 00582 { 00583 curDemo = choice - 1000; 00584 SetCurDemo(demo[curDemo]); 00585 } 00586 else 00587 { 00588 switch (choice) 00589 { 00590 case 2: 00591 FpsReset(); 00592 break; 00593 } 00594 } 00595 //SetDoReprocess(true); 00596 00597 oglSys.MenuDestroy(menu); 00598 oglSys.MenuDestroy(subMenu1); 00599 oglSys.MenuDestroy(subMenu2); 00600 oglSys.MenuDestroy(subMenu3); 00601 oglSys.UpdateSceneFlag(mOglWnd, 1); 00602 } 00603 }
Here is the call graph for this function:
|