zoom cursor on different OSs
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
77ee60c8dc
commit
aafc2e0a8e
@ -466,10 +466,19 @@ class _ImagePaintState extends State<ImagePaint> {
|
|||||||
if (cache == null) {
|
if (cache == null) {
|
||||||
return MouseCursor.defer;
|
return MouseCursor.defer;
|
||||||
} else {
|
} else {
|
||||||
final isViewAdaptive =
|
bool shouldScale = false;
|
||||||
Provider.of<CanvasModel>(context, listen: false).viewStyle.style ==
|
if (Platform.isWindows) {
|
||||||
kRemoteViewStyleAdaptive;
|
final isViewAdaptive =
|
||||||
final key = cache.updateGetKey(scale, zoomCursor.value && isViewAdaptive);
|
Provider.of<CanvasModel>(context, listen: false).viewStyle.style ==
|
||||||
|
kRemoteViewStyleAdaptive;
|
||||||
|
shouldScale = zoomCursor.value && isViewAdaptive;
|
||||||
|
} else {
|
||||||
|
final isViewOriginal =
|
||||||
|
Provider.of<CanvasModel>(context, listen: false).viewStyle.style ==
|
||||||
|
kRemoteViewStyleOriginal;
|
||||||
|
shouldScale = zoomCursor.value || isViewOriginal;
|
||||||
|
}
|
||||||
|
final key = cache.updateGetKey(scale, shouldScale);
|
||||||
if (!cursor.cachedKeys.contains(key)) {
|
if (!cursor.cachedKeys.contains(key)) {
|
||||||
debugPrint("Register custom cursor with key $key");
|
debugPrint("Register custom cursor with key $key");
|
||||||
// [Safety]
|
// [Safety]
|
||||||
@ -635,8 +644,15 @@ class CursorPaint extends StatelessWidget {
|
|||||||
double x = (m.x - hotx) * c.scale + cx;
|
double x = (m.x - hotx) * c.scale + cx;
|
||||||
double y = (m.y - hoty) * c.scale + cy;
|
double y = (m.y - hoty) * c.scale + cy;
|
||||||
double scale = 1.0;
|
double scale = 1.0;
|
||||||
final isViewAdaptive = c.viewStyle.style == kRemoteViewStyleAdaptive;
|
bool shouldScale = false;
|
||||||
if (zoomCursor.isTrue && isViewAdaptive) {
|
if (Platform.isWindows) {
|
||||||
|
final isViewAdaptive = c.viewStyle.style == kRemoteViewStyleAdaptive;
|
||||||
|
shouldScale = zoomCursor.value && isViewAdaptive;
|
||||||
|
} else {
|
||||||
|
final isViewOriginal = c.viewStyle.style == kRemoteViewStyleOriginal;
|
||||||
|
shouldScale = zoomCursor.value || isViewOriginal;
|
||||||
|
}
|
||||||
|
if (shouldScale) {
|
||||||
x = m.x - hotx + cx / c.scale;
|
x = m.x - hotx + cx / c.scale;
|
||||||
y = m.y - hoty + cy / c.scale;
|
y = m.y - hoty + cy / c.scale;
|
||||||
scale = c.scale;
|
scale = c.scale;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user