int mouse_hook(int button, int x, int y, t_env *env) { if (env->zoombool == 1) { env->mx = x; env->my = y; } else { env->mx = L_SIZE / 2; env->my = H_SIZE / 2; } if (button == 4) { if (env->movbool != 1) { center_mouse(env); env->tot = env->tot * 0.98; } } if (button == 5) { if (env->movbool != 1) { center_mouse(env); env->tot = env->tot * 1.02; } } return (0); }
void Hardware::main_loop() { ////////// // Maus // ////////// mickey_x = mouse_x - al_mouse_x_last; mickey_y = mouse_y - al_mouse_y_last; if (gloB->screen_fullscreen_now) { mickey_x = mickey_x * (int) useR->mouse_speed / 20; mickey_y = mickey_y * (int) useR->mouse_speed / 20; } if (mouse_x < LEMSCR_X/4 || mouse_x > LEMSCR_X*3/4 || mouse_y < LEMSCR_Y/4 || mouse_y > LEMSCR_Y*3/4) center_mouse(); else { al_mouse_x_last = mouse_x; al_mouse_y_last = mouse_y; } mouse_own_x += mickey_x; mouse_own_y += mickey_y; if (mouse_own_x < 0) mouse_own_x = 0; if (mouse_own_y < 0) mouse_own_y = 0; if (mouse_own_x >= LEMSCR_X) mouse_own_x = LEMSCR_X - 1; if (mouse_own_y >= LEMSCR_Y) mouse_own_y = LEMSCR_Y - 1; // Buttons this->poll_mouse(true); ////////////// // Tastatur // ////////////// last_tick_ctrl = ctrl; last_tick_shift = shift; last_tick_alt = alt; ctrl = (key[KEY_LCONTROL] || key[KEY_RCONTROL]); shift = (key[KEY_LSHIFT ] || key[KEY_RSHIFT ]); alt = (key[KEY_ALT ] || key[KEY_ALTGR ]); // Check for text typing if (keypressed()) { key_from_buffer = readkey(); key_from_buffer_ascii = key_from_buffer & 0xff; key_from_buffer = key_from_buffer >> 8; } // Also check for modifiers. This is good for the hotkey assignment menu. // key_from_buffer_ascii will never be > -1, but maybe key_from_buffer. else {