mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-04-07 07:41:28 +03:00
fix float error in small resolution
This commit is contained in:
@@ -528,8 +528,9 @@ class CursorModel with ChangeNotifier {
|
|||||||
var cy = r.center.dy;
|
var cy = r.center.dy;
|
||||||
var tryMoveCanvasX = false;
|
var tryMoveCanvasX = false;
|
||||||
if (dx > 0) {
|
if (dx > 0) {
|
||||||
final maxCanvasCanMove =
|
final maxCanvasCanMove = _displayOriginX +
|
||||||
_displayOriginX + FFI.imageModel.image!.width - r.right;
|
FFI.imageModel.image!.width -
|
||||||
|
r.right.roundToDouble();
|
||||||
tryMoveCanvasX = _x + dx > cx && maxCanvasCanMove > 0;
|
tryMoveCanvasX = _x + dx > cx && maxCanvasCanMove > 0;
|
||||||
if (tryMoveCanvasX) {
|
if (tryMoveCanvasX) {
|
||||||
dx = min(dx, maxCanvasCanMove);
|
dx = min(dx, maxCanvasCanMove);
|
||||||
@@ -538,7 +539,7 @@ class CursorModel with ChangeNotifier {
|
|||||||
dx = min(dx, maxCursorCanMove);
|
dx = min(dx, maxCursorCanMove);
|
||||||
}
|
}
|
||||||
} else if (dx < 0) {
|
} else if (dx < 0) {
|
||||||
final maxCanvasCanMove = _displayOriginX - r.left;
|
final maxCanvasCanMove = _displayOriginX - r.left.roundToDouble();
|
||||||
tryMoveCanvasX = _x + dx < cx && maxCanvasCanMove < 0;
|
tryMoveCanvasX = _x + dx < cx && maxCanvasCanMove < 0;
|
||||||
if (tryMoveCanvasX) {
|
if (tryMoveCanvasX) {
|
||||||
dx = max(dx, maxCanvasCanMove);
|
dx = max(dx, maxCanvasCanMove);
|
||||||
@@ -549,8 +550,9 @@ class CursorModel with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
var tryMoveCanvasY = false;
|
var tryMoveCanvasY = false;
|
||||||
if (dy > 0) {
|
if (dy > 0) {
|
||||||
final mayCanvasCanMove =
|
final mayCanvasCanMove = _displayOriginY +
|
||||||
_displayOriginY + FFI.imageModel.image!.height - r.bottom;
|
FFI.imageModel.image!.height -
|
||||||
|
r.bottom.roundToDouble();
|
||||||
tryMoveCanvasY = _y + dy > cy && mayCanvasCanMove > 0;
|
tryMoveCanvasY = _y + dy > cy && mayCanvasCanMove > 0;
|
||||||
if (tryMoveCanvasY) {
|
if (tryMoveCanvasY) {
|
||||||
dy = min(dy, mayCanvasCanMove);
|
dy = min(dy, mayCanvasCanMove);
|
||||||
@@ -559,7 +561,7 @@ class CursorModel with ChangeNotifier {
|
|||||||
dy = min(dy, mayCursorCanMove);
|
dy = min(dy, mayCursorCanMove);
|
||||||
}
|
}
|
||||||
} else if (dy < 0) {
|
} else if (dy < 0) {
|
||||||
final mayCanvasCanMove = _displayOriginY - r.top;
|
final mayCanvasCanMove = _displayOriginY - r.top.roundToDouble();
|
||||||
tryMoveCanvasY = _y + dy < cy && mayCanvasCanMove < 0;
|
tryMoveCanvasY = _y + dy < cy && mayCanvasCanMove < 0;
|
||||||
if (tryMoveCanvasY) {
|
if (tryMoveCanvasY) {
|
||||||
dy = max(dy, mayCanvasCanMove);
|
dy = max(dy, mayCanvasCanMove);
|
||||||
|
|||||||
Reference in New Issue
Block a user