use tap position for new text layers

This commit is contained in:
otsmr 2025-04-08 13:13:29 +02:00
parent 3094da5c70
commit 0d79a0a426

View file

@ -38,6 +38,7 @@ class _ShareImageEditorView extends State<ShareImageEditorView> {
bool _isRealTwonly = false; bool _isRealTwonly = false;
int maxShowTime = 999999; int maxShowTime = 999999;
String? sendNextMediaToUserName; String? sendNextMediaToUserName;
double tabDownPostion = 0;
ImageItem currentImage = ImageItem(); ImageItem currentImage = ImageItem();
ScreenshotController screenshotController = ScreenshotController(); ScreenshotController screenshotController = ScreenshotController();
@ -274,6 +275,13 @@ class _ShareImageEditorView extends State<ShareImageEditorView> {
fit: StackFit.expand, fit: StackFit.expand,
children: [ children: [
GestureDetector( GestureDetector(
onTapDown: (details) {
if (details.globalPosition.dy > 60) {
tabDownPostion = details.globalPosition.dy - 60;
} else {
tabDownPostion = details.globalPosition.dy;
}
},
onTap: () { onTap: () {
if (layers.any((x) => x.isEditing)) { if (layers.any((x) => x.isEditing)) {
return; return;
@ -281,6 +289,7 @@ class _ShareImageEditorView extends State<ShareImageEditorView> {
undoLayers.clear(); undoLayers.clear();
removedLayers.clear(); removedLayers.clear();
layers.add(TextLayerData( layers.add(TextLayerData(
offset: Offset(0, tabDownPostion),
textLayersBefore: layers.whereType<TextLayerData>().length, textLayersBefore: layers.whereType<TextLayerData>().length,
)); ));
setState(() {}); setState(() {});