fingers_gesture_detector 0.0.1
fingers_gesture_detector: ^0.0.1 copied to clipboard
A gesture detector that provides transformation matrices for multi-finger gestures including translation, scaling and rotation.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:fingers_gesture_detector/fingers_gesture_detector.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Fingers Gesture Detector Demo',
theme: ThemeData(primarySwatch: Colors.blue),
home: const GestureDemoPage(),
);
}
}
class GestureDemoPage extends StatefulWidget {
const GestureDemoPage({super.key});
@override
State<GestureDemoPage> createState() => _GestureDemoPageState();
}
class _GestureDemoPageState extends State<GestureDemoPage> {
Matrix4 matrix = Matrix4.identity();
double scale = 1.0;
double rotation = 0.0;
Offset translation = Offset.zero;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Fingers Gesture Demo')),
body: Center(
child: FingersGestureDetector(
onMatrixUpdate: (Matrix4 m, _, __, ___) {
setState(() {
matrix = m;
// You could also decompose the matrix here if needed
});
},
minScale: 0.5,
maxScale: 5.0,
child: Transform(
transform: matrix,
child: Container(
width: 200,
height: 200,
color: Colors.blue,
child: const Center(
child: Text(
'Pinch, rotate or drag me!',
style: TextStyle(color: Colors.white),
),
),
),
),
),
),
);
}
}