fix float error in small resolution
This commit is contained in:
parent
49dc99f170
commit
9920fee4ea
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user