Ejemplo n.º 1
0
void mouse_button(int bnumber, int state)
{
    if (bnumber == 0)
        mouse_button_left(state);
    if (bnumber == 2)
        mouse_button_right(state);
}
Ejemplo n.º 2
0
void mouse_button(int bnumber, int state)
{
    switch (bnumber) {
    case SDL_BUTTON_LEFT:
        mouse_button_left(state);
        break;
    case SDL_BUTTON_MIDDLE:
        mouse_button_middle(state);
        break;
    case SDL_BUTTON_RIGHT:
        mouse_button_right(state);
        break;
    case SDL_BUTTON_WHEELUP:
        mouse_button_up(state);
        break;
    case SDL_BUTTON_WHEELDOWN:
        mouse_button_down(state);
        break;
    default:
        break;
    }
}
Ejemplo n.º 3
0
void mouse_button(HWND hwnd, ULONG msg, MPARAM mp1)
{
    if (!_mouse_enabled)
        return;

    switch (msg)
    {
    case WM_MOUSEMOVE:
        _mouse_x = SHORT1FROMMP(mp1);
        _mouse_y = SHORT2FROMMP(mp1);
        {
            SWP swp;
            WinQueryWindowPos(hwnd, &swp);
            //
            // check whether the pointer is outside or inside the window
            //

            if (FullscreenIsNow())
                visible=TRUE;

            if (_mouse_x>=0 && _mouse_x<swp.cx &&
                _mouse_y>=0 && _mouse_y<swp.cy)
            {
                //
                // FIXME: Don't capture the mouse pointer if it is in front
                // of a client dialog!
                //
                if (WinQueryCapture(HWND_DESKTOP)!=hwnd && hide_mouseptr && !FullscreenIsNow())
                    WinSetCapture(HWND_DESKTOP, hwnd);

                if (visible && /*_mouse_enabled &&*/ hide_mouseptr &&
                    !FullscreenIsNow())
                {
                    WinShowPointer(HWND_DESKTOP, FALSE);
                    visible=FALSE;
                }
            }
            else
            {
                if (WinQueryCapture(HWND_DESKTOP)==hwnd && !FullscreenIsNow())
                    WinSetCapture(HWND_DESKTOP, NULLHANDLE);

                if (!visible && !FullscreenIsNow())
                {
                    WinShowPointer(HWND_DESKTOP, TRUE);
                    visible=TRUE;
                }

                //
                // don't use 'outside'-values which appears one times
                // if the mouse pointer leaves the window
                //
                if (_mouse_x<0) _mouse_x=0;
                else
                    if (_mouse_x>=swp.cx)
                        _mouse_x=swp.cx-1;

                if (_mouse_y<0) _mouse_y=0;
                else
                    if (_mouse_y>=swp.cy)
                        _mouse_y=swp.cy-1;
            }
        }
        return;
    case WM_BUTTON1DOWN:
        mouse_button_left(1);
        return;
    case WM_BUTTON1UP:
        mouse_button_left(0);
        return;
    case WM_BUTTON2DOWN:
        mouse_button_right(1);
        return;
    case WM_BUTTON2UP:
        mouse_button_right(0);
        return;
    }
}