@@ -10,6 +10,8 @@ import 'package:google_fonts/google_fonts.dart';
1010import 'package:image_picker/image_picker.dart' ;
1111import 'package:magic_epaper_app/pro_image_editor/features/bottom_bar.dart' ;
1212import 'package:magic_epaper_app/pro_image_editor/features/text_bottom_bar.dart' ;
13+ import 'package:magic_epaper_app/provider/color_palette_provider.dart' ;
14+ import 'package:magic_epaper_app/provider/getitlocator.dart' ;
1315import 'package:pro_image_editor/core/models/layers/layer_interaction.dart' ;
1416import 'package:pro_image_editor/designs/whatsapp/whatsapp_paint_colorpicker.dart' ;
1517import 'package:pro_image_editor/designs/whatsapp/whatsapp_text_colorpicker.dart' ;
@@ -215,21 +217,29 @@ class _MovableBackgroundImageExampleState
215217 // _transparentBytes = pngBytes!.buffer.asUint8List();
216218 // }
217219
218- // Add this method to handle canvas color changes
220+ final List <Color > availableCanvasColors =
221+ getIt <ColorPaletteProvider >().colors;
222+ int currentCanvasColorIndex = 0 ;
223+
224+ String _getCanvasColorName (Color color) {
225+ if (color == Colors .white) {
226+ return 'white' ;
227+ } else if (color == Colors .red) {
228+ return 'red' ;
229+ } else if (color == Colors .black) {
230+ return 'black' ;
231+ }
232+
233+ return 'white' ;
234+ }
235+
219236 void _changeCanvasColor () {
220237 setState (() {
221- // Cycle through colors: white -> red -> black
222- switch (_currentCanvasColor) {
223- case 'white' :
224- _currentCanvasColor = 'red' ;
225- break ;
226- case 'red' :
227- _currentCanvasColor = 'black' ;
228- break ;
229- case 'black' :
230- _currentCanvasColor = 'white' ;
231- break ;
232- }
238+ currentCanvasColorIndex =
239+ (currentCanvasColorIndex + 1 ) % availableCanvasColors.length;
240+
241+ _currentCanvasColor =
242+ _getCanvasColorName (availableCanvasColors[currentCanvasColorIndex]);
233243 });
234244
235245 // Update the canvas by replacing the first layer
0 commit comments