int main (int argc, char **argv) { if (argc == 2) { fp = fopen (argv[1], "r"); alexsdl_init (WIDTH, HEIGHT, SDL_HWSURFACE | SDL_DOUBLEBUF); SDL_WM_SetCaption ("RTS loadmap", NULL); run_inits (); while (1) { process_input (); SDL_FillRect (screen, NULL, 0x000000); selecting (); moving (); draw (); SDL_Flip (screen); } } else { printf ("Invalid input\n"); return (1); } return (0); }
/* Return the rectangle coordinates spanned by the mouse pointer and the starting point */ Rectangle SelectObserver::getDeviceArea() const { // get the mouse position relative to the starting point DeviceVector delta(_current - _start); // If the user is selecting or dragging, the SelectionBox is returned... if (selecting() && fabs(delta.x()) > _epsilon.x() && fabs(delta.y()) > _epsilon.y()) { return Rectangle::ConstructFromArea(_start, delta); } else // ...otherwise return the null area { return Rectangle(); } }
int main (int argc, char **argv) { alexsdl_init (WIDTH, HEIGHT, SDL_HWSURFACE | SDL_DOUBLEBUF); run_inits (); while (1) { process_input (); SDL_FillRect (screen, NULL, 0x000000); selecting (); moving (); draw (); SDL_Flip (screen); } return (0); }
int main (int argc, char **argv) { if (argc == 2) { fp = fopen (argv[1], "r"); init_pathblock (); } alexsdl_init (WIDTH, HEIGHT, SDL_HWSURFACE | SDL_DOUBLEBUF); run_inits (); while (1) { process_input (); SDL_FillRect (screen, NULL, 0x000000); selecting (); moving (); draw (); SDL_Flip (screen); } return (0); }
void TIGLViewerWindow::connectSignals() { connect(newAction, SIGNAL(triggered()), this, SLOT(newFile())); connect(openAction, SIGNAL(triggered()), this, SLOT(open())); connect(openScriptAction, SIGNAL(triggered()), this, SLOT(openScript())); connect(closeAction, SIGNAL(triggered()), this, SLOT(closeConfiguration())); for (int i = 0; i < MaxRecentFiles; ++i) { recentFileActions[i] = new QAction(this); recentFileActions[i]->setVisible(false); connect(recentFileActions[i], SIGNAL(triggered()), this, SLOT(openRecentFile())); } connect(saveAction, SIGNAL(triggered()), this, SLOT(save())); connect(saveScreenshotAction, SIGNAL(triggered()), this, SLOT(makeScreenShot())); connect(setBackgroundAction, SIGNAL(triggered()), this, SLOT(setBackgroundImage())); connect(exitAction, SIGNAL(triggered()), this, SLOT(close())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(about())); connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(aboutQtAction, SIGNAL(triggered()), this, SLOT(aboutQt())); // Misc drawing actions connect(drawPointAction, SIGNAL(triggered()), this, SLOT(drawPoint())); connect(drawVectorAction, SIGNAL(triggered()), this, SLOT(drawVector())); // view->actions menu connect(fitAction, SIGNAL(triggered()), myOCC, SLOT(fitExtents())); connect(fitAllAction, SIGNAL(triggered()), myOCC, SLOT(fitAll())); //connect(zoomAction, SIGNAL(triggered()), myOCC, SLOT(fitArea())); connect(zoomAction, SIGNAL(triggered()),myOCC, SLOT(zoom())); connect(panAction, SIGNAL(triggered()), myOCC, SLOT(pan())); connect(rotAction, SIGNAL(triggered()), myOCC, SLOT(rotation())); connect(selectAction, SIGNAL(triggered()), myOCC, SLOT(selecting())); // view->grid menu connect(gridOnAction, SIGNAL(toggled(bool)), myScene, SLOT(toggleGrid(bool))); connect(gridXYAction, SIGNAL(triggered()), myScene, SLOT(gridXY())); connect(gridXZAction, SIGNAL(triggered()), myScene, SLOT(gridXZ())); connect(gridYZAction, SIGNAL(triggered()), myScene, SLOT(gridYZ())); connect(gridRectAction, SIGNAL(triggered()), myScene, SLOT(gridRect())); connect(gridCircAction, SIGNAL(triggered()), myScene, SLOT(gridCirc())); // Standard View connect(viewFrontAction, SIGNAL(triggered()), myOCC, SLOT(viewFront())); connect(viewBackAction, SIGNAL(triggered()), myOCC, SLOT(viewBack())); connect(viewTopAction, SIGNAL(triggered()), myOCC, SLOT(viewTop())); connect(viewBottomAction, SIGNAL(triggered()), myOCC, SLOT(viewBottom())); connect(viewLeftAction, SIGNAL(triggered()), myOCC, SLOT(viewLeft())); connect(viewRightAction, SIGNAL(triggered()), myOCC, SLOT(viewRight())); connect(viewAxoAction, SIGNAL(triggered()), myOCC, SLOT(viewAxo())); connect(viewGridAction, SIGNAL(triggered()), myOCC, SLOT(viewGrid())); connect(viewResetAction, SIGNAL(triggered()), myOCC, SLOT(viewReset())); connect(viewZoomInAction, SIGNAL(triggered()), myOCC, SLOT(zoomIn())); connect(viewZoomOutAction, SIGNAL(triggered()), myOCC, SLOT(zoomOut())); connect(showConsoleAction, SIGNAL(toggled(bool)), consoleDockWidget, SLOT(setVisible(bool))); connect(consoleDockWidget, SIGNAL(visibilityChanged(bool)), showConsoleAction, SLOT(setChecked(bool))); connect(showWireframeAction, SIGNAL(toggled(bool)), myScene, SLOT(wireFrame(bool))); connect(openTimer, SIGNAL(timeout()), this, SLOT(reopenFile())); // The co-ordinates from the view connect( myOCC, SIGNAL(mouseMoved(V3d_Coordinate,V3d_Coordinate,V3d_Coordinate)), this, SLOT(xyzPosition(V3d_Coordinate,V3d_Coordinate,V3d_Coordinate)) ); // Add a point from the view connect( myOCC, SIGNAL(pointClicked(V3d_Coordinate,V3d_Coordinate,V3d_Coordinate)), this, SLOT (addPoint (V3d_Coordinate,V3d_Coordinate,V3d_Coordinate)) ); connect( myOCC, SIGNAL(sendStatus(const QString)), this, SLOT (statusMessage(const QString)) ); connect(stdoutStream, SIGNAL(sendString(QString)), console, SLOT(output(QString))); connect(errorStream , SIGNAL(sendString(QString)), console, SLOT(output(QString))); connect(logDirect.get(), SIGNAL(newMessage(QString)), console, SLOT(output(QString))); connect(scriptEngine, SIGNAL(scriptResult(QString)), console, SLOT(output(QString))); connect(scriptEngine, SIGNAL(scriptError(QString)), console, SLOT(outputError(QString))); connect(scriptEngine, SIGNAL(evalDone()), console, SLOT(endCommand())); connect(console, SIGNAL(onChange(QString)), scriptEngine, SLOT(textChanged(QString))); connect(console, SIGNAL(onCommand(QString)), scriptEngine, SLOT(eval(QString))); connect(settingsAction, SIGNAL(triggered()), this, SLOT(changeSettings())); }
static void * ncurses_input_thread(void *unsafe_marsh){ struct ncurses_input_marshal *nim = unsafe_marsh; WINDOW *w = nim->w; int ch; active = NULL; // No subpanels initially while((ch = getch()) != 'q' && ch != 'Q'){ switch(ch){ case KEY_HOME: lock_ncurses(); if(selecting()){ use_first_node_locked(); } unlock_ncurses(); break; case KEY_END: lock_ncurses(); if(selecting()){ use_last_node_locked(); } unlock_ncurses(); break; case KEY_PPAGE: lock_ncurses(); if(selecting()){ use_prev_nodepage_locked(); } unlock_ncurses(); break; case KEY_NPAGE: lock_ncurses(); if(selecting()){ use_next_nodepage_locked(); } unlock_ncurses(); break; case KEY_UP: case 'k': lock_ncurses(); if(!selecting()){ use_prev_iface_locked(w,&details); }else{ use_prev_node_locked(); } unlock_ncurses(); break; case KEY_DOWN: case 'j': lock_ncurses(); if(!selecting()){ use_next_iface_locked(w,&details); }else{ use_next_node_locked(); } unlock_ncurses(); break; case KEY_RESIZE: lock_ncurses();{ resize_screen_locked(w); }unlock_ncurses(); break; case 9: // Tab FIXME lock_ncurses(); toggle_focus(); unlock_ncurses(); break; case 12: // Ctrl-L FIXME lock_ncurses();{ redraw_screen_locked(); }unlock_ncurses(); break; case '\r': case '\n': case KEY_ENTER: lock_ncurses();{ select_iface_locked(); }unlock_ncurses(); break; case KEY_ESC: case KEY_BACKSPACE: lock_ncurses();{ deselect_iface_locked(); }unlock_ncurses(); break; case 'l': lock_ncurses(); toggle_panel(w,&diags,display_diags_locked); unlock_ncurses(); break; case 'D': lock_ncurses(); resolve_selection(w); unlock_ncurses(); break; case 'r': lock_ncurses(); reset_current_interface_stats(w); unlock_ncurses(); break; case 'P': lock_ncurses(); toggle_subwindow_pinning(); unlock_ncurses(); break; case 'p': lock_ncurses(); toggle_promisc_locked(w); unlock_ncurses(); break; case 'd': lock_ncurses(); down_interface_locked(w); unlock_ncurses(); break; case 's': lock_ncurses(); sniff_interface_locked(w); unlock_ncurses(); break; case '+': case KEY_RIGHT: lock_ncurses(); expand_iface_locked(); unlock_ncurses(); break; case '-': case KEY_LEFT: lock_ncurses(); collapse_iface_locked(); unlock_ncurses(); break; case 'v':{ lock_ncurses(); toggle_panel(w,&details,display_details_locked); unlock_ncurses(); break; }case 'n':{ lock_ncurses(); toggle_panel(w,&network,display_network_locked); unlock_ncurses(); break; }case 'e':{ lock_ncurses(); toggle_panel(w,&environment,display_env_locked); unlock_ncurses(); break; }case 'w':{ lock_ncurses(); toggle_panel(w,&channels,display_channels_locked); unlock_ncurses(); break; }case 'b':{ lock_ncurses(); toggle_panel(w,&bridging,display_bridging_locked); unlock_ncurses(); break; }case 'h':{ lock_ncurses(); toggle_panel(w,&help,display_help_locked); unlock_ncurses(); break; }default:{ const char *hstr = !help.p ? " ('h' for help)" : ""; // wstatus() locks/unlocks, and calls screen_update() if(isprint(ch)){ wstatus(w,"unknown command '%c'%s",ch,hstr); }else{ wstatus(w,"unknown scancode %d%s",ch,hstr); } break; } } } wstatus(w,"%s","shutting down"); // we can't use raise() here, as that sends the signal only // to ourselves, and we have it masked. pthread_kill(nim->maintid,SIGINT); pthread_exit(NULL); }