showAddTextPopup method
Implementation
void showAddTextPopup(BuildContext context, double degrees, EditImageProvider editImageProvider) {
showDialog(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return StatefulBuilder(
builder: (context, setState) {
return AlertDialog(
title: const Text('Add Text'),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
const Text('Enter the text:'),
TextField(
controller: addTextController,
),
Row(
children: [
Checkbox(
value: boldCurrentText.value,
onChanged: (newValue){
setState((){
boldCurrentText.value = newValue!;
});
},
),
const Text('Bold text')
]
)
],
),
actions: [
ElevatedButton(
child: const Text('Cancel'),
onPressed: () {
Navigator.of(context).pop();
},
),
ValueListenableBuilder<bool>(
valueListenable: inputsNotEmpty,
builder: (BuildContext context, bool inputsNotEmpty, Widget? child) {
return ElevatedButton(
child: const Text('Generate'),
onPressed: inputsNotEmpty ? () {
currentText.value = addTextController.text;
addTextController.text = '';
if(degrees == 0){
currentTextOffset.value = const Offset(0, 0);
}else if(degrees == 90){
currentTextOffset.value = Offset((editImageProvider.state.width - editImageProvider.state.height) / 2, -(editImageProvider.state.width - editImageProvider.state.height) / 2);
}else if(degrees == 180){
currentTextOffset.value = const Offset(0, 0);
}else if(degrees == 270){
currentTextOffset.value = Offset((editImageProvider.state.width - editImageProvider.state.height) / 2, -(editImageProvider.state.width - editImageProvider.state.height) / 2);
}
Navigator.of(context).pop();
} : null,
);
}
)
],
);
}
);
},
);
}