Thread: [Super-tux-commit] supertux/src button.cpp,1.24,1.25 button.h,1.19,1.20 leveleditor.cpp,1.85,1.86
Brought to you by:
wkendrick
From: Tobias Gl??er <to...@us...> - 2004-05-05 16:59:53
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30625/src Modified Files: button.cpp button.h leveleditor.cpp Log Message: LevelEditor tilegroup/object select by wheelup/wheeldown on buttons. Support for WheelUp and WheelDown in Buttons. Index: button.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/button.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- button.cpp 5 May 2004 14:38:12 -0000 1.24 +++ button.cpp 5 May 2004 16:59:41 -0000 1.25 @@ -126,11 +126,21 @@ event.button.y < rect.y || event.button.y >= rect.y + rect.h) return; - if(event.button.button != SDL_BUTTON_LEFT) + if(event.button.button == SDL_BUTTON_RIGHT) { show_info = true; return; } + else if(event.button.button == 4) /* Mouse wheel up. */ + { + state = BUTTON_WHEELUP; + return; + } + else if(event.button.button == 5) /* Mouse wheel down. */ + { + state = BUTTON_WHEELDOWN; + return; + } if(event.type == SDL_MOUSEBUTTONDOWN) state = BUTTON_PRESSED; Index: button.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/button.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- button.h 5 May 2004 12:59:18 -0000 1.19 +++ button.h 5 May 2004 16:59:41 -0000 1.20 @@ -28,7 +28,9 @@ BUTTON_NONE = -1, BUTTON_CLICKED, BUTTON_PRESSED, - BUTTON_HOVER + BUTTON_HOVER, + BUTTON_WHEELUP, + BUTTON_WHEELDOWN }; class ButtonPanel; Index: leveleditor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v retrieving revision 1.85 retrieving revision 1.86 diff -u -d -r1.85 -r1.86 --- leveleditor.cpp 5 May 2004 16:07:19 -0000 1.85 +++ leveleditor.cpp 5 May 2004 16:59:41 -0000 1.86 @@ -1184,21 +1184,90 @@ if(le_select_mode_two_bt->get_state() == BUTTON_CLICKED) le_selection_mode = SQUARE; } - + ButtonPanelMap::iterator it; le_tilegroup_bt->event(event); - if(le_tilegroup_bt->get_state() == BUTTON_CLICKED) + switch (le_tilegroup_bt->get_state()) { + case BUTTON_CLICKED: Menu::set_current(select_tilegroup_menu); select_tilegroup_menu_effect.start(200); select_tilegroup_menu->set_pos(screen->w - 64,100,-0.5,0.5); + break; + case BUTTON_WHEELUP: + it = tilegroups_map.find(cur_tilegroup); + if(it == tilegroups_map.end()) + { + cur_tilegroup = tilegroups_map.begin()->first; + cur_objects.clear(); + break; + } + if(++it != tilegroups_map.end()) + cur_tilegroup = (*it).first; + else + cur_tilegroup = tilegroups_map.begin()->first; + + cur_objects.clear(); + break; + case BUTTON_WHEELDOWN: + it = tilegroups_map.find(cur_tilegroup); + if(it == tilegroups_map.begin()) + { + cur_tilegroup = tilegroups_map.rbegin()->first; + cur_objects.clear(); + break; + } + if(--it != --tilegroups_map.begin()) + cur_tilegroup = (*it).first; + else + cur_tilegroup = tilegroups_map.rbegin()->first; + + cur_objects.clear(); + break; + default: + break; } le_objects_bt->event(event); - if(le_objects_bt->get_state() == BUTTON_CLICKED) + switch (le_objects_bt->get_state()) { + case BUTTON_CLICKED: Menu::set_current(select_objects_menu); select_objects_menu_effect.start(200); select_objects_menu->set_pos(screen->w - 64,100,-0.5,0.5); + break; + case BUTTON_WHEELUP: + it = objects_map.find(cur_objects); + if(it == objects_map.end()) + { + cur_objects = objects_map.begin()->first; + cur_tilegroup.clear(); + break; + } + if(++it != objects_map.end()) + cur_objects = (*it).first; + else + cur_objects = objects_map.begin()->first; + + cur_tilegroup.clear(); + break; + case BUTTON_WHEELDOWN: + it = objects_map.find(cur_objects); + if(it == objects_map.begin()) + { + cur_objects = objects_map.rbegin()->first; + cur_tilegroup.clear(); + break; + } + if(--it != --objects_map.begin()) + cur_objects = (*it).first; + else + cur_objects = objects_map.rbegin()->first; + + cur_tilegroup.clear(); + break; + break; + default: + break; } le_settings_bt->event(event); @@ -1278,7 +1347,7 @@ le_current_level->badguy_data.push_back(&le_world.bad_guys.back()); } } - le_mouse_clicked[LEFT] = false; + le_mouse_clicked[LEFT] = false; } } } |