- Removed the
enableMemoryCache
variable inExtendedImage
,please UseclearMemoryCacheWhenDispose
instead for managing memory cache behavior. - Scale the image to align with the crop rect and make crop rect as bigger as possible when rotate Image on Editor mode.(#713)
- Fix drag crop rect can't zoom in the image(#723)
- Fix the issue with 90-degree judgment when rotate image.
- Fix SetState will Reset ExtendedImage and clear the Crop State. (#712)
- Fix crop rect transform not invert
- Support editor config history
- Add updateConfig and get config from editor controller
- Fix issue about worng scale for crop rect when scale is more than max scale
- Fix issue about worng scale for crop rect when scale is more than max scale
- Public [ImageEditorController.currentIndex],[ImageEditorController.history],[ImageEditorController.saveCurrentState]
- Scale the crop rect if the image can't be scaled(max scale) when rotate the image.
- Breaking change: update the term 'angle' to 'degree'.
- Update eidtor crop rect when srceen size is changed.
- Take care about web platform, update eidtor layer size when srceen size is changed.
- Make the list can be scrolled on web platform.
-
Feature:
- support to change free angle rotation on editor mode.
- support to control whether the cropping box follows rotation on editor mode.
- support flip and rotate animation on editor mode.
- support undo and redo on editor mode.
- support update cropAspectRatio without reset state on editor mode.
- add [ImageEditorController] for [EditorConfig] to control the editor state.
-
Issues:
- Fix issue about free angle rotation. (#702, #627, #78, #441)
- Fix issue about control whether the cropping box also rotate follows the rotation. (#691, #277)
- Fix issue about flip animation. (#397)
- Fix issue about crop rect gets invalid randomly on zooming in and out. (#548)
- Fix issue about undo and redo. (#553)
-
Breaking change:
- EditorCropLayerPainter.paintMask method the [Size] argument to [Rect].
- Remove flipX support.
- Change the cropping process, now they are rotate, flipY and getCropRect.
- Fix issue that unsmooth zooming when using ExtendedImageGesturePageView (#631)
- Add [ExtendedImageGesturePageView.shouldAccpetHorizontalOrVerticalDrag] to custum whether should accpet horizontal or vertical drag at that time.
-
Add [imageGestureState] parameter for ImageBuilderForGesture call back, add [wrapGestureWidget] method for [ExtendedImageGestureState] and add [GestureWidgetDelegate]. All of them are using to build a custom gesture widget when the image is in ExtendedImageMode.gesture mode.
-
Add Live Photo Demo to show how to use the new feature.
- Fix issue that pageSpacing not work as expected after flutter 3.22.0 (#692)
- fix _DragGestureRecognizer build error after flutter/flutter#151627
- Fix issue that pageSpacing not work as expected after flutter 3.22.0 (#692)
- dart fix
- Migrate to 3.16.0
- Fix issue with onDragEnd
- Migrate to 3.13.0
- Breaking change: remove preloadPagesCount of ExtendedImageGesturePageView. The cacheExtent of Viewport should be 0.
- Add demo to instead of preloadPagesCount of ExtendedImageGesturePageView
- [EditorCropLayerPainter.paintMask] not use BlendMode.clear now, due to '--web-renderer html' is not support.
- Dart sdk: '>=2.18.0 <4.0.0'
- Migrate to Flutter 3.10.0 and Dart 3.0.0 (#557,#563,#570,#572,#573)
- Cherry Pick flutter/flutter#110131
- Cherry Pick flutter/flutter#119495
- publish v6.4.1 for flutter 3.3.0 and v6.2.2 for flutter 3.0.5
- update judging condition of delta(minGesturePageDelta) at it's sliding page when set ExtendedImageMode.gesture
- Migrate to 3.7.0 (#545)
- latest code on Flutter 3.3.0
- add [ExtendedImage.globalStateWidgetBuilder] to support to override State Widget if loadStateChanged is not define.(#541)
- add preloadPagesCount for ExtendedImageGesturePageView
- draw editor with BlendMode.clear.
- support to set insets for paint image at the beginning.(#417)
- merge code from official (#515)
- fix issue that rebuild viewportDimension is not right when pageSpacing is not zero(ExtendedImageGesturePageView #516)
- Migrate to 3.3.0
- latest code on Flutter 3.0.5
- Add DeviceGestureSettings for ExtendedVerticalDragGestureRecognizer and ExtendedHorizontalDragGestureRecognizer.(#482,#483)
- Migrate to 3.0.0
- override == and hashCode for ExtendedResizeImage
- fix issue that ExtendedResizeImage can't get rawImageData(#477)
- ExtendedResizeImage.maxBytes is actual bytes of Image, not decode bytes.
- fix issue that max scale look bigger after zoom in and zoom out (#476)
- Improve: add [EditorConfig.initialCropAspectRatio] to support to set initial CropAspectRatio(#462 It's good for that you can set initial CropAspectRatio at first time and set CropAspectRatio to custom, so that the users can change CropAspectRatio as they want).
- Issues:
- Hide
FileImage
fromextended_image_library
explicitly.
- Hide
- Issues:
- Remove the deprecated constructor for the
ExtendedVelocityTracker
. (#460) - Hide
File
fromextended_image_library
explicitly.
- Remove the deprecated constructor for the
- Issues: Fix VelocityTracker is not type ExtendedVelocityTracker
- Breaking change: Migrate to 2.8
- Issues:
- fix issue that solve gesture conflict between MovePage and vertical pan.
- Issues:
- fix issue that mouse wheel/double tap are not working.(#404)
- Bumping flutter sdk minimum version to 2.5.0
- Improve: add [ExtendedPageController.shouldIgnorePointerWhenScrolling] to solve issue that we can's zoom image before [PageView] stop scroll in two way.
-
Improve:
- solve gesture conflict between Scale and Horizontal/Vertical drag.
- support to set page spacing. [ExtendedPageController.pageSpacing]
- add [ExtendedImage.opacity].
- fix that we can't zoom image before [PageView] stop scroll.
-
Breaking change:
- use [ExtendedPageController] instead of [PageController].
- use [ExtendedImageGesturePageView.canScrollPage] instead of [ExtendedImageGesturePageView.canMovePage].
- Improve:
- fix description of reverseMousePointerScrollDirection
- Issues:
- fix issue that inverse zoom by mouse wheel.(#382)
- fix issue that crop_layer with/height is negative
- Improve:
- add [ExtendedImage.network.cacheMaxAge] to set max age to be cached.
- update demo about hero, make it better when slide out.
- Issues:
- fix issue that we should end method with a call to super.dispose().(#329).
-
Breaking change:
- we cache raw image pixels as default behavior at previous versions, it's not good for heap memory usage. so add [ExtendedImageProvider.cacheRawData] to support whether should cache the raw image pixels. It's [false] now.
-
Improve:
- add [ExtendedResizeImage] to support resize image more convenient.
- add [ExtendedImageProvider.imageCacheName] to support custom ImageCache to store ExtendedImageProvider.
- add MemoryUsageDemo. #315
-
Issues:
- fix issue that [EditorConfig.editActionDetailsIsChanged] is not fire when change crop area. #317
-
Improve:
- support null-safety
- add [ExtendedNetworkImageProvider.printError]
- merge code from Flutter 2.0
-
Breaking change:
- remove [TransparentMaterialPageRoute] and [TransparentMaterialPageRoute]
-
Improve:
- add cacheKey for NetworkProvider. #288
- web capability at pub.dev.
- add change event for editor. #300
-
Breaking change:
- Use [EditorCropLayerPainter] instead of [ExtendedImageCropLayerCornerPainter]
-
Improve:
- public ExtendedImageSlidePageHandler for slide other widget. #298
-
Improve:
- public handleLoadingProgress for default constructor of ExtendedImage. #274
-
Improve:
- add hitTestBehavior for GestureConfig and EditorConfig. #271
- Features:
- support zoom with mouse wheel.
- Features:
- add posibility to draw custom crop layout corners
- add corner shape(ExtendedImageCropLayerPainterCircleCorner())
- Issues:
- fix issue that flickering when zooming out(#235).
- Issues:
- fix issue that slide offset is not right.
-
Features:
- add cacheHeight and cacheWidth params for all constructors.
- add isAntiAlias parameter.
- add GestureDetailsIsChanged call back for GestureConfig(#214).
-
Improve:
- more demo.
-
Improve:
-
merge from Defer image decoding when scrolling fast(flutter/flutter#49389).
-
flutter sdk minimum version limit to 1.17.0.
-
- Features:
- add cacheHeight and cacheWidth params for ExtendedImage.network.
- add Key extendedImageGestureKey for ExtendedImageGesture.
- Features:
- add call back CanScrollPage for ExtendedImageGesturePageView.
- Issues:
- fix ScrollPhysics is not working for ExtendedImageGesturePageView
- Improve:
- remove docs from master branch and release web at github_page branch.
- Improve:
- fix build error on high flutter sdk(> 1.6.0)
- fix analysiz_options
- Features:
- support loading progress for network
- public HttpClient of ExtendedNetworkImageProvider
- public ExtendedImageGestureState for SlideOffsetHandler/SlideEndHandler/ SlideScaleHandler to get scale of image
- Improve:
- scale parameter of method(handleDoubleTap) is support animationMinScale and animationMaxScale now.
-
Features:
- support web.
- add [clearMemoryCacheWhenDispose] parameter that whether clear memory cache when image is disposed.
-
Issues:
- fix animationMinScale and animationMaxScale are not working for gif.
- fix scale parameter of method(handleDoubleTap) is beyond minScale and maxScale.
- Features:
- support customize offset when slide page.
- Issues:
- fix breaking change for flutter 1.10.15 about miss load parameter.
- Issues:
- fix issue that ExtendedImageGesturePageView didn't work well when set initial alignment.
- Features:
- support init image with alignment when initialScale >1.0.
- Issues:
- fix issue that scrollDirection didn't work when set it dynamically(ExtendedImageGesturePageView ).
- Improve:
- add WaterfallFlow demo.
- Features:
- �add completedWidget for ExtendedImageState, it is include gesture or editor, so that you would't miss them
- Improve: 2. improve documents about Load State
- Issues:
- fix issue that rawImageData can't be cached for ExtendedExactAssetImageProvider/ExtendedAssetImageProvider.
- Improve:
- add demo about ImageEditor with native library, it's faster.
- Issues:
- fix issue that forget canvas.restore after canvas.clipRect
- Breaking Change: 2. ImageEditor:you should crop image data before flip or rotate image data now.
- Improve: 3. increase cropping speed
- Features:
- add InitCropRectType(imageRect,layoutRect) for EditorConfig to define init crop rect base on initial image rect or image layout rect.
- Breaking Change:
- make sure the image is all painted to crop,the fit of image must be BoxFit.contain.
- Issues:
- fix issue about drag slowly in ImageEditor
- Issues:
- fix issue about strange behaviour at slide out page
- Issues:
- add HeroBuilderForSlidingPage call back to fix strange hero animation
- Features:
- support to crop,rotate,flip image
- Improve:
- add key for ExtendedImageSlidePage
- Features:
- add call back CanMovePage for ExtendedImageGesturePageView. related issue. #32
- Issues:
- fix issue about borderRadius and border
- fix demo error about extended_text
- Improve:
- merge codes base on v1.7.8
- Features:
- add call back onSlidingPage when is sliding page, you can change other widgets state in page.ExtendedImageSlidePage
- add enableSlideOutPage parameter to define whether enable slide out page. ExtendedImage
-
Breaking Change:
- parameter gestureConfig is obsolete. initGestureConfigHandler is used to setting GestureConfig now.
-
Issues:
- fix issue about slide page.
-
Features:
- support to slide page at loading/failed state
- Improve:
- add README-ZH.md
- Improve:
- add SlideType to support slide only image or whole pageExtendedImageSlidePage
- Features:
- support to slide out page
- Improve:
- update path_provider 1.1.0
- Improve:
- handle load failed when re-addListener
- Features:
- add physics parameter for ExtendedImageGesturePageView
- Improve:
- disabled informationCollector to keep backwards compatibility for now (ExtendedNetworkImageProvider)
- Improve:
- import extended_image_library for network cache
- Issues:
- fix issue that AnimationController.stop() called after AnimationController.dispose().
- Improve:
- show how to build a double tap scale animation.
- Improve:
- add handleDoubleTap method to support zoom image base on double tap position.
- Improve:
- add inertia scroll when image is zoom in and it's moving page.
- Issues:
- fix issue that wrong behavior of page view scroll when image has big width or big height.
- Issues:
- fix issue that wrong behavior of page view scroll when image is zoom in.
- Improve:
- add onDoubleTap parameter to custom double tap behavior under ExtendedImageMode.Gesture
- Features:
- add enableMemoryCache parameter, whether cache in PaintingBinding.instance.imageCache
- add clearMemoryCacheIfFailed parameter, when failed to load image, whether clear memory cache,if true, image will reload in next time.
- Breaking Change:
- auto cancel network request is obsolete.
- Improve:
- update path_provider version from 0.4.1 to 0.5.0+1
- Features:
- add cancelToken,retries,timeLimit and timeRetry parameters for ExtendedImage.network method
- add default cancelToken for ExtendedImage.network method
- Issues:
- fix issue about cancel network image request
- fix gesture page view scrolls not smooth
- Features:
- support zoom/pan image and view image in page view like wechat(support zoom in and scroll next or previous image)
- Breaking Change:
- remove image_picker_saver from extended_image. obsolete saveNetworkImageToPhoto method(if you want to save photo,you can import image_picker_saver and get data from getNetworkImageData method)
- Improve:
- public instantiateImageCodec method so that you can handle image data by override this in ExtendedNetworkImageProvider
- Improve:
- add getNetworkImageData method
- Improve:
- change toMd5 to keyToMd5
- Improve:
- public imageProvider for ExtendedImageState
- First Release:
- Release ExtendedImage.