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 tryMoveCanvasX = false; | ||||
|     if (dx > 0) { | ||||
|       final maxCanvasCanMove = | ||||
|           _displayOriginX + FFI.imageModel.image!.width - r.right; | ||||
|       final maxCanvasCanMove = _displayOriginX + | ||||
|           FFI.imageModel.image!.width - | ||||
|           r.right.roundToDouble(); | ||||
|       tryMoveCanvasX = _x + dx > cx && maxCanvasCanMove > 0; | ||||
|       if (tryMoveCanvasX) { | ||||
|         dx = min(dx, maxCanvasCanMove); | ||||
| @ -538,7 +539,7 @@ class CursorModel with ChangeNotifier { | ||||
|         dx = min(dx, maxCursorCanMove); | ||||
|       } | ||||
|     } else if (dx < 0) { | ||||
|       final maxCanvasCanMove = _displayOriginX - r.left; | ||||
|       final maxCanvasCanMove = _displayOriginX - r.left.roundToDouble(); | ||||
|       tryMoveCanvasX = _x + dx < cx && maxCanvasCanMove < 0; | ||||
|       if (tryMoveCanvasX) { | ||||
|         dx = max(dx, maxCanvasCanMove); | ||||
| @ -549,8 +550,9 @@ class CursorModel with ChangeNotifier { | ||||
|     } | ||||
|     var tryMoveCanvasY = false; | ||||
|     if (dy > 0) { | ||||
|       final mayCanvasCanMove = | ||||
|           _displayOriginY + FFI.imageModel.image!.height - r.bottom; | ||||
|       final mayCanvasCanMove = _displayOriginY + | ||||
|           FFI.imageModel.image!.height - | ||||
|           r.bottom.roundToDouble(); | ||||
|       tryMoveCanvasY = _y + dy > cy && mayCanvasCanMove > 0; | ||||
|       if (tryMoveCanvasY) { | ||||
|         dy = min(dy, mayCanvasCanMove); | ||||
| @ -559,7 +561,7 @@ class CursorModel with ChangeNotifier { | ||||
|         dy = min(dy, mayCursorCanMove); | ||||
|       } | ||||
|     } else if (dy < 0) { | ||||
|       final mayCanvasCanMove = _displayOriginY - r.top; | ||||
|       final mayCanvasCanMove = _displayOriginY - r.top.roundToDouble(); | ||||
|       tryMoveCanvasY = _y + dy < cy && mayCanvasCanMove < 0; | ||||
|       if (tryMoveCanvasY) { | ||||
|         dy = max(dy, mayCanvasCanMove); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user