void VolumeWindow::redraw() { m_surf->PutImage(cache.img(bg), ivec2(0, 0)); draw_music_vol(); draw_sfx_vol(); inm->redraw(); }
static void create_volume_window() { char *ff="art/frame.spe"; int t=SPEC_IMAGE; int u_u=cash.reg(ff,"u_u",t,1), u_d=cash.reg(ff,"u_u",t,1), u_ua=cash.reg(ff,"u_ua",t,1), u_da=cash.reg(ff,"u_da",t,1), d_u=cash.reg(ff,"d_u",t,1), d_d=cash.reg(ff,"d_u",t,1), d_ua=cash.reg(ff,"d_ua",t,1), d_da=cash.reg(ff,"d_da",t,1); volume_window=eh->new_window(prop->getd("volume_x",xres/2-20), prop->getd("volume_y",yres/2-50), 41-WINDOW_FRAME_LEFT-WINDOW_FRAME_RIGHT, 101-WINDOW_FRAME_TOP-WINDOW_FRAME_BOTTOM, new ico_button(10,27,ID_SFX_DOWN,d_u,d_d,d_ua,d_da, new ico_button(21,27,ID_SFX_UP,u_u,u_d,u_ua,u_da, new ico_button(10,63,ID_MUSIC_DOWN,d_u,d_d,d_ua,d_da, new ico_button(21,63,ID_MUSIC_UP,u_u,u_d,u_ua,u_da, NULL))))); cash.img(cash.reg(ff,"vcontrol",t,1))->put_image(volume_window->screen,0,0); draw_music_vol(); draw_sfx_vol(); volume_window->inm->redraw(); eh->grab_focus(volume_window); }
static void create_volume_window() { /* int vx=WINDOW_FRAME_LEFT,vy=WINDOW_FRAME_TOP+eh->font()->height()*2,scroller_height=130,bh=eh->font()->height()+5; volume_window=eh->new_window(prop->getd("volume_x",xres/2-20), prop->getd("volume_y",yres/2-50), -1, -1, new scroller(vx,vy,LOWER_SFX,0,scroller_height,0,127, new scroller(vx+30,vy,LOWER_MUSIC,0,scroller_height,0,127,NULL)),symbol_str("VOLUME")); event ev; int done=0; do { eh->flush_screen(); eh->get_event(ev); if (ev.type==EV_CLOSE_WINDOW && ev.window==volume_window) done=1; } while (!done); eh->close_window(volume_window); volume_window=NULL; */ char *ff="art/frame.spe"; int t=SPEC_IMAGE; int u_u=cash.reg(ff,"u_u",t,1), u_d=cash.reg(ff,"u_u",t,1), u_ua=cash.reg(ff,"u_ua",t,1), u_da=cash.reg(ff,"u_da",t,1), d_u=cash.reg(ff,"d_u",t,1), d_d=cash.reg(ff,"d_u",t,1), d_ua=cash.reg(ff,"d_ua",t,1), d_da=cash.reg(ff,"d_da",t,1), slider=cash.reg(ff,"volume_slide",t,1); image *ok_image=cash.img(cash.reg("art/frame.spe","dev_ok",SPEC_IMAGE,1))->copy(); volume_window=eh->new_window(prop->getd("volume_x",xres-185), prop->getd("volume_y",yres/2-50), 120-WINDOW_FRAME_LEFT-WINDOW_FRAME_RIGHT-2, 163-WINDOW_FRAME_TOP-WINDOW_FRAME_BOTTOM, new ico_button(62,112,ID_SFX_DOWN,d_u,d_d,d_ua,d_da, new ico_button(24,18,ID_SFX_UP,u_u,u_d,u_ua,u_da, new button(17,127,ID_QUIT_OK,ok_image, new info_field(35,0,0,symbol_str("SFXv"),0))))); /* new ico_button(10,72,ID_MUSIC_DOWN,d_u,d_d,d_ua,d_da, new ico_button(21,72,ID_MUSIC_UP,u_u,u_d,u_ua,u_da, new info_field(3,86,0,symbol_str("MUSICv"), NULL))))))); */ cash.img(cash.reg(ff,"vcontrol",t,1))->put_image(volume_window->screen,0,0); // draw_music_vol(slider); draw_sfx_vol(slider); volume_window->inm->redraw(); eh->grab_focus(volume_window); eh->flush_screen(); volume_window->inm->allow_no_selections(); volume_window->inm->clear_current(); event ev; do { do { eh->get_event(ev); } while (ev.type==EV_MOUSE_MOVE && eh->event_waiting()); eh->flush_screen(); if (ev.type==EV_MESSAGE) { switch (ev.message.id) { case ID_SFX_UP : { if (volume_window) { sfx_volume+=16; if (sfx_volume>127) sfx_volume=127; draw_sfx_vol(slider); char *s="sfx/ambtech1.wav"; if (sound_avail&SFX_INITIALIZED) cash.sfx(cash.reg(s,s,SPEC_EXTERN_SFX,1))->play(sfx_volume); } } break; case ID_SFX_DOWN : { if (volume_window) { sfx_volume-=16; if (sfx_volume<0) sfx_volume=0; draw_sfx_vol(slider); char *s="sfx/ambtech1.wav"; if (sound_avail&SFX_INITIALIZED) cash.sfx(cash.reg(s,s,SPEC_EXTERN_SFX,1))->play(sfx_volume); } } break; case ID_MUSIC_UP : { if (volume_window) { music_volume+=16; if (music_volume>127) music_volume=127; draw_music_vol(slider); if (current_song) current_song->set_volume(music_volume); } } break; case ID_MUSIC_DOWN : { if (volume_window) { music_volume-=16; if (music_volume<0) music_volume=0; draw_music_vol(slider); if (current_song) current_song->set_volume(music_volume); } } break; case ID_QUIT_OK : { eh->close_window(volume_window); volume_window=NULL; } } } else if (ev.type==EV_CLOSE_WINDOW || (ev.type==EV_KEY && ev.key==JK_ESC)) { eh->close_window(volume_window); volume_window=NULL; } } while (volume_window); delete ok_image; }
void menu_handler(event &ev, jwindow *ico_win) { switch (ev.type) { case EV_MESSAGE : { switch (ev.message.id) { case ID_LIGHT_OFF : { gamma_correct(pal,1); } break; case ID_START_GAME : { the_game->load_level(level_file); the_game->set_state(RUN_STATE); } break; case ID_VOLUME : { create_volume_window(); } break; case ID_SFX_UP : { if (volume_window) { sfx_volume+=16; if (sfx_volume>127) sfx_volume=127; draw_sfx_vol(); } } break; case ID_SFX_DOWN : { if (volume_window) { sfx_volume-=16; if (sfx_volume<0) sfx_volume=0; draw_sfx_vol(); } } break; case ID_MUSIC_UP : { if (volume_window) { music_volume+=16; if (music_volume>127) music_volume=127; draw_music_vol(); } } break; case ID_MUSIC_DOWN : { if (volume_window) { music_volume-=16; if (music_volume<0) music_volume=0; draw_music_vol(); } } break; case ID_MEDIUM : { set_symbol_value(l_difficulty,l_medium); save_difficulty(); } break; case ID_HARD : { set_symbol_value(l_difficulty,l_hard); save_difficulty(); } break; case ID_EXTREME : { set_symbol_value(l_difficulty,l_extreme); save_difficulty(); } break; case ID_EASY : { set_symbol_value(l_difficulty,l_easy); save_difficulty(); } break; } break; } break; case EV_CLOSE_WINDOW : { if (ev.window==volume_window) { eh->close_window(volume_window); volume_window=NULL; } } break; } }