Files
iroute/packages/idraw/lib/p15/touch_info.dart
2023-12-21 22:06:28 +08:00

46 lines
889 B
Dart

import 'package:flutter/material.dart';
/// create by 张风捷特烈 on 2020/11/4
/// contact me by email 1981462002@qq.com
/// 说明:
class TouchInfo extends ChangeNotifier {
List<Offset> _points = [];
int _selectIndex = -1;
void setPoints(List<Offset> points) {
_points = points;
}
int get selectIndex => _selectIndex;
List<Offset> get points => _points;
set selectIndex(int value) {
assert(value != null);
if (_selectIndex == value) return;
_selectIndex = value;
notifyListeners();
}
void addPoint(Offset point) {
points.add(point);
notifyListeners();
}
void updatePoint(int index, Offset point) {
points[index] = point;
notifyListeners();
}
void reset() {
_points.clear();
_selectIndex = -1;
notifyListeners();
}
Offset? get selectPoint => _selectIndex == -1 ? null : _points[_selectIndex];
}