import 'dart:math'; import 'package:flutter/material.dart'; class My3DTrackpad extends StatefulWidget { const My3DTrackpad({Key? key}) : super(key: key); @Override State createState() => _My3DTrackpadState(); } class _My3DTrackpadState extends State { double _rotation = 0.0; double _scale = 1.0; double _translateX = 0.0; double _translateY = 0.0; @override Widget build(BuildContext context) { return GestureDetector( onPanUpdate: (details) { setState(() { _translateX += details.delta.dx; _translateY += details.delta.dy; }); }, onScaleUpdate: (details) { // Ölçekleme detaylarından dönüş açısını çıkarın (yaklaşık) _rotation += details.rotation; setState(() { _scale = details.scale; }); }, child: Container( width: 200.0, height: 200.0, decoration: BoxDecoration( color: Colors.blue, border: Border.all(color: Colors.black), ), child: Transform.rotate( angle: _rotation, child: Transform.scale( scale: _scale, child: Transform.translate( offset: Offset(_translateX, _translateY), child: Text('3D Trackpad'), ), ), ), ), ); } }