Merge pull request #3429 from fufesou/refact/canvas_pos_size
refact canvas position and size
This commit is contained in:
		
						commit
						69add96f6e
					
				| @ -953,12 +953,13 @@ class _DisplayMenuState extends State<_DisplayMenu> { | ||||
| 
 | ||||
|       final canvasModel = widget.ffi.canvasModel; | ||||
|       final width = (canvasModel.getDisplayWidth() * canvasModel.scale + | ||||
|                   canvasModel.windowBorderWidth * 2) * | ||||
|                   CanvasModel.leftToEdge + | ||||
|                   CanvasModel.rightToEdge) * | ||||
|               scale + | ||||
|           magicWidth; | ||||
|       final height = (canvasModel.getDisplayHeight() * canvasModel.scale + | ||||
|                   canvasModel.tabBarHeight + | ||||
|                   canvasModel.windowBorderWidth * 2) * | ||||
|                   CanvasModel.topToEdge + | ||||
|                   CanvasModel.bottomToEdge) * | ||||
|               scale + | ||||
|           magicHeight; | ||||
|       double left = wndRect.left + (wndRect.width - width) / 2; | ||||
| @ -1027,10 +1028,10 @@ class _DisplayMenuState extends State<_DisplayMenu> { | ||||
|     final canvasModel = widget.ffi.canvasModel; | ||||
|     final displayWidth = canvasModel.getDisplayWidth(); | ||||
|     final displayHeight = canvasModel.getDisplayHeight(); | ||||
|     final requiredWidth = displayWidth + | ||||
|         (canvasModel.tabBarHeight + canvasModel.windowBorderWidth * 2); | ||||
|     final requiredHeight = displayHeight + | ||||
|         (canvasModel.tabBarHeight + canvasModel.windowBorderWidth * 2); | ||||
|     final requiredWidth = | ||||
|         CanvasModel.leftToEdge + displayWidth + CanvasModel.rightToEdge; | ||||
|     final requiredHeight = | ||||
|         CanvasModel.topToEdge + displayHeight + CanvasModel.bottomToEdge; | ||||
|     return selfWidth > (requiredWidth * scale) && | ||||
|         selfHeight > (requiredHeight * scale); | ||||
|   } | ||||
|  | ||||
| @ -459,8 +459,8 @@ class InputModel { | ||||
|     } | ||||
|     evt['type'] = type; | ||||
|     if (isDesktop) { | ||||
|       y = y - stateGlobal.tabBarHeight - stateGlobal.windowBorderWidth.value; | ||||
|       x -= stateGlobal.windowBorderWidth.value; | ||||
|       y -= CanvasModel.topToEdge; | ||||
|       x -= CanvasModel.leftToEdge; | ||||
|     } | ||||
|     final canvasModel = parent.target!.canvasModel; | ||||
|     final nearThr = 3; | ||||
|  | ||||
| @ -727,19 +727,21 @@ class CanvasModel with ChangeNotifier { | ||||
|   double get scrollX => _scrollX; | ||||
|   double get scrollY => _scrollY; | ||||
| 
 | ||||
|   static double get leftToEdge => | ||||
|       windowBorderWidth + kDragToResizeAreaPadding.left; | ||||
|   static double get rightToEdge => | ||||
|       windowBorderWidth + kDragToResizeAreaPadding.right; | ||||
|   static double get topToEdge => | ||||
|       tabBarHeight + windowBorderWidth + kDragToResizeAreaPadding.top; | ||||
|   static double get bottomToEdge => | ||||
|       windowBorderWidth + kDragToResizeAreaPadding.bottom; | ||||
| 
 | ||||
|   updateViewStyle() async { | ||||
|     Size getSize() { | ||||
|       final size = MediaQueryData.fromWindow(ui.window).size; | ||||
|       // If minimized, w or h may be negative here. | ||||
|       double w = size.width - | ||||
|           windowBorderWidth * 2 - | ||||
|           kDragToResizeAreaPadding.left - | ||||
|           kDragToResizeAreaPadding.right; | ||||
|       double h = size.height - | ||||
|           tabBarHeight - | ||||
|           windowBorderWidth * 2 - | ||||
|           kDragToResizeAreaPadding.top - | ||||
|           kDragToResizeAreaPadding.bottom; | ||||
|       double w = size.width - leftToEdge - rightToEdge; | ||||
|       double h = size.height - topToEdge - bottomToEdge; | ||||
|       return Size(w < 0 ? 0 : w, h < 0 ? 0 : h); | ||||
|     } | ||||
| 
 | ||||
| @ -813,8 +815,8 @@ class CanvasModel with ChangeNotifier { | ||||
|     return parent.target?.ffiModel.display.height ?? defaultHeight; | ||||
|   } | ||||
| 
 | ||||
|   double get windowBorderWidth => stateGlobal.windowBorderWidth.value; | ||||
|   double get tabBarHeight => stateGlobal.tabBarHeight; | ||||
|   static double get windowBorderWidth => stateGlobal.windowBorderWidth.value; | ||||
|   static double get tabBarHeight => stateGlobal.tabBarHeight; | ||||
| 
 | ||||
|   moveDesktopMouse(double x, double y) { | ||||
|     if (size.width == 0 || size.height == 0) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user