import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:smtias_capture/models/preview_region.dart';
import 'package:smtias_capture/widgets/region_crop.dart';
/// 保存中に表示するスナップショット画像 [bytes] を [region] でクロップ表示する.
///
/// スナップショット(preview.jpg)は native 側で既に向き処理(`rotation:90 + mirror`)
/// 済みのため,ここでは追加の反転は行わず,[RegionCrop] で同一座標系のクロップのみ
/// 適用してライブ表示と範囲を一致させる.
class CroppedSnapshot extends StatelessWidget {
const CroppedSnapshot({super.key, required this.bytes, required this.region});
final Uint8List bytes;
/// クロップ領域(表示後の画面座標 0.0–1.0/ライブと共通).
final PreviewRegion region;
@override
Widget build(BuildContext context) {
return RegionCrop(
region: region,
child: Image.memory(bytes, fit: BoxFit.contain, gaplessPlayback: true),
);
}
}