fix cursor position issues with downscaling
This commit is contained in:
parent
597cdd9b48
commit
accc47e377
5 changed files with 32 additions and 22 deletions
9
src/dd.c
9
src/dd.c
|
@ -817,11 +817,16 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
|||
g_ddraw->render.unscale_w = ((float)g_ddraw->width / g_ddraw->render.viewport.width);
|
||||
g_ddraw->render.unscale_h = ((float)g_ddraw->height / g_ddraw->render.viewport.height);
|
||||
|
||||
g_ddraw->mouse.scale_x = ((float)(g_ddraw->render.viewport.width - 1) / (g_ddraw->width - 1));
|
||||
g_ddraw->mouse.scale_y = ((float)(g_ddraw->render.viewport.height - 1) / (g_ddraw->height - 1));
|
||||
g_ddraw->mouse.unscale_x = ((float)(g_ddraw->width - 1) / (g_ddraw->render.viewport.width - 1));
|
||||
g_ddraw->mouse.unscale_y = ((float)(g_ddraw->height - 1) / (g_ddraw->render.viewport.height - 1));
|
||||
|
||||
g_ddraw->mouse.x_adjust = g_ddraw->render.viewport.x;
|
||||
g_ddraw->mouse.y_adjust = g_ddraw->render.viewport.y;
|
||||
|
||||
g_ddraw->mouse.rc.left = g_ddraw->mouse.x_adjust;;
|
||||
g_ddraw->mouse.rc.top = g_ddraw->mouse.y_adjust;;
|
||||
g_ddraw->mouse.rc.left = g_ddraw->mouse.x_adjust;
|
||||
g_ddraw->mouse.rc.top = g_ddraw->mouse.y_adjust;
|
||||
g_ddraw->mouse.rc.right = g_ddraw->width + g_ddraw->mouse.x_adjust;
|
||||
g_ddraw->mouse.rc.bottom = g_ddraw->height + g_ddraw->mouse.y_adjust;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue