Merge pull request #2331 from fufesou/fix_remote_cursor_scrollbar

fix remote cursor, when "Scrollbar" is checked
This commit is contained in:
RustDesk 2022-11-26 12:42:29 +08:00 committed by GitHub
commit f672e022de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -506,7 +506,6 @@ class CursorPaint extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
final m = Provider.of<CursorModel>(context); final m = Provider.of<CursorModel>(context);
final c = Provider.of<CanvasModel>(context); final c = Provider.of<CanvasModel>(context);
// final adjust = m.adjustForKeyboard();
double hotx = m.hotx; double hotx = m.hotx;
double hoty = m.hoty; double hoty = m.hoty;
if (m.image == null) { if (m.image == null) {
@ -515,21 +514,34 @@ class CursorPaint extends StatelessWidget {
hoty = preDefaultCursor.image!.height / 2; hoty = preDefaultCursor.image!.height / 2;
} }
} }
return zoomCursor.isTrue
? CustomPaint( double cx = c.x;
painter: ImagePainter( double cy = c.y;
image: m.image ?? preDefaultCursor.image, if (c.scrollStyle == ScrollStyle.scrollbar) {
x: m.x - hotx + c.x / c.scale, final d = c.parent.target!.ffiModel.display;
y: m.y - hoty + c.y / c.scale, final imageWidth = d.width * c.scale;
scale: c.scale), final imageHeight = d.height * c.scale;
) cx = -imageWidth * c.scrollX;
: CustomPaint( cy = -imageHeight * c.scrollY;
painter: ImagePainter( }
image: m.image ?? preDefaultCursor.image,
x: (m.x - hotx) * c.scale + c.x, double x = (m.x - hotx) * c.scale + cx;
y: (m.y - hoty) * c.scale + c.y, double y = (m.y - hoty) * c.scale + cx;
scale: 1.0), double scale = 1.0;
); if (zoomCursor.isTrue) {
x = m.x - hotx + cx / c.scale;
y = m.y - hoty + cy / c.scale;
scale = c.scale;
}
return CustomPaint(
painter: ImagePainter(
image: m.image ?? preDefaultCursor.image,
x: x,
y: y,
scale: scale,
),
);
} }
} }