Skip to content

Commit 3bcd2d3

Browse files
authored
feat: add flip functionality on final processed image (#46)
* fix: movable background issue. * fix: navigation issue closing editor redirects to start screen. * feat: added flip rotate functionality on final processed image. * fix: revert intl package version * fix: fixing assets file naming. * fix: refactor all image resources to separate file. * fix: revert back some changes to resolve conflicts. * fix: performance improve using tranform flip instead of rotating every image. * fix: fixes on vertical flip icon.
1 parent 136bbe6 commit 3bcd2d3

File tree

14 files changed

+180
-38
lines changed

14 files changed

+180
-38
lines changed

assets/images/h-flip.png

4.2 KB
Loading

lib/constants/asset_paths.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class ImageAssets {
2+
static const String flipHorizontal = 'assets/images/h-flip.png';
3+
static const String whiteBoard = 'assets/canvas/white.png';
4+
static const String redBoard = 'assets/canvas/red.png';
5+
static const String blackBoard = 'assets/canvas/black.png';
6+
static const String epaper37Bwr = 'assets/images/displays/epaper_3.7_bwr.png';
7+
static const String epaper37Bw = 'assets/images/displays/epaper_3.7_bw.PNG';
8+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class StringConstants {
2+
static const String appName = 'Magic epaper';
3+
}

lib/pro_image_editor/features/movable_background_image.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
88
import 'package:flutter/services.dart';
99
import 'package:google_fonts/google_fonts.dart';
1010
import 'package:image_picker/image_picker.dart';
11+
import 'package:magic_epaper_app/constants/asset_paths.dart';
1112
import 'package:magic_epaper_app/pro_image_editor/features/bottom_bar.dart';
1213
import 'package:magic_epaper_app/pro_image_editor/features/text_bottom_bar.dart';
1314
import 'package:magic_epaper_app/provider/color_palette_provider.dart';
@@ -56,9 +57,9 @@ class _MovableBackgroundImageExampleState
5657
@override
5758
void initState() {
5859
super.initState();
59-
preCacheImage(assetPath: 'assets/canvas/white.png');
60-
preCacheImage(assetPath: 'assets/canvas/red.png');
61-
preCacheImage(assetPath: 'assets/canvas/black.png');
60+
preCacheImage(assetPath: ImageAssets.whiteBoard);
61+
preCacheImage(assetPath: ImageAssets.redBoard);
62+
preCacheImage(assetPath: ImageAssets.blackBoard);
6263
//_createTransparentImage(_imgRatio);
6364
_bottomBarScrollCtrl = ScrollController();
6465
}
@@ -335,7 +336,7 @@ class _MovableBackgroundImageExampleState
335336
secondary: Color(0xFFE2E2E2),
336337
),
337338
child: ProImageEditor.asset(
338-
'assets/canvas/white.png',
339+
ImageAssets.whiteBoard,
339340
key: editorKey,
340341
callbacks: ProImageEditorCallbacks(
341342
onImageEditingStarted: onImageEditingStarted,
@@ -350,7 +351,7 @@ class _MovableBackgroundImageExampleState
350351
offset: Offset.zero,
351352
scale: _initScale,
352353
widget: Image.asset(
353-
'assets/canvas/white.png',
354+
ImageAssets.whiteBoard,
354355
width: 240,
355356
height: 416,
356357
frameBuilder:

lib/pro_image_editor/features/reorder_layer_example.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Flutter imports:
22
import 'package:flutter/gestures.dart';
33
import 'package:flutter/material.dart';
4+
import 'package:magic_epaper_app/constants/asset_paths.dart';
45

56
// Package imports:
67
import 'package:pro_image_editor/pro_image_editor.dart';
@@ -40,15 +41,15 @@ class _ReorderLayerExampleState extends State<ReorderLayerExample>
4041
@override
4142
void initState() {
4243
super.initState();
43-
preCacheImage(assetPath: 'assets/canvas/white.png');
44+
preCacheImage(assetPath: ImageAssets.whiteBoard);
4445
}
4546

4647
@override
4748
Widget build(BuildContext context) {
4849
if (!isPreCached) return const PrepareImageWidget();
4950

5051
return ProImageEditor.asset(
51-
'assets/canvas/white.png',
52+
ImageAssets.whiteBoard,
5253
key: editorKey,
5354
callbacks: ProImageEditorCallbacks(
5455
onImageEditingStarted: onImageEditingStarted,

lib/util/epd/gdey037z03.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:magic_epaper_app/constants/asset_paths.dart';
23
import 'package:magic_epaper_app/util/epd/driver/uc8253.dart';
34
import 'package:magic_epaper_app/util/image_processing/image_processing.dart';
45
import 'driver/driver.dart';
@@ -16,7 +17,7 @@ class Gdey037z03 extends Epd {
1617
@override
1718
String get modelId => 'GDEY037Z03';
1819
@override
19-
String get imgPath => "assets/images/displays/epaper_3.7_bwr.png";
20+
String get imgPath => ImageAssets.epaper37Bwr;
2021

2122
@override
2223
get colors => [Colors.white, Colors.black, Colors.red];

lib/util/epd/gdey037z03bw.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:flutter/material.dart';
2+
import 'package:magic_epaper_app/constants/asset_paths.dart';
23
import 'package:magic_epaper_app/util/epd/driver/uc8253.dart';
34
import 'package:magic_epaper_app/util/image_processing/image_processing.dart';
45
import 'driver/driver.dart';
@@ -16,7 +17,7 @@ class Gdey037z03BW extends Epd {
1617
@override
1718
String get modelId => 'GDEY037T03';
1819
@override
19-
String get imgPath => "assets/images/displays/epaper_3.7_bw.PNG";
20+
String get imgPath => ImageAssets.epaper37Bw;
2021

2122
@override
2223
get colors => [Colors.white, Colors.black];

lib/util/image_editor_utils.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import 'package:image/image.dart' as img;
2+
import 'package:magic_epaper_app/util/epd/epd.dart';
3+
4+
List<img.Image> processImages({
5+
required img.Image originalImage,
6+
required Epd epd,
7+
}) {
8+
final List<img.Image> processedImgs = [];
9+
10+
img.Image transformed = img.copyResize(
11+
originalImage,
12+
width: epd.width,
13+
height: epd.height,
14+
);
15+
16+
for (final method in epd.processingMethods) {
17+
processedImgs.add(method(transformed));
18+
}
19+
20+
return processedImgs;
21+
}

lib/view/display_selection_screen.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:flutter/material.dart';
2-
import 'package:magic_epaper_app/constants.dart';
2+
import 'package:magic_epaper_app/constants/color_constants.dart';
3+
import 'package:magic_epaper_app/constants/string_constants.dart';
34
import 'package:magic_epaper_app/provider/getitlocator.dart';
45
import 'package:magic_epaper_app/util/epd/epd.dart';
56
import 'package:magic_epaper_app/util/epd/gdey037z03.dart';
@@ -35,7 +36,7 @@ class _DisplaySelectionScreenState extends State<DisplaySelectionScreen> {
3536
child: Column(
3637
crossAxisAlignment: CrossAxisAlignment.start,
3738
children: [
38-
Text('Magic ePaper',
39+
Text(StringConstants.appName,
3940
style: TextStyle(
4041
fontSize: 24,
4142
fontWeight: FontWeight.bold,

0 commit comments

Comments
 (0)