Exemplo n.º 1
0
void ph_WarpWMCursor(_THIS, Uint16 x, Uint16 y)
{
    short abs_x, abs_y;

    SDL_Lock_EventThread();
    PtGetAbsPosition( window, &abs_x, &abs_y );
    PhMoveCursorAbs( PhInputGroup(NULL), x + abs_x, y + abs_y );
    SDL_Unlock_EventThread();
}
Exemplo n.º 2
0
SDL_GrabMode ph_GrabInputNoLock(_THIS, SDL_GrabMode mode)
{
    short abs_x, abs_y;

    if( mode == SDL_GRAB_OFF )
    {
        PtSetResource(window, Pt_ARG_WINDOW_STATE, Pt_FALSE, Ph_WM_STATE_ISALTKEY);
    }
    else
    {
        PtSetResource(window, Pt_ARG_WINDOW_STATE, Pt_TRUE, Ph_WM_STATE_ISALTKEY);

        PtGetAbsPosition(window, &abs_x, &abs_y);
        PhMoveCursorAbs(PhInputGroup(NULL), abs_x + SDL_VideoSurface->w/2, abs_y + SDL_VideoSurface->h/2);
    }

    SDL_Unlock_EventThread();

    return(mode);
}
Exemplo n.º 3
0
/* qnx_mouse_position:
 *  Sets the position of the mickey-mode mouse.
 */
static void qnx_mouse_position(int x, int y)
{
   short mx = 0, my = 0;

   pthread_mutex_lock(&qnx_event_mutex);
   
   _mouse_x = x;
   _mouse_y = y;
   
   if (ph_gfx_mode == PH_GFX_WINDOW)
      PtGetAbsPosition(ph_window, &mx, &my);
   
   PhMoveCursorAbs(PhInputGroup(NULL), x + mx, y + my);
   
   mymickey_x = mymickey_y = 0;

   qnx_mouse_warped = TRUE;
   
   pthread_mutex_unlock(&qnx_event_mutex);
}
Exemplo n.º 4
0
static int ph_WarpedMotion(_THIS, PhEvent_t *winEvent)
{
    PhRect_t *rect = PhGetRects( winEvent );

    int centre_x, centre_y;
    int dx, dy;
    short abs_x, abs_y;
    int posted;

    centre_x = SDL_VideoSurface->w / 2;
    centre_y = SDL_VideoSurface->h / 2;

    dx = rect->ul.x - centre_x;
    dy = rect->ul.y - centre_y;

    posted = SDL_PrivateMouseMotion( 0, 1, dx, dy );

    /* Move mouse cursor to middle of the window */
    PtGetAbsPosition( window, &abs_x, &abs_y );
    PhMoveCursorAbs(PhInputGroup(NULL), abs_x + centre_x, abs_y + centre_y);

    return (posted);
}