mirror of https://github.com/FreeRDP/FreeRDP
freerdp-client: fix input coord translation
This commit is contained in:
parent
c6049f7628
commit
284f54ffcd
|
@ -99,7 +99,8 @@ static BOOL xf_event_Expose(xfInfo* xfi, XEvent* event, BOOL app)
|
|||
if (!app)
|
||||
{
|
||||
|
||||
if (xfi->scale != 1.0)
|
||||
//if (xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
xf_draw_screen_scaled(xfi, x, y, w, h, FALSE);
|
||||
}
|
||||
|
@ -164,10 +165,11 @@ static BOOL xf_event_MotionNotify(xfInfo* xfi, XEvent* event, BOOL app)
|
|||
}
|
||||
|
||||
/* Take scaling in to consideration */
|
||||
if(xfi->scale != 1.0)
|
||||
//if(xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
x = (int)(x * (1.0 / xfi->scale) );
|
||||
y = (int)(y * (1.0 / xfi->scale) );
|
||||
x = (int)((x - xfi->offset_x) * (1.0 / xfi->scale) );
|
||||
y = (int)((y - xfi->offset_y) * (1.0 / xfi->scale) );
|
||||
}
|
||||
|
||||
input->MouseEvent(input, PTR_FLAGS_MOVE, x, y);
|
||||
|
@ -274,12 +276,12 @@ static BOOL xf_event_ButtonPress(xfInfo* xfi, XEvent* event, BOOL app)
|
|||
|
||||
}
|
||||
|
||||
if (xfi->scale != 1.0)
|
||||
{
|
||||
/* Take scaling in to consideration */
|
||||
x = (int) (x * (1.0 / xfi->scale));
|
||||
y = (int) (y * (1.0 / xfi->scale));
|
||||
}
|
||||
//if (xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
x = (int)((x - xfi->offset_x) * (1.0 / xfi->scale) );
|
||||
y = (int)((y - xfi->offset_y) * (1.0 / xfi->scale) );
|
||||
}
|
||||
|
||||
if (extended)
|
||||
input->ExtendedMouseEvent(input, flags, x, y);
|
||||
|
@ -364,11 +366,12 @@ static BOOL xf_event_ButtonRelease(xfInfo* xfi, XEvent* event, BOOL app)
|
|||
x, y, &x, &y, &childWindow);
|
||||
}
|
||||
|
||||
if (xfi->scale != 1.0)
|
||||
|
||||
//if (xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
/* Take scaling in to consideration */
|
||||
x = (int) (x * (1.0 / xfi->scale));
|
||||
y = (int) (y * (1.0 / xfi->scale));
|
||||
x = (int)((x - xfi->offset_x) * (1.0 / xfi->scale) );
|
||||
y = (int)((y - xfi->offset_y) * (1.0 / xfi->scale) );
|
||||
}
|
||||
|
||||
if (extended)
|
||||
|
|
|
@ -231,7 +231,7 @@ void xf_sw_end_paint(rdpContext* context)
|
|||
|
||||
XPutImage(xfi->display, xfi->primary, xfi->gc, xfi->image, x, y, x, y, w, h);
|
||||
|
||||
if (xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
xf_draw_screen_scaled(xfi, x, y, w, h, TRUE);
|
||||
}
|
||||
|
@ -266,7 +266,8 @@ void xf_sw_end_paint(rdpContext* context)
|
|||
//combine xfi->primary with xfi->image
|
||||
XPutImage(xfi->display, xfi->primary, xfi->gc, xfi->image, x, y, x, y, w, h);
|
||||
|
||||
if (xfi->scale != 1.0)
|
||||
//if (xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
xf_draw_screen_scaled(xfi, x, y, w, h, TRUE);
|
||||
}
|
||||
|
@ -357,7 +358,8 @@ void xf_hw_end_paint(rdpContext* context)
|
|||
|
||||
xf_lock_x11(xfi, FALSE);
|
||||
|
||||
if (xfi->scale != 1.0)
|
||||
//if (xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
xf_draw_screen_scaled(xfi, x, y, w, h, TRUE);
|
||||
}
|
||||
|
@ -389,7 +391,8 @@ void xf_hw_end_paint(rdpContext* context)
|
|||
w = cinvalid[i].w;
|
||||
h = cinvalid[i].h;
|
||||
|
||||
if(xfi->scale != 1.0)
|
||||
//if(xfi->scale != 1.0)
|
||||
if ( (xfi->scale != 1.0) || (xfi->offset_x) || (xfi->offset_y) )
|
||||
{
|
||||
xf_draw_screen_scaled(xfi, x, y, w, h, TRUE);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue