void special_keys(int key, int x, int y) { switch (key) { case GLUT_KEY_F1: fullscreen_mode = !fullscreen_mode; fullscreen_toggle(); break; case GLUT_KEY_RIGHT: pi_move_entitie(1, true, true); break; case GLUT_KEY_LEFT: pi_move_entitie(1, true, false); break; case GLUT_KEY_UP: break; case GLUT_KEY_DOWN: break; case GLUT_KEY_F2: pi_restart_game(); break; case GLUT_KEY_F7: pi_spawn_player(); break; } }
void setup_app() { glutCreateWindow(win_title); fullscreen_toggle(); glutDisplayFunc(display); glutReshapeFunc(reshape); glutSpecialFunc(special_keys); glutKeyboardFunc(keyboard); glutMouseFunc(mouse); }
bool App::event_keydown(WPARAM wParam){ if(wParam==VK_ESCAPE){ if(Config::geti()->fullscreen_on){ //wyjœcie z fullscreena fullscreen_set(false); }else{ Controls::geti()->set_focus("editor"); } }else if(wParam==VK_F1){ set_scroll(0); }else if(wParam==VK_F2){ change_scroll(-35); }else if(wParam==VK_F3){ change_scroll(+35); }else if(wParam==VK_F5){ autoscroll_nowait(+Config::geti()->autoscroll_interval*0.25); }else if(wParam==VK_F6){ autoscroll_nowait(-Config::geti()->autoscroll_interval*0.2); }else if(wParam==VK_F7){ autoscroll_switch(); }else if(wParam==VK_F8){ if(Config::geti()->autoscroll){ autoscroll_off(); IO::geti()->echo("Autoscroll wy³¹czony"); }else{ autoscroll_nowait(); } }else if(wParam==VK_F9){ toolbar_switch(); }else if(wParam==VK_F10 || wParam==VK_F11){ fullscreen_toggle(); } //ctrl if(is_control_pressed()){ if(wParam=='S'){ save_chords_file(); }else if(wParam=='F'){ if(!Config::geti()->toolbar_show){ toolbar_switch(1); } Controls::geti()->set_focus("find_edit"); }else if(wParam=='N'){ new_file(); }else if(wParam=='B'){ chordsbase_start(); }else if(wParam==VK_ADD){ change_font_size(+1); }else if(wParam==VK_SUBTRACT){ change_font_size(-1); }else if(wParam==VK_OEM_3){ // znaczek ` cmd_switch(); if(Config::geti()->cmd_show){ Controls::geti()->set_focus("cmd"); Controls::geti()->select_all("cmd"); }else{ Controls::geti()->set_focus("editor"); } }else if(wParam==VK_LEFT){ transpose(-1); }else if(wParam==VK_RIGHT){ transpose(+1); }else if(wParam=='0'||wParam==VK_NUMPAD0){ transpose(-Config::geti()->transposed); } } return true; //przechwycenie }
void App::event_button(WPARAM wParam){ string name = ""; if(wParam>=1 && wParam<=Controls::geti()->controls.size()){ name = Controls::geti()->get_button_name(wParam); }else{ name = Controls::geti()->get_menu_name(wParam); } if(name.length()==0) return; if(name == "new"){ //nowy new_file(); }else if(name == "load"){ //wczytaj if(!Config::geti()->toolbar_show){ toolbar_switch(1); } string str2 = Controls::geti()->get_text("filename_edit"); if(str2.length()==0){ IO::geti()->echo("Podaj nazwê pliku."); }else{ open_chords_file(str2); } }else if(name == "save"){ //zapisz save_chords_file(); }else if(name == "analyze"){ //analizuj analyze(); }else if(name == "replace"){ //zamieñ if(!Config::geti()->toolbar_show){ toolbar_switch(1); return; } zamien(); }else if(name == "find"){ //znajdŸ if(!Config::geti()->toolbar_show){ toolbar_switch(1); return; } znajdz(); }else if(name == "undo"){ undo->revert(); }else if(name == "base"){ //baza akordów chordsbase_start(); }else if(name == "autoscroll"){ //autoscroll autoscroll_switch(); }else if(name == "reload"){ open_chords_file(Config::geti()->opened_file); }else if(name == "config"){ ShellExecute(0,"open",Config::geti()->config_filename.c_str(),"",0,SW_SHOW); }else if(name == "quick_replace"){ quick_replace(); }else if(name == "remove_chords"){ usun_akordy(); }else if(name == "remove_alt"){ usun_wersje(); }else if(name == "add_chord"){ dodaj_nawias(); }else if(name == "font++"){ change_font_size(+1); }else if(name == "font--"){ change_font_size(-1); }else if(name == "format_text"){ refresh_text(); }else if(name == "fullscreen"){ fullscreen_toggle(); }else if(name == "autoscroll_wait"){ autoscroll_on(); }else if(name == "autoscroll_nowait"){ autoscroll_nowait(); }else if(name == "autoscroll_off"){ autoscroll_off(); IO::geti()->echo("Autoscroll wy³¹czony"); }else if(name == "autoscroll_slower"){ autoscroll_nowait(+Config::geti()->autoscroll_interval*0.25); }else if(name == "autoscroll_faster"){ autoscroll_nowait(-Config::geti()->autoscroll_interval*0.2); }else if(name == "transpose+5"){ transpose(+5); }else if(name == "transpose++"){ transpose(+1); }else if(name == "transpose--"){ transpose(-1); }else if(name == "transpose-5"){ transpose(-5); }else if(name == "transpose0"){ transpose(-Config::geti()->transposed); }else if(name == "alt"){ dodaj_alternatywne(); }else if(name == "log"){ ShellExecute(0, "open", Config::geti()->log_filename.c_str(), "", 0, SW_SHOW); }else if(name == "associate_files"){ associate_files(); }else if(name == "help"){ show_help(); }else if(name == "info"){ stringstream ss; ss<<Config::geti()->program_name<<endl; ss<<"wersja "<<version<<endl; IO::geti()->message_box("O programie",ss.str()); }else if(name == "cmd_toggle"){ cmd_switch(); }else if(name == "toolbar_toggle"){ toolbar_switch(); }else if(name == "scroll_to_begin"){ set_scroll(0); }else if(name == "scroll_to_end"){ SendMessage(Controls::geti()->find("editor"), WM_VSCROLL, SB_BOTTOM, 0); }else if(name == "save_pattern"){ save_pattern(); }else if(name == "insert_pattern"){ insert_pattern(); }else if(name == "exit"){ DestroyWindow(main_window); }else{ IO::geti()->error("Zdarzenie nie zosta³o obs³u¿one: "+name); } }