Пример #1
0
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);
}
Пример #2
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 {