fix mouse jumping: query GDK pointer position at call time
Flutter's globalPosition is window-relative, not screen-absolute. Now using gdk_device_get_position() on the native side to get the actual screen coordinates at the moment startDrag/startResize is called. Dart no longer passes coordinates — the native handler queries the pointer directly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -33,7 +33,7 @@ class ColumnHat extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
final tokens = ClideTheme.of(context).surface;
|
||||
return GestureDetector(
|
||||
onPanStart: (d) => windowControls.startDrag(d.globalPosition),
|
||||
onPanStart: (_) => windowControls.startDrag(),
|
||||
child: Container(
|
||||
height: hatHeight,
|
||||
color: tokens.panelHeader,
|
||||
|
||||
@@ -45,7 +45,7 @@ class ClideResizeBorder extends StatelessWidget {
|
||||
return MouseRegion(
|
||||
cursor: cursor,
|
||||
child: GestureDetector(
|
||||
onPanStart: (d) => windowControls.startResize(edge, d.globalPosition),
|
||||
onPanStart: (_) => windowControls.startResize(edge),
|
||||
child: const ColoredBox(color: Color(0x00000000)),
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user