import 'dart:math'; import 'package:flutter/material.dart'; class GestureWidget extends StatefulWidget { @override _GestureWidgetState createState() => _GestureWidgetState(); } class _GestureWidgetState extends State { double _scale = 1.0; double _previousScale = 1.0; Offset _offset = Offset.zero; Offset _previousOffset = Offset.zero; double _rotation = 0.0; double _previousRotation = 0.0; @override Widget build(BuildContext context) { return GestureDetector( onScaleStart: (details) { _previousScale = _scale; _previousOffset = details.focalPoint; _previousRotation = _rotation; }, onScaleUpdate: (details) { setState(() { _scale = _previousScale * details.scale; _offset = _previousOffset + (details.focalPoint - _previousOffset); _rotation = _previousRotation + details.rotation; // Burada eventı işleyebilirsiniz print('Scale: $_scale, Offset: $_offset, Rotation: $_rotation'); }); }, onScaleEnd: (details) { _previousScale = _scale; _previousOffset = _offset; _previousRotation = _rotation; }, child: Transform( transform: Matrix4.identity() ..translate(_offset.dx, _offset.dy) ..scale(_scale) ..rotateZ(_rotation), alignment: FractionalOffset.center, child: Container( width: 200, height: 200, color: Colors.blue, child: Center( child: Text('Transform Me!'), ), ), ), ); } }