import 'package:dartterm/terminal.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'DARTTERM', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.red), useMaterial3: true, ), builder: (BuildContext context, Widget? child) { return MediaQuery( data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0), child: child!); }, home: const MyHomePage(title: 'DARTTERM'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { Ticker? ticker; @override void initState() { super.initState(); ticker = Ticker(tick); ticker!.start(); } @override Widget build(BuildContext context) { return Center( child: AspectRatio(aspectRatio: 16 / 9.0, child: terminal.toWidget(context)), ); } void tick(Duration elapsed) { setState(() {/* state changed, force a redraw */}); } } /* class TerminalCustomPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final paint = Paint() ..style = PaintingStyle.stroke ..strokeWidth = 4.0 ..color = Colors.indigo; canvas.drawRect( Rect.fromLTWH(-20 + Random().nextDouble() * 20 - 10, -20, 40, 40), paint); } @override bool shouldRepaint(TerminalCustomPainter oldDelegate) => true; } */