Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 36 additions & 5 deletions .github/workflows/flutter_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,58 @@ on:
workflow_dispatch:

jobs:
package-analysis:
format:
name: Check formatting
runs-on: ubuntu-latest

steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.44.0
flutter-version: 3.47.x

# `dart format` reads analysis_options.yaml, which includes a lint set
# from a package, so the dependencies have to be resolved first.
- name: Install dependencies
run: flutter pub get

- name: Check formatting
run: dart format --output=none --set-exit-if-changed .

package-analysis:
name: Analyze & test (Flutter ${{ matrix.flutter-version }})
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
# Both ends of the supported range. 3.44 is the minimum declared in
# `environment` in pubspec.yaml, and from 3.47 on Flutter ships Material
# and Cupertino as the separate `material_ui` / `cupertino_ui` packages,
# so both need to stay green.
flutter-version:
- 3.44.0
- 3.47.x

steps:
- name: Clone repository
uses: actions/checkout@v5

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: ${{ matrix.flutter-version }}

- name: Install dependencies
run: flutter pub get

- name: Analyze code
run: flutter analyze .

- name: Run tests
run: flutter test
run: flutter test
4 changes: 2 additions & 2 deletions .github/workflows/gh_pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Clone repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.44.0
flutter-version: 3.47.x

- name: Install Package Dependencies
run: flutter pub get
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## 14.0.0
- **BREAKING**(ui): Migrate from `package:flutter/material.dart` and `package:flutter/cupertino.dart` to the standalone [`material_ui`](https://pub.dev/packages/material_ui) and [`cupertino_ui`](https://pub.dev/packages/cupertino_ui) packages, which Flutter is decoupling from the SDK. Apps must migrate their own imports as well (`dart fix --apply --code=migrate_design_widgets`), because types such as `ThemeData` are no longer interchangeable with the SDK ones.

## 13.6.0
- **PERF**(paint-editor): Hit-testing paint layers no longer walks the whole stroke path. Measured on macOS with 20 freestyle layers: 7.3ms -> 0.24ms per pointer hit test.
- **PERF**(paint-editor): Paint layers apply their opacity in the stroke paint instead of an `Opacity` widget, which removes one offscreen buffer per layer.
Expand Down
2 changes: 1 addition & 1 deletion example/lib/core/constants/example_list_constant.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:example/features/layer/layer_group_page.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

import '/features/ai/ai_group_page.dart';
import '/features/crop_to_main_editor.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/core/mixin/example_helper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:io';
import 'dart:ui' as ui;

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';
import 'package:vibration/vibration.dart';

Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/ai/ai_group_page.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

import 'ai_replace_background/ai_replace_background_page_example.dart';
import 'ai_text_commands/ai_text_commands_page_example.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'dart:convert';
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '/core/constants/example_constants.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

/// A stateless widget for inputting and sending AI text commands.
class AiReplaceBackgroundToolbarWidget extends StatelessWidget {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '/core/constants/example_constants.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '../enum/ai_provider_enum.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '../enum/ai_provider_enum.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '../enum/ai_provider_enum.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

import '../enum/ai_generation_mode_enum.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

import '../enum/ai_generation_mode_enum.dart';
import '../widgets/ai_command_input_widget.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/shared/services/shader_manager.dart';

/// A widget that displays a list of example AI text commands for image editing.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

import '../enum/ai_provider_enum.dart';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
import 'dart:typed_data';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:image_background_remover/image_background_remover.dart';
import 'package:image_picker/image_picker.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

// Project imports:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

// Project imports:
import '/core/mixin/example_helper.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/crop_to_main_editor.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

// Package imports:
import 'package:pro_image_editor/pro_image_editor.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/custom_guide_lines_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

// Package imports:
import 'package:pro_image_editor/pro_image_editor.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/custom_path_builder_example.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Flutter imports:
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

// Package imports:
import 'package:pro_image_editor/pro_image_editor.dart';
Expand Down
4 changes: 1 addition & 3 deletions example/lib/features/custom_widgets_example.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
// Dart imports:
import 'dart:math';

// Flutter imports:
import 'package:flutter/material.dart';

// Package imports:
import 'package:google_fonts/google_fonts.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

// Project imports:
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/default_example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:io';

import 'package:file_picker/file_picker.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '/core/constants/example_constants.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/design_examples/design_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '/core/constants/example_constants.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
import 'dart:math';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/designs/frosted_glass/frosted_glass.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

Expand Down
3 changes: 1 addition & 2 deletions example/lib/features/design_examples/grounded_example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
import 'dart:math';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
import 'package:google_fonts/google_fonts.dart';

import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/designs/grounded/grounded_design.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

// Package imports:
import 'package:google_fonts/google_fonts.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

// Project imports:
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/design_examples/whatsapp_example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import 'dart:math';
// Flutter imports:
import 'package:example/shared/widgets/demo_build_stickers.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:google_fonts/google_fonts.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/designs/whatsapp/whatsapp.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/emoji_translate_example.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '/core/constants/example_constants.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/firebase_supabase_example.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Package imports:
import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';
import 'package:supabase_flutter/supabase_flutter.dart';

Expand Down
4 changes: 2 additions & 2 deletions example/lib/features/frame_example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import 'dart:async';
import 'dart:io';
import 'dart:math';

import 'package:flutter/cupertino.dart';
import 'package:cupertino_ui/cupertino_ui.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:image_picker/image_picker.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';
import 'package:pro_image_editor/shared/utils/transparent_image_generator_utils.dart';

Expand Down
4 changes: 2 additions & 2 deletions example/lib/features/generation_configs_example.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Flutter imports:
import 'dart:ui' as ui;

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:cupertino_ui/cupertino_ui.dart';
import 'package:material_ui/material_ui.dart';

// Package imports:
import 'package:pro_image_editor/pro_image_editor.dart';
Expand Down
3 changes: 1 addition & 2 deletions example/lib/features/google_font_example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ import 'dart:io';

// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

// Package imports:
import 'package:google_fonts/google_fonts.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

// Project imports:
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/image_format_convert_example.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:io';

// Flutter imports:
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

// Package imports:
import 'package:pro_image_editor/pro_image_editor.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/import_export_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:example/core/constants/example_constants.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';

import '/core/constants/history_demo/import_history_6_3_0_minified.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/layer/layer_export_example.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Flutter imports:
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

// Package imports:
import 'package:pro_image_editor/pro_image_editor.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/layer/layer_group_page.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';

import '/features/layer/layer_export_example.dart';
import '/features/layer/layer_grouping_example.dart';
Expand Down
2 changes: 1 addition & 1 deletion example/lib/features/layer/layer_grouping_example.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:example/core/constants/example_constants.dart';
import 'package:flutter/material.dart';
import 'package:material_ui/material_ui.dart';
import 'package:pro_image_editor/pro_image_editor.dart';
import 'package:pro_image_editor/shared/widgets/layer/interaction_helper/layer_interaction_button.dart';

Expand Down
Loading