//bool g_bIndexingDone = false; HelpWindow::HelpWindow(const char * name) : KviWindow(KviWindow::Help,name) { g_pHelpWindowList->append(this); m_pSplitter = new KviTalSplitter(Qt::Horizontal,this); m_pSplitter->setObjectName("main_splitter"); m_pSplitter->setChildrenCollapsible(false); m_pHelpWidget = new HelpWidget(m_pSplitter); m_pToolBar=new KviTalVBox(m_pSplitter); m_pTabWidget = new QTabWidget(m_pToolBar); m_pBottomLayout = new KviTalHBox(m_pToolBar); m_pProgressBar = new QProgressBar(m_pBottomLayout); m_pCancelButton = new QPushButton(m_pBottomLayout); m_pCancelButton->setText(__tr2qs_ctx("Cancel","logview")); connect(m_pCancelButton,SIGNAL(clicked()),g_pDocIndex,SLOT(setLastWinClosed())); m_pBottomLayout->setVisible(false); m_pIndexTab = new KviTalVBox(m_pTabWidget); m_pTabWidget->addTab(m_pIndexTab,__tr2qs("Help Index")); KviTalHBox* pSearchBox = new KviTalHBox(m_pIndexTab); m_pIndexSearch = new QLineEdit(pSearchBox); connect( m_pIndexSearch, SIGNAL( textChanged(const QString&) ), this, SLOT( searchInIndex(const QString&) ) ); connect( m_pIndexSearch, SIGNAL( returnPressed() ), this, SLOT( showIndexTopic() ) ); m_pBtnRefreshIndex = new QPushButton(pSearchBox); m_pBtnRefreshIndex->setIcon(*g_pIconManager->getBigIcon(KVI_REFRESH_IMAGE_NAME)); connect(m_pBtnRefreshIndex,SIGNAL(clicked()),this,SLOT(refreshIndex())); m_pBtnRefreshIndex->setToolTip(__tr2qs("Refresh index") ); m_pIndexListWidget = new KviTalListWidget(m_pIndexTab); connect(m_pIndexListWidget,SIGNAL(itemActivated(QListWidgetItem *)),this,SLOT(indexSelected (QListWidgetItem * ))); m_pSearchTab = new KviTalVBox(m_pTabWidget); m_pTabWidget->addTab(m_pSearchTab,__tr2qs("Search")); m_pTermsEdit = new QLineEdit(m_pSearchTab); connect( m_pTermsEdit, SIGNAL( returnPressed() ), this, SLOT( startSearch() ) ); m_pResultBox = new KviTalListWidget(m_pSearchTab); connect(m_pResultBox,SIGNAL(itemActivated(QListWidgetItem *)),this,SLOT(searchSelected (QListWidgetItem *))); QList<int> li; li.append(width()-80); li.append(80); m_pSplitter->setSizes(li); connect(g_pDocIndex, SIGNAL(indexingStart(int)), this, SLOT(indexingStart(int))); connect(g_pDocIndex, SIGNAL(indexingProgress(int)), this, SLOT(indexingProgress(int))); connect(g_pDocIndex, SIGNAL(indexingEnd()), this, SLOT(indexingEnd())); QTimer::singleShot(0,this,SLOT(initialSetup())); }
/** * * Main function * * This function is the main entry of the interrupt test. It does the following: * Initialize the audio * Initialize the debug uart * Enable the interrupts * * @param None * * @return * - XST_SUCCESS if example finishes successfully * - XST_FAILURE if example fails. * * @note None. * ******************************************************************************/ int main(void) { init_platform(); InitMotorBoard(); xil_printf("\r\n--- Entering main() --- \r\n"); int status = XST_SUCCESS; status |= initialize_audio(&sIic, &sAxiAudioDma); status |= fnInitInterruptController(&sIntc); status |= initialize_uart(&sUartLite); status |= initialize_video(&sVideoCapt, &sIntc); status |= initialize_targeting(&sAxiTargetingDma); status |= SetupSdGpio(&sGpio); if (status != XST_SUCCESS) { xil_printf("Failed to initialize system.\r\n"); return XST_FAILURE; } // Initialize static variables. for (int i = 0; i < FILE_ID_MAX; i++) { sSdFileBoard[i].loaded = false; } sSdFileMemTip = (u32 *) AUDIO_BASE_ADDR; sButtonState = 0; sLoopSelect = DEFAULT_LOOP; fnEnableInterrupts(&sIntc, &ivt[0], sizeof(ivt)/sizeof(ivt[0])); register_uart_response("test", test_fcn); register_uart_response("record", uart_rec_audio); register_uart_response("play", uart_play_audio); register_uart_response("kill", end_fcn); register_uart_response("exit", end_fcn); register_uart_response("dump", dump_mem); // Commands to run self-tests register_uart_response("lowlevel", LowLevelTest); register_uart_response("highlevel", HighLevelTest); register_uart_response("lasertest", EnterLaserTest); register_uart_response("motortest", EnterMotorTest); register_uart_response("stop", stopTest); register_uart_response("load_sounds", loadSounds); register_uart_response("load_images", loadImages); register_uart_response("still_alive", playPortalSong); register_uart_response("gun", playGunSound); register_uart_response("portal_gun", playPortalGunSound); register_uart_response("target", playTargetAcquired); register_uart_response("playpos", playPos); register_uart_response("playneg", playNeg); register_uart_response("manual", EnterManualMainLoop); register_uart_response("auto", EnterAutomaticMainLoop); register_uart_response("passthrough", passthroughHdmi); register_uart_response("runip", EnterIpTest); register_uart_response("videoinfo", print_video_info); register_uart_response("df1", df1); register_uart_response("df2", df2); register_uart_response("df0", df0); register_uart_response("vf1", vf1); register_uart_response("vf2", vf2); register_uart_response("vf0", vf0); register_uart_response("ipinfo", print_ip_info); register_uart_response("ipouttoggle", toggle_ip_output); register_uart_response("dummytarget", setDummyTarget); register_uart_response("lemon", DisplayLemon); register_uart_response("heman", DisplayHeman); register_uart_response("pass", SetPassthroughMode); register_uart_response("gray", SetGrayscaleMode); register_uart_response("sobel", SetSobelMode); register_uart_response("thresh", SetThresholdMode); register_uart_response("label", SetLabelMode); register_uart_response("colour", SetColourMode); register_uart_response("laser", SetLaserMode); register_uart_response("flood1", SetFlood1Mode); register_uart_response("flood2", SetFlood2Mode); register_uart_response("laseron", LaserOn); register_uart_response("laseroff", LaserOff); register_uart_response("redthresh", SetRedThreshold); register_uart_response("sobelthresh", SetSobelThreshold); register_uart_response("f1thresh", SetFlood1Threshold); register_uart_response("f2thresh", SetFlood2Threshold); register_uart_response("setminsize", SetSizeThreshold); register_uart_response("setobjid", SetObjId); register_uart_response("test_args", TestArgs); xil_printf("\r\n--- Done registering UART commands --- \r\n"); initialSetup(); xil_printf(PROMPT_STRING); while (do_run) { switch (sLoopSelect) { case MANUAL_MODE: ManualMainLoop(); break; case AUTOMATIC_MODE: AutoMainLoop(); break; case LASER_TEST: LaserTest(); break; case MOTOR_TEST: MotorPatternTest(); break; case IP_TEST: runImageProcessing(); sLoopSelect = DEFAULT_LOOP; break; default: MB_Sleep(100); break; } } xil_printf("\r\n--- Exiting main() --- \r\n"); return XST_SUCCESS; }
/** * \brief The main game loop. This just cycles endlessly, it uses the game's 'state' to determine which screen to show and what to do. */ int main(){ //looping back and forth forever (cards against humanity reference) while(1) { //some basic prep work performed once before our custom intro if(game_state == INTRO) { initialSetup(); initIntro(); } //perform custom intro while(game_state == INTRO) { //wait until the next frame WaitVsync(1); drawIntro(); processIntro(); } //prep the main menu if(game_state == MAIN_MENU) { FadeOut(0,true); ClearVram(); SetTileTable(title_tiles); SetFontTilesIndex(TITLE_TILES_SIZE); drawMainMenu(); FadeIn(0,false); } //draw menu and handle input while(game_state == MAIN_MENU) { WaitVsync(1); drawMenuCursor(); processMainMenu(); } if(game_state== GAME) { //run our setup for the main game ClearVram(); FadeOut(0,true); gameSetup(); FadeIn(0,false); } //when we're in the gameplay portion, draw and accept input for the game while(game_state == GAME) { WaitVsync(1); processScrollSpeed(); //scrolls screen as appropriate updateCity(); //offsets city for parallax processControls(); //accepts and processes controller input processPlayerMotion(); //update player position processSprites(); //updates and moves player image to player position } if(game_state == HIGH_SCORES) { FadeOut(0,true); SetTileTable(title_tiles); SetFontTilesIndex(TITLE_TILES_SIZE); drawLocalHighScoreMenu(); //draw up the high score screen FadeIn(0,false); deathclock=120; //reset death timer to 2 seconds if(score > topscores[9]) { LoadScore(0, 9); //load top 10 saved high scores SaveScore(score); //save our current score if it's high enough drawLocalHighScoreMenu(); //draw up the high score screen } } //draw and accepts input for the local high score screen while(game_state == HIGH_SCORES) { WaitVsync(1); processHighScoreMenu(); } } }