fix: use rawRGBa cursor workaround

This commit is contained in:
Kingtous 2022-10-10 10:53:10 +08:00
parent b7b1b183f1
commit abbf56f2ab
2 changed files with 10 additions and 2 deletions

View File

@ -404,7 +404,9 @@ class ImagePaint extends StatelessWidget {
controller: _horizontal,
thumbVisibility: false,
trackVisibility: false,
notificationPredicate: (notification) => notification.depth == 1,
notificationPredicate: layoutSize.height < size.height
? (notification) => notification.depth == 1
: defaultScrollNotificationPredicate,
child: widget,
),
);

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'dart:math';
import 'dart:typed_data';
import 'dart:ui' as ui;
@ -848,7 +849,12 @@ class CursorModel with ChangeNotifier {
}
_updateCacheLinux(ui.Image image, int id, int w, int h) async {
final data = await image.toByteData(format: ui.ImageByteFormat.png);
ByteData? data;
if (Platform.isWindows) {
data = await image.toByteData(format: ui.ImageByteFormat.rawRgba);
} else {
data = await image.toByteData(format: ui.ImageByteFormat.png);
}
_cacheLinux = CursorData(
peerId: this.id,
data: data?.buffer.asUint8List(),