mirror of
https://github.com/rive-app/rive-flutter.git
synced 2025-06-26 17:56:28 +08:00
Merge pull request #48 from rive-app/fix_intrinsic_size
Support for intrinsic size
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
## [0.6.7] - 2021-01-23 11:11:02
|
||||
|
||||
- Adds support for Rive.useIntrinsicSize to allow Rive widgets to be self sized by their artboard. Set useIntrinsicSize to false when you want the widget to try to occupy the entire space provided by the parent.
|
||||
|
||||
## [0.6.6+1] - 2021-01-18 17:06:17
|
||||
|
||||
- Fixes a crashing issue introduced in 0.6.6.
|
||||
|
@ -24,6 +24,8 @@ class Rive extends LeafRenderObjectWidget {
|
||||
..artboard = artboard
|
||||
..fit = fit
|
||||
..alignment = alignment
|
||||
..intrinsicSize =
|
||||
artboard == null ? Size.zero : Size(artboard.width, artboard.height)
|
||||
..useIntrinsicSize = useIntrinsicSize;
|
||||
}
|
||||
|
||||
@ -34,6 +36,8 @@ class Rive extends LeafRenderObjectWidget {
|
||||
..artboard = artboard
|
||||
..fit = fit
|
||||
..alignment = alignment
|
||||
..intrinsicSize =
|
||||
artboard == null ? Size.zero : Size(artboard.width, artboard.height)
|
||||
..useIntrinsicSize = useIntrinsicSize;
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,12 @@ abstract class RiveRenderBox extends RenderBox {
|
||||
Alignment _alignment;
|
||||
bool _useIntrinsicSize = false;
|
||||
|
||||
@override
|
||||
Size computeDryLayout(BoxConstraints constraints) {
|
||||
return constraints
|
||||
.constrainSizeAndAttemptToPreserveAspectRatio(_intrinsicSize);
|
||||
}
|
||||
|
||||
bool get useIntrinsicSize => _useIntrinsicSize;
|
||||
set useIntrinsicSize(bool value) {
|
||||
if (_useIntrinsicSize == value) {
|
||||
@ -66,7 +72,10 @@ abstract class RiveRenderBox extends RenderBox {
|
||||
|
||||
@override
|
||||
void performResize() {
|
||||
size = _useIntrinsicSize ? constraints.smallest : constraints.biggest;
|
||||
if (_useIntrinsicSize) {
|
||||
super.performResize();
|
||||
}
|
||||
size = constraints.biggest;
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: rive
|
||||
description: Rive 2 Flutter Runtime. This package provides runtime functionality for playing back and interacting with animations built with the Rive editor available at https://rive.app.
|
||||
version: 0.6.6+1
|
||||
version: 0.6.7
|
||||
repository: https://github.com/rive-app/rive-flutter
|
||||
homepage: https://rive.app
|
||||
|
||||
|
Reference in New Issue
Block a user