修复高dpi拖动屏幕时操作距离比例不正确

This commit is contained in:
MrZ626
2021-05-27 02:20:35 +08:00
parent a0a959e901
commit fecb292e9b
2 changed files with 3 additions and 3 deletions

View File

@@ -142,7 +142,7 @@ function love.mousemoved(x,y,dx,dy,touch)
dx,dy=dx/SCR.k,dy/SCR.k
if SCN.mouseMove then SCN.mouseMove(mx,my,dx,dy)end
if ms.isDown(1)then
WIDGET.drag(mx,my,dx,dy)
WIDGET.drag(mx,my,dx*SCR.dpi,dy*SCR.dpi)
else
WIDGET.cursorMove(mx,my)
end
@@ -178,7 +178,7 @@ function love.touchmoved(_,x,y,dx,dy)
if SCN.swapping then return end
x,y=xOy:inverseTransformPoint(x,y)
if SCN.touchMove then SCN.touchMove(x,y,dx/SCR.k,dy/SCR.k)end
WIDGET.drag(x,y,dx,dy)
WIDGET.drag(x,y,dx*SCR.dpi,dy*SCR.dpi)
if touching then
WIDGET.cursorMove(x,y)
if not WIDGET.sel then touching=false end

View File

@@ -1124,7 +1124,7 @@ function WIDGET.drag(x,y,dx,dy)
if WIDGET.sel then
local W=WIDGET.sel
if W.type=='slider'or W.type=='textBox'then
W:drag(x,y+WIDGET.scrollPos,dx*SCR.dpi,dy*SCR.dpi)
W:drag(x,y+WIDGET.scrollPos,dx,dy)
elseif not W:isAbove(x,y)then
WIDGET.unFocus(true)
end