import 'dart:math'; import 'package:flutter/material.dart'; class GestureWidget extends StatefulWidget { @override _GestureWidgetState createState() => _GestureWidgetState(); } class _GestureWidgetState extends State { double _scale = 1.0; Offset _offset = Offset.zero; double _rotation = 0.0; @override Widget build(BuildContext context) { return GestureDetector( onScaleStart: (details) { if (details.pointerCount == 1) { print('Döndürme başlangıcı'); } else { print('Taşıma ve Yakınlaştırma başlangıcı'); } }, onScaleUpdate: (details) { if (details.pointerCount == 1) { // Tek parmakla döndürme hesabı setState(() { _rotation = details.rotation; print('Döndürme: $_rotation'); }); } else { // Çift parmakla taşıma ve yakınlaştırma hesabı setState(() { _scale = details.scale; _offset += details.focalPoint - details.localFocalPoint; print('Yakınlaştırma: $_scale, Taşıma: $_offset'); }); } }, child: Transform.scale( scale: _scale, child: Transform.rotate( angle: _rotation, child: Container( width: 200, height: 200, color: Colors.blue, child: Center( child: Text('Beni Dönüştür!'), ), ), ), ), ); } }