From 6a3fff704e744e43e71c175bf7e35add6a709266 Mon Sep 17 00:00:00 2001 From: nb312 Date: Tue, 8 Jan 2019 15:49:45 +0800 Subject: [PATCH 1/3] delete the flare lib and add gesture. --- flarelib/.gitignore | 10 - flarelib/.metadata | 10 - flarelib/CHANGELOG.md | 3 - flarelib/LICENSE | 1 - flarelib/README.md | 14 - flarelib/lib/flare.dart | 826 ------------ flarelib/lib/flare/actor.dart | 167 --- flarelib/lib/flare/actor_artboard.dart | 596 --------- flarelib/lib/flare/actor_axis_constraint.dart | 114 -- flarelib/lib/flare/actor_bone.dart | 43 - flarelib/lib/flare/actor_bone_base.dart | 51 - flarelib/lib/flare/actor_color.dart | 322 ----- flarelib/lib/flare/actor_component.dart | 57 - flarelib/lib/flare/actor_constraint.dart | 67 - .../lib/flare/actor_distance_constraint.dart | 107 -- flarelib/lib/flare/actor_drawable.dart | 14 - flarelib/lib/flare/actor_ellipse.dart | 65 - flarelib/lib/flare/actor_event.dart | 26 - flarelib/lib/flare/actor_flags.dart | 5 - flarelib/lib/flare/actor_ik_constraint.dart | 361 ------ flarelib/lib/flare/actor_image.dart | 538 -------- flarelib/lib/flare/actor_jelly_bone.dart | 26 - flarelib/lib/flare/actor_loader.dart | 19 - flarelib/lib/flare/actor_node.dart | 396 ------ flarelib/lib/flare/actor_node_solo.dart | 57 - flarelib/lib/flare/actor_path.dart | 311 ----- flarelib/lib/flare/actor_polygon.dart | 59 - flarelib/lib/flare/actor_rectangle.dart | 73 -- flarelib/lib/flare/actor_root_bone.dart | 41 - .../lib/flare/actor_rotation_constraint.dart | 173 --- .../lib/flare/actor_scale_constraint.dart | 137 -- flarelib/lib/flare/actor_shape.dart | 183 --- flarelib/lib/flare/actor_skin.dart | 97 -- flarelib/lib/flare/actor_skinnable.dart | 76 -- flarelib/lib/flare/actor_star.dart | 78 -- .../lib/flare/actor_targeted_constraint.dart | 38 - .../lib/flare/actor_transform_constraint.dart | 100 -- .../flare/actor_translation_constraint.dart | 120 -- flarelib/lib/flare/actor_triangle.dart | 49 - .../lib/flare/animation/actor_animation.dart | 607 --------- .../flare/animation/interpolation/cubic.dart | 16 - .../flare/animation/interpolation/hold.dart | 13 - .../animation/interpolation/interpolator.dart | 3 - .../flare/animation/interpolation/linear.dart | 13 - flarelib/lib/flare/animation/keyframe.dart | 1152 ----------------- .../lib/flare/animation/property_types.dart | 71 - flarelib/lib/flare/binary_reader.dart | 184 --- flarelib/lib/flare/block_reader.dart | 29 - flarelib/lib/flare/block_types.dart | 99 -- flarelib/lib/flare/dependency_sorter.dart | 46 - flarelib/lib/flare/jelly_component.dart | 394 ------ flarelib/lib/flare/json_block_reader.dart | 64 - flarelib/lib/flare/json_reader.dart | 181 --- flarelib/lib/flare/math/aabb.dart | 109 -- flarelib/lib/flare/math/mat2d.dart | 198 --- .../lib/flare/math/transform_components.dart | 82 -- flarelib/lib/flare/math/vec2d.dart | 124 -- flarelib/lib/flare/path_point.dart | 268 ---- flarelib/lib/flare/stream_reader.dart | 60 - flarelib/lib/flare/transform_space.dart | 4 - flarelib/lib/flare_actor.dart | 444 ------- flarelib/pubspec.yaml | 53 - flarelib/test/flarelib_test.dart | 13 - lib/constant/string_const.dart | 6 +- lib/main.dart | 3 + lib/page/OtherPage.dart | 19 +- lib/page/gesture/GesturePage.dart | 42 + lib/page/gesture/GesturePainter.dart | 27 + pubspec.yaml | 6 +- 69 files changed, 93 insertions(+), 9667 deletions(-) delete mode 100644 flarelib/.gitignore delete mode 100644 flarelib/.metadata delete mode 100644 flarelib/CHANGELOG.md delete mode 100644 flarelib/LICENSE delete mode 100644 flarelib/README.md delete mode 100644 flarelib/lib/flare.dart delete mode 100644 flarelib/lib/flare/actor.dart delete mode 100644 flarelib/lib/flare/actor_artboard.dart delete mode 100644 flarelib/lib/flare/actor_axis_constraint.dart delete mode 100644 flarelib/lib/flare/actor_bone.dart delete mode 100644 flarelib/lib/flare/actor_bone_base.dart delete mode 100644 flarelib/lib/flare/actor_color.dart delete mode 100644 flarelib/lib/flare/actor_component.dart delete mode 100644 flarelib/lib/flare/actor_constraint.dart delete mode 100644 flarelib/lib/flare/actor_distance_constraint.dart delete mode 100644 flarelib/lib/flare/actor_drawable.dart delete mode 100644 flarelib/lib/flare/actor_ellipse.dart delete mode 100644 flarelib/lib/flare/actor_event.dart delete mode 100644 flarelib/lib/flare/actor_flags.dart delete mode 100644 flarelib/lib/flare/actor_ik_constraint.dart delete mode 100644 flarelib/lib/flare/actor_image.dart delete mode 100644 flarelib/lib/flare/actor_jelly_bone.dart delete mode 100644 flarelib/lib/flare/actor_loader.dart delete mode 100644 flarelib/lib/flare/actor_node.dart delete mode 100644 flarelib/lib/flare/actor_node_solo.dart delete mode 100644 flarelib/lib/flare/actor_path.dart delete mode 100644 flarelib/lib/flare/actor_polygon.dart delete mode 100644 flarelib/lib/flare/actor_rectangle.dart delete mode 100644 flarelib/lib/flare/actor_root_bone.dart delete mode 100644 flarelib/lib/flare/actor_rotation_constraint.dart delete mode 100644 flarelib/lib/flare/actor_scale_constraint.dart delete mode 100644 flarelib/lib/flare/actor_shape.dart delete mode 100644 flarelib/lib/flare/actor_skin.dart delete mode 100644 flarelib/lib/flare/actor_skinnable.dart delete mode 100644 flarelib/lib/flare/actor_star.dart delete mode 100644 flarelib/lib/flare/actor_targeted_constraint.dart delete mode 100644 flarelib/lib/flare/actor_transform_constraint.dart delete mode 100644 flarelib/lib/flare/actor_translation_constraint.dart delete mode 100644 flarelib/lib/flare/actor_triangle.dart delete mode 100644 flarelib/lib/flare/animation/actor_animation.dart delete mode 100644 flarelib/lib/flare/animation/interpolation/cubic.dart delete mode 100644 flarelib/lib/flare/animation/interpolation/hold.dart delete mode 100644 flarelib/lib/flare/animation/interpolation/interpolator.dart delete mode 100644 flarelib/lib/flare/animation/interpolation/linear.dart delete mode 100644 flarelib/lib/flare/animation/keyframe.dart delete mode 100644 flarelib/lib/flare/animation/property_types.dart delete mode 100644 flarelib/lib/flare/binary_reader.dart delete mode 100644 flarelib/lib/flare/block_reader.dart delete mode 100644 flarelib/lib/flare/block_types.dart delete mode 100644 flarelib/lib/flare/dependency_sorter.dart delete mode 100644 flarelib/lib/flare/jelly_component.dart delete mode 100644 flarelib/lib/flare/json_block_reader.dart delete mode 100644 flarelib/lib/flare/json_reader.dart delete mode 100644 flarelib/lib/flare/math/aabb.dart delete mode 100644 flarelib/lib/flare/math/mat2d.dart delete mode 100644 flarelib/lib/flare/math/transform_components.dart delete mode 100644 flarelib/lib/flare/math/vec2d.dart delete mode 100644 flarelib/lib/flare/path_point.dart delete mode 100644 flarelib/lib/flare/stream_reader.dart delete mode 100644 flarelib/lib/flare/transform_space.dart delete mode 100644 flarelib/lib/flare_actor.dart delete mode 100644 flarelib/pubspec.yaml delete mode 100644 flarelib/test/flarelib_test.dart create mode 100644 lib/page/gesture/GesturePage.dart create mode 100644 lib/page/gesture/GesturePainter.dart diff --git a/flarelib/.gitignore b/flarelib/.gitignore deleted file mode 100644 index 446ed0d..0000000 --- a/flarelib/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.DS_Store -.dart_tool/ - -.packages -.pub/ - -build/ -ios/.generated/ -ios/Flutter/Generated.xcconfig -ios/Runner/GeneratedPluginRegistrant.* diff --git a/flarelib/.metadata b/flarelib/.metadata deleted file mode 100644 index 2ec1df3..0000000 --- a/flarelib/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: 5391447fae6209bb21a89e6a5a6583cac1af9b4b - channel: beta - -project_type: package diff --git a/flarelib/CHANGELOG.md b/flarelib/CHANGELOG.md deleted file mode 100644 index ac07159..0000000 --- a/flarelib/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## [0.0.1] - TODO: Add release date. - -* TODO: Describe initial release. diff --git a/flarelib/LICENSE b/flarelib/LICENSE deleted file mode 100644 index ba75c69..0000000 --- a/flarelib/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/flarelib/README.md b/flarelib/README.md deleted file mode 100644 index 1242c75..0000000 --- a/flarelib/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# flarelib - -A new Flutter package. - -## Getting Started - -This project is a starting point for a Dart -[package](https://flutter.io/developing-packages/), -a library module containing code that can be shared easily across -multiple Flutter or Dart projects. - -For help getting started with Flutter, view our -[online documentation](https://flutter.io/docs), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/flarelib/lib/flare.dart b/flarelib/lib/flare.dart deleted file mode 100644 index c11e5cc..0000000 --- a/flarelib/lib/flare.dart +++ /dev/null @@ -1,826 +0,0 @@ -library flare; - -import "dart:async"; -import "dart:typed_data"; -import "package:flutter/material.dart"; - -import "flare/actor_component.dart"; - -import "flare/actor.dart"; -import "flare/actor_artboard.dart"; -import "flare/actor_shape.dart"; -import "flare/actor_path.dart"; -import "flare/actor_ellipse.dart"; -import "flare/actor_polygon.dart"; -import "flare/actor_rectangle.dart"; -import "flare/actor_star.dart"; -import "flare/actor_triangle.dart"; -import "flare/actor_color.dart"; -import "flare/actor_node.dart"; -import "flare/actor_drawable.dart"; -import "dart:ui" as ui; -import "flare/math/mat2d.dart"; -import "flare/math/vec2d.dart"; -import "dart:math"; -import "flare/path_point.dart"; - -export "flare/animation/actor_animation.dart"; -export "flare/actor_node.dart"; - -import "package:flutter/services.dart" show rootBundle; - -abstract class FlutterFill { - ui.Paint getPaint(Float64List transform, double opacity); -} - -abstract class FlutterStroke { - ui.Paint getPaint(Float64List transform, double opacity); -} - -class FlutterActorShape extends ActorShape { - List _fills; - List _flutterStrokes; - ui.Path _path; - - FlutterFill get fill => _fills?.first; - FlutterStroke get stroke => _flutterStrokes?.first; - - @override - void invalidateShape() { - _path = null; - } - - ui.Path get path { - if (_path != null) { - return _path; - } - _path = ui.Path(); - _path.fillType = ui.PathFillType.nonZero; - _path.reset(); - - for (ActorNode node in children) { - FlutterPath flutterPath = node as FlutterPath; - if (flutterPath != null) { - Mat2D transform = (node as ActorBasePath).pathTransform; - _path.addPath(flutterPath.path, ui.Offset.zero, - matrix4: transform == null ? null : transform.mat4); - } - } - return _path; - } - - void addFlutterStroke(FlutterStroke stroke) { - if (_flutterStrokes == null) { - _flutterStrokes = List(); - } - _flutterStrokes.add(stroke); - } - - void addFill(FlutterFill fill) { - if (_fills == null) { - _fills = List(); - } - _fills.add(fill); - } - - List getClips() { - ActorNode clipSearch = this; - List clips; - while (clipSearch != null) { - if (clipSearch.clips != null) { - clips = clipSearch.clips; - break; - } - clipSearch = clipSearch.parent; - } - - return clips; - } - - void draw(ui.Canvas canvas, double opacity, ui.Color overrideColor) { - opacity *= renderOpacity; - if (opacity <= 0 || !this.doesDraw) { - return; - } - - canvas.save(); - - ui.Path renderPath = path; - Float64List paintTransform = worldTransform.mat4; - - // Get Clips - List clipList = getClips(); - if (clipList != null) { - for (ActorClip clip in clipList) { - clip.node.all((ActorNode childNode) { - if (childNode is FlutterActorShape) { - ui.Path clippingPath = childNode.path; - canvas.clipPath(clippingPath); - } - }); - } - } - //canvas.transform(paintTransform); - if (_fills != null) { - for (FlutterFill fill in _fills) { - ui.Paint paint = fill.getPaint(paintTransform, opacity); - if (paint == null) { - continue; - } - if (overrideColor != null) { - paint.color = overrideColor - .withOpacity(overrideColor.opacity * paint.color.opacity); - } - canvas.drawPath(renderPath, paint); - } - } - if (_flutterStrokes != null) { - for (FlutterStroke stroke in _flutterStrokes) { - ui.Paint paint = stroke.getPaint(paintTransform, opacity); - if (paint == null) { - continue; - } - if (overrideColor != null) { - paint.color = overrideColor - .withOpacity(overrideColor.opacity * paint.color.opacity); - } - canvas.drawPath(renderPath, paint); - } - } - - canvas.restore(); - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterActorShape instanceNode = FlutterActorShape(); - instanceNode.copyShape(this, resetArtboard); - return instanceNode; - } -} - -class FlutterColorFill extends ColorFill implements FlutterFill { - ui.Paint getPaint(Float64List transform, double modulateOpacity) { - ui.Paint paint = ui.Paint() - ..color = ui.Color.fromRGBO( - (color[0] * 255.0).round(), - (color[1] * 255.0).round(), - (color[2] * 255.0).round(), - color[3] * modulateOpacity * opacity) - ..style = ui.PaintingStyle.fill; - return paint; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is FlutterActorShape) { - parentNode.addFill(this); - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterColorFill instanceNode = FlutterColorFill(); - instanceNode.copyColorFill(this, resetArtboard); - return instanceNode; - } -} - -class FlutterColorStroke extends ColorStroke implements FlutterStroke { - ui.Paint getPaint(Float64List transform, double modulateOpacity) { - if (width == 0) { - return null; - } - ui.Paint paint = ui.Paint() - ..color = ui.Color.fromRGBO( - (color[0] * 255.0).round(), - (color[1] * 255.0).round(), - (color[2] * 255.0).round(), - color[3] * modulateOpacity * opacity) - ..strokeWidth = width - ..style = ui.PaintingStyle.stroke; - return paint; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is FlutterActorShape) { - parentNode.addFlutterStroke(this); - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterColorStroke instanceNode = FlutterColorStroke(); - instanceNode.copyColorStroke(this, resetArtboard); - return instanceNode; - } -} - -class FlutterGradientFill extends GradientFill implements FlutterFill { - ui.Paint getPaint(Float64List transform, double modulateOpacity) { - List colors = List(); - List stops = List(); - int numStops = (colorStops.length / 5).round(); - - int idx = 0; - for (int i = 0; i < numStops; i++) { - ui.Color color = ui.Color.fromRGBO( - (colorStops[idx] * 255.0).round(), - (colorStops[idx + 1] * 255.0).round(), - (colorStops[idx + 2] * 255.0).round(), - colorStops[idx + 3]); - colors.add(color); - stops.add(colorStops[idx + 4]); - idx += 5; - } - ui.Paint paint = ui.Paint() - ..color = Colors.white.withOpacity(modulateOpacity * opacity) - ..shader = ui.Gradient.linear(ui.Offset(renderStart[0], renderStart[1]), - ui.Offset(renderEnd[0], renderEnd[1]), colors, stops) - ..style = ui.PaintingStyle.fill; - return paint; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is FlutterActorShape) { - parentNode.addFill(this); - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterGradientFill instanceNode = FlutterGradientFill(); - instanceNode.copyGradientFill(this, resetArtboard); - return instanceNode; - } -} - -class FlutterGradientStroke extends GradientStroke implements FlutterStroke { - ui.Paint getPaint(Float64List transform, double modulateOpacity) { - List colors = List(); - List stops = List(); - int numStops = (colorStops.length / 5).round(); - - int idx = 0; - for (int i = 0; i < numStops; i++) { - ui.Color color = ui.Color.fromRGBO( - (colorStops[idx] * 255.0).round(), - (colorStops[idx + 1] * 255.0).round(), - (colorStops[idx + 2] * 255.0).round(), - colorStops[idx + 3]); - colors.add(color); - stops.add(colorStops[idx + 4]); - idx += 5; - } - - ui.Paint paint = ui.Paint() - ..color = Colors.white.withOpacity(modulateOpacity * opacity) - ..shader = ui.Gradient.linear(ui.Offset(renderStart[0], renderStart[1]), - ui.Offset(renderEnd[0], renderEnd[1]), colors, stops) - ..strokeWidth = width - ..style = ui.PaintingStyle.stroke; - return paint; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is FlutterActorShape) { - parentNode.addFlutterStroke(this); - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterGradientStroke instanceNode = FlutterGradientStroke(); - instanceNode.copyGradientStroke(this, resetArtboard); - return instanceNode; - } -} - -class FlutterRadialFill extends RadialGradientFill implements FlutterFill { - ui.Paint getPaint(Float64List transform, double modulateOpacity) { - // double squash = max(0.00001, secondaryRadiusScale); - // Vec2D diff = Vec2D.subtract(new Vec2D(), end, start); - // double angle = atan2(diff[1], diff[0]); - // Mat2D transform = new Mat2D(); - - // Mat2D translate = new Mat2D(); - // translate[4] = start[0]; - // translate[5] = start[1]; - - // Mat2D rotation = new Mat2D(); - // Mat2D.fromRotation(rotation, angle); - - // transform[4] = start[0]; - // transform[5] = start[1]; - - // Mat2D scaling = new Mat2D(); - // scaling[0] = 1.0; - // scaling[3] = squash; - - // Mat2D.multiply(transform, translate, rotation); - // Mat2D.multiply(transform, transform, scaling); - - double radius = Vec2D.distance(renderStart, renderEnd); - List colors = List(); - List stops = List(); - int numStops = (colorStops.length / 5).round(); - - int idx = 0; - for (int i = 0; i < numStops; i++) { - ui.Color color = ui.Color.fromRGBO( - (colorStops[idx] * 255.0).round(), - (colorStops[idx + 1] * 255.0).round(), - (colorStops[idx + 2] * 255.0).round(), - colorStops[idx + 3]); - colors.add(color); - stops.add(colorStops[idx + 4]); - idx += 5; - } - ui.Gradient radial = ui.Gradient.radial( - Offset(renderStart[0], renderStart[1]), - radius, - colors, - stops, - ui.TileMode.clamp); //, transform.mat4); - ui.Paint paint = ui.Paint() - ..color = Colors.white.withOpacity(modulateOpacity * opacity) - ..shader = radial - ..style = ui.PaintingStyle.fill; - - return paint; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is FlutterActorShape) { - parentNode.addFill(this); - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterRadialFill instanceNode = FlutterRadialFill(); - instanceNode.copyRadialFill(this, resetArtboard); - return instanceNode; - } -} - -class FlutterRadialStroke extends RadialGradientStroke - implements FlutterStroke { - ui.Paint getPaint(Float64List transform, double modulateOpacity) { - // double squash = max(0.00001, secondaryRadiusScale); - // Vec2D diff = Vec2D.subtract(new Vec2D(), end, start); - // double angle = atan2(diff[1], diff[0]); - // Mat2D transform = new Mat2D(); - - // Mat2D translate = new Mat2D(); - // translate[4] = start[0]; - // translate[5] = start[1]; - - // Mat2D rotation = new Mat2D(); - // Mat2D.fromRotation(rotation, angle); - - // transform[4] = start[0]; - // transform[5] = start[1]; - - // Mat2D scaling = new Mat2D(); - // scaling[0] = 1.0; - // scaling[3] = squash; - - // Mat2D.multiply(transform, translate, rotation); - // Mat2D.multiply(transform, transform, scaling); - - double radius = Vec2D.distance(renderStart, renderEnd); - List colors = List(); - List stops = List(); - int numStops = (colorStops.length / 5).round(); - - int idx = 0; - for (int i = 0; i < numStops; i++) { - ui.Color color = ui.Color.fromRGBO( - (colorStops[idx] * 255.0).round(), - (colorStops[idx + 1] * 255.0).round(), - (colorStops[idx + 2] * 255.0).round(), - colorStops[idx + 3]); - colors.add(color); - stops.add(colorStops[idx + 4]); - idx += 5; - } - return ui.Paint() - ..color = Colors.white.withOpacity(modulateOpacity * opacity) - ..shader = ui.Gradient.radial(Offset(renderStart[0], renderStart[1]), - radius, colors, stops, ui.TileMode.clamp) //, transform.mat4) - // ..shader = new ui.Gradient.radial(new ui.Offset(center[0], center[1]), radius, colors, stops) - ..strokeWidth = width - ..style = ui.PaintingStyle.stroke; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is FlutterActorShape) { - parentNode.addFlutterStroke(this); - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterRadialStroke instanceNode = FlutterRadialStroke(); - instanceNode.copyRadialStroke(this, resetArtboard); - return instanceNode; - } -} - -class FlutterActor extends Actor { - List _images; - - List get images { - return _images; - } - - ActorArtboard makeArtboard() { - return FlutterActorArtboard(this); - } - - ActorShape makeShapeNode() { - return FlutterActorShape(); - } - - ActorPath makePathNode() { - return FlutterActorPath(); - } - - ActorRectangle makeRectangle() { - return FlutterActorRectangle(); - } - - ActorTriangle makeTriangle() { - return FlutterActorTriangle(); - } - - ActorStar makeStar() { - return FlutterActorStar(); - } - - ActorPolygon makePolygon() { - return FlutterActorPolygon(); - } - - ActorEllipse makeEllipse() { - return FlutterActorEllipse(); - } - - ColorFill makeColorFill() { - return FlutterColorFill(); - } - - ColorStroke makeColorStroke() { - return FlutterColorStroke(); - } - - GradientFill makeGradientFill() { - return FlutterGradientFill(); - } - - GradientStroke makeGradientStroke() { - return FlutterGradientStroke(); - } - - RadialGradientFill makeRadialFill() { - return FlutterRadialFill(); - } - - RadialGradientStroke makeRadialStroke() { - return FlutterRadialStroke(); - } - - Future loadFromBundle(String filename) async { - Completer completer = Completer(); - rootBundle.load(filename).then((ByteData data) { - super.load(data); - completer.complete(true); - }); - return completer.future; - } - - dispose() {} -} - -class FlutterActorArtboard extends ActorArtboard { - FlutterActorArtboard(FlutterActor actor) : super(actor); - - void advance(double seconds) { - super.advance(seconds); - } - - void draw(ui.Canvas canvas, {ui.Color overrideColor, double opacity = 1.0}) { - for (ActorDrawable drawable in drawableNodes) { - if (drawable is FlutterActorShape) { - drawable.draw(canvas, opacity, overrideColor); - } - } - } - - ActorArtboard makeInstance() { - FlutterActorArtboard artboardInstance = FlutterActorArtboard(actor); - artboardInstance.copyArtboard(this); - return artboardInstance; - } - - void dispose() {} -} - -class FlutterActorPath extends ActorPath with FlutterPathPointsPath { - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterActorPath instanceNode = FlutterActorPath(); - instanceNode.copyPath(this, resetArtboard); - return instanceNode; - } -} - -class FlutterActorEllipse extends ActorEllipse with FlutterPathPointsPath { - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterActorEllipse instanceNode = FlutterActorEllipse(); - instanceNode.copyPath(this, resetArtboard); - return instanceNode; - } - // updatePath(ui.Path path) - // { - // List pts = points; - // int len = pts.length; - // path.moveTo(0.0, -radiusY); - - // for(int i = 0; i < len; i++) - // { - // CubicPathPoint point = pts[i]; - // CubicPathPoint nextPoint = pts[(i+1)%len]; - // Vec2D t = nextPoint.translation; - // Vec2D cin = nextPoint.inPoint; - // Vec2D cout = point.outPoint; - // path.cubicTo( - // cout[0], cout[1], - // cin[0], cin[1], - // t[0], t[1] - // ); - // } - // path.close(); - // } - -} - -class FlutterActorPolygon extends ActorPolygon with FlutterPathPointsPath { - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterActorPolygon instanceNode = FlutterActorPolygon(); - instanceNode.copyPolygon(this, resetArtboard); - return instanceNode; - } - // updatePath(ui.Path path) - // { - // Mat2D xform = this.transform; - // List pts = points; - // for(PathPoint p in pts) - // { - // p = p.transformed(xform); - // } - - // path.moveTo(0.0, -radiusY); - // double angle = -pi/2.0; - // double inc = (pi*2.0)/sides; - - // for(int i = 0; i < sides; i++) - // { - // path.lineTo(cos(angle)*radiusX, sin(angle)*radiusY); - // angle += inc; - // } - - // path.close(); - // } -} - -class FlutterActorStar extends ActorStar with FlutterPathPointsPath { - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterActorStar instanceNode = FlutterActorStar(); - instanceNode.copyStar(this, resetArtboard); - return instanceNode; - } - // onPathInvalid() - // { - // (parent as FlutterActorShape).invalidatePath(); - // } - - // markPathDirty() - // { - // actor.addDirt(this, ActorBasePath.PathDirty, false); - // this.onPathInvalid(); - // } - - // updatePath(ui.Path path) - // { - // path.moveTo(0.0, -radiusY); - // double angle = -pi/2.0; - // double inc = (pi*2.0)/sides; - // Vec2D sx = Vec2D.fromValues(radiusX, radiusX*innerRadius); - // Vec2D sy = Vec2D.fromValues(radiusY, radiusY*innerRadius); - - // for(int i = 0; i < sides; i++) - // { - // path.lineTo(cos(angle)*sx[i%2], sin(angle)*sy[i%2]); - // angle += inc; - // } - // path.close(); - // } -} - -// Example of how to directly use a base FlutterPath and do drawing directly with SKIA high level paths -// This is more efficient, particularly when using a lot of procedural shapes. -class FlutterActorRectangle extends ActorRectangle with FlutterPath { - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterActorRectangle instanceNode = FlutterActorRectangle(); - instanceNode.copyRectangle(this, resetArtboard); - return instanceNode; - } - - ui.Path _path; - - ui.Path get path { - if (_path != null) { - return _path; - } - return (_path = _makePath()); - } - - @override - void invalidatePath() { - _path = null; - } - - ui.Path _makePath() { - ui.Path p = ui.Path(); - double halfWidth = width / 2.0; - double halfHeight = height / 2.0; - Vec2D topLeft = Vec2D.fromValues(-halfWidth, halfHeight); - Vec2D bottomRight = Vec2D.fromValues(halfWidth, -halfHeight); - p.moveTo(x, y); - - p.addRRect(ui.RRect.fromLTRBR(topLeft[0], topLeft[1], bottomRight[0], - bottomRight[1], ui.Radius.circular(radius))); - - return p; - } -} - -class FlutterActorTriangle extends ActorTriangle with FlutterPathPointsPath { - ActorComponent makeInstance(ActorArtboard resetArtboard) { - FlutterActorTriangle instanceNode = FlutterActorTriangle(); - instanceNode.copyPath(this, resetArtboard); - return instanceNode; - } - // updatePath(ui.Path path) - // { - // path.moveTo(0.0, -radiusY); - // path.lineTo(radiusX, radiusY); - // path.lineTo(-radiusX, radiusY); - // path.close(); - // } -} - -// Abstract base path that can be invalidated and somehow regenerates, no concrete logic -abstract class FlutterPath { - ui.Path get path; -} - -// Abstract path that uses Actor PathPoints, slightly higher level that FlutterPath. -// Most shapes can use this, but if they want to use a different procedural backing call, -// they should implement FlutterPath and generate the path another way. -abstract class FlutterPathPointsPath implements FlutterPath { - ui.Path _path; - List get deformedPoints; - bool get isClosed; - - ui.Path get path { - if (_path != null) { - return _path; - } - return (_path = _makePath()); - } - - void invalidatePath() { - _path = null; - } - - ui.Path _makePath() { - ui.Path p = ui.Path(); - - List pts = this.deformedPoints; - if (pts == null || pts.length == 0) { - return p; - } - - List renderPoints = List(); - int pl = pts.length; - - const double arcConstant = 0.55; - const double iarcConstant = 1.0 - arcConstant; - PathPoint previous = isClosed ? pts[pl - 1] : null; - for (int i = 0; i < pl; i++) { - PathPoint point = pts[i]; - switch (point.pointType) { - case PointType.Straight: - { - StraightPathPoint straightPoint = point as StraightPathPoint; - double radius = straightPoint.radius; - if (radius > 0) { - if (!isClosed && (i == 0 || i == pl - 1)) { - renderPoints.add(point); - previous = point; - } else { - PathPoint next = pts[(i + 1) % pl]; - Vec2D prevPoint = previous is CubicPathPoint - ? previous.outPoint - : previous.translation; - Vec2D nextPoint = - next is CubicPathPoint ? next.inPoint : next.translation; - Vec2D pos = point.translation; - - Vec2D toPrev = Vec2D.subtract(Vec2D(), prevPoint, pos); - double toPrevLength = Vec2D.length(toPrev); - toPrev[0] /= toPrevLength; - toPrev[1] /= toPrevLength; - - Vec2D toNext = Vec2D.subtract(Vec2D(), nextPoint, pos); - double toNextLength = Vec2D.length(toNext); - toNext[0] /= toNextLength; - toNext[1] /= toNextLength; - - double renderRadius = - min(toPrevLength, min(toNextLength, radius)); - - Vec2D translation = - Vec2D.scaleAndAdd(Vec2D(), pos, toPrev, renderRadius); - renderPoints.add(CubicPathPoint.fromValues( - translation, - translation, - Vec2D.scaleAndAdd( - Vec2D(), pos, toPrev, iarcConstant * renderRadius))); - translation = - Vec2D.scaleAndAdd(Vec2D(), pos, toNext, renderRadius); - previous = CubicPathPoint.fromValues( - translation, - Vec2D.scaleAndAdd( - Vec2D(), pos, toNext, iarcConstant * renderRadius), - translation); - renderPoints.add(previous); - } - } else { - renderPoints.add(point); - previous = point; - } - break; - } - default: - renderPoints.add(point); - previous = point; - break; - } - } - - PathPoint firstPoint = renderPoints[0]; - p.moveTo(firstPoint.translation[0], firstPoint.translation[1]); - for (int i = 0, - l = isClosed ? renderPoints.length : renderPoints.length - 1, - pl = renderPoints.length; - i < l; - i++) { - PathPoint point = renderPoints[i]; - PathPoint nextPoint = renderPoints[(i + 1) % pl]; - Vec2D cin = nextPoint is CubicPathPoint ? nextPoint.inPoint : null; - Vec2D cout = point is CubicPathPoint ? point.outPoint : null; - if (cin == null && cout == null) { - p.lineTo(nextPoint.translation[0], nextPoint.translation[1]); - } else { - if (cout == null) { - cout = point.translation; - } - if (cin == null) { - cin = nextPoint.translation; - } - - p.cubicTo(cout[0], cout[1], cin[0], cin[1], nextPoint.translation[0], - nextPoint.translation[1]); - } - } - - if (isClosed) { - p.close(); - } - - return p; - } -} diff --git a/flarelib/lib/flare/actor.dart b/flarelib/lib/flare/actor.dart deleted file mode 100644 index ae3230a..0000000 --- a/flarelib/lib/flare/actor.dart +++ /dev/null @@ -1,167 +0,0 @@ -import "dart:typed_data"; -import "dart:convert"; -import "actor_image.dart"; -import "actor_shape.dart"; -import "actor_ellipse.dart"; -import "actor_polygon.dart"; -import "actor_rectangle.dart"; -import "actor_star.dart"; -import "actor_triangle.dart"; -import "actor_path.dart"; -import "actor_color.dart"; -import "stream_reader.dart"; -import "block_types.dart"; -import "actor_artboard.dart"; - -class Actor { - int maxTextureIndex = 0; - int _version = 0; - int _artboardCount = 0; - List _artboards; - - Actor(); - - ActorArtboard get artboard => _artboards.length > 0 ? _artboards.first : null; - - int get version { - return _version; - } - - int get texturesUsed { - return maxTextureIndex + 1; - } - - void copyActor(Actor actor) { - maxTextureIndex = actor.maxTextureIndex; - _artboardCount = actor._artboardCount; - if (_artboardCount > 0) { - int idx = 0; - _artboards = List(_artboardCount); - for (ActorArtboard artboard in actor._artboards) { - if (artboard == null) { - _artboards[idx++] = null; - continue; - } - ActorArtboard instanceArtboard = artboard.makeInstance(); - _artboards[idx++] = instanceArtboard; - } - } - } - - ActorArtboard makeArtboard() { - return ActorArtboard(this); - } - - ActorImage makeImageNode() { - return ActorImage(); - } - - ActorPath makePathNode() { - return ActorPath(); - } - - ActorShape makeShapeNode() { - return ActorShape(); - } - - ActorRectangle makeRectangle() { - return ActorRectangle(); - } - - ActorTriangle makeTriangle() { - return ActorTriangle(); - } - - ActorStar makeStar() { - return ActorStar(); - } - - ActorPolygon makePolygon() { - return ActorPolygon(); - } - - ActorEllipse makeEllipse() { - return ActorEllipse(); - } - - ColorFill makeColorFill() { - return ColorFill(); - } - - ColorStroke makeColorStroke() { - return ColorStroke(); - } - - GradientFill makeGradientFill() { - return GradientFill(); - } - - GradientStroke makeGradientStroke() { - return GradientStroke(); - } - - RadialGradientFill makeRadialFill() { - return RadialGradientFill(); - } - - RadialGradientStroke makeRadialStroke() { - return RadialGradientStroke(); - } - - void load(ByteData data) { - if (data.lengthInBytes < 5) { - throw UnsupportedError("Not a valid Flare file."); - } - int F = data.getUint8(0); - int L = data.getUint8(1); - int A = data.getUint8(2); - int R = data.getUint8(3); - int E = data.getUint8(4); - - dynamic inputData = data; - - if (F != 70 || L != 76 || A != 65 || R != 82 || E != 69) { - Uint8List charCodes = data.buffer.asUint8List(); - String stringData = String.fromCharCodes(charCodes); - var jsonActor = jsonDecode(stringData); - Map jsonObject = Map(); - jsonObject["container"] = jsonActor; - inputData = jsonObject; - } - - StreamReader reader = StreamReader(inputData); - _version = reader.readVersion(); - - StreamReader block; - while ((block = reader.readNextBlock(BlockTypesMap)) != null) { - switch (block.blockType) { - case BlockTypes.Artboards: - readArtboardsBlock(block); - break; - } - } - } - - void readArtboardsBlock(StreamReader block) { - int artboardCount = block.readUint16Length(); - _artboards = List(artboardCount); - - for (int artboardIndex = 0, end = _artboards.length; - artboardIndex < end; - artboardIndex++) { - StreamReader artboardBlock = block.readNextBlock(BlockTypesMap); - if (artboardBlock == null) { - break; - } - switch (artboardBlock.blockType) { - case BlockTypes.ActorArtboard: - { - ActorArtboard artboard = makeArtboard(); - artboard.read(artboardBlock); - _artboards[artboardIndex] = artboard; - break; - } - } - } - } -} diff --git a/flarelib/lib/flare/actor_artboard.dart b/flarelib/lib/flare/actor_artboard.dart deleted file mode 100644 index 6bbcab9..0000000 --- a/flarelib/lib/flare/actor_artboard.dart +++ /dev/null @@ -1,596 +0,0 @@ -import "actor_flags.dart"; -import "block_types.dart"; -import "actor_node.dart"; -import "actor_bone.dart"; -import "actor_component.dart"; -import "actor_distance_constraint.dart"; -import "actor_event.dart"; -import "actor_node_solo.dart"; -import "actor_root_bone.dart"; -import "actor_jelly_bone.dart"; -import "actor_scale_constraint.dart"; -import "actor_skin.dart"; -import "actor_path.dart"; -import "actor_transform_constraint.dart"; -import "actor_translation_constraint.dart"; -import "jelly_component.dart"; -import "actor_ik_constraint.dart"; -import "actor_rotation_constraint.dart"; -import "actor_image.dart"; -import "actor_drawable.dart"; -import "actor_shape.dart"; -import "actor_ellipse.dart"; -import "actor_polygon.dart"; -import "actor_rectangle.dart"; -import "actor_star.dart"; -import "actor_triangle.dart"; -import "actor_color.dart"; -import "animation/actor_animation.dart"; -import "dependency_sorter.dart"; -import "actor.dart"; -import "stream_reader.dart"; -import "math/vec2d.dart"; -import "dart:typed_data"; -import "math/aabb.dart"; -import "dart:math"; - -class ActorArtboard { - int _flags = ActorFlags.IsDrawOrderDirty | ActorFlags.IsVertexDeformDirty; - int _drawableNodeCount = 0; - int _nodeCount = 0; - int _dirtDepth = 0; - ActorNode _root; - List _components; - List _nodes; - List _drawableNodes; - List _animations; - List _dependencyOrder; - Actor _actor; - String _name; - Vec2D _translation = Vec2D(); - double _width = 0.0; - double _height = 0.0; - Vec2D _origin = Vec2D(); - bool _clipContents = true; - Float32List _color = Float32List(4); - - String get name => _name; - double get width => _width; - double get height => _height; - Vec2D get origin => _origin; - Vec2D get translation => _translation; - bool get clipContents => _clipContents; - - ActorArtboard(Actor actor) { - _actor = actor; - _root = ActorNode.withArtboard(this); - } - - Actor get actor => _actor; - List get components => _components; - List get nodes => _nodes; - List get animations => _animations; - List get drawableNodes => _drawableNodes; - ActorComponent operator [](int index) { - return _components[index]; - } - - int get componentCount => _components.length; - int get nodeCount => _nodeCount; - int get drawNodeCount => _drawableNodeCount; - ActorNode get root => _root; - - bool addDependency(ActorComponent a, ActorComponent b) { - List dependents = b.dependents; - if (dependents == null) { - b.dependents = dependents = List(); - } - if (dependents.contains(a)) { - return false; - } - dependents.add(a); - return true; - } - - void sortDependencies() { - DependencySorter sorter = DependencySorter(); - _dependencyOrder = sorter.sort(_root); - int graphOrder = 0; - for (ActorComponent component in _dependencyOrder) { - component.graphOrder = graphOrder++; - component.dirtMask = 255; - } - _flags |= ActorFlags.IsDirty; - } - - bool addDirt(ActorComponent component, int value, bool recurse) { - if ((component.dirtMask & value) == value) { - // Already marked. - return false; - } - - // Make sure dirt is set before calling anything that can set more dirt. - int dirt = component.dirtMask | value; - component.dirtMask = dirt; - - _flags |= ActorFlags.IsDirty; - - component.onDirty(dirt); - - // If the order of this component is less than the current dirt depth, update the dirt depth - // so that the update loop can break out early and re-run (something up the tree is dirty). - if (component.graphOrder < _dirtDepth) { - _dirtDepth = component.graphOrder; - } - if (!recurse) { - return true; - } - List dependents = component.dependents; - if (dependents != null) { - for (ActorComponent d in dependents) { - addDirt(d, value, recurse); - } - } - - return true; - } - - ActorAnimation getAnimation(String name) { - for (ActorAnimation a in _animations) { - if (a.name == name) { - return a; - } - } - return null; - } - - ActorNode getNode(String name) { - for (ActorNode node in _nodes) { - if (node != null && node.name == name) { - return node; - } - } - return null; - } - - void markDrawOrderDirty() { - _flags |= ActorFlags.IsDrawOrderDirty; - } - - bool get isVertexDeformDirty { - return (_flags & ActorFlags.IsVertexDeformDirty) != 0x00; - } - - ActorArtboard makeInstance() { - ActorArtboard artboardInstance = ActorArtboard(_actor); - artboardInstance.copyArtboard(this); - return artboardInstance; - } - - void copyArtboard(ActorArtboard artboard) { - _name = artboard._name; - Vec2D.copy(_translation, artboard._translation); - _width = artboard._width; - _height = artboard._height; - Vec2D.copy(_origin, artboard._origin); - _clipContents = artboard._clipContents; - - _color[0] = artboard._color[0]; - _color[1] = artboard._color[1]; - _color[2] = artboard._color[2]; - _color[3] = artboard._color[3]; - - _actor = artboard._actor; - _animations = artboard._animations; - _drawableNodeCount = artboard._drawableNodeCount; - _nodeCount = artboard._nodeCount; - - if (artboard.componentCount != 0) { - _components = List(artboard.componentCount); - } - if (_nodeCount != 0) // This will always be at least 1. - { - _nodes = List(_nodeCount); - } - if (_drawableNodeCount != 0) { - _drawableNodes = List(_drawableNodeCount); - } - - if (artboard.componentCount != 0) { - int idx = 0; - int drwIdx = 0; - int ndIdx = 0; - - for (ActorComponent component in artboard.components) { - if (component == null) { - _components[idx++] = null; - continue; - } - ActorComponent instanceComponent = component.makeInstance(this); - _components[idx++] = instanceComponent; - if (instanceComponent is ActorNode) { - _nodes[ndIdx++] = instanceComponent; - } - - if (instanceComponent is ActorDrawable) { - _drawableNodes[drwIdx++] = instanceComponent as ActorDrawable; - } - } - } - - _root = _components[0] as ActorNode; - - for (ActorComponent component in _components) { - if (_root == component || component == null) { - continue; - } - component.resolveComponentIndices(_components); - } - - for (ActorComponent component in _components) { - if (_root == component || component == null) { - continue; - } - component.completeResolve(); - } - - sortDependencies(); - - if (_drawableNodes != null) { - _drawableNodes.sort((a, b) => a.drawOrder.compareTo(b.drawOrder)); - for (int i = 0; i < _drawableNodes.length; i++) { - _drawableNodes[i].drawIndex = i; - } - } - } - - void advance(double seconds) { - if ((_flags & ActorFlags.IsDirty) != 0) { - const int MaxSteps = 100; - int step = 0; - int count = _dependencyOrder.length; - while ((_flags & ActorFlags.IsDirty) != 0 && step < MaxSteps) { - _flags &= ~ActorFlags.IsDirty; - // Track dirt depth here so that if something else marks dirty, we restart. - for (int i = 0; i < count; i++) { - ActorComponent component = _dependencyOrder[i]; - _dirtDepth = i; - int d = component.dirtMask; - if (d == 0) { - continue; - } - component.dirtMask = 0; - component.update(d); - if (_dirtDepth < i) { - break; - } - } - step++; - } - } - - if ((_flags & ActorFlags.IsDrawOrderDirty) != 0) { - _flags &= ~ActorFlags.IsDrawOrderDirty; - - if (_drawableNodes != null) { - _drawableNodes.sort((a, b) => a.drawOrder.compareTo(b.drawOrder)); - for (int i = 0; i < _drawableNodes.length; i++) { - _drawableNodes[i].drawIndex = i; - } - } - } - if ((_flags & ActorFlags.IsVertexDeformDirty) != 0) { - _flags &= ~ActorFlags.IsVertexDeformDirty; - for (int i = 0; i < _drawableNodeCount; i++) { - ActorDrawable drawable = _drawableNodes[i]; - if (drawable is ActorImage && drawable.isVertexDeformDirty) { - drawable.isVertexDeformDirty = false; - //updateVertexDeform(drawable); - } - } - } - } - - void read(StreamReader reader) { - _name = reader.readString("name"); - reader.readFloat32Array(_translation.values, "translation"); - _width = reader.readFloat32("width"); - _height = reader.readFloat32("height"); - reader.readFloat32Array(_origin.values, "origin"); - _clipContents = reader.readBool("clipContents"); - reader.readFloat32Array(_color, "color"); - - StreamReader block; - while ((block = reader.readNextBlock(BlockTypesMap)) != null) { - switch (block.blockType) { - case BlockTypes.Components: - readComponentsBlock(block); - break; - case BlockTypes.Animations: - readAnimationsBlock(block); - break; - } - } - } - - void readComponentsBlock(StreamReader block) { - int componentCount = block.readUint16Length(); - _components = List(componentCount + 1); - _components[0] = _root; - - // Guaranteed from the exporter to be in index order. - _nodeCount = 1; - for (int componentIndex = 1, end = componentCount + 1; - componentIndex < end; - componentIndex++) { - StreamReader nodeBlock = block.readNextBlock(BlockTypesMap); - if (nodeBlock == null) { - break; - } - ActorComponent component; - switch (nodeBlock.blockType) { - case BlockTypes.ActorNode: - component = ActorNode.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorBone: - component = ActorBone.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorRootBone: - component = ActorRootBone.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorImageSequence: - component = - ActorImage.readSequence(this, nodeBlock, actor.makeImageNode()); - ActorImage ai = component as ActorImage; - actor.maxTextureIndex = ai - .sequenceFrames.last.atlasIndex; // Last atlasIndex is the biggest - break; - - case BlockTypes.ActorImage: - component = ActorImage.read(this, nodeBlock, actor.makeImageNode()); - if ((component as ActorImage).textureIndex > actor.maxTextureIndex) { - actor.maxTextureIndex = (component as ActorImage).textureIndex; - } - break; - - case BlockTypes.ActorIKTarget: - //component = ActorIKTarget.Read(this, nodeBlock); - break; - - case BlockTypes.ActorEvent: - component = ActorEvent.read(this, nodeBlock, null); - break; - - case BlockTypes.CustomIntProperty: - //component = CustomIntProperty.Read(this, nodeBlock); - break; - - case BlockTypes.CustomFloatProperty: - //component = CustomFloatProperty.Read(this, nodeBlock); - break; - - case BlockTypes.CustomStringProperty: - //component = CustomStringProperty.Read(this, nodeBlock); - break; - - case BlockTypes.CustomBooleanProperty: - //component = CustomBooleanProperty.Read(this, nodeBlock); - break; - - case BlockTypes.ActorColliderRectangle: - //component = ActorColliderRectangle.Read(this, nodeBlock); - break; - - case BlockTypes.ActorColliderTriangle: - //component = ActorColliderTriangle.Read(this, nodeBlock); - break; - - case BlockTypes.ActorColliderCircle: - //component = ActorColliderCircle.Read(this, nodeBlock); - break; - - case BlockTypes.ActorColliderPolygon: - //component = ActorColliderPolygon.Read(this, nodeBlock); - break; - - case BlockTypes.ActorColliderLine: - //component = ActorColliderLine.Read(this, nodeBlock); - break; - - case BlockTypes.ActorNodeSolo: - component = ActorNodeSolo.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorJellyBone: - component = ActorJellyBone.read(this, nodeBlock, null); - break; - - case BlockTypes.JellyComponent: - component = JellyComponent.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorIKConstraint: - component = ActorIKConstraint.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorDistanceConstraint: - component = ActorDistanceConstraint.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorTranslationConstraint: - component = ActorTranslationConstraint.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorScaleConstraint: - component = ActorScaleConstraint.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorRotationConstraint: - component = ActorRotationConstraint.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorTransformConstraint: - component = ActorTransformConstraint.read(this, nodeBlock, null); - break; - - case BlockTypes.ActorShape: - component = ActorShape.read(this, nodeBlock, actor.makeShapeNode()); - break; - - case BlockTypes.ActorPath: - component = ActorPath.read(this, nodeBlock, actor.makePathNode()); - break; - - case BlockTypes.ColorFill: - component = ColorFill.read(this, nodeBlock, actor.makeColorFill()); - break; - - case BlockTypes.ColorStroke: - component = - ColorStroke.read(this, nodeBlock, actor.makeColorStroke()); - break; - - case BlockTypes.GradientFill: - component = - GradientFill.read(this, nodeBlock, actor.makeGradientFill()); - break; - - case BlockTypes.GradientStroke: - component = - GradientStroke.read(this, nodeBlock, actor.makeGradientStroke()); - break; - - case BlockTypes.RadialGradientFill: - component = - RadialGradientFill.read(this, nodeBlock, actor.makeRadialFill()); - break; - - case BlockTypes.RadialGradientStroke: - component = RadialGradientStroke.read( - this, nodeBlock, actor.makeRadialStroke()); - break; - - case BlockTypes.ActorEllipse: - component = ActorEllipse.read(this, nodeBlock, actor.makeEllipse()); - break; - - case BlockTypes.ActorRectangle: - component = - ActorRectangle.read(this, nodeBlock, actor.makeRectangle()); - break; - - case BlockTypes.ActorTriangle: - component = ActorTriangle.read(this, nodeBlock, actor.makeTriangle()); - break; - - case BlockTypes.ActorStar: - component = ActorStar.read(this, nodeBlock, actor.makeStar()); - break; - - case BlockTypes.ActorPolygon: - component = ActorPolygon.read(this, nodeBlock, actor.makePolygon()); - break; - case BlockTypes.ActorSkin: - component = ActorComponent.read(this, nodeBlock, ActorSkin()); - break; - } - if (component is ActorDrawable) { - _drawableNodeCount++; - } - - if (component is ActorNode) { - _nodeCount++; - } - _components[componentIndex] = component; - if (component != null) { - component.idx = componentIndex; - } - } - - _drawableNodes = List(_drawableNodeCount); - _nodes = List(_nodeCount); - _nodes[0] = _root; - - // Resolve nodes. - int drwIdx = 0; - int anIdx = 0; - - for (int i = 1; i <= componentCount; i++) { - ActorComponent c = _components[i]; - // Nodes can be null if we read from a file version that contained nodes that we don't interpret in this runtime. - if (c != null) { - c.resolveComponentIndices(_components); - } - - if (c is ActorDrawable) { - _drawableNodes[drwIdx++] = c as ActorDrawable; - } - - if (c is ActorNode) { - ActorNode an = c; - if (an != null) { - _nodes[anIdx++] = an; - } - } - } - - for (int i = 1; i <= componentCount; i++) { - ActorComponent c = components[i]; - if (c != null) { - c.completeResolve(); - } - } - - sortDependencies(); - } - - void readAnimationsBlock(StreamReader block) { - // Read animations. - int animationCount = block.readUint16Length(); - _animations = List(animationCount); - StreamReader animationBlock; - int animationIndex = 0; - - while ((animationBlock = block.readNextBlock(BlockTypesMap)) != null) { - switch (animationBlock.blockType) { - case BlockTypes.Animation: - ActorAnimation anim = - ActorAnimation.read(animationBlock, _components); - _animations[animationIndex++] = anim; - break; - } - } - } - - AABB artboardAABB() { - double minX = -_origin[0] * width; - double minY = -_origin[1] * height; - return AABB.fromValues(minX, minY, minX + _width, minY + height); - } - - AABB computeAABB() { - AABB aabb; - for (ActorDrawable drawable in _drawableNodes) { - // This is the axis aligned bounding box in the space of the parent (this case our shape). - AABB pathAABB = drawable.computeAABB(); - if (pathAABB == null) { - continue; - } - if (aabb == null) { - aabb = pathAABB; - } else { - // Combine. - aabb[0] = min(aabb[0], pathAABB[0]); - aabb[1] = min(aabb[1], pathAABB[1]); - - aabb[2] = max(aabb[2], pathAABB[2]); - aabb[3] = max(aabb[3], pathAABB[3]); - } - } - - return aabb; - } -} diff --git a/flarelib/lib/flare/actor_axis_constraint.dart b/flarelib/lib/flare/actor_axis_constraint.dart deleted file mode 100644 index 54b9606..0000000 --- a/flarelib/lib/flare/actor_axis_constraint.dart +++ /dev/null @@ -1,114 +0,0 @@ -import "actor_artboard.dart"; -import "actor_targeted_constraint.dart"; -import "transform_space.dart"; -import "stream_reader.dart"; - -abstract class ActorAxisConstraint extends ActorTargetedConstraint { - bool _copyX = false; - bool _copyY = false; - bool _enableMinX = false; - bool _enableMaxX = false; - bool _enableMinY = false; - bool _enableMaxY = false; - bool _offset = false; - - double _scaleX = 1.0; - double _scaleY = 1.0; - double _minX = 0.0; - double _maxX = 0.0; - double _minY = 0.0; - double _maxY = 0.0; - - int _sourceSpace = TransformSpace.World; - int _destSpace = TransformSpace.World; - int _minMaxSpace = TransformSpace.World; - - ActorAxisConstraint() : super(); - - static ActorAxisConstraint read(ActorArtboard artboard, StreamReader reader, - ActorAxisConstraint component) { - ActorTargetedConstraint.read(artboard, reader, component); - component._copyX = reader.readBool("copyX"); - if (component._copyX) { - component._scaleX = reader.readFloat32("scaleX"); - } - - component._enableMinX = reader.readBool("enableMinX"); - if (component._enableMinX) { - component._minX = reader.readFloat32("minX"); - } - - component._enableMaxX = reader.readBool("enableMaxX"); - if (component._enableMaxX) { - component._maxX = reader.readFloat32("maxX"); - } - - component._copyY = reader.readBool("copyY"); - if (component._copyY) { - component._scaleY = reader.readFloat32("scaleY"); - } - - component._enableMinY = reader.readBool("enableMinY"); - if (component._enableMinY) { - component._minY = reader.readFloat32("minY"); - } - - component._enableMaxY = reader.readBool("enableMaxY"); - if (component._enableMaxY) { - component._maxY = reader.readFloat32("maxY"); - } - - component._offset = reader.readBool("offset"); - component._sourceSpace = reader.readUint8("sourceSpaceId"); - component._destSpace = reader.readUint8("destSpaceId"); - component._minMaxSpace = reader.readUint8("minMaxSpaceId"); - - return component; - } - - void copyAxisConstraint( - ActorAxisConstraint node, ActorArtboard resetArtboard) { - copyTargetedConstraint(node, resetArtboard); - - _copyX = node._copyX; - _copyY = node._copyY; - _enableMinX = node._enableMinX; - _enableMaxX = node._enableMaxX; - _enableMinY = node._enableMinY; - _enableMaxY = node._enableMaxY; - _offset = node._offset; - - _scaleX = node._scaleX; - _scaleY = node._scaleY; - _minX = node._minX; - _maxX = node._maxX; - _minY = node._minY; - _maxY = node._maxY; - - _sourceSpace = node._sourceSpace; - _destSpace = node._destSpace; - _minMaxSpace = node._minMaxSpace; - } - - @override - onDirty(int dirt) { - markDirty(); - } - - get copyX => _copyX; - get copyY => _copyY; - get destSpace => _destSpace; - get enableMaxX => _enableMaxX; - get enableMaxY => _enableMaxY; - get enableMinX => _enableMinX; - get enableMinY => _enableMinY; - get maxX => _maxX; - get maxY => _maxY; - get minMaxSpace => _minMaxSpace; - get minX => _minX; - get minY => _minY; - get offset => _offset; - get scaleX => _scaleX; - get scaleY => _scaleY; - get sourceSpace => _sourceSpace; -} diff --git a/flarelib/lib/flare/actor_bone.dart b/flarelib/lib/flare/actor_bone.dart deleted file mode 100644 index 9b2a737..0000000 --- a/flarelib/lib/flare/actor_bone.dart +++ /dev/null @@ -1,43 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "actor_bone_base.dart"; -import "actor_component.dart"; -import "actor_node.dart"; -import "jelly_component.dart"; - -class ActorBone extends ActorBoneBase { - ActorBone _firstBone; - JellyComponent jelly; - - ActorBone get firstBone { - return _firstBone; - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorBone instanceNode = ActorBone(); - instanceNode.copyBoneBase(this, resetArtboard); - return instanceNode; - } - - void completeResolve() { - super.completeResolve(); - if (children == null) { - return; - } - for (ActorNode node in children) { - if (node is ActorBone) { - _firstBone = node; - return; - } - } - } - - static ActorBone read( - ActorArtboard artboard, StreamReader reader, ActorBone node) { - if (node == null) { - node = ActorBone(); - } - ActorBoneBase.read(artboard, reader, node); - return node; - } -} diff --git a/flarelib/lib/flare/actor_bone_base.dart b/flarelib/lib/flare/actor_bone_base.dart deleted file mode 100644 index 815ea37..0000000 --- a/flarelib/lib/flare/actor_bone_base.dart +++ /dev/null @@ -1,51 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "actor_node.dart"; -import "math/vec2d.dart"; -import "math/mat2d.dart"; - -class ActorBoneBase extends ActorNode { - double _length; - - double get length { - return _length; - } - - set length(double value) { - if (_length == value) { - return; - } - _length = value; - if (children == null) { - return; - } - for (ActorNode node in children) { - if (node is ActorBoneBase) { - node.x = value; - } - } - } - - Vec2D getTipWorldTranslation(Vec2D vec) { - Mat2D transform = Mat2D(); - transform[4] = _length; - Mat2D.multiply(transform, worldTransform, transform); - vec[0] = transform[4]; - vec[1] = transform[5]; - return vec; - } - - static ActorBoneBase read( - ActorArtboard artboard, StreamReader reader, ActorBoneBase node) { - ActorNode.read(artboard, reader, node); - - node._length = reader.readFloat32("length"); - - return node; - } - - void copyBoneBase(ActorBoneBase node, ActorArtboard resetArtboard) { - super.copyNode(node, resetArtboard); - _length = node._length; - } -} diff --git a/flarelib/lib/flare/actor_color.dart b/flarelib/lib/flare/actor_color.dart deleted file mode 100644 index bb58080..0000000 --- a/flarelib/lib/flare/actor_color.dart +++ /dev/null @@ -1,322 +0,0 @@ -import "dart:typed_data"; -import 'math/mat2d.dart'; - -import "actor_node.dart"; -import "actor_shape.dart"; -import "actor_artboard.dart"; - -import "actor.dart"; -import "actor_component.dart"; -import "dart:collection"; -import "stream_reader.dart"; -import "math/vec2d.dart"; - -enum FillRule { EvenOdd, NonZero } - -HashMap fillRuleLookup = HashMap.fromIterables( - [0, 1], [FillRule.EvenOdd, FillRule.NonZero]); - -abstract class ActorPaint extends ActorComponent { - double opacity = 1.0; - - void copyPaint(ActorPaint component, ActorArtboard resetArtboard) { - copyComponent(component, resetArtboard); - opacity = component.opacity; - } - - static ActorPaint read( - ActorArtboard artboard, StreamReader reader, ActorPaint component) { - ActorComponent.read(artboard, reader, component); - component.opacity = reader.readFloat32("opacity"); - - return component; - } - - completeResolve() { - artboard.addDependency(this, parent); - } -} - -abstract class ActorColor extends ActorPaint { - Float32List _color = Float32List(4); - - Float32List get color { - return _color; - } - - void copyColor(ActorColor node, ActorArtboard resetArtboard) { - copyPaint(node, resetArtboard); - _color[0] = node._color[0]; - _color[1] = node._color[1]; - _color[2] = node._color[2]; - _color[3] = node._color[3]; - } - - static ActorColor read( - ActorArtboard artboard, StreamReader reader, ActorColor component) { - ActorPaint.read(artboard, reader, component); - - reader.readFloat32ArrayOffset(component._color, 4, 0, "color"); - - return component; - } - - void onDirty(int dirt) {} - void update(int dirt) {} -} - -class ColorFill extends ActorColor { - FillRule _fillRule = FillRule.EvenOdd; - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ColorFill instanceEvent = ColorFill(); - instanceEvent.copyColorFill(this, resetArtboard); - return instanceEvent; - } - - void copyColorFill(ColorFill node, ActorArtboard resetArtboard) { - copyColor(node, resetArtboard); - _fillRule = node._fillRule; - } - - static ColorFill read( - ActorArtboard artboard, StreamReader reader, ColorFill component) { - if (component == null) { - component = ColorFill(); - } - ActorColor.read(artboard, reader, component); - component._fillRule = fillRuleLookup[reader.readUint8("fillRule")]; - return component; - } -} - -abstract class ActorStroke { - double get width; -} - -class ColorStroke extends ActorColor implements ActorStroke { - double width = 1.0; - - double get opacity => _color[3]; - - set opacity(double val) { - this.color[3] = val; - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ColorStroke instanceEvent = ColorStroke(); - instanceEvent.copyColorStroke(this, resetArtboard); - return instanceEvent; - } - - void copyColorStroke(ColorStroke node, ActorArtboard resetArtboard) { - copyColor(node, resetArtboard); - width = node.width; - } - - static ColorStroke read( - ActorArtboard artboard, StreamReader reader, ColorStroke component) { - if (component == null) { - component = ColorStroke(); - } - ActorColor.read(artboard, reader, component); - component.width = reader.readFloat32("width"); - return component; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is ActorShape) { - parentNode.addStroke(this); - } - } -} - -abstract class GradientColor extends ActorPaint { - Float32List _colorStops = Float32List(10); - Vec2D _start = Vec2D(); - Vec2D _end = Vec2D(); - Vec2D _renderStart = Vec2D(); - Vec2D _renderEnd = Vec2D(); - double opacity = 1.0; - - Vec2D get start => _start; - Vec2D get end => _end; - Vec2D get renderStart => _renderStart; - Vec2D get renderEnd => _renderEnd; - - Float32List get colorStops { - return _colorStops; - } - - void copyGradient(GradientColor node, ActorArtboard resetArtboard) { - copyPaint(node, resetArtboard); - _colorStops = Float32List.fromList(node._colorStops); - Vec2D.copy(_start, node._start); - Vec2D.copy(_end, node._end); - opacity = node.opacity; - } - - static GradientColor read( - ActorArtboard artboard, StreamReader reader, GradientColor component) { - ActorPaint.read(artboard, reader, component); - - int numStops = reader.readUint8("numColorStops"); - Float32List stops = Float32List(numStops * 5); - reader.readFloat32ArrayOffset(stops, numStops * 5, 0, "colorStops"); - component._colorStops = stops; - - reader.readFloat32ArrayOffset(component._start.values, 2, 0, "start"); - reader.readFloat32ArrayOffset(component._end.values, 2, 0, "end"); - - return component; - } - - void onDirty(int dirt) {} - void update(int dirt) { - ActorShape shape = parent; - Mat2D world = shape.worldTransform; - Vec2D.transformMat2D(_renderStart, _start, world); - Vec2D.transformMat2D(_renderEnd, _end, world); - } -} - -class GradientFill extends GradientColor { - FillRule _fillRule = FillRule.EvenOdd; - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - GradientFill instanceEvent = GradientFill(); - instanceEvent.copyGradientFill(this, resetArtboard); - return instanceEvent; - } - - void copyGradientFill(GradientFill node, ActorArtboard resetArtboard) { - copyGradient(node, resetArtboard); - _fillRule = node._fillRule; - } - - static GradientFill read( - ActorArtboard artboard, StreamReader reader, GradientFill component) { - if (component == null) { - component = GradientFill(); - } - GradientColor.read(artboard, reader, component); - component._fillRule = fillRuleLookup[reader.readUint8("fillRule")]; - return component; - } -} - -class GradientStroke extends GradientColor implements ActorStroke { - double width = 1.0; - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - GradientStroke instanceEvent = GradientStroke(); - instanceEvent.copyGradientStroke(this, resetArtboard); - return instanceEvent; - } - - void copyGradientStroke(GradientStroke node, ActorArtboard resetArtboard) { - copyGradient(node, resetArtboard); - width = node.width; - } - - static GradientStroke read( - ActorArtboard artboard, StreamReader reader, GradientStroke component) { - if (component == null) { - component = GradientStroke(); - } - GradientColor.read(artboard, reader, component); - component.width = reader.readFloat32("width"); - return component; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is ActorShape) { - parentNode.addStroke(this); - } - } -} - -abstract class RadialGradientColor extends GradientColor { - double secondaryRadiusScale = 1.0; - - void copyRadialGradient( - RadialGradientColor node, ActorArtboard resetArtboard) { - copyGradient(node, resetArtboard); - secondaryRadiusScale = node.secondaryRadiusScale; - } - - static RadialGradientColor read(ActorArtboard artboard, StreamReader reader, - RadialGradientColor component) { - GradientColor.read(artboard, reader, component); - - component.secondaryRadiusScale = reader.readFloat32("secondaryRadiusScale"); - - return component; - } -} - -class RadialGradientFill extends RadialGradientColor { - FillRule _fillRule = FillRule.EvenOdd; - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - RadialGradientFill instanceEvent = RadialGradientFill(); - instanceEvent.copyRadialFill(this, resetArtboard); - return instanceEvent; - } - - void copyRadialFill(RadialGradientFill node, ActorArtboard resetArtboard) { - copyRadialGradient(node, resetArtboard); - _fillRule = node._fillRule; - } - - static RadialGradientFill read(ActorArtboard artboard, StreamReader reader, - RadialGradientFill component) { - if (component == null) { - component = RadialGradientFill(); - } - RadialGradientColor.read(artboard, reader, component); - component._fillRule = fillRuleLookup[reader.readUint8("fillRule")]; - return component; - } -} - -class RadialGradientStroke extends RadialGradientColor implements ActorStroke { - double width = 1.0; - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - RadialGradientStroke instanceEvent = RadialGradientStroke(); - instanceEvent.copyRadialStroke(this, resetArtboard); - return instanceEvent; - } - - void copyRadialStroke( - RadialGradientStroke node, ActorArtboard resetArtboard) { - copyRadialGradient(node, resetArtboard); - width = node.width; - } - - static RadialGradientStroke read(ActorArtboard artboard, StreamReader reader, - RadialGradientStroke component) { - if (component == null) { - component = RadialGradientStroke(); - } - RadialGradientColor.read(artboard, reader, component); - component.width = reader.readFloat32("width"); - return component; - } - - void completeResolve() { - super.completeResolve(); - - ActorNode parentNode = parent; - if (parentNode is ActorShape) { - parentNode.addStroke(this); - } - } -} diff --git a/flarelib/lib/flare/actor_component.dart b/flarelib/lib/flare/actor_component.dart deleted file mode 100644 index b3a5fa5..0000000 --- a/flarelib/lib/flare/actor_component.dart +++ /dev/null @@ -1,57 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "actor_node.dart"; - -abstract class ActorComponent { - String _name = "Unnamed"; - ActorNode parent; - ActorArtboard artboard; - int _parentIdx = 0; - int idx = 0; - int graphOrder = 0; - int dirtMask = 0; - List dependents; - - ActorComponent.withArtboard(ActorArtboard artboard) { - this.artboard = artboard; - } - - ActorComponent() {} - - String get name { - return _name; - } - - void resolveComponentIndices(List components) { - ActorNode node = components[_parentIdx] as ActorNode; - if (node != null) { - if (this is ActorNode) { - node.addChild(this as ActorNode); - } else { - parent = node; - } - artboard.addDependency(this, node); - } - } - - void completeResolve(); - ActorComponent makeInstance(ActorArtboard resetArtboard); - void onDirty(int dirt); - void update(int dirt); - - static ActorComponent read( - ActorArtboard artboard, StreamReader reader, ActorComponent component) { - component.artboard = artboard; - component._name = reader.readString("name"); - component._parentIdx = reader.readId("parent"); - - return component; - } - - void copyComponent(ActorComponent component, ActorArtboard resetArtboard) { - _name = component._name; - artboard = resetArtboard; - _parentIdx = component._parentIdx; - idx = component.idx; - } -} diff --git a/flarelib/lib/flare/actor_constraint.dart b/flarelib/lib/flare/actor_constraint.dart deleted file mode 100644 index 3389680..0000000 --- a/flarelib/lib/flare/actor_constraint.dart +++ /dev/null @@ -1,67 +0,0 @@ -import "actor_component.dart"; -import "actor_node.dart"; -import "actor_artboard.dart"; -import "stream_reader.dart"; - -abstract class ActorConstraint extends ActorComponent { - bool _isEnabled; - double _strength; - - bool get isEnabled { - return _isEnabled; - } - - set isEnabled(bool value) { - if (value == _isEnabled) { - return; - } - _isEnabled = value; - markDirty(); - } - - void onDirty(int dirt) { - markDirty(); - } - - double get strength { - return _strength; - } - - set strength(double value) { - if (value == _strength) { - return; - } - _strength = value; - markDirty(); - } - - void markDirty() { - parent.markTransformDirty(); - } - - void constrain(ActorNode node); - - void resolveComponentIndices(List components) { - super.resolveComponentIndices(components); - if (parent != null) { - // This works because nodes are exported in hierarchy order, so we are assured constraints get added in order as we resolve indices. - parent.addConstraint(this); - } - } - - static ActorConstraint read( - ActorArtboard artboard, StreamReader reader, ActorConstraint component) { - ActorComponent.read(artboard, reader, component); - component._strength = reader.readFloat32("strength"); - component._isEnabled = reader.readBool("isEnabled"); - - return component; - } - - void copyConstraint(ActorConstraint node, ActorArtboard resetArtboard) { - copyComponent(node, resetArtboard); - - _isEnabled = node._isEnabled; - _strength = node._strength; - } -} diff --git a/flarelib/lib/flare/actor_distance_constraint.dart b/flarelib/lib/flare/actor_distance_constraint.dart deleted file mode 100644 index 34bf607..0000000 --- a/flarelib/lib/flare/actor_distance_constraint.dart +++ /dev/null @@ -1,107 +0,0 @@ -import "actor_artboard.dart"; -import "actor_node.dart"; -import "actor_targeted_constraint.dart"; -import "stream_reader.dart"; -import "math/vec2d.dart"; -import "math/mat2d.dart"; - -class DistanceMode { - static const int Closer = 0; - static const int Further = 1; - static const int Exact = 2; -} - -class ActorDistanceConstraint extends ActorTargetedConstraint { - double _distance = 100.0; - int _mode = DistanceMode.Closer; - - ActorDistanceConstraint() : super(); - - static ActorDistanceConstraint read(ActorArtboard artboard, - StreamReader reader, ActorDistanceConstraint component) { - if (component == null) { - component = ActorDistanceConstraint(); - } - ActorTargetedConstraint.read(artboard, reader, component); - - component._distance = reader.readFloat32("distance"); - component._mode = reader.readUint8("modeId"); - - return component; - } - - @override - ActorDistanceConstraint makeInstance(ActorArtboard resetArtboard) { - ActorDistanceConstraint node = ActorDistanceConstraint(); - node.copyDistanceConstraint(this, resetArtboard); - return node; - } - - void copyDistanceConstraint( - ActorDistanceConstraint node, ActorArtboard resetArtboard) { - copyTargetedConstraint(node, resetArtboard); - _distance = node._distance; - _mode = node._mode; - } - - @override - constrain(ActorNode node) { - ActorNode t = this.target; - if (t == null) { - return; - } - - ActorNode p = this.parent; - Vec2D targetTranslation = t.getWorldTranslation(Vec2D()); - Vec2D ourTranslation = p.getWorldTranslation(Vec2D()); - - Vec2D toTarget = Vec2D.subtract(Vec2D(), ourTranslation, targetTranslation); - double currentDistance = Vec2D.length(toTarget); - switch (_mode) { - case DistanceMode.Closer: - if (currentDistance < _distance) { - return; - } - break; - - case DistanceMode.Further: - if (currentDistance > _distance) { - return; - } - break; - } - - if (currentDistance < 0.001) { - return; - } - - Vec2D.scale(toTarget, toTarget, 1.0 / currentDistance); - Vec2D.scale(toTarget, toTarget, _distance); - - Mat2D world = p.worldTransform; - Vec2D position = Vec2D.lerp(Vec2D(), ourTranslation, - Vec2D.add(Vec2D(), targetTranslation, toTarget), strength); - world[4] = position[0]; - world[5] = position[1]; - } - - void update(int dirt) {} - void completeResolve() {} - - get distance => _distance; - get mode => _mode; - - set distance(double d) { - if (_distance != d) { - _distance = d; - this.markDirty(); - } - } - - set mode(int m) { - if (_mode != m) { - _mode = m; - this.markDirty(); - } - } -} diff --git a/flarelib/lib/flare/actor_drawable.dart b/flarelib/lib/flare/actor_drawable.dart deleted file mode 100644 index 2a33c97..0000000 --- a/flarelib/lib/flare/actor_drawable.dart +++ /dev/null @@ -1,14 +0,0 @@ -import "math/aabb.dart"; - -enum BlendModes { Normal, Multiply, Screen, Additive } - -abstract class ActorDrawable { - // Editor set draw index. - int get drawOrder; - set drawOrder(int value); - // Computed draw index in the draw list. - int get drawIndex; - set drawIndex(int value); - - AABB computeAABB(); -} diff --git a/flarelib/lib/flare/actor_ellipse.dart b/flarelib/lib/flare/actor_ellipse.dart deleted file mode 100644 index 5550f0f..0000000 --- a/flarelib/lib/flare/actor_ellipse.dart +++ /dev/null @@ -1,65 +0,0 @@ -import "actor_component.dart"; -import "actor_artboard.dart"; -import "actor_node.dart"; -import "math/vec2d.dart"; -import "stream_reader.dart"; -import "actor_path.dart"; -import "path_point.dart"; - -const double CircleConstant = 0.55; - -class ActorEllipse extends ActorProceduralPath { - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorEllipse instance = ActorEllipse(); - instance.copyPath(this, resetArtboard); - return instance; - } - - @override - void invalidatePath() {} - - static ActorEllipse read( - ActorArtboard artboard, StreamReader reader, ActorEllipse component) { - if (component == null) { - component = ActorEllipse(); - } - - ActorNode.read(artboard, reader, component); - - component.width = reader.readFloat32("width"); - component.height = reader.readFloat32("height"); - return component; - } - - @override - List get points { - List _ellipsePathPoints = []; - _ellipsePathPoints.add(CubicPathPoint.fromValues( - Vec2D.fromValues(0.0, -radiusY), - Vec2D.fromValues(-radiusX * CircleConstant, -radiusY), - Vec2D.fromValues(radiusX * CircleConstant, -radiusY))); - _ellipsePathPoints.add(CubicPathPoint.fromValues( - Vec2D.fromValues(radiusX, 0.0), - Vec2D.fromValues(radiusX, CircleConstant * -radiusY), - Vec2D.fromValues(radiusX, CircleConstant * radiusY))); - _ellipsePathPoints.add(CubicPathPoint.fromValues( - Vec2D.fromValues(0.0, radiusY), - Vec2D.fromValues(radiusX * CircleConstant, radiusY), - Vec2D.fromValues(-radiusX * CircleConstant, radiusY))); - _ellipsePathPoints.add(CubicPathPoint.fromValues( - Vec2D.fromValues(-radiusX, 0.0), - Vec2D.fromValues(-radiusX, radiusY * CircleConstant), - Vec2D.fromValues(-radiusX, -radiusY * CircleConstant))); - - return _ellipsePathPoints; - } - - bool get isClosed => true; - - bool get doesDraw { - return !this.renderCollapsed; - } - - double get radiusX => this.width / 2; - double get radiusY => this.height / 2; -} diff --git a/flarelib/lib/flare/actor_event.dart b/flarelib/lib/flare/actor_event.dart deleted file mode 100644 index 2c577f1..0000000 --- a/flarelib/lib/flare/actor_event.dart +++ /dev/null @@ -1,26 +0,0 @@ -import "actor_component.dart"; -import "actor_artboard.dart"; -import "stream_reader.dart"; - -class ActorEvent extends ActorComponent { - static ActorComponent read( - ActorArtboard artboard, StreamReader reader, ActorEvent component) { - if (component == null) { - component = ActorEvent(); - } - - ActorComponent.read(artboard, reader, component); - - return component; - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorEvent instanceEvent = ActorEvent(); - instanceEvent.copyComponent(this, resetArtboard); - return instanceEvent; - } - - void completeResolve() {} - void onDirty(int dirt) {} - void update(int dirt) {} -} diff --git a/flarelib/lib/flare/actor_flags.dart b/flarelib/lib/flare/actor_flags.dart deleted file mode 100644 index 07045ce..0000000 --- a/flarelib/lib/flare/actor_flags.dart +++ /dev/null @@ -1,5 +0,0 @@ -class ActorFlags { - static const int IsDrawOrderDirty = 1 << 0; - static const int IsVertexDeformDirty = 1 << 1; - static const int IsDirty = 1 << 2; -} diff --git a/flarelib/lib/flare/actor_ik_constraint.dart b/flarelib/lib/flare/actor_ik_constraint.dart deleted file mode 100644 index 513e3f5..0000000 --- a/flarelib/lib/flare/actor_ik_constraint.dart +++ /dev/null @@ -1,361 +0,0 @@ -import "actor_targeted_constraint.dart"; -import "actor_node.dart"; -import "actor_bone.dart"; -import "actor_component.dart"; -import "actor_artboard.dart"; -import "stream_reader.dart"; -import "math/transform_components.dart"; -import "math/mat2d.dart"; -import "math/vec2d.dart"; -import "dart:math"; - -class InfluencedBone { - int boneIdx; - ActorBone bone; -} - -class BoneChain { - int index; - ActorBone bone; - double angle; - bool included; - TransformComponents transformComponents; - Mat2D parentWorldInverse; -} - -class ActorIKConstraint extends ActorTargetedConstraint { - static const double PI2 = pi * 2.0; - bool _invertDirection = false; - List _influencedBones; - List _fkChain; - List _boneData; - - void resolveComponentIndices(List components) { - super.resolveComponentIndices(components); - - if (_influencedBones != null) { - for (InfluencedBone influenced in _influencedBones) { - influenced.bone = components[influenced.boneIdx] as ActorBone; - // Mark peer constraints, N.B. that we're not adding it to the parent bone - // as we're constraining it anyway. - if (influenced.bone != parent) { - influenced.bone.addPeerConstraint(this); - } - } - } - } - - void completeResolve() { - if (_influencedBones == null || _influencedBones.length == 0) { - return; - } - - // Initialize solver. - ActorBone start = _influencedBones[0].bone; - ActorNode end = _influencedBones[_influencedBones.length - 1].bone; - int count = 0; - while (end != null && end != start.parent) { - count++; - end = end.parent; - } - - bool allIn = count < 3; - end = _influencedBones[_influencedBones.length - 1].bone; - _fkChain = List(count); - int idx = count - 1; - while (end != null && end != start.parent) { - BoneChain bc = BoneChain(); - bc.bone = end; - bc.angle = 0.0; - bc.included = allIn; - bc.transformComponents = TransformComponents(); - bc.parentWorldInverse = Mat2D(); - bc.index = idx; - _fkChain[idx--] = bc; - end = end.parent; - } - - // Make sure bones are good. - _boneData = List(); - for (InfluencedBone bone in _influencedBones) { - BoneChain item = _fkChain.firstWhere( - (chainItem) => chainItem.bone == bone.bone, - orElse: () => null); - if (item == null) { - print("Bone not in chain: " + bone.bone.name); - continue; - } - _boneData.add(item); - } - if (!allIn) { - // Influenced bones are in the IK chain. - for (int i = 0; i < _boneData.length - 1; i++) { - BoneChain item = _boneData[i]; - item.included = true; - _fkChain[item.index + 1].included = true; - } - } - - // Finally mark dependencies. - for (InfluencedBone bone in _influencedBones) { - // Don't mark dependency on parent as ActorComponent already does this. - if (bone.bone == parent) { - continue; - } - - artboard.addDependency(this, bone.bone); - } - - if (target != null) { - artboard.addDependency(this, target); - } - - // All the first level children of the influenced bones should depend on the final bone. - BoneChain tip = _fkChain[_fkChain.length - 1]; - for (BoneChain fk in _fkChain) { - if (fk == tip) { - continue; - } - - ActorBone bone = fk.bone; - for (ActorNode node in bone.children) { - BoneChain item = _fkChain.firstWhere( - (chainItem) => chainItem.bone == node, - orElse: () => null); - if (item != null) { - // node is in the FK chain. - continue; - } - artboard.addDependency(node, tip.bone); - } - } - } - - static ActorIKConstraint read(ActorArtboard artboard, StreamReader reader, - ActorIKConstraint component) { - if (component == null) { - component = ActorIKConstraint(); - } - ActorTargetedConstraint.read(artboard, reader, component); - component._invertDirection = reader.readBool("isInverted"); - - reader.openArray("bones"); - int numInfluencedBones = reader.readUint8Length(); - if (numInfluencedBones > 0) { - component._influencedBones = List(numInfluencedBones); - - for (int i = 0; i < numInfluencedBones; i++) { - InfluencedBone ib = InfluencedBone(); - ib.boneIdx = reader.readId( - ""); // No label here, we're just clearing the elements from the array. - component._influencedBones[i] = ib; - } - } - reader.closeArray(); - return component; - } - - void constrain(ActorNode node) { - ActorNode target = this.target; - if (target == null) { - return; - } - Vec2D worldTargetTranslation = Vec2D(); - target.getWorldTranslation(worldTargetTranslation); - - if (_influencedBones.length == 0) { - return; - } - - // Decompose the chain. - for (BoneChain item in _fkChain) { - ActorBone bone = item.bone; - Mat2D parentWorld = bone.parent.worldTransform; - Mat2D.invert(item.parentWorldInverse, parentWorld); - Mat2D.multiply( - bone.transform, item.parentWorldInverse, bone.worldTransform); - Mat2D.decompose(bone.transform, item.transformComponents); - } - - int count = _boneData.length; - if (count == 1) { - solve1(_boneData[0], worldTargetTranslation); - } else if (count == 2) { - solve2(_boneData[0], _boneData[1], worldTargetTranslation); - } else { - BoneChain tip = _boneData[count - 1]; - for (int i = 0; i < count - 1; i++) { - BoneChain item = _boneData[i]; - solve2(item, tip, worldTargetTranslation); - for (int j = item.index + 1; j < _fkChain.length - 1; j++) { - BoneChain fk = _fkChain[j]; - Mat2D.invert(fk.parentWorldInverse, fk.bone.parent.worldTransform); - } - } - } - - // At the end, mix the FK angle with the IK angle by strength - if (strength != 1.0) { - for (BoneChain fk in _fkChain) { - if (!fk.included) { - ActorBone bone = fk.bone; - Mat2D.multiply( - bone.worldTransform, bone.parent.worldTransform, bone.transform); - continue; - } - double fromAngle = fk.transformComponents.rotation % PI2; - double toAngle = fk.angle % PI2; - double diff = toAngle - fromAngle; - if (diff > pi) { - diff -= PI2; - } else if (diff < -pi) { - diff += PI2; - } - double angle = fromAngle + diff * strength; - constrainRotation(fk, angle); - } - } - } - - void constrainRotation(BoneChain fk, double rotation) { - ActorBone bone = fk.bone; - Mat2D parentWorld = bone.parent.worldTransform; - Mat2D transform = bone.transform; - TransformComponents c = fk.transformComponents; - - if (rotation == 0.0) { - Mat2D.identity(transform); - } else { - Mat2D.fromRotation(transform, rotation); - } - // Translate - transform[4] = c.x; - transform[5] = c.y; - // Scale - double scaleX = c.scaleX; - double scaleY = c.scaleY; - transform[0] *= scaleX; - transform[1] *= scaleX; - transform[2] *= scaleY; - transform[3] *= scaleY; - // Skew - double skew = c.skew; - if (skew != 0.0) { - transform[2] = transform[0] * skew + transform[2]; - transform[3] = transform[1] * skew + transform[3]; - } - - Mat2D.multiply(bone.worldTransform, parentWorld, transform); - } - - void solve1(BoneChain fk1, Vec2D worldTargetTranslation) { - Mat2D iworld = fk1.parentWorldInverse; - var pA = Vec2D(); - fk1.bone.getWorldTranslation(pA); - var pBT = Vec2D.clone(worldTargetTranslation); - - // To target in worldspace - Vec2D toTarget = Vec2D.subtract(Vec2D(), pBT, pA); - // Note this is directional, hence not transformMat2d - Vec2D toTargetLocal = Vec2D.transformMat2(Vec2D(), toTarget, iworld); - double r = atan2(toTargetLocal[1], toTargetLocal[0]); - - constrainRotation(fk1, r); - fk1.angle = r; - } - - void solve2(BoneChain fk1, BoneChain fk2, Vec2D worldTargetTranslation) { - ActorBone b1 = fk1.bone; - ActorBone b2 = fk2.bone; - BoneChain firstChild = _fkChain[fk1.index + 1]; - - Mat2D iworld = fk1.parentWorldInverse; - - Vec2D pA = b1.getWorldTranslation(Vec2D()); - Vec2D pC = firstChild.bone.getWorldTranslation(Vec2D()); - Vec2D pB = b2.getTipWorldTranslation(Vec2D()); - ; - Vec2D pBT = Vec2D.clone(worldTargetTranslation); - - pA = Vec2D.transformMat2D(pA, pA, iworld); - pC = Vec2D.transformMat2D(pC, pC, iworld); - pB = Vec2D.transformMat2D(pB, pB, iworld); - pBT = Vec2D.transformMat2D(pBT, pBT, iworld); - - // http://mathworld.wolfram.com/LawofCosines.html - Vec2D av = Vec2D.subtract(Vec2D(), pB, pC); - double a = Vec2D.length(av); - - Vec2D bv = Vec2D.subtract(Vec2D(), pC, pA); - double b = Vec2D.length(bv); - - Vec2D cv = Vec2D.subtract(Vec2D(), pBT, pA); - double c = Vec2D.length(cv); - - double A = acos(max(-1, min(1, (-a * a + b * b + c * c) / (2 * b * c)))); - double C = acos(max(-1, min(1, (a * a + b * b - c * c) / (2 * a * b)))); - - double r1, r2; - if (b2.parent != b1) { - BoneChain secondChild = _fkChain[fk1.index + 2]; - - Mat2D secondChildWorldInverse = secondChild.parentWorldInverse; - - pC = firstChild.bone.getWorldTranslation(Vec2D()); - pB = b2.getTipWorldTranslation(Vec2D()); - - Vec2D avec = Vec2D.subtract(Vec2D(), pB, pC); - Vec2D avLocal = - Vec2D.transformMat2(Vec2D(), avec, secondChildWorldInverse); - double angleCorrection = -atan2(avLocal[1], avLocal[0]); - - if (_invertDirection) { - r1 = atan2(cv[1], cv[0]) - A; - r2 = -C + pi + angleCorrection; - } else { - r1 = A + atan2(cv[1], cv[0]); - r2 = C - pi + angleCorrection; - } - } else if (_invertDirection) { - r1 = atan2(cv[1], cv[0]) - A; - r2 = -C + pi; - } else { - r1 = A + atan2(cv[1], cv[0]); - r2 = C - pi; - } - - constrainRotation(fk1, r1); - constrainRotation(firstChild, r2); - if (firstChild != fk2) { - ActorBone bone = fk2.bone; - Mat2D.multiply( - bone.worldTransform, bone.parent.worldTransform, bone.transform); - } - - // Simple storage, need this for interpolation. - fk1.angle = r1; - firstChild.angle = r2; - } - - ActorComponent makeInstance(ActorArtboard artboard) { - ActorIKConstraint instance = ActorIKConstraint(); - instance.copyIKConstraint(this, artboard); - return instance; - } - - void copyIKConstraint(ActorIKConstraint node, ActorArtboard artboard) { - copyTargetedConstraint(node, artboard); - - _invertDirection = node._invertDirection; - if (node._influencedBones != null) { - _influencedBones = List(node._influencedBones.length); - for (int i = 0; i < _influencedBones.length; i++) { - InfluencedBone ib = InfluencedBone(); - ib.boneIdx = node._influencedBones[i].boneIdx; - _influencedBones[i] = ib; - } - } - } - - void update(int dirt) {} -} diff --git a/flarelib/lib/flare/actor_image.dart b/flarelib/lib/flare/actor_image.dart deleted file mode 100644 index ecf441b..0000000 --- a/flarelib/lib/flare/actor_image.dart +++ /dev/null @@ -1,538 +0,0 @@ -import 'dart:typed_data'; -import "stream_reader.dart"; -import "actor_node.dart"; -import "math/mat2d.dart"; -import "math/vec2d.dart"; -import "actor_artboard.dart"; -import "actor_component.dart"; -import "actor_drawable.dart"; -import "math/aabb.dart"; - -class BoneConnection { - int boneIdx; - ActorNode node; - Mat2D bind = Mat2D(); - Mat2D inverseBind = Mat2D(); -} - -class SequenceFrame { - int _atlasIndex; - int _offset; - SequenceFrame(this._atlasIndex, this._offset); - - @override - String toString() { - return "(" + - this._atlasIndex.toString() + - ", " + - this._offset.toString() + - ")"; - } - - int get atlasIndex { - return this._atlasIndex; - } - - int get offset { - return this._offset; - } -} - -class ActorImage extends ActorNode implements ActorDrawable { - @override - int drawIndex; - - @override - int drawOrder; - BlendModes blendMode; - - int _textureIndex = -1; - Float32List _vertices; - Uint16List _triangles; - int _vertexCount = 0; - int _triangleCount = 0; - Float32List _animationDeformedVertices; - bool isVertexDeformDirty = false; - - List _boneConnections; - Float32List _boneMatrices; - - List _sequenceFrames; - Float32List _sequenceUVs; - int _sequenceFrame = 0; - - int get sequenceFrame { - return this._sequenceFrame; - } - - Float32List get sequenceUVs { - return this._sequenceUVs; - } - - List get sequenceFrames { - return this._sequenceFrames; - } - - set sequenceFrame(int value) { - this._sequenceFrame = value; - } - - int get connectedBoneCount { - return _boneConnections == null ? 0 : _boneConnections.length; - } - - List get boneConnections { - return _boneConnections; - } - - int get textureIndex { - return _textureIndex; - } - - int get vertexCount { - return _vertexCount; - } - - int get triangleCount { - return _triangleCount; - } - - Uint16List get triangles { - return _triangles; - } - - Float32List get vertices { - return _vertices; - } - - int get vertexPositionOffset { - return 0; - } - - int get vertexUVOffset { - return 2; - } - - int get vertexBoneIndexOffset { - return 4; - } - - int get vertexBoneWeightOffset { - return 8; - } - - int get vertexStride { - return _boneConnections != null ? 12 : 4; - } - - bool get isSkinned { - return _boneConnections != null; - } - - bool get doesAnimationVertexDeform { - return _animationDeformedVertices != null; - } - - set doesAnimationVertexDeform(bool value) { - if (value) { - if (_animationDeformedVertices == null || - _animationDeformedVertices.length != _vertexCount * 2) { - _animationDeformedVertices = Float32List(vertexCount * 2); - // Copy the deform verts from the rig verts. - int writeIdx = 0; - int readIdx = 0; - int readStride = vertexStride; - for (int i = 0; i < _vertexCount; i++) { - _animationDeformedVertices[writeIdx++] = _vertices[readIdx]; - _animationDeformedVertices[writeIdx++] = _vertices[readIdx + 1]; - readIdx += readStride; - } - } - } else { - _animationDeformedVertices = null; - } - } - - Float32List get animationDeformedVertices { - return _animationDeformedVertices; - } - - ActorImage(); - - void disposeGeometry() { - // Delete vertices only if we do not vertex deform at runtime. - if (_animationDeformedVertices == null) { - _vertices = null; - } - _triangles = null; - } - - // We don't do this at initialization as some engines (like Unity) - // don't need us to handle the bone matrix transforms ourselves. - // This helps keep memory a little lower when this code runs in those engines. - void instanceBoneMatrices() { - if (_boneMatrices == null) { - int numConnectedBones = _boneConnections.length; - _boneMatrices = Float32List((numConnectedBones + 1) * 6); - // First bone transform is always identity. - _boneMatrices[0] = 1.0; - _boneMatrices[1] = 0.0; - _boneMatrices[2] = 0.0; - _boneMatrices[3] = 1.0; - _boneMatrices[4] = 0.0; - _boneMatrices[5] = 0.0; - } - } - - Float32List get boneInfluenceMatrices { - instanceBoneMatrices(); - - Mat2D mat = Mat2D(); - int bidx = 6; - for (BoneConnection bc in _boneConnections) { - Mat2D.multiply(mat, bc.node.worldTransform, bc.inverseBind); - - _boneMatrices[bidx++] = mat[0]; - _boneMatrices[bidx++] = mat[1]; - _boneMatrices[bidx++] = mat[2]; - _boneMatrices[bidx++] = mat[3]; - _boneMatrices[bidx++] = mat[4]; - _boneMatrices[bidx++] = mat[5]; - } - - return _boneMatrices; - } - - Float32List get boneTransformMatrices { - instanceBoneMatrices(); - - int bidx = 6; - for (BoneConnection bc in _boneConnections) { - Mat2D mat = bc.node.worldTransform; - - _boneMatrices[bidx++] = mat[0]; - _boneMatrices[bidx++] = mat[1]; - _boneMatrices[bidx++] = mat[2]; - _boneMatrices[bidx++] = mat[3]; - _boneMatrices[bidx++] = mat[4]; - _boneMatrices[bidx++] = mat[5]; - } - - return _boneMatrices; - } - - static ActorImage read( - ActorArtboard artboard, StreamReader reader, ActorImage node) { - if (node == null) { - node = ActorImage(); - } - - ActorNode.read(artboard, reader, node); - - bool isVisible = reader.readBool("isVisible"); - if (isVisible) { - int blendModeId = reader.readUint8("blendMode"); - BlendModes blendMode = BlendModes.Normal; - switch (blendModeId) { - case 0: - blendMode = BlendModes.Normal; - break; - case 1: - blendMode = BlendModes.Multiply; - break; - case 2: - blendMode = BlendModes.Screen; - break; - case 3: - blendMode = BlendModes.Additive; - break; - } - node.blendMode = blendMode; - node.drawOrder = reader.readUint16("drawOrder"); - node._textureIndex = reader.readUint8("atlas"); - - reader.openArray("bones"); - int numConnectedBones = reader.readUint8Length(); - if (numConnectedBones != 0) { - node._boneConnections = List(numConnectedBones); - - for (int i = 0; i < numConnectedBones; i++) { - BoneConnection bc = BoneConnection(); - reader.openObject("bone"); - bc.boneIdx = reader.readId("component"); - reader.readFloat32ArrayOffset(bc.bind.values, 6, 0, "bind"); - reader.closeObject(); - Mat2D.invert(bc.inverseBind, bc.bind); - node._boneConnections[i] = bc; - } - reader.closeArray(); - Mat2D worldOverride = Mat2D(); - reader.readFloat32ArrayOffset( - worldOverride.values, 6, 0, "worldTransform"); - node.worldTransformOverride = worldOverride; - } else { - reader.closeArray(); - } - - int numVertices = reader.readUint32("numVertices"); - int vertexStride = numConnectedBones > 0 ? 12 : 4; - node._vertexCount = numVertices; - node._vertices = Float32List(numVertices * vertexStride); - reader.readFloat32ArrayOffset( - node._vertices, node._vertices.length, 0, "vertices"); - - int numTris = reader.readUint32("numTriangles"); - node._triangles = Uint16List(numTris * 3); - node._triangleCount = numTris; - reader.readUint16Array( - node._triangles, node._triangles.length, 0, "triangles"); - } - - return node; - } - - static ActorImage readSequence( - ActorArtboard artboard, StreamReader reader, ActorImage node) { - ActorImage.read(artboard, reader, node); - - if (node._textureIndex != -1) { - reader.openArray("frames"); - int frameAssetCount = reader.readUint16Length(); - // node._sequenceFrames = []; - Float32List uvs = Float32List(node._vertexCount * 2 * frameAssetCount); - int uvStride = node._vertexCount * 2; - node._sequenceUVs = uvs; - SequenceFrame firstFrame = SequenceFrame(node._textureIndex, 0); - node._sequenceFrames = List(); - node._sequenceFrames.add(firstFrame); - int readIdx = 2; - int writeIdx = 0; - int vertexStride = 4; - if (node._boneConnections != null && node._boneConnections.length > 0) { - vertexStride = 12; - } - for (int i = 0; i < node._vertexCount; i++) { - uvs[writeIdx++] = node._vertices[readIdx]; - uvs[writeIdx++] = node._vertices[readIdx + 1]; - readIdx += vertexStride; - } - - int offset = uvStride; - for (int i = 1; i < frameAssetCount; i++) { - reader.openObject("frame"); - - SequenceFrame frame = - SequenceFrame(reader.readUint8("atlas"), offset * 4); - node._sequenceFrames.add(frame); - reader.readFloat32ArrayOffset(uvs, uvStride, offset, "uv"); - offset += uvStride; - - reader.closeObject(); - } - - reader.closeArray(); - } - - return node; - } - - void resolveComponentIndices(List components) { - super.resolveComponentIndices(components); - if (_boneConnections != null) { - for (int i = 0; i < _boneConnections.length; i++) { - BoneConnection bc = _boneConnections[i]; - bc.node = components[bc.boneIdx] as ActorNode; - } - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorImage instanceNode = ActorImage(); - instanceNode.copyImage(this, resetArtboard); - return instanceNode; - } - - void copyImage(ActorImage node, ActorArtboard resetArtboard) { - drawOrder = node.drawOrder; - blendMode = node.blendMode; - _textureIndex = node._textureIndex; - _vertexCount = node._vertexCount; - _triangleCount = node._triangleCount; - _vertices = node._vertices; - _triangles = node._triangles; - if (node._animationDeformedVertices != null) { - _animationDeformedVertices = - Float32List.fromList(node._animationDeformedVertices); - } - - if (node._boneConnections != null) { - _boneConnections = List(node._boneConnections.length); - for (int i = 0; i < node._boneConnections.length; i++) { - BoneConnection bc = BoneConnection(); - bc.boneIdx = node._boneConnections[i].boneIdx; - Mat2D.copy(bc.bind, node._boneConnections[i].bind); - Mat2D.copy(bc.inverseBind, node._boneConnections[i].inverseBind); - _boneConnections[i] = bc; - } - } - } - - void transformBind(Mat2D xform) { - if (_boneConnections != null) { - for (BoneConnection bc in _boneConnections) { - Mat2D.multiply(bc.bind, xform, bc.bind); - Mat2D.invert(bc.inverseBind, bc.bind); - } - } - } - - Float32List makeVertexPositionBuffer() { - return Float32List(_vertexCount * 2); - } - - Float32List makeVertexUVBuffer() { - return Float32List(_vertexCount * 2); - } - - void transformDeformVertices(Mat2D wt) { - if (_animationDeformedVertices == null) { - return; - } - - Float32List fv = _animationDeformedVertices; - - int vidx = 0; - for (int j = 0; j < _vertexCount; j++) { - double x = fv[vidx]; - double y = fv[vidx + 1]; - - fv[vidx] = wt[0] * x + wt[2] * y + wt[4]; - fv[vidx + 1] = wt[1] * x + wt[3] * y + wt[5]; - - vidx += 2; - } - } - - void updateVertexUVBuffer(Float32List buffer) { - int readIdx = vertexUVOffset; - int writeIdx = 0; - int stride = vertexStride; - - Float32List v = _vertices; - for (int i = 0; i < _vertexCount; i++) { - buffer[writeIdx++] = v[readIdx]; - buffer[writeIdx++] = v[readIdx + 1]; - readIdx += stride; - } - } - - void updateVertexPositionBuffer( - Float32List buffer, bool isSkinnedDeformInWorld) { - Mat2D worldTransform = this.worldTransform; - int readIdx = 0; - int writeIdx = 0; - - Float32List v = _animationDeformedVertices != null - ? _animationDeformedVertices - : _vertices; - int stride = _animationDeformedVertices != null ? 2 : vertexStride; - - if (isSkinned) { - Float32List boneTransforms = boneInfluenceMatrices; - - //Mat2D inverseWorldTransform = Mat2D.Invert(new Mat2D(), worldTransform); - Float32List influenceMatrix = - Float32List.fromList([0.0, 0.0, 0.0, 0.0, 0.0, 0.0]); - - // if(this.name == "evolution_1_0001s_0003_evolution_1_weapo") - // { - // // print("TEST!"); - // int boneIndexOffset = vertexBoneIndexOffset; - // int weightOffset = vertexBoneWeightOffset; - // for(int i = 0; i < _vertexCount; i++) - // { - // for(int wi = 0; wi < 4; wi++) - // { - // int boneIndex = _vertices[boneIndexOffset+wi].toInt(); - // double weight = _vertices[weightOffset+wi]; - // if(boneIndex == 1) - // { - // _vertices[weightOffset+wi] = 1.0; - // } - // else if(boneIndex == 2) - // { - // _vertices[weightOffset+wi] = 0.0; - // } - // //print("BI $boneIndex $weight"); - // } - // boneIndexOffset += vertexStride; - // weightOffset += vertexStride; - // } - // } - int boneIndexOffset = vertexBoneIndexOffset; - int weightOffset = vertexBoneWeightOffset; - for (int i = 0; i < _vertexCount; i++) { - double x = v[readIdx]; - double y = v[readIdx + 1]; - - double px, py; - - if (_animationDeformedVertices != null && isSkinnedDeformInWorld) { - px = x; - py = y; - } else { - px = - worldTransform[0] * x + worldTransform[2] * y + worldTransform[4]; - py = - worldTransform[1] * x + worldTransform[3] * y + worldTransform[5]; - } - - influenceMatrix[0] = influenceMatrix[1] = influenceMatrix[2] = - influenceMatrix[3] = influenceMatrix[4] = influenceMatrix[5] = 0.0; - - for (int wi = 0; wi < 4; wi++) { - int boneIndex = _vertices[boneIndexOffset + wi].toInt(); - double weight = _vertices[weightOffset + wi]; - - int boneTransformIndex = boneIndex * 6; - for (int j = 0; j < 6; j++) { - influenceMatrix[j] += - boneTransforms[boneTransformIndex + j] * weight; - } - } - - x = influenceMatrix[0] * px + - influenceMatrix[2] * py + - influenceMatrix[4]; - y = influenceMatrix[1] * px + - influenceMatrix[3] * py + - influenceMatrix[5]; - - readIdx += stride; - boneIndexOffset += vertexStride; - weightOffset += vertexStride; - - buffer[writeIdx++] = x; - buffer[writeIdx++] = y; - } - } else { - Vec2D tempVec = Vec2D(); - for (int i = 0; i < _vertexCount; i++) { - tempVec[0] = v[readIdx]; - tempVec[1] = v[readIdx + 1]; - Vec2D.transformMat2D(tempVec, tempVec, worldTransform); - readIdx += stride; - - buffer[writeIdx++] = tempVec[0]; - buffer[writeIdx++] = tempVec[1]; - } - } - } - - AABB computeAABB() { - // Todo: implement for image. - Mat2D worldTransform = this.worldTransform; - return AABB.fromValues(worldTransform[4], worldTransform[5], - worldTransform[4], worldTransform[5]); - } -} diff --git a/flarelib/lib/flare/actor_jelly_bone.dart b/flarelib/lib/flare/actor_jelly_bone.dart deleted file mode 100644 index ab8ccd8..0000000 --- a/flarelib/lib/flare/actor_jelly_bone.dart +++ /dev/null @@ -1,26 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "actor_bone_base.dart"; -import "actor_component.dart"; - -class ActorJellyBone extends ActorBoneBase { - ActorComponent makeInstance(ActorArtboard artboard) { - ActorJellyBone instanceNode = ActorJellyBone(); - instanceNode.copyBoneBase(this, artboard); - return instanceNode; - } - - static ActorJellyBone read( - ActorArtboard artboard, StreamReader reader, ActorJellyBone node) { - if (node == null) { - node = ActorJellyBone(); - } - - // The Jelly Bone has a specialized read that doesn't go down the typical node path, this is because majority of the transform properties - // of the Jelly Bone are controlled by the Jelly Controller and are unnecessary for serialization. - ActorComponent.read(artboard, reader, node); - node.opacity = reader.readFloat32("opacity"); - node.collapsedVisibility = reader.readBool("isCollapsed"); - return node; - } -} diff --git a/flarelib/lib/flare/actor_loader.dart b/flarelib/lib/flare/actor_loader.dart deleted file mode 100644 index 4967de3..0000000 --- a/flarelib/lib/flare/actor_loader.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/services.dart' show rootBundle; -import 'dart:typed_data'; -import "stream_reader.dart"; - -class ActorLoader { - void load(String filename) async { - print("Loading actor filename $filename"); - ByteData data = await rootBundle.load(filename + ".nima"); - StreamReader reader = StreamReader(data); - if (data.getUint8(0) != 78 || - data.getUint8(1) != 73 || - data.getUint8(2) != 77 || - data.getUint8(3) != 65) { - print("Not nima"); - } else { - print("Nima!"); - } - } -} diff --git a/flarelib/lib/flare/actor_node.dart b/flarelib/lib/flare/actor_node.dart deleted file mode 100644 index 45543dd..0000000 --- a/flarelib/lib/flare/actor_node.dart +++ /dev/null @@ -1,396 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "math/mat2d.dart"; -import "math/vec2d.dart"; -import "actor_component.dart"; -import "actor_constraint.dart"; - -typedef bool NodeWalkCallback(ActorNode node); - -class ActorClip { - int clipIdx; - ActorNode node; - - ActorClip(int idx) { - clipIdx = idx; - } -} - -class ActorNode extends ActorComponent { - List _children; - //List m_Dependents; - Mat2D _transform = Mat2D(); - Mat2D _worldTransform = Mat2D(); - - Vec2D _translation = Vec2D(); - double _rotation = 0.0; - Vec2D _scale = Vec2D.fromValues(1.0, 1.0); - double _opacity = 1.0; - double _renderOpacity = 1.0; - - bool _overrideWorldTransform = false; - bool _isCollapsedVisibility = false; - - bool _renderCollapsed = false; - List _clips; - - List _constraints; - List _peerConstraints; - - static const int TransformDirty = 1 << 0; - static const int WorldTransformDirty = 1 << 1; - - ActorNode(); - ActorNode.withArtboard(ActorArtboard artboard) : super.withArtboard(artboard); - - Mat2D get transform { - return _transform; - } - - List get clips { - return _clips; - } - - Mat2D get worldTransformOverride { - return _overrideWorldTransform ? _worldTransform : null; - } - - set worldTransformOverride(Mat2D value) { - if (value == null) { - _overrideWorldTransform = false; - } else { - _overrideWorldTransform = true; - Mat2D.copy(worldTransform, value); - } - markTransformDirty(); - } - - Mat2D get worldTransform { - return _worldTransform; - } - - // N.B. this should only be done if you really know what you're doing. Generally you want to manipulate the local translation, rotation, and scale of a Node. - set worldTransform(Mat2D value) { - Mat2D.copy(_worldTransform, value); - } - - double get x { - return _translation[0]; - } - - set x(double value) { - if (_translation[0] == value) { - return; - } - _translation[0] = value; - markTransformDirty(); - } - - double get y { - return _translation[1]; - } - - set y(double value) { - if (_translation[1] == value) { - return; - } - _translation[1] = value; - markTransformDirty(); - } - - Vec2D get translation { - return Vec2D.clone(_translation); - } - - set translation(Vec2D value) { - Vec2D.copy(_translation, value); - markTransformDirty(); - } - - double get rotation { - return _rotation; - } - - set rotation(double value) { - if (_rotation == value) { - return; - } - _rotation = value; - markTransformDirty(); - } - - double get scaleX { - return _scale[0]; - } - - set scaleX(double value) { - if (_scale[0] == value) { - return; - } - _scale[0] = value; - markTransformDirty(); - } - - double get scaleY { - return _scale[1]; - } - - set scaleY(double value) { - if (_scale[1] == value) { - return; - } - _scale[1] = value; - markTransformDirty(); - } - - double get opacity { - return _opacity; - } - - set opacity(double value) { - if (_opacity == value) { - return; - } - _opacity = value; - markTransformDirty(); - } - - double get renderOpacity { - return _renderOpacity; - } - - bool get renderCollapsed { - return _renderCollapsed; - } - - bool get collapsedVisibility { - return _isCollapsedVisibility; - } - - set collapsedVisibility(bool value) { - if (_isCollapsedVisibility != value) { - _isCollapsedVisibility = value; - markTransformDirty(); - } - } - - List get allClips { - // Find clips. - List all = null; - ActorNode clipSearch = this; - while (clipSearch != null) { - if (clipSearch.clips != null) { - if (all == null) { - all = clipSearch.clips; - } else { - all += clipSearch.clips; - } - } - clipSearch = clipSearch.parent; - } - - return all; - } - - void markTransformDirty() { - if (artboard == null) { - // Still loading? - return; - } - if (!artboard.addDirt(this, TransformDirty, false)) { - return; - } - artboard.addDirt(this, WorldTransformDirty, true); - } - - void updateTransform() { - Mat2D.fromRotation(_transform, _rotation); - _transform[4] = _translation[0]; - _transform[5] = _translation[1]; - Mat2D.scale(_transform, _transform, _scale); - } - - Vec2D getWorldTranslation(Vec2D vec) { - vec[0] = _worldTransform[4]; - vec[1] = _worldTransform[5]; - return vec; - } - - void updateWorldTransform() { - _renderOpacity = _opacity; - - if (parent != null) { - _renderCollapsed = _isCollapsedVisibility || parent._renderCollapsed; - _renderOpacity *= parent._renderOpacity; - if (!_overrideWorldTransform) { - Mat2D.multiply(_worldTransform, parent._worldTransform, _transform); - } - } else { - Mat2D.copy(_worldTransform, _transform); - } - } - - static ActorNode read( - ActorArtboard artboard, StreamReader reader, ActorNode node) { - if (node == null) { - node = ActorNode(); - } - ActorComponent.read(artboard, reader, node); - reader.readFloat32ArrayOffset( - node._translation.values, 2, 0, "translation"); - node._rotation = reader.readFloat32("rotation"); - reader.readFloat32ArrayOffset(node._scale.values, 2, 0, "scale"); - node._opacity = reader.readFloat32("opacity"); - node._isCollapsedVisibility = reader.readBool("isCollapsed"); - - reader.openArray("clips"); - int clipCount = reader.readUint8Length(); - if (clipCount > 0) { - node._clips = List(clipCount); - for (int i = 0; i < clipCount; i++) { - node._clips[i] = ActorClip(reader.readId("clip")); - } - } - reader.closeArray(); - return node; - } - - void addChild(ActorNode node) { - if (node.parent != null) { - node.parent._children.remove(node); - } - node.parent = this; - if (_children == null) { - _children = List(); - } - _children.add(node); - } - - List get children { - return _children; - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorNode instanceNode = ActorNode(); - instanceNode.copyNode(this, resetArtboard); - return instanceNode; - } - - void copyNode(ActorNode node, ActorArtboard resetArtboard) { - copyComponent(node, resetArtboard); - _transform = Mat2D.clone(node._transform); - _worldTransform = Mat2D.clone(node._worldTransform); - _translation = Vec2D.clone(node._translation); - _scale = Vec2D.clone(node._scale); - _rotation = node._rotation; - _opacity = node._opacity; - _renderOpacity = node._renderOpacity; - _overrideWorldTransform = node._overrideWorldTransform; - - if (node._clips != null) { - _clips = List(node._clips.length); - for (int i = 0, l = node._clips.length; i < l; i++) { - _clips[i] = ActorClip(node._clips[i].clipIdx); - } - } else { - _clips = null; - } - } - - void onDirty(int dirt) {} - - bool addConstraint(ActorConstraint constraint) { - if (_constraints == null) { - _constraints = List(); - } - if (_constraints.contains(constraint)) { - return false; - } - _constraints.add(constraint); - return true; - } - - bool addPeerConstraint(ActorConstraint constraint) { - if (_peerConstraints == null) { - _peerConstraints = List(); - } - if (_peerConstraints.contains(constraint)) { - return false; - } - _peerConstraints.add(constraint); - return true; - } - - List get allConstraints => - (_constraints == null - ? _peerConstraints - : _peerConstraints == null - ? _constraints - : _constraints + _peerConstraints) ?? - []; - - void update(int dirt) { - if ((dirt & TransformDirty) == TransformDirty) { - updateTransform(); - } - if ((dirt & WorldTransformDirty) == WorldTransformDirty) { - updateWorldTransform(); - if (_constraints != null) { - for (ActorConstraint constraint in _constraints) { - if (constraint.isEnabled) { - constraint.constrain(this); - } - } - } - } - } - - void resolveComponentIndices(List components) { - super.resolveComponentIndices(components); - - if (_clips == null) { - return; - } - - for (ActorClip clip in _clips) { - clip.node = components[clip.clipIdx]; - } - } - - void completeResolve() { - // Nothing to complete for actornode. - } - - bool eachChildRecursive(NodeWalkCallback cb) { - if (_children != null) { - for (ActorNode child in _children) { - if (cb(child) == false) { - return false; - } - - if (child.eachChildRecursive(cb) == false) { - return false; - } - } - } - return true; - } - - bool all(NodeWalkCallback cb) { - if (cb(this) == false) { - return false; - } - - for (ActorNode child in _children) { - if (cb(child) == false) { - return false; - } - - child.eachChildRecursive(cb); - } - - return true; - } - - void invalidateShape() {} -} diff --git a/flarelib/lib/flare/actor_node_solo.dart b/flarelib/lib/flare/actor_node_solo.dart deleted file mode 100644 index ef33b51..0000000 --- a/flarelib/lib/flare/actor_node_solo.dart +++ /dev/null @@ -1,57 +0,0 @@ -import "actor_artboard.dart"; -import "actor_component.dart"; -import "actor_node.dart"; -import "stream_reader.dart"; -import "dart:math"; - -class ActorNodeSolo extends ActorNode { - int _activeChildIndex = 0; - - set activeChildIndex(int idx) { - if (idx != this._activeChildIndex) { - this.setActiveChildIndex(idx); - } - } - - int get activeChildIndex { - return this._activeChildIndex; - } - - void setActiveChildIndex(int idx) { - if (this.children != null) { - this._activeChildIndex = min(this.children.length, max(0, idx)); - for (int i = 0; i < this.children.length; i++) { - var child = this.children[i]; - bool cv = (i != (this._activeChildIndex - 1)); - child.collapsedVisibility = cv; // Setter - } - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorNodeSolo soloInstance = ActorNodeSolo(); - soloInstance.copySolo(this, resetArtboard); - return soloInstance; - } - - void copySolo(ActorNodeSolo node, ActorArtboard resetArtboard) { - copyNode(node, resetArtboard); - _activeChildIndex = node._activeChildIndex; - } - - static ActorNodeSolo read( - ActorArtboard artboard, StreamReader reader, ActorNodeSolo node) { - if (node == null) { - node = ActorNodeSolo(); - } - - ActorNode.read(artboard, reader, node); - node._activeChildIndex = reader.readUint32("activeChild"); - return node; - } - - void completeResolve() { - super.completeResolve(); - this.setActiveChildIndex(this.activeChildIndex); - } -} diff --git a/flarelib/lib/flare/actor_path.dart b/flarelib/lib/flare/actor_path.dart deleted file mode 100644 index 2ece573..0000000 --- a/flarelib/lib/flare/actor_path.dart +++ /dev/null @@ -1,311 +0,0 @@ -import "dart:typed_data"; -import "actor_shape.dart"; -import "actor_component.dart"; -import "actor_node.dart"; -import "actor_skin.dart"; -import "actor_skinnable.dart"; -import "actor_artboard.dart"; -import "stream_reader.dart"; -import "path_point.dart"; -import "math/vec2d.dart"; -import "math/mat2d.dart"; -import "math/aabb.dart"; - -abstract class ActorBasePath { - //bool get isClosed; - List get points; - ActorNode get parent; - void invalidatePath(); - bool get isPathInWorldSpace => false; - Mat2D get pathTransform; - Mat2D get transform; - List get allClips; - List get deformedPoints => points; - - AABB getPathAABB() { - double minX = double.maxFinite; - double minY = double.maxFinite; - double maxX = -double.maxFinite; - double maxY = -double.maxFinite; - - AABB obb = getPathOBB(); - - List pts = [ - Vec2D.fromValues(obb[0], obb[1]), - Vec2D.fromValues(obb[2], obb[1]), - Vec2D.fromValues(obb[2], obb[3]), - Vec2D.fromValues(obb[0], obb[3]) - ]; - - Mat2D localTransform; - if (isPathInWorldSpace) { - // convert the path coordinates into local parent space. - localTransform = Mat2D(); - Mat2D.invert(localTransform, parent.worldTransform); - } else { - localTransform = transform; - } - - for (Vec2D p in pts) { - Vec2D wp = Vec2D.transformMat2D(p, p, localTransform); - if (wp[0] < minX) { - minX = wp[0]; - } - if (wp[1] < minY) { - minY = wp[1]; - } - - if (wp[0] > maxX) { - maxX = wp[0]; - } - if (wp[1] > maxY) { - maxY = wp[1]; - } - } - return AABB.fromValues(minX, minY, maxX, maxY); - } - - markPathDirty() { - invalidatePath(); - if (parent is ActorShape) { - parent.invalidateShape(); - } - } - - AABB getPathOBB() { - double minX = double.maxFinite; - double minY = double.maxFinite; - double maxX = -double.maxFinite; - double maxY = -double.maxFinite; - - List renderPoints = points; - for (PathPoint point in renderPoints) { - Vec2D t = point.translation; - double x = t[0]; - double y = t[1]; - if (x < minX) { - minX = x; - } - if (y < minY) { - minY = y; - } - if (x > maxX) { - maxX = x; - } - if (y > maxY) { - maxY = y; - } - - if (point is CubicPathPoint) { - Vec2D t = point.inPoint; - x = t[0]; - y = t[1]; - if (x < minX) { - minX = x; - } - if (y < minY) { - minY = y; - } - if (x > maxX) { - maxX = x; - } - if (y > maxY) { - maxY = y; - } - - t = point.outPoint; - x = t[0]; - y = t[1]; - if (x < minX) { - minX = x; - } - if (y < minY) { - minY = y; - } - if (x > maxX) { - maxX = x; - } - if (y > maxY) { - maxY = y; - } - } - } - - return AABB.fromValues(minX, minY, maxX, maxY); - } -} - -abstract class ActorProceduralPath extends ActorNode with ActorBasePath { - double _width; - double _height; - - double get width => _width; - double get height => _height; - - @override - Mat2D get pathTransform => worldTransform; - - set width(double w) { - if (w != _width) { - _width = w; - markPathDirty(); - } - } - - set height(double w) { - if (w != _height) { - _height = w; - markPathDirty(); - } - } - - void copyPath(ActorBasePath node, ActorArtboard resetArtboard) { - ActorProceduralPath nodePath = node as ActorProceduralPath; - copyNode(nodePath, resetArtboard); - _width = nodePath.width; - _height = nodePath.height; - } -} - -class ActorPath extends ActorSkinnable with ActorBasePath { - bool _isHidden; - bool _isClosed; - List _points; - Float32List vertexDeform; - ActorSkin skin; - - @override - bool get isPathInWorldSpace => isConnectedToBones; - - @override - void invalidatePath() { - // Up to the implementation. - } - - @override - Mat2D get pathTransform => isConnectedToBones ? null : worldTransform; - - static const int VertexDeformDirty = 1 << 1; - - @override - List get points => _points; - - @override - List get deformedPoints { - if (!isConnectedToBones || skin == null) { - return _points; - } - - Float32List boneMatrices = skin.boneMatrices; - List deformed = []; - for (PathPoint point in _points) { - deformed.add(point.skin(worldTransform, boneMatrices)); - } - return deformed; - } - - bool get isClosed { - return _isClosed; - } - - void markVertexDeformDirty() { - if (artboard == null) { - return; - } - artboard.addDirt(this, VertexDeformDirty, false); - } - - void update(int dirt) { - if (vertexDeform != null && - (dirt & VertexDeformDirty) == VertexDeformDirty) { - int readIdx = 0; - for (PathPoint point in _points) { - point.translation[0] = vertexDeform[readIdx++]; - point.translation[1] = vertexDeform[readIdx++]; - switch (point.pointType) { - case PointType.Straight: - (point as StraightPathPoint).radius = vertexDeform[readIdx++]; - break; - - default: - CubicPathPoint cubicPoint = point as CubicPathPoint; - cubicPoint.inPoint[0] = vertexDeform[readIdx++]; - cubicPoint.inPoint[1] = vertexDeform[readIdx++]; - cubicPoint.outPoint[0] = vertexDeform[readIdx++]; - cubicPoint.outPoint[1] = vertexDeform[readIdx++]; - break; - } - } - } - markPathDirty(); - - super.update(dirt); - } - - static ActorPath read( - ActorArtboard artboard, StreamReader reader, ActorPath component) { - if (component == null) { - component = ActorPath(); - } - - ActorSkinnable.read(artboard, reader, component); - - component._isHidden = !reader.readBool("isVisible"); - component._isClosed = reader.readBool("isClosed"); - - reader.openArray("points"); - int pointCount = reader.readUint16Length(); - component._points = List(pointCount); - for (int i = 0; i < pointCount; i++) { - reader.openObject("point"); - PathPoint point; - PointType type = pointTypeLookup[reader.readUint8("pointType")]; - switch (type) { - case PointType.Straight: - { - point = StraightPathPoint(); - break; - } - default: - { - point = CubicPathPoint(type); - break; - } - } - if (point == null) { - throw UnsupportedError("Invalid point type " + type.toString()); - } else { - point.read(reader, component.isConnectedToBones); - } - reader.closeObject(); - - component._points[i] = point; - } - reader.closeArray(); - return component; - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorPath instanceEvent = ActorPath(); - instanceEvent.copyPath(this, resetArtboard); - return instanceEvent; - } - - void copyPath(ActorBasePath node, ActorArtboard resetArtboard) { - ActorPath nodePath = node as ActorPath; - copySkinnable(nodePath, resetArtboard); - _isHidden = nodePath._isHidden; - _isClosed = nodePath._isClosed; - - int pointCount = nodePath._points.length; - - _points = List(pointCount); - for (int i = 0; i < pointCount; i++) { - _points[i] = nodePath._points[i].makeInstance(); - } - - if (nodePath.vertexDeform != null) { - vertexDeform = Float32List.fromList(nodePath.vertexDeform); - } - } -} diff --git a/flarelib/lib/flare/actor_polygon.dart b/flarelib/lib/flare/actor_polygon.dart deleted file mode 100644 index 06a312a..0000000 --- a/flarelib/lib/flare/actor_polygon.dart +++ /dev/null @@ -1,59 +0,0 @@ -import "dart:math"; -import "actor_artboard.dart"; -import "actor_node.dart"; -import "math/vec2d.dart"; -import "stream_reader.dart"; -import "actor_path.dart"; -import "path_point.dart"; -import "actor_component.dart"; - -class ActorPolygon extends ActorProceduralPath { - int sides = 5; - @override - void invalidatePath() {} - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorPolygon instance = ActorPolygon(); - instance.copyPolygon(this, resetArtboard); - return instance; - } - - void copyPolygon(ActorPolygon node, ActorArtboard resetArtboard) { - copyPath(node, resetArtboard); - sides = node.sides; - } - - static ActorPolygon read( - ActorArtboard artboard, StreamReader reader, ActorPolygon component) { - if (component == null) { - component = ActorPolygon(); - } - - ActorNode.read(artboard, reader, component); - - component.width = reader.readFloat32("width"); - component.height = reader.readFloat32("height"); - component.sides = reader.readUint32("sides"); - return component; - } - - @override - List get points { - List _polygonPoints = []; - double angle = -pi / 2.0; - double inc = (pi * 2.0) / sides; - - for (int i = 0; i < sides; i++) { - _polygonPoints.add(StraightPathPoint.fromTranslation( - Vec2D.fromValues(cos(angle) * radiusX, sin(angle) * radiusY))); - angle += inc; - } - - return _polygonPoints; - } - - bool get isClosed => true; - bool get doesDraw => !this.renderCollapsed; - double get radiusX => this.width / 2; - double get radiusY => this.height / 2; -} diff --git a/flarelib/lib/flare/actor_rectangle.dart b/flarelib/lib/flare/actor_rectangle.dart deleted file mode 100644 index 21b543e..0000000 --- a/flarelib/lib/flare/actor_rectangle.dart +++ /dev/null @@ -1,73 +0,0 @@ -import "actor_artboard.dart"; -import "actor_node.dart"; -import "math/vec2d.dart"; -import "stream_reader.dart"; -import "actor_path.dart"; -import "path_point.dart"; -import "actor_component.dart"; - -const double CircleConstant = 0.55; - -class ActorRectangle extends ActorProceduralPath { - double _radius = 0.0; - - @override - void invalidatePath() {} - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorRectangle instance = ActorRectangle(); - instance.copyRectangle(this, resetArtboard); - return instance; - } - - void copyRectangle(ActorRectangle node, ActorArtboard resetArtboard) { - copyPath(node, resetArtboard); - _radius = node._radius; - } - - static ActorRectangle read( - ActorArtboard artboard, StreamReader reader, ActorRectangle component) { - if (component == null) { - component = ActorRectangle(); - } - - ActorNode.read(artboard, reader, component); - - component.width = reader.readFloat32("width"); - component.height = reader.readFloat32("height"); - component._radius = reader.readFloat32("cornerRadius"); - return component; - } - - @override - List get points { - double halfWidth = width / 2.0; - double halfHeight = height / 2.0; - List _rectanglePathPoints = []; - _rectanglePathPoints.add(StraightPathPoint.fromValues( - Vec2D.fromValues(-halfWidth, -halfHeight), _radius)); - _rectanglePathPoints.add(StraightPathPoint.fromValues( - Vec2D.fromValues(halfWidth, -halfHeight), _radius)); - _rectanglePathPoints.add(StraightPathPoint.fromValues( - Vec2D.fromValues(halfWidth, halfHeight), _radius)); - _rectanglePathPoints.add(StraightPathPoint.fromValues( - Vec2D.fromValues(-halfWidth, halfHeight), _radius)); - - return _rectanglePathPoints; - } - - set radius(double rd) { - if (rd != _radius) { - _radius = rd; - markPathDirty(); - } - } - - bool get isClosed => true; - - bool get doesDraw { - return !renderCollapsed; - } - - double get radius => _radius; -} diff --git a/flarelib/lib/flare/actor_root_bone.dart b/flarelib/lib/flare/actor_root_bone.dart deleted file mode 100644 index a244646..0000000 --- a/flarelib/lib/flare/actor_root_bone.dart +++ /dev/null @@ -1,41 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "actor_node.dart"; -import "actor_bone.dart"; -import "actor_component.dart"; - -class ActorRootBone extends ActorNode { - ActorBone _firstBone; - - ActorBone get firstBone { - return _firstBone; - } - - void completeResolve() { - super.completeResolve(); - if (children == null) { - return; - } - for (ActorNode node in children) { - if (node is ActorBone) { - _firstBone = node; - return; - } - } - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorRootBone instanceNode = ActorRootBone(); - instanceNode.copyNode(this, resetArtboard); - return instanceNode; - } - - static ActorRootBone read( - ActorArtboard artboard, StreamReader reader, ActorRootBone node) { - if (node == null) { - node = ActorRootBone(); - } - ActorNode.read(artboard, reader, node); - return node; - } -} diff --git a/flarelib/lib/flare/actor_rotation_constraint.dart b/flarelib/lib/flare/actor_rotation_constraint.dart deleted file mode 100644 index 23cb680..0000000 --- a/flarelib/lib/flare/actor_rotation_constraint.dart +++ /dev/null @@ -1,173 +0,0 @@ -import "actor_targeted_constraint.dart"; -import "actor_node.dart"; -import "actor_component.dart"; -import "actor_artboard.dart"; -import "stream_reader.dart"; -import "math/transform_components.dart"; -import "math/mat2d.dart"; -import "dart:math"; -import "transform_space.dart"; - -class ActorRotationConstraint extends ActorTargetedConstraint { - static const double PI2 = pi * 2.0; - - bool _copy = false; - double _scale = 1.0; - bool _enableMin = false; - bool _enableMax = false; - double _max = PI2; - double _min = -PI2; - bool _offset = false; - int _sourceSpace = TransformSpace.World; - int _destSpace = TransformSpace.World; - int _minMaxSpace = TransformSpace.World; - TransformComponents _componentsA = TransformComponents(); - TransformComponents _componentsB = TransformComponents(); - - static ActorRotationConstraint read(ActorArtboard artboard, - StreamReader reader, ActorRotationConstraint component) { - if (component == null) { - component = ActorRotationConstraint(); - } - ActorTargetedConstraint.read(artboard, reader, component); - component._copy = reader.readBool("copy"); - if (component._copy) { - component._scale = reader.readFloat32("scale"); - } - component._enableMin = reader.readBool("enableMin"); - if (component._enableMin) { - component._min = reader.readFloat32("min"); - } - component._enableMax = reader.readBool("enableMax"); - if (component._enableMax) { - component._max = reader.readFloat32("max"); - } - - component._offset = reader.readBool("offset"); - component._sourceSpace = reader.readUint8("sourceSpaceId"); - component._destSpace = reader.readUint8("destSpaceId"); - component._minMaxSpace = reader.readUint8("minMaxSpaceId"); - - return component; - } - - void constrain(ActorNode node) { - ActorNode target = this.target; - ActorNode grandParent = parent.parent; - - Mat2D transformA = parent.worldTransform; - Mat2D transformB = Mat2D(); - Mat2D.decompose(transformA, _componentsA); - if (target == null) { - Mat2D.copy(transformB, transformA); - _componentsB[0] = _componentsA[0]; - _componentsB[1] = _componentsA[1]; - _componentsB[2] = _componentsA[2]; - _componentsB[3] = _componentsA[3]; - _componentsB[4] = _componentsA[4]; - _componentsB[5] = _componentsA[5]; - } else { - Mat2D.copy(transformB, target.worldTransform); - if (_sourceSpace == TransformSpace.Local) { - ActorNode sourceGrandParent = target.parent; - if (sourceGrandParent != null) { - Mat2D inverse = Mat2D(); - if (!Mat2D.invert(inverse, sourceGrandParent.worldTransform)) { - return; - } - Mat2D.multiply(transformB, inverse, transformB); - } - } - Mat2D.decompose(transformB, _componentsB); - - if (!_copy) { - _componentsB.rotation = - _destSpace == TransformSpace.Local ? 1.0 : _componentsA.rotation; - } else { - _componentsB.rotation *= _scale; - if (_offset) { - _componentsB.rotation += parent.rotation; - } - } - - if (_destSpace == TransformSpace.Local) { - // Destination space is in parent transform coordinates. - // Recompose the parent local transform and get it in world, then decompose the world for interpolation. - if (grandParent != null) { - Mat2D.compose(transformB, _componentsB); - Mat2D.multiply(transformB, grandParent.worldTransform, transformB); - Mat2D.decompose(transformB, _componentsB); - } - } - } - - bool clampLocal = - _minMaxSpace == TransformSpace.Local && grandParent != null; - if (clampLocal) { - // Apply min max in local space, so transform to local coordinates first. - Mat2D.compose(transformB, _componentsB); - Mat2D inverse = Mat2D(); - if (!Mat2D.invert(inverse, grandParent.worldTransform)) { - return; - } - Mat2D.multiply(transformB, inverse, transformB); - Mat2D.decompose(transformB, _componentsB); - } - if (_enableMax && _componentsB.rotation > _max) { - _componentsB.rotation = _max; - } - if (_enableMin && _componentsB.rotation < _min) { - _componentsB.rotation = _min; - } - if (clampLocal) { - // Transform back to world. - Mat2D.compose(transformB, _componentsB); - Mat2D.multiply(transformB, grandParent.worldTransform, transformB); - Mat2D.decompose(transformB, _componentsB); - } - - double angleA = _componentsA.rotation % PI2; - double angleB = _componentsB.rotation % PI2; - double diff = angleB - angleA; - - if (diff > pi) { - diff -= PI2; - } else if (diff < -pi) { - diff += PI2; - } - _componentsB.rotation = _componentsA.rotation + diff * strength; - _componentsB.x = _componentsA.x; - _componentsB.y = _componentsA.y; - _componentsB.scaleX = _componentsA.scaleX; - _componentsB.scaleY = _componentsA.scaleY; - _componentsB.skew = _componentsA.skew; - - Mat2D.compose(parent.worldTransform, _componentsB); - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorRotationConstraint instance = ActorRotationConstraint(); - instance.copyRotationConstraint(this, resetArtboard); - return instance; - } - - void copyRotationConstraint( - ActorRotationConstraint node, ActorArtboard resetArtboard) { - copyTargetedConstraint(node, resetArtboard); - - _copy = node._copy; - _scale = node._scale; - _enableMin = node._enableMin; - _enableMax = node._enableMax; - _min = node._min; - _max = node._max; - - _offset = node._offset; - _sourceSpace = node._sourceSpace; - _destSpace = node._destSpace; - _minMaxSpace = node._minMaxSpace; - } - - void update(int dirt) {} - void completeResolve() {} -} diff --git a/flarelib/lib/flare/actor_scale_constraint.dart b/flarelib/lib/flare/actor_scale_constraint.dart deleted file mode 100644 index 9386f0c..0000000 --- a/flarelib/lib/flare/actor_scale_constraint.dart +++ /dev/null @@ -1,137 +0,0 @@ -import "actor_artboard.dart"; -import "actor_node.dart"; -import "stream_reader.dart"; -import "actor_axis_constraint.dart"; -import "math/mat2d.dart"; -import "math/transform_components.dart"; -import "transform_space.dart"; - -class ActorScaleConstraint extends ActorAxisConstraint { - TransformComponents _componentsA = TransformComponents(); - TransformComponents _componentsB = TransformComponents(); - - ActorScaleConstraint() : super(); - - static ActorScaleConstraint read(ActorArtboard artboard, StreamReader reader, - ActorScaleConstraint component) { - if (component == null) { - component = ActorScaleConstraint(); - } - ActorAxisConstraint.read(artboard, reader, component); - return component; - } - - @override - makeInstance(ActorArtboard resetArtboard) { - ActorScaleConstraint node = ActorScaleConstraint(); - node.copyAxisConstraint(this, resetArtboard); - return node; - } - - @override - constrain(ActorNode node) { - ActorNode t = this.target; - ActorNode p = this.parent; - ActorNode grandParent = p.parent; - - Mat2D transformA = parent.worldTransform; - Mat2D transformB = Mat2D(); - Mat2D.decompose(transformA, _componentsA); - if (t == null) { - Mat2D.copy(transformB, transformA); - _componentsB[0] = _componentsA[0]; - _componentsB[1] = _componentsA[1]; - _componentsB[2] = _componentsA[2]; - _componentsB[3] = _componentsA[3]; - _componentsB[4] = _componentsA[4]; - _componentsB[5] = _componentsA[5]; - } else { - Mat2D.copy(transformB, t.worldTransform); - if (sourceSpace == TransformSpace.Local) { - ActorNode sourceGrandParent = t.parent; - if (sourceGrandParent != null) { - Mat2D inverse = Mat2D(); - Mat2D.invert(inverse, sourceGrandParent.worldTransform); - Mat2D.multiply(transformB, inverse, transformB); - } - } - Mat2D.decompose(transformB, _componentsB); - - if (!this.copyX) { - _componentsB[2] = - this.destSpace == TransformSpace.Local ? 1.0 : _componentsA[2]; - } else { - _componentsB[2] *= this.scaleX; - if (this.offset) { - _componentsB[2] *= parent.scaleX; - } - } - - if (!this.copyY) { - _componentsB[3] = - this.destSpace == TransformSpace.Local ? 0.0 : _componentsA[3]; - } else { - _componentsB[3] *= this.scaleY; - - if (this.offset) { - _componentsB[3] *= parent.scaleY; - } - } - - if (destSpace == TransformSpace.Local) { - // Destination space is in parent transform coordinates. - // Recompose the parent local transform and get it in world, then decompose the world for interpolation. - if (grandParent != null) { - Mat2D.compose(transformB, _componentsB); - Mat2D.multiply(transformB, grandParent.worldTransform, transformB); - Mat2D.decompose(transformB, _componentsB); - } - } - } - - bool clampLocal = - (minMaxSpace == TransformSpace.Local && grandParent != null); - if (clampLocal) { - // Apply min max in local space, so transform to local coordinates first. - Mat2D.compose(transformB, _componentsB); - Mat2D inverse = Mat2D(); - Mat2D.invert(inverse, grandParent.worldTransform); - Mat2D.multiply(transformB, inverse, transformB); - Mat2D.decompose(transformB, _componentsB); - } - if (this.enableMaxX && _componentsB[2] > this.maxX) { - _componentsB[2] = this.maxX; - } - if (this.enableMinX && _componentsB[2] < this.minX) { - _componentsB[2] = this.minX; - } - if (this.enableMaxY && _componentsB[3] > this.maxY) { - _componentsB[3] = this.maxY; - } - if (this.enableMinY && _componentsB[3] < this.minY) { - _componentsB[3] = this.minY; - } - if (clampLocal) { - // Transform back to world. - Mat2D.compose(transformB, _componentsB); - Mat2D.multiply(transformB, grandParent.worldTransform, transformB); - Mat2D.decompose(transformB, _componentsB); - } - - double ti = 1.0 - this.strength; - - _componentsB[4] = _componentsA[4]; - _componentsB[0] = _componentsA[0]; - _componentsB[1] = _componentsA[1]; - _componentsB[2] = _componentsA[2] * ti + _componentsB[2] * this.strength; - _componentsB[3] = _componentsA[3] * ti + _componentsB[3] * this.strength; - _componentsB[5] = _componentsA[5]; - - Mat2D.compose(parent.worldTransform, _componentsB); - } - - @override - void update(int dirt) {} - @override - void completeResolve() {} -} diff --git a/flarelib/lib/flare/actor_shape.dart b/flarelib/lib/flare/actor_shape.dart deleted file mode 100644 index df3a794..0000000 --- a/flarelib/lib/flare/actor_shape.dart +++ /dev/null @@ -1,183 +0,0 @@ -import "actor_color.dart"; -import "actor_component.dart"; -import "actor_node.dart"; -import "actor_drawable.dart"; -import "actor_artboard.dart"; -import "stream_reader.dart"; -import "actor_path.dart"; -import "dart:math"; -import "math/mat2d.dart"; -import "math/vec2d.dart"; -import "math/aabb.dart"; - -class ActorShape extends ActorNode implements ActorDrawable { - @override - int drawIndex; - - int _drawOrder; - @override - int get drawOrder => _drawOrder; - - set drawOrder(int value) { - if (_drawOrder == value) { - return; - } - _drawOrder = value; - artboard.markDrawOrderDirty(); - } - - bool _isHidden; - List _strokes; - - bool get isHidden { - return _isHidden; - } - - bool get doesDraw { - return !_isHidden && !this.renderCollapsed; - } - - void update(int dirt) { - super.update(dirt); - invalidateShape(); - } - - static ActorShape read( - ActorArtboard artboard, StreamReader reader, ActorShape component) { - if (component == null) { - component = ActorShape(); - } - - ActorNode.read(artboard, reader, component); - - component._isHidden = !reader.readBool("isVisible"); - /*blendMode*/ reader.readUint8("blendMode"); - component.drawOrder = reader.readUint16("drawOrder"); - return component; - } - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorShape instanceEvent = ActorShape(); - instanceEvent.copyShape(this, resetArtboard); - return instanceEvent; - } - - void copyShape(ActorShape node, ActorArtboard resetArtboard) { - copyNode(node, resetArtboard); - drawOrder = node.drawOrder; - _isHidden = node._isHidden; - } - - AABB computeAABB() { - AABB aabb; - List clippers = allClips; - if (clippers != null) { - for (ActorClip clip in clippers) { - clip.node.all((ActorNode node) { - if (node is ActorShape) { - AABB bounds = node.computeAABB(); - if (bounds == null) { - return; - } - if (aabb == null) { - aabb = bounds; - } else { - if (bounds[0] < aabb[0]) { - aabb[0] = bounds[0]; - } - if (bounds[1] < aabb[1]) { - aabb[1] = bounds[1]; - } - if (bounds[2] > aabb[2]) { - aabb[2] = bounds[2]; - } - if (bounds[3] > aabb[3]) { - aabb[3] = bounds[3]; - } - } - } - }); - } - if (aabb != null) { - //print("AA $aabb"); - return aabb; - } - } - - for (ActorNode node in children) { - ActorBasePath path = node as ActorBasePath; - if (path == null) { - continue; - } - // This is the axis aligned bounding box in the space of the parent (this case our shape). - AABB pathAABB = path.getPathAABB(); - - if (aabb == null) { - aabb = pathAABB; - } else { - // Combine. - aabb[0] = min(aabb[0], pathAABB[0]); - aabb[1] = min(aabb[1], pathAABB[1]); - - aabb[2] = max(aabb[2], pathAABB[2]); - aabb[3] = max(aabb[3], pathAABB[3]); - } - } - - double minX = double.maxFinite; - double minY = double.maxFinite; - double maxX = -double.maxFinite; - double maxY = -double.maxFinite; - - if (aabb == null) { - return AABB.fromValues(minX, minY, maxX, maxY); - } - Mat2D world = worldTransform; - - if (_strokes != null) { - double maxStroke = 0; - for (ActorStroke stroke in _strokes) { - if (stroke.width > maxStroke) { - maxStroke = stroke.width; - } - } - double padStroke = maxStroke / 2.0; - aabb[0] -= padStroke; - aabb[2] += padStroke; - aabb[1] -= padStroke; - aabb[3] += padStroke; - } - - List points = [ - Vec2D.fromValues(aabb[0], aabb[1]), - Vec2D.fromValues(aabb[2], aabb[1]), - Vec2D.fromValues(aabb[2], aabb[3]), - Vec2D.fromValues(aabb[0], aabb[3]) - ]; - for (var i = 0; i < points.length; i++) { - Vec2D pt = points[i]; - Vec2D wp = Vec2D.transformMat2D(pt, pt, world); - if (wp[0] < minX) { - minX = wp[0]; - } - if (wp[1] < minY) { - minY = wp[1]; - } - - if (wp[0] > maxX) { - maxX = wp[0]; - } - if (wp[1] > maxY) { - maxY = wp[1]; - } - } - return AABB.fromValues(minX, minY, maxX, maxY); - } - - void addStroke(ActorStroke stroke) { - if (_strokes == null) { - _strokes = List(); - } - _strokes.add(stroke); - } -} diff --git a/flarelib/lib/flare/actor_skin.dart b/flarelib/lib/flare/actor_skin.dart deleted file mode 100644 index 4824704..0000000 --- a/flarelib/lib/flare/actor_skin.dart +++ /dev/null @@ -1,97 +0,0 @@ -import "dart:typed_data"; -import "actor_path.dart"; -import "actor_skinnable.dart"; -import "actor_artboard.dart"; -import "actor_component.dart"; -import "math/mat2d.dart"; -import "actor_constraint.dart"; - -class ActorSkin extends ActorComponent { - Float32List _boneMatrices; - Float32List get boneMatrices => _boneMatrices; - - @override - void onDirty(int dirt) { - // Intentionally empty. Doesn't throw dirt around. - } - - @override - void update(int dirt) { - ActorPath path = parent as ActorPath; - if (path == null) { - return; - } - - if (path.isConnectedToBones) { - List connectedBones = path.connectedBones; - int length = (connectedBones.length + 1) * 6; - if (_boneMatrices == null || _boneMatrices.length != length) { - _boneMatrices = Float32List(length); - // First bone transform is always identity. - _boneMatrices[0] = 1; - _boneMatrices[1] = 0; - _boneMatrices[2] = 0; - _boneMatrices[3] = 1; - _boneMatrices[4] = 0; - _boneMatrices[5] = 0; - } - - int bidx = 6; // Start after first identity. - - Mat2D mat = Mat2D(); - - for (SkinnedBone cb in connectedBones) { - if (cb.node == null) { - _boneMatrices[bidx++] = 1; - _boneMatrices[bidx++] = 0; - _boneMatrices[bidx++] = 0; - _boneMatrices[bidx++] = 1; - _boneMatrices[bidx++] = 0; - _boneMatrices[bidx++] = 0; - continue; - } - - Mat2D.multiply(mat, cb.node.worldTransform, cb.inverseBind); - - _boneMatrices[bidx++] = mat[0]; - _boneMatrices[bidx++] = mat[1]; - _boneMatrices[bidx++] = mat[2]; - _boneMatrices[bidx++] = mat[3]; - _boneMatrices[bidx++] = mat[4]; - _boneMatrices[bidx++] = mat[5]; - } - } - - path.markPathDirty(); - } - - @override - void completeResolve() { - ActorPath path = parent as ActorPath; - if (path == null) { - return; - } - path.skin = this; - artboard.addDependency(this, path); - if (path.isConnectedToBones) { - List connectedBones = path.connectedBones; - for (SkinnedBone skinnedBone in connectedBones) { - artboard.addDependency(this, skinnedBone.node); - List constraints = skinnedBone.node.allConstraints; - - if (constraints != null) { - for (ActorConstraint constraint in constraints) { - artboard.addDependency(this, constraint); - } - } - } - } - } - - @override - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorSkin instance = ActorSkin(); - instance.copyComponent(this, resetArtboard); - return instance; - } -} diff --git a/flarelib/lib/flare/actor_skinnable.dart b/flarelib/lib/flare/actor_skinnable.dart deleted file mode 100644 index f57eee4..0000000 --- a/flarelib/lib/flare/actor_skinnable.dart +++ /dev/null @@ -1,76 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "math/mat2d.dart"; -import "actor_node.dart"; -import "actor_component.dart"; - -class SkinnedBone { - int boneIdx; - ActorNode node; - Mat2D bind = Mat2D(); - Mat2D inverseBind = Mat2D(); -} - -abstract class ActorSkinnable extends ActorNode { - List _connectedBones; - - List get connectedBones => _connectedBones; - bool get isConnectedToBones => - _connectedBones != null && _connectedBones.length > 0; - - static ActorSkinnable read( - ActorArtboard artboard, StreamReader reader, ActorSkinnable node) { - ActorNode.read(artboard, reader, node); - - reader.openArray("bones"); - int numConnectedBones = reader.readUint8Length(); - if (numConnectedBones != 0) { - node._connectedBones = List(numConnectedBones); - - for (int i = 0; i < numConnectedBones; i++) { - SkinnedBone bc = SkinnedBone(); - reader.openObject("bone"); - bc.boneIdx = reader.readId("component"); - reader.readFloat32ArrayOffset(bc.bind.values, 6, 0, "bind"); - reader.closeObject(); - Mat2D.invert(bc.inverseBind, bc.bind); - node._connectedBones[i] = bc; - } - reader.closeArray(); - Mat2D worldOverride = Mat2D(); - reader.readFloat32ArrayOffset( - worldOverride.values, 6, 0, "worldTransform"); - node.worldTransformOverride = worldOverride; - } else { - reader.closeArray(); - } - - return node; - } - - void resolveComponentIndices(List components) { - super.resolveComponentIndices(components); - if (_connectedBones != null) { - for (int i = 0; i < _connectedBones.length; i++) { - SkinnedBone bc = _connectedBones[i]; - bc.node = components[bc.boneIdx] as ActorNode; - } - } - } - - void copySkinnable(ActorSkinnable node, ActorArtboard resetArtboard) { - copyNode(node, resetArtboard); - - if (node._connectedBones != null) { - _connectedBones = List(node._connectedBones.length); - for (int i = 0; i < node._connectedBones.length; i++) { - SkinnedBone from = node._connectedBones[i]; - SkinnedBone bc = SkinnedBone(); - bc.boneIdx = from.boneIdx; - Mat2D.copy(bc.bind, from.bind); - Mat2D.copy(bc.inverseBind, from.inverseBind); - _connectedBones[i] = bc; - } - } - } -} diff --git a/flarelib/lib/flare/actor_star.dart b/flarelib/lib/flare/actor_star.dart deleted file mode 100644 index 5bdde97..0000000 --- a/flarelib/lib/flare/actor_star.dart +++ /dev/null @@ -1,78 +0,0 @@ -import 'dart:math'; -import "actor_artboard.dart"; -import "actor_node.dart"; -import "math/vec2d.dart"; -import "stream_reader.dart"; -import "actor_path.dart"; -import "path_point.dart"; -import "actor_component.dart"; - -class ActorStar extends ActorProceduralPath { - int _numPoints = 5; - double _innerRadius = 0.0; - - @override - void invalidatePath() {} - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorStar instance = ActorStar(); - instance.copyStar(this, resetArtboard); - return instance; - } - - void copyStar(ActorStar node, ActorArtboard resetArtboard) { - copyPath(node, resetArtboard); - _numPoints = node._numPoints; - _innerRadius = node._innerRadius; - } - - static ActorStar read( - ActorArtboard artboard, StreamReader reader, ActorStar component) { - if (component == null) { - component = ActorStar(); - } - - ActorNode.read(artboard, reader, component); - - component.width = reader.readFloat32("width"); - component.height = reader.readFloat32("height"); - component._numPoints = reader.readUint32("points"); - component._innerRadius = reader.readFloat32("innerRadius"); - return component; - } - - @override - List get points { - List _starPoints = [ - StraightPathPoint.fromTranslation(Vec2D.fromValues(0.0, -radiusY)) - ]; - - double angle = pi / 2.0; - double inc = (pi * 2.0) / sides; - Vec2D sx = Vec2D.fromValues(radiusX, radiusX * _innerRadius); - Vec2D sy = Vec2D.fromValues(radiusY, radiusY * _innerRadius); - - for (int i = 0; i < sides; i++) { - _starPoints.add(StraightPathPoint.fromTranslation( - Vec2D.fromValues(cos(angle) * sx[i % 2], sin(angle) * sy[i % 2]))); - angle += inc; - } - return _starPoints; - } - - set innerRadius(double val) { - if (val != _innerRadius) { - _innerRadius = val; - markPathDirty(); - } - } - - get innerRadius => _innerRadius; - - bool get isClosed => true; - bool get doesDraw => !this.renderCollapsed; - double get radiusX => this.width / 2; - double get radiusY => this.height / 2; - int get numPoints => _numPoints; - int get sides => _numPoints * 2; -} diff --git a/flarelib/lib/flare/actor_targeted_constraint.dart b/flarelib/lib/flare/actor_targeted_constraint.dart deleted file mode 100644 index a8b8b35..0000000 --- a/flarelib/lib/flare/actor_targeted_constraint.dart +++ /dev/null @@ -1,38 +0,0 @@ -import "actor_component.dart"; -import "actor_constraint.dart"; -import "actor_artboard.dart"; -import "stream_reader.dart"; - -abstract class ActorTargetedConstraint extends ActorConstraint { - int _targetIdx; - ActorComponent _target; - - ActorComponent get target { - return _target; - } - - void resolveComponentIndices(List components) { - super.resolveComponentIndices(components); - if (_targetIdx != 0) { - _target = components[_targetIdx]; - if (_target != null) { - artboard.addDependency(parent, _target); - } - } - } - - static ActorTargetedConstraint read(ActorArtboard artboard, - StreamReader reader, ActorTargetedConstraint component) { - ActorConstraint.read(artboard, reader, component); - component._targetIdx = reader.readId("target"); - - return component; - } - - void copyTargetedConstraint( - ActorTargetedConstraint node, ActorArtboard resetArtboard) { - copyConstraint(node, resetArtboard); - - _targetIdx = node._targetIdx; - } -} diff --git a/flarelib/lib/flare/actor_transform_constraint.dart b/flarelib/lib/flare/actor_transform_constraint.dart deleted file mode 100644 index cec2b8f..0000000 --- a/flarelib/lib/flare/actor_transform_constraint.dart +++ /dev/null @@ -1,100 +0,0 @@ -import "dart:math"; -import "actor_artboard.dart"; -import "actor_node.dart"; -import "actor_targeted_constraint.dart"; -import "math/mat2d.dart"; -import "math/transform_components.dart"; -import "transform_space.dart"; -import "stream_reader.dart"; - -const pi2 = pi * 2; - -class ActorTransformConstraint extends ActorTargetedConstraint { - int _sourceSpace = TransformSpace.World; - int _destSpace = TransformSpace.World; - TransformComponents _componentsA = TransformComponents(); - TransformComponents _componentsB = TransformComponents(); - - ActorTransformConstraint() : super(); - - static ActorTransformConstraint read(ActorArtboard artboard, - StreamReader reader, ActorTransformConstraint component) { - if (component == null) { - component = ActorTransformConstraint(); - } - ActorTargetedConstraint.read(artboard, reader, component); - - component._sourceSpace = reader.readUint8("sourceSpaceId"); - component._destSpace = reader.readUint8("destSpaceId"); - - return component; - } - - @override - makeInstance(ActorArtboard resetArtboard) { - ActorTransformConstraint node = ActorTransformConstraint(); - node.copyTransformConstraint(this, resetArtboard); - return node; - } - - copyTransformConstraint( - ActorTransformConstraint node, ActorArtboard resetArtboard) { - copyTargetedConstraint(node, resetArtboard); - _sourceSpace = node._sourceSpace; - _destSpace = node._destSpace; - } - - @override - constrain(ActorNode node) { - ActorNode t = this.target; - if (t == null) { - return; - } - - ActorNode parent = this.parent; - - Mat2D transformA = parent.worldTransform; - Mat2D transformB = Mat2D.clone(t.worldTransform); - if (_sourceSpace == TransformSpace.Local) { - ActorNode grandParent = target.parent; - if (grandParent != null) { - Mat2D inverse = Mat2D(); - Mat2D.invert(inverse, grandParent.worldTransform); - Mat2D.multiply(transformB, inverse, transformB); - } - } - if (_destSpace == TransformSpace.Local) { - ActorNode grandParent = parent.parent; - if (grandParent != null) { - Mat2D.multiply(transformB, grandParent.worldTransform, transformB); - } - } - Mat2D.decompose(transformA, _componentsA); - Mat2D.decompose(transformB, _componentsB); - - double angleA = _componentsA[4] % pi2; - double angleB = _componentsB[4] % pi2; - double diff = angleB - angleA; - if (diff > pi) { - diff -= pi2; - } else if (diff < -pi) { - diff += pi2; - } - - double ti = 1.0 - this.strength; - - _componentsB[4] = angleA + diff * this.strength; - _componentsB[0] = _componentsA[0] * ti + _componentsB[0] * this.strength; - _componentsB[1] = _componentsA[1] * ti + _componentsB[1] * this.strength; - _componentsB[2] = _componentsA[2] * ti + _componentsB[2] * this.strength; - _componentsB[3] = _componentsA[3] * ti + _componentsB[3] * this.strength; - _componentsB[5] = _componentsA[5] * ti + _componentsB[5] * this.strength; - - Mat2D.compose(parent.worldTransform, _componentsB); - } - - @override - void update(int dirt) {} - @override - void completeResolve() {} -} diff --git a/flarelib/lib/flare/actor_translation_constraint.dart b/flarelib/lib/flare/actor_translation_constraint.dart deleted file mode 100644 index d086d6f..0000000 --- a/flarelib/lib/flare/actor_translation_constraint.dart +++ /dev/null @@ -1,120 +0,0 @@ -import "actor_artboard.dart"; -import "actor_node.dart"; -import "actor_axis_constraint.dart"; -import "math/vec2d.dart"; -import "math/mat2d.dart"; -import "transform_space.dart"; -import "stream_reader.dart"; - -class ActorTranslationConstraint extends ActorAxisConstraint { - ActorTranslationConstraint() : super(); - - static ActorTranslationConstraint read(ActorArtboard artboard, - StreamReader reader, ActorTranslationConstraint component) { - if (component == null) { - component = ActorTranslationConstraint(); - } - ActorAxisConstraint.read(artboard, reader, component); - - return component; - } - - @override - makeInstance(ActorArtboard resetArtboard) { - ActorTranslationConstraint node = ActorTranslationConstraint(); - node.copyAxisConstraint(this, resetArtboard); - return node; - } - - @override - constrain(ActorNode node) { - ActorNode t = this.target; - ActorNode p = this.parent; - ActorNode grandParent = p.parent; - - Mat2D transformA = parent.worldTransform; - Vec2D translationA = Vec2D.fromValues(transformA[4], transformA[5]); - Vec2D translationB = Vec2D(); - - if (t == null) { - Vec2D.copy(translationB, translationA); - } else { - Mat2D transformB = Mat2D.clone(t.worldTransform); - if (this.sourceSpace == TransformSpace.Local) { - ActorNode sourceGrandParent = t.parent; - if (sourceGrandParent != null) { - Mat2D inverse = Mat2D(); - Mat2D.invert(inverse, sourceGrandParent.worldTransform); - Mat2D.multiply(transformB, inverse, transformB); - } - } - translationB[0] = transformB[4]; - translationB[1] = transformB[5]; - - if (!this.copyX) { - translationB[0] = - destSpace == TransformSpace.Local ? 0.0 : translationA[0]; - } else { - translationB[0] *= this.scaleX; - if (this.offset) { - translationB[0] += parent.translation[0]; - } - } - - if (!this.copyY) { - translationB[1] = - destSpace == TransformSpace.Local ? 0.0 : translationA[1]; - } else { - translationB[1] *= this.scaleY; - if (this.offset) { - translationB[1] += parent.translation[1]; - } - } - - if (destSpace == TransformSpace.Local) { - if (grandParent != null) { - Vec2D.transformMat2D( - translationB, translationB, grandParent.worldTransform); - } - } - } - - bool clampLocal = - (minMaxSpace == TransformSpace.Local && grandParent != null); - if (clampLocal) { - // Apply min max in local space, so transform to local coordinates first. - Mat2D temp = Mat2D(); - Mat2D.invert(temp, grandParent.worldTransform); - // Get our target world coordinates in parent local. - Vec2D.transformMat2D(translationB, translationB, temp); - } - if (this.enableMaxX && translationB[0] > this.maxX) { - translationB[0] = this.maxX; - } - if (this.enableMinX && translationB[0] < this.minX) { - translationB[0] = this.minX; - } - if (this.enableMaxY && translationB[1] > this.maxY) { - translationB[1] = this.maxY; - } - if (this.enableMinY && translationB[1] < this.minY) { - translationB[1] = this.minY; - } - if (clampLocal) { - // Transform back to world. - Vec2D.transformMat2D( - translationB, translationB, grandParent.worldTransform); - } - - double ti = 1.0 - this.strength; - - // Just interpolate world translation - transformA[4] = translationA[0] * ti + translationB[0] * this.strength; - transformA[5] = translationA[1] * ti + translationB[1] * this.strength; - } - - @override - void update(int dirt) {} - @override - void completeResolve() {} -} diff --git a/flarelib/lib/flare/actor_triangle.dart b/flarelib/lib/flare/actor_triangle.dart deleted file mode 100644 index 84924bf..0000000 --- a/flarelib/lib/flare/actor_triangle.dart +++ /dev/null @@ -1,49 +0,0 @@ -import "actor_artboard.dart"; -import "actor_node.dart"; -import "math/vec2d.dart"; -import "stream_reader.dart"; -import "actor_path.dart"; -import "path_point.dart"; -import "actor_component.dart"; - -class ActorTriangle extends ActorProceduralPath { - @override - void invalidatePath() {} - - ActorComponent makeInstance(ActorArtboard resetArtboard) { - ActorTriangle instance = ActorTriangle(); - instance.copyPath(this, resetArtboard); - return instance; - } - - static ActorTriangle read( - ActorArtboard artboard, StreamReader reader, ActorTriangle component) { - if (component == null) { - component = ActorTriangle(); - } - - ActorNode.read(artboard, reader, component); - - component.width = reader.readFloat32("width"); - component.height = reader.readFloat32("height"); - return component; - } - - @override - List get points { - List _trianglePoints = []; - _trianglePoints.add( - StraightPathPoint.fromTranslation(Vec2D.fromValues(0.0, -radiusY))); - _trianglePoints.add( - StraightPathPoint.fromTranslation(Vec2D.fromValues(radiusX, radiusY))); - _trianglePoints.add( - StraightPathPoint.fromTranslation(Vec2D.fromValues(-radiusX, radiusY))); - - return _trianglePoints; - } - - bool get isClosed => true; - bool get doesDraw => !this.renderCollapsed; - double get radiusX => this.width / 2; - double get radiusY => this.height / 2; -} diff --git a/flarelib/lib/flare/animation/actor_animation.dart b/flarelib/lib/flare/animation/actor_animation.dart deleted file mode 100644 index 51111c4..0000000 --- a/flarelib/lib/flare/animation/actor_animation.dart +++ /dev/null @@ -1,607 +0,0 @@ -import "../stream_reader.dart"; -import "../actor_component.dart"; -import "../actor_event.dart"; -import "../actor_artboard.dart"; -import "property_types.dart"; -import "keyframe.dart"; - -typedef KeyFrame KeyFrameReader(StreamReader reader, ActorComponent component); - -class PropertyAnimation { - int _type; - List _keyFrames; - - int get propertyType { - return _type; - } - - List get keyFrames { - return _keyFrames; - } - - static PropertyAnimation read(StreamReader reader, ActorComponent component) { - StreamReader propertyBlock = reader.readNextBlock(PropertyTypesMap); - if (propertyBlock == null) { - return null; - } - PropertyAnimation propertyAnimation = PropertyAnimation(); - int type = propertyBlock.blockType; - // Wish there were a way do to this in Dart without having to create my own hash set. - // if(!Enum.IsDefined(typeof(PropertyTypes), type)) - // { - // return null; - // } - // else - // { - propertyAnimation._type = type; - - KeyFrameReader keyFrameReader; - switch (propertyAnimation._type) { - case PropertyTypes.PosX: - keyFrameReader = KeyFramePosX.read; - break; - case PropertyTypes.PosY: - keyFrameReader = KeyFramePosY.read; - break; - case PropertyTypes.ScaleX: - keyFrameReader = KeyFrameScaleX.read; - break; - case PropertyTypes.ScaleY: - keyFrameReader = KeyFrameScaleY.read; - break; - case PropertyTypes.Rotation: - keyFrameReader = KeyFrameRotation.read; - break; - case PropertyTypes.Opacity: - keyFrameReader = KeyFrameOpacity.read; - break; - case PropertyTypes.DrawOrder: - keyFrameReader = KeyFrameDrawOrder.read; - break; - case PropertyTypes.Length: - keyFrameReader = KeyFrameLength.read; - break; - case PropertyTypes.VertexDeform: - keyFrameReader = KeyFrameVertexDeform.read; - break; - case PropertyTypes.ConstraintStrength: - keyFrameReader = KeyFrameConstraintStrength.read; - break; - case PropertyTypes.Trigger: - keyFrameReader = KeyFrameTrigger.read; - break; - case PropertyTypes.IntProperty: - keyFrameReader = KeyFrameIntProperty.read; - break; - case PropertyTypes.FloatProperty: - keyFrameReader = KeyFrameFloatProperty.read; - break; - case PropertyTypes.StringProperty: - keyFrameReader = KeyFrameStringProperty.read; - break; - case PropertyTypes.BooleanProperty: - keyFrameReader = KeyFrameBooleanProperty.read; - break; - case PropertyTypes.CollisionEnabled: - keyFrameReader = KeyFrameCollisionEnabledProperty.read; - break; - case PropertyTypes.ActiveChildIndex: - keyFrameReader = KeyFrameActiveChild.read; - break; - case PropertyTypes.Sequence: - keyFrameReader = KeyFrameSequence.read; - break; - case PropertyTypes.PathVertices: - keyFrameReader = KeyFramePathVertices.read; - break; - case PropertyTypes.FillColor: - keyFrameReader = KeyFrameFillColor.read; - break; - case PropertyTypes.FillGradient: - keyFrameReader = KeyFrameGradient.read; - break; - case PropertyTypes.StrokeGradient: - keyFrameReader = KeyFrameGradient.read; - break; - case PropertyTypes.FillRadial: - keyFrameReader = KeyFrameRadial.read; - break; - case PropertyTypes.StrokeRadial: - keyFrameReader = KeyFrameRadial.read; - break; - case PropertyTypes.StrokeColor: - keyFrameReader = KeyFrameStrokeColor.read; - break; - case PropertyTypes.StrokeWidth: - keyFrameReader = KeyFrameStrokeWidth.read; - break; - case PropertyTypes.StrokeOpacity: - keyFrameReader = KeyFrameStrokeOpacity.read; - break; - case PropertyTypes.FillOpacity: - keyFrameReader = KeyFrameFillOpacity.read; - break; - case PropertyTypes.ShapeWidth: - keyFrameReader = KeyFrameShapeWidth.read; - break; - case PropertyTypes.ShapeHeight: - keyFrameReader = KeyFrameShapeHeight.read; - break; - case PropertyTypes.CornerRadius: - keyFrameReader = KeyFrameCornerRadius.read; - break; - case PropertyTypes.InnerRadius: - keyFrameReader = KeyFrameInnerRadius.read; - break; - } - - if (keyFrameReader == null) { - return null; - } - - propertyBlock.openArray("frames"); - int keyFrameCount = propertyBlock.readUint16Length(); - propertyAnimation._keyFrames = List(keyFrameCount); - KeyFrame lastKeyFrame; - for (int i = 0; i < keyFrameCount; i++) { - propertyBlock.openObject("frame"); - KeyFrame frame = keyFrameReader(propertyBlock, component); - propertyAnimation._keyFrames[i] = frame; - if (lastKeyFrame != null) { - lastKeyFrame.setNext(frame); - } - lastKeyFrame = frame; - propertyBlock.closeObject(); - } - propertyBlock.closeArray(); - //} - - return propertyAnimation; - } - - void apply(double time, ActorComponent component, double mix) { - if (_keyFrames.length == 0) { - return; - } - - int idx = 0; - // Binary find the keyframe index. - { - int mid = 0; - double element = 0.0; - int start = 0; - int end = _keyFrames.length - 1; - - while (start <= end) { - mid = ((start + end) >> 1); - element = _keyFrames[mid].time; - if (element < time) { - start = mid + 1; - } else if (element > time) { - end = mid - 1; - } else { - start = mid; - break; - } - } - - idx = start; - } - - if (idx == 0) { - _keyFrames[0].apply(component, mix); - } else { - if (idx < _keyFrames.length) { - KeyFrame fromFrame = _keyFrames[idx - 1]; - KeyFrame toFrame = _keyFrames[idx]; - if (time == toFrame.time) { - toFrame.apply(component, mix); - } else { - fromFrame.applyInterpolation(component, time, toFrame, mix); - } - } else { - _keyFrames[idx - 1].apply(component, mix); - } - } - } -} - -class ComponentAnimation { - int _componentIndex; - List _properties; - - int get componentIndex { - return _componentIndex; - } - - List get properties { - return _properties; - } - - static ComponentAnimation read( - StreamReader reader, List components) { - reader.openObject("component"); - ComponentAnimation componentAnimation = ComponentAnimation(); - - componentAnimation._componentIndex = reader.readId("component"); - int numProperties = reader.readUint16Length(); - componentAnimation._properties = List(numProperties); - for (int i = 0; i < numProperties; i++) { - componentAnimation._properties[i] = PropertyAnimation.read( - reader, components[componentAnimation._componentIndex]); - } - reader.closeObject(); - - return componentAnimation; - } - - void apply(double time, List components, double mix) { - for (PropertyAnimation propertyAnimation in _properties) { - if (propertyAnimation != null) { - propertyAnimation.apply(time, components[_componentIndex], mix); - } - } - } -} - -class AnimationEventArgs { - String _name; - ActorComponent _component; - int _propertyType; - double _keyFrameTime; - double _elapsedTime; - - AnimationEventArgs(String name, ActorComponent component, int type, - double keyframeTime, double elapsedTime) { - _name = name; - _component = component; - _propertyType = type; - _keyFrameTime = keyframeTime; - _elapsedTime = elapsedTime; - } - - String get name { - return _name; - } - - ActorComponent get component { - return _component; - } - - int get propertyType { - return _propertyType; - } - - double get keyFrameTime { - return _keyFrameTime; - } - - double get elapsedTime { - return _elapsedTime; - } -} - -class ActorAnimation { - String _name; - int _fps; - double _duration; - bool _isLooping; - List _components; - List _triggerComponents; - double start = 0.0, end = 0.0; - - String get name { - return _name; - } - - bool get isLooping { - return _isLooping; - } - - double get duration { - return _duration; - } - - List get animatedComponents { - return _components; - } - - //Animation.prototype.triggerEvents = function(actorComponents, fromTime, toTime, triggered) - /* - name:component._Name, - component:component, - propertyType:property._Type, - keyFrameTime:toTime, - elapsed:0*/ - void triggerEvents(List components, double fromTime, - double toTime, List triggerEvents) { - for (int i = 0; i < _triggerComponents.length; i++) { - ComponentAnimation keyedComponent = _triggerComponents[i]; - for (PropertyAnimation property in keyedComponent.properties) { - switch (property.propertyType) { - case PropertyTypes.Trigger: - List keyFrames = property.keyFrames; - - int kfl = keyFrames.length; - if (kfl == 0) { - continue; - } - - int idx = 0; - // Binary find the keyframe index. - { - int mid = 0; - double element = 0.0; - int start = 0; - int end = kfl - 1; - - while (start <= end) { - mid = ((start + end) >> 1); - element = keyFrames[mid].time; - if (element < toTime) { - start = mid + 1; - } else if (element > toTime) { - end = mid - 1; - } else { - start = mid; - break; - } - } - - idx = start; - } - - //int idx = keyFrameLocation(toTime, keyFrames, 0, keyFrames.length-1); - if (idx == 0) { - if (kfl > 0 && keyFrames[0].time == toTime) { - ActorComponent component = - components[keyedComponent.componentIndex]; - triggerEvents.add(AnimationEventArgs(component.name, component, - property.propertyType, toTime, 0.0)); - } - } else { - for (int k = idx - 1; k >= 0; k--) { - KeyFrame frame = keyFrames[k]; - - if (frame.time > fromTime) { - ActorComponent component = - components[keyedComponent.componentIndex]; - triggerEvents.add(AnimationEventArgs( - component.name, - component, - property.propertyType, - frame.time, - toTime - frame.time)); - /*triggered.push({ - name:component._Name, - component:component, - propertyType:property._Type, - keyFrameTime:frame._Time, - elapsed:toTime-frame._Time - });*/ - } else { - break; - } - } - } - break; - default: - break; - } - } - } - } - - void apply(double time, ActorArtboard artboard, double mix) { - for (ComponentAnimation componentAnimation in _components) { - componentAnimation.apply(time, artboard.components, mix); - } - } - - static ActorAnimation read( - StreamReader reader, List components) { - ActorAnimation animation = ActorAnimation(); - animation._name = reader.readString("name"); - animation._fps = reader.readUint8("fps"); - animation._duration = reader.readFloat32("duration"); - animation._isLooping = reader.readBool("isLooping"); - - reader.openArray("keyed"); - int numKeyedComponents = reader.readUint16Length(); - //animation._components = new ComponentAnimation[numKeyedComponents]; - - // We distinguish between animated and triggered components as ActorEvents are currently only used to trigger events and don't need - // the full animation cycle. This lets them optimize them out of the regular animation cycle. - int animatedComponentCount = 0; - int triggerComponentCount = 0; - - List animatedComponents = - List(numKeyedComponents); - for (int i = 0; i < numKeyedComponents; i++) { - ComponentAnimation componentAnimation = - ComponentAnimation.read(reader, components); - animatedComponents[i] = componentAnimation; - if (componentAnimation != null) { - ActorComponent actorComponent = - components[componentAnimation.componentIndex]; - if (actorComponent != null) { - if (actorComponent is ActorEvent) { - triggerComponentCount++; - } else { - animatedComponentCount++; - } - } - } - } - reader.closeArray(); - if (numKeyedComponents > 0) { - animation.start = reader.readFloat32("animationStart"); - animation.end = reader.readFloat32("animationEnd"); - } - - animation._components = List(animatedComponentCount); - animation._triggerComponents = - List(triggerComponentCount); - - // Put them in their respective lists. - int animatedComponentIndex = 0; - int triggerComponentIndex = 0; - for (int i = 0; i < numKeyedComponents; i++) { - ComponentAnimation componentAnimation = animatedComponents[i]; - if (componentAnimation != null) { - ActorComponent actorComponent = - components[componentAnimation.componentIndex]; - if (actorComponent != null) { - if (actorComponent is ActorEvent) { - animation._triggerComponents[triggerComponentIndex++] = - componentAnimation; - } else { - animation._components[animatedComponentIndex++] = - componentAnimation; - } - } - } - } - - return animation; - } -} - -// class ActorAnimationInstance -// { -// Actor _actor; -// ActorAnimation _animation; -// double _time; -// double _min; -// double _max; -// double _range; -// bool loop; - -// event EventHandler AnimationEvent; - -// ActorAnimationInstance(Actor actor, ActorAnimation animation) -// { -// _actor = actor; -// _animation = animation; -// _time = 0.0; -// _min = 0.0; -// _max = animation.Duration; -// _range = _max - _min; -// loop = animation.IsLooping; -// } - -// double get minTime -// { -// return _min; -// } - -// double get maxTime -// { -// return _max; -// } - -// double get time -// { -// return _time; -// } - -// set time(double value) -// { -// double delta = value - _time; -// double time = _time + (delta % _range); - -// if(time < _min) -// { -// if(loop) -// { -// time = _max - (_min - time); -// } -// else -// { -// time = _min; -// } -// } -// else if(time > _max) -// { -// if(loop) -// { -// time = _min + (time - _max); -// } -// else -// { -// time = _max; -// } -// } -// _time = time; -// } - -// void advance(float seconds) -// { -// List triggeredEvents = new List(); -// float time = _time; -// time += seconds % _range; -// if(time < _min) -// { -// if(loop) -// { -// _animation.TriggerEvents(_actor.components, time, _time, triggeredEvents); -// time = _max - (_min - time); -// _animation.TriggerEvents(_actor.components, time, _max, triggeredEvents); -// } -// else -// { -// time = _min; -// if(_time != time) -// { -// _animation.TriggerEvents(_actor.components, _min, _time, triggeredEvents); -// } -// } -// } -// else if(time > _max) -// { -// if(loop) -// { -// _animation.TriggerEvents(_actor.components, time, _time, triggeredEvents); -// time = _min + (time - _max); -// _animation.TriggerEvents(_actor.components, _min-0.001f, time, triggeredEvents); -// } -// else -// { -// time = _max; -// if(_time != time) -// { -// _animation.TriggerEvents(_actor.components, _time, _max, triggeredEvents); -// } -// } -// } -// else if(time > _time) -// { -// _animation.TriggerEvents(_actor.components, _time, time, triggeredEvents); -// } -// else -// { -// _animation.TriggerEvents(_actor.components, time, _time, triggeredEvents); -// } - -// for(AnimationEventArgs ev in triggeredEvents) -// { -// if (AnimationEvent != null) -// { -// AnimationEvent(this, ev); -// } -// _actor.OnAnimationEvent(ev); -// } -// /*for(var i = 0; i < triggeredEvents.length; i++) -// { -// var event = triggeredEvents[i]; -// this.dispatch("animationEvent", event); -// _actor.dispatch("animationEvent", event); -// }*/ -// _time = time; -// } - -// void Apply(float mix) -// { -// _animation.apply(_time, _actor, mix); -// } -// } diff --git a/flarelib/lib/flare/animation/interpolation/cubic.dart b/flarelib/lib/flare/animation/interpolation/cubic.dart deleted file mode 100644 index 73fdf81..0000000 --- a/flarelib/lib/flare/animation/interpolation/cubic.dart +++ /dev/null @@ -1,16 +0,0 @@ -import "./interpolator.dart"; -import "../../stream_reader.dart"; -import "package:flutter/animation.dart"; - -class CubicInterpolator extends Interpolator { - Cubic _cubic; - double getEasedMix(double mix) { - return _cubic.transform(mix); - } - - bool read(StreamReader reader) { - _cubic = Cubic(reader.readFloat32("cubicX1"), reader.readFloat32("cubicY1"), - reader.readFloat32("cubicX2"), reader.readFloat32("cubicY2")); - return true; - } -} diff --git a/flarelib/lib/flare/animation/interpolation/hold.dart b/flarelib/lib/flare/animation/interpolation/hold.dart deleted file mode 100644 index ce67583..0000000 --- a/flarelib/lib/flare/animation/interpolation/hold.dart +++ /dev/null @@ -1,13 +0,0 @@ -import "./interpolator.dart"; - -class HoldInterpolator extends Interpolator { - static get instance { - return _instance; - } - - double getEasedMix(double mix) { - return 0.0; - } -} - -HoldInterpolator _instance = HoldInterpolator(); diff --git a/flarelib/lib/flare/animation/interpolation/interpolator.dart b/flarelib/lib/flare/animation/interpolation/interpolator.dart deleted file mode 100644 index 866db55..0000000 --- a/flarelib/lib/flare/animation/interpolation/interpolator.dart +++ /dev/null @@ -1,3 +0,0 @@ -abstract class Interpolator { - double getEasedMix(double mix); -} diff --git a/flarelib/lib/flare/animation/interpolation/linear.dart b/flarelib/lib/flare/animation/interpolation/linear.dart deleted file mode 100644 index f57e102..0000000 --- a/flarelib/lib/flare/animation/interpolation/linear.dart +++ /dev/null @@ -1,13 +0,0 @@ -import "./interpolator.dart"; - -class LinearInterpolator extends Interpolator { - static get instance { - return _instance; - } - - double getEasedMix(double mix) { - return mix; - } -} - -LinearInterpolator _instance = LinearInterpolator(); diff --git a/flarelib/lib/flare/animation/keyframe.dart b/flarelib/lib/flare/animation/keyframe.dart deleted file mode 100644 index ef9a565..0000000 --- a/flarelib/lib/flare/animation/keyframe.dart +++ /dev/null @@ -1,1152 +0,0 @@ -import '../actor_drawable.dart'; -import "../stream_reader.dart"; -import "../actor_component.dart"; -import "../actor_node.dart"; -import "../actor_bone_base.dart"; -import "../actor_constraint.dart"; -import "../actor_image.dart"; -import "../actor_artboard.dart"; -import "../actor_node_solo.dart"; -import "../actor_star.dart"; -import "../actor_rectangle.dart"; -import "../math/mat2d.dart"; -import "./interpolation/interpolator.dart"; -import "./interpolation/hold.dart"; -import "./interpolation/linear.dart"; -import "./interpolation/cubic.dart"; -import "dart:collection"; -import "dart:typed_data"; -import "../actor_path.dart"; -import "../path_point.dart"; -import "../actor_color.dart"; - -enum InterpolationTypes { Hold, Linear, Cubic } - -HashMap interpolationTypesLookup = - HashMap.fromIterables([ - 0, - 1, - 2 -], [ - InterpolationTypes.Hold, - InterpolationTypes.Linear, - InterpolationTypes.Cubic -]); - -abstract class KeyFrame { - double _time; - - double get time { - return _time; - } - - static bool read(StreamReader reader, KeyFrame frame) { - frame._time = reader.readFloat64("time"); - - return true; - } - - void setNext(KeyFrame frame); - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix); - void apply(ActorComponent component, double mix); -} - -abstract class KeyFrameWithInterpolation extends KeyFrame { - Interpolator _interpolator; - - Interpolator get interpolator { - return _interpolator; - } - - static bool read(StreamReader reader, KeyFrameWithInterpolation frame) { - if (!KeyFrame.read(reader, frame)) { - return false; - } - int type = reader.readUint8("interpolatorType"); - - InterpolationTypes actualType = interpolationTypesLookup[type]; - if (actualType == null) { - actualType = InterpolationTypes.Linear; - } - - switch (actualType) { - case InterpolationTypes.Hold: - frame._interpolator = HoldInterpolator.instance; - break; - case InterpolationTypes.Linear: - frame._interpolator = LinearInterpolator.instance; - break; - case InterpolationTypes.Cubic: - { - CubicInterpolator interpolator = CubicInterpolator(); - if (interpolator.read(reader)) { - frame._interpolator = interpolator; - } - break; - } - default: - frame._interpolator = null; - } - return true; - } - - void setNext(KeyFrame frame) { - // Null out the interpolator if the next frame doesn't validate. - // if(_interpolator != null && !_interpolator.setNextFrame(this, frame)) - // { - // _interpolator = null; - // } - } -} - -abstract class KeyFrameNumeric extends KeyFrameWithInterpolation { - double _value; - - double get value { - return _value; - } - - static bool read(StreamReader reader, KeyFrameNumeric frame) { - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return false; - } - frame._value = reader.readFloat32("value"); - /*if(frame._interpolator != null) - { - // TODO: in the future, this could also be a progression curve. - ValueTimeCurveInterpolator vtci = frame._interpolator as ValueTimeCurveInterpolator; - if(vtci != null) - { - vtci.SetKeyFrameValue(m_Value); - } - }*/ - return true; - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - KeyFrameNumeric to = toFrame as KeyFrameNumeric; - double f = (time - _time) / (to._time - _time); - if (_interpolator != null) { - f = _interpolator.getEasedMix(f); - } - setValue(component, _value * (1.0 - f) + to._value * f, mix); - } - - void apply(ActorComponent component, double mix) { - setValue(component, _value, mix); - } - - void setValue(ActorComponent component, double value, double mix); -} - -abstract class KeyFrameInt extends KeyFrameWithInterpolation { - double _value; - - double get value { - return _value; - } - - static bool read(StreamReader reader, KeyFrameInt frame) { - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return false; - } - frame._value = reader.readInt32("value").toDouble(); - return true; - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - KeyFrameNumeric to = toFrame as KeyFrameNumeric; - double f = (time - _time) / (to._time - _time); - if (_interpolator != null) { - f = _interpolator.getEasedMix(f); - } - setValue(component, _value * (1.0 - f) + to._value * f, mix); - } - - void apply(ActorComponent component, double mix) { - setValue(component, _value, mix); - } - - void setValue(ActorComponent component, double value, double mix); -} - -class KeyFrameIntProperty extends KeyFrameInt { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameIntProperty frame = KeyFrameIntProperty(); - if (KeyFrameInt.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - // TODO - //CustomIntProperty node = component as CustomIntProperty; - //node.value = (node.value * (1.0 - mix) + value * mix).round(); - } -} - -class KeyFrameFloatProperty extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameFloatProperty frame = KeyFrameFloatProperty(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - // TODO - // CustomFloatProperty node = component as CustomFloatProperty; - // node.value = node.value * (1.0 - mix) + value * mix; - } -} - -class KeyFrameStringProperty extends KeyFrame { - String _value; - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameStringProperty frame = KeyFrameStringProperty(); - if (!KeyFrame.read(reader, frame)) { - return null; - } - frame._value = reader.readString("value"); - return frame; - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - apply(component, mix); - } - - void apply(ActorComponent component, double mix) { - // CustomStringProperty prop = component as CustomStringProperty; - // prop.value = _value; - } -} - -class KeyFrameBooleanProperty extends KeyFrame { - bool _value; - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameBooleanProperty frame = KeyFrameBooleanProperty(); - if (!KeyFrame.read(reader, frame)) { - return null; - } - frame._value = reader.readBool("value"); - return frame; - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - apply(component, mix); - } - - void apply(ActorComponent component, double mix) { - // CustomBooleanProperty prop = component as CustomBooleanProperty; - // prop.value = _value; - } -} - -class KeyFrameCollisionEnabledProperty extends KeyFrame { - bool _value; - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameCollisionEnabledProperty frame = KeyFrameCollisionEnabledProperty(); - if (!KeyFrame.read(reader, frame)) { - return null; - } - frame._value = reader.readBool("value"); - return frame; - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - apply(component, mix); - } - - void apply(ActorComponent component, double mix) { - // ActorCollider collider = component as ActorCollider; - // collider.isCollisionEnabled = _value; - } -} - -class KeyFramePosX extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFramePosX frame = KeyFramePosX(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorNode node = component as ActorNode; - node.x = node.x * (1.0 - mix) + value * mix; - } -} - -class KeyFramePosY extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFramePosY frame = KeyFramePosY(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorNode node = component as ActorNode; - node.y = node.y * (1.0 - mix) + value * mix; - } -} - -class KeyFrameScaleX extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameScaleX frame = KeyFrameScaleX(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorNode node = component as ActorNode; - node.scaleX = node.scaleX * (1.0 - mix) + value * mix; - } -} - -class KeyFrameScaleY extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameScaleY frame = KeyFrameScaleY(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorNode node = component as ActorNode; - node.scaleY = node.scaleY * (1.0 - mix) + value * mix; - } -} - -class KeyFrameRotation extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameRotation frame = KeyFrameRotation(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorNode node = component as ActorNode; - node.rotation = node.rotation * (1.0 - mix) + value * mix; - } -} - -class KeyFrameOpacity extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameOpacity frame = KeyFrameOpacity(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorNode node = component as ActorNode; - node.opacity = node.opacity * (1.0 - mix) + value * mix; - } -} - -class KeyFrameLength extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameLength frame = KeyFrameLength(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorBoneBase bone = component as ActorBoneBase; - if (bone == null) { - return; - } - bone.length = bone.length * (1.0 - mix) + value * mix; - } -} - -class KeyFrameConstraintStrength extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameConstraintStrength frame = KeyFrameConstraintStrength(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorConstraint constraint = component as ActorConstraint; - constraint.strength = constraint.strength * (1.0 - mix) + value * mix; - } -} - -class DrawOrderIndex { - int componentIndex; - int order; -} - -class KeyFrameDrawOrder extends KeyFrame { - List _orderedNodes; - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameDrawOrder frame = KeyFrameDrawOrder(); - if (!KeyFrame.read(reader, frame)) { - return null; - } - reader.openArray("drawOrder"); - int numOrderedNodes = reader.readUint16Length(); - frame._orderedNodes = List(numOrderedNodes); - for (int i = 0; i < numOrderedNodes; i++) { - reader.openObject("order"); - DrawOrderIndex drawOrder = DrawOrderIndex(); - drawOrder.componentIndex = reader.readId("component"); - drawOrder.order = reader.readUint16("order"); - reader.closeObject(); - frame._orderedNodes[i] = drawOrder; - } - reader.closeArray(); - return frame; - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - apply(component, mix); - } - - void apply(ActorComponent component, double mix) { - ActorArtboard artboard = component.artboard; - - for (DrawOrderIndex doi in _orderedNodes) { - ActorDrawable drawable = artboard[doi.componentIndex] as ActorDrawable; - if (drawable != null) { - drawable.drawOrder = doi.order; - } - } - } -} - -class KeyFrameVertexDeform extends KeyFrameWithInterpolation { - Float32List _vertices; - - Float32List get vertices { - return _vertices; - } - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameVertexDeform frame = KeyFrameVertexDeform(); - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return null; - } - - ActorImage imageNode = component as ActorImage; - frame._vertices = Float32List(imageNode.vertexCount * 2); - reader.readFloat32ArrayOffset( - frame._vertices, frame._vertices.length, 0, "value"); - - imageNode.doesAnimationVertexDeform = true; - - return frame; - } - - void transformVertices(Mat2D wt) { - int aiVertexCount = _vertices.length ~/ 2; - Float32List fv = _vertices; - - int vidx = 0; - for (int j = 0; j < aiVertexCount; j++) { - double x = fv[vidx]; - double y = fv[vidx + 1]; - - fv[vidx] = wt[0] * x + wt[2] * y + wt[4]; - fv[vidx + 1] = wt[1] * x + wt[3] * y + wt[5]; - - vidx += 2; - } - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - ActorImage imageNode = component as ActorImage; - Float32List wr = imageNode.animationDeformedVertices; - Float32List to = (toFrame as KeyFrameVertexDeform)._vertices; - int l = _vertices.length; - - double f = (time - _time) / (toFrame.time - _time); - if (_interpolator != null) { - f = _interpolator.getEasedMix(f); - } - - double fi = 1.0 - f; - if (mix == 1.0) { - for (int i = 0; i < l; i++) { - wr[i] = _vertices[i] * fi + to[i] * f; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < l; i++) { - double v = _vertices[i] * fi + to[i] * f; - - wr[i] = wr[i] * mixi + v * mix; - } - } - - imageNode.isVertexDeformDirty = true; - } - - void apply(ActorComponent component, double mix) { - ActorImage imageNode = component as ActorImage; - int l = _vertices.length; - Float32List wr = imageNode.animationDeformedVertices; - if (mix == 1.0) { - for (int i = 0; i < l; i++) { - wr[i] = _vertices[i]; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < l; i++) { - wr[i] = wr[i] * mixi + _vertices[i] * mix; - } - } - - imageNode.isVertexDeformDirty = true; - } -} - -class KeyFrameTrigger extends KeyFrame { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameTrigger frame = KeyFrameTrigger(); - if (!KeyFrame.read(reader, frame)) { - return null; - } - return frame; - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) {} - - void apply(ActorComponent component, double mix) {} -} - -class KeyFrameActiveChild extends KeyFrame { - int _value; - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameActiveChild frame = KeyFrameActiveChild(); - if (!KeyFrame.read(reader, frame)) { - return null; - } - frame._value = reader.readFloat32("value").toInt(); - return frame; - } - - void setNext(KeyFrame frame) { - // No Interpolation - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - apply(component, mix); - } - - void apply(ActorComponent component, double mix) { - ActorNodeSolo soloNode = component as ActorNodeSolo; - soloNode.activeChildIndex = _value; - } -} - -class KeyFrameSequence extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameSequence frame = KeyFrameSequence(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorImage node = component as ActorImage; - int frameIndex = value.floor() % node.sequenceFrames.length; - if (frameIndex < 0) { - frameIndex += node.sequenceFrames.length; - } - node.sequenceFrame = frameIndex; - } -} - -class KeyFrameFillColor extends KeyFrameWithInterpolation { - Float32List _value; - - Float32List get value { - return _value; - } - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameFillColor frame = KeyFrameFillColor(); - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return null; - } - - frame._value = Float32List(4); - reader.readFloat32ArrayOffset(frame._value, 4, 0, "value"); - return frame; - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - ActorColor ac = component as ActorColor; - Float32List wr = ac.color; - Float32List to = (toFrame as KeyFrameFillColor)._value; - int l = _value.length; - - double f = (time - _time) / (toFrame.time - _time); - double fi = 1.0 - f; - if (mix == 1.0) { - for (int i = 0; i < l; i++) { - wr[i] = _value[i] * fi + to[i] * f; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < l; i++) { - double v = _value[i] * fi + to[i] * f; - - wr[i] = wr[i] * mixi + v * mix; - } - } - - //path.markVertexDeformDirty(); - } - - void apply(ActorComponent component, double mix) { - ActorColor ac = component as ActorColor; - int l = _value.length; - Float32List wr = ac.color; - if (mix == 1.0) { - for (int i = 0; i < l; i++) { - wr[i] = _value[i]; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < l; i++) { - wr[i] = wr[i] * mixi + _value[i] * mix; - } - } - } -} - -class KeyFramePathVertices extends KeyFrameWithInterpolation { - Float32List _vertices; - - Float32List get vertices { - return _vertices; - } - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFramePathVertices frame = KeyFramePathVertices(); - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return null; - } - - ActorPath pathNode = component as ActorPath; - - int length = pathNode.points.fold(0, (int previous, PathPoint point) { - return previous + 2 + (point.pointType == PointType.Straight ? 1 : 4); - }); - frame._vertices = Float32List(length); - int readIdx = 0; - for (PathPoint point in pathNode.points) { - reader.readFloat32ArrayOffset(frame._vertices, 2, readIdx, "translation"); - if (point.pointType == PointType.Straight) { - // radius - reader.readFloat32ArrayOffset( - frame._vertices, 1, readIdx + 2, "radius"); - - readIdx += 3; - } else { - // in/out - reader.readFloat32ArrayOffset( - frame._vertices, 2, readIdx + 2, "inValue"); - reader.readFloat32ArrayOffset( - frame._vertices, 2, readIdx + 4, "outValue"); - readIdx += 6; - } - } - - pathNode.vertexDeform = Float32List.fromList(frame._vertices); - return frame; - } - - void setNext(KeyFrame frame) { - // Do nothing. - } - - void applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - ActorPath path = component as ActorPath; - Float32List wr = path.vertexDeform; - Float32List to = (toFrame as KeyFramePathVertices)._vertices; - int l = _vertices.length; - - double f = (time - _time) / (toFrame.time - _time); - double fi = 1.0 - f; - if (mix == 1.0) { - for (int i = 0; i < l; i++) { - wr[i] = _vertices[i] * fi + to[i] * f; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < l; i++) { - double v = _vertices[i] * fi + to[i] * f; - - wr[i] = wr[i] * mixi + v * mix; - } - } - - path.markVertexDeformDirty(); - } - - void apply(ActorComponent component, double mix) { - ActorPath path = component as ActorPath; - int l = _vertices.length; - Float32List wr = path.vertexDeform; - if (mix == 1.0) { - for (int i = 0; i < l; i++) { - wr[i] = _vertices[i]; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < l; i++) { - wr[i] = wr[i] * mixi + _vertices[i] * mix; - } - } - - path.markVertexDeformDirty(); - } -} - -class KeyFrameFillOpacity extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameFillOpacity frame = KeyFrameFillOpacity(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - // GradientFill node = component as GradientFill; - ActorPaint node = component as ActorPaint; - node.opacity = node.opacity * (1.0 - mix) + value * mix; - } -} - -class KeyFrameStrokeColor extends KeyFrameWithInterpolation { - Float32List _value; - - Float32List get value { - return _value; - } - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameStrokeColor frame = KeyFrameStrokeColor(); - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return null; - } - frame._value = Float32List(4); - reader.readFloat32ArrayOffset(frame._value, 4, 0, "value"); - return frame; - } - - @override - applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - ColorStroke cs = component as ColorStroke; - Float32List wr = cs.color; - Float32List to = (toFrame as KeyFrameStrokeColor)._value; - int len = _value.length; - - double f = (time - _time) / (toFrame.time - _time); - double fi = 1.0 - f; - if (mix == 1.0) { - for (int i = 0; i < len; i++) { - wr[i] = _value[i] * fi + to[i] * f; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < len; i++) { - double v = _value[i] * fi + to[i] * f; - - wr[i] = wr[i] * mixi + v * mix; - } - } - } - - @override - apply(ActorComponent component, double mix) { - ColorStroke node = component as ColorStroke; - Float32List wr = node.color; - int len = wr.length; - if (mix == 1.0) { - for (int i = 0; i < len; i++) { - wr[i] = _value[i]; - } - } else { - double mixi = 1.0 - mix; - for (int i = 0; i < len; i++) { - wr[i] = wr[i] * mixi + _value[i] * mix; - } - } - } -} - -class KeyFrameCornerRadius extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameCornerRadius frame = KeyFrameCornerRadius(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - ActorRectangle node = component as ActorRectangle; - node.radius = node.radius * (1.0 - mix) + value * mix; - } -} - -class KeyFrameGradient extends KeyFrameWithInterpolation { - Float32List _value; - get value => _value; - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameGradient frame = KeyFrameGradient(); - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return null; - } - int len = reader.readUint16("length"); - frame._value = Float32List(len); - reader.readFloat32Array(frame._value, "value"); - return frame; - } - - @override - applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - GradientColor gradient = component as GradientColor; - Float32List v = (toFrame as KeyFrameGradient)._value; - - double f = (time - _time) / (toFrame.time - _time); - if (_interpolator != null) { - f = _interpolator.getEasedMix(f); - } - double fi = 1.0 - f; - - int ridx = 0; - int wi = 0; - - if (mix == 1.0) { - gradient.start[0] = _value[ridx] * fi + v[ridx++] * f; - gradient.start[1] = _value[ridx] * fi + v[ridx++] * f; - gradient.end[0] = _value[ridx] * fi + v[ridx++] * f; - gradient.end[1] = _value[ridx] * fi + v[ridx++] * f; - - while (ridx < v.length && wi < gradient.colorStops.length) { - gradient.colorStops[wi++] = _value[ridx] * fi + v[ridx++] * f; - } - } else { - double imix = 1.0 - mix; - - // Mix : first interpolate the KeyFrames, and then mix on top of the current value. - double val = _value[ridx] * fi + v[ridx] * f; - gradient.start[0] = gradient.start[0] * imix + val * mix; - ridx++; - - val = _value[ridx] * fi + v[ridx] * f; - gradient.start[1] = gradient.start[1] * imix + val * mix; - ridx++; - - val = _value[ridx] * fi + v[ridx] * f; - gradient.end[0] = gradient.end[0] * imix + val * mix; - ridx++; - - val = _value[ridx] * fi + v[ridx] * f; - gradient.end[1] = gradient.end[1] * imix + val * mix; - ridx++; - - while (ridx < v.length && wi < gradient.colorStops.length) { - val = _value[ridx] * fi + v[ridx] * f; - gradient.colorStops[wi] = gradient.colorStops[wi] * imix + val * mix; - - ridx++; - wi++; - } - } - } - - @override - apply(ActorComponent component, double mix) { - GradientColor gradient = component as GradientColor; - - int ridx = 0; - int wi = 0; - - if (mix == 1.0) { - gradient.start[0] = _value[ridx++]; - gradient.start[1] = _value[ridx++]; - gradient.end[0] = _value[ridx++]; - gradient.end[1] = _value[ridx++]; - - while (ridx < _value.length && wi < gradient.colorStops.length) { - gradient.colorStops[wi++] = _value[ridx++]; - } - } else { - double imix = 1.0 - mix; - gradient.start[0] = gradient.start[0] * imix + _value[ridx++] * mix; - gradient.start[1] = gradient.start[1] * imix + _value[ridx++] * mix; - gradient.end[0] = gradient.end[0] * imix + _value[ridx++] * mix; - gradient.end[1] = gradient.end[1] * imix + _value[ridx++] * mix; - - while (ridx < _value.length && wi < gradient.colorStops.length) { - gradient.colorStops[wi] = - gradient.colorStops[wi] * imix + _value[ridx++]; - wi++; - } - } - } -} - -class KeyFrameRadial extends KeyFrameWithInterpolation { - Float32List _value; - get value => _value; - - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameRadial frame = KeyFrameRadial(); - if (!KeyFrameWithInterpolation.read(reader, frame)) { - return null; - } - int len = reader.readUint16("length"); - frame._value = Float32List(len); - reader.readFloat32Array(frame._value, "value"); - return frame; - } - - @override - applyInterpolation( - ActorComponent component, double time, KeyFrame toFrame, double mix) { - RadialGradientColor radial = component as RadialGradientColor; - Float32List v = (toFrame as KeyFrameRadial)._value; - - double f = (time - _time) / (toFrame.time - _time); - if (_interpolator != null) { - f = _interpolator.getEasedMix(f); - } - double fi = 1.0 - f; - - int ridx = 0; - int wi = 0; - - if (mix == 1.0) { - radial.secondaryRadiusScale = _value[ridx] * fi + v[ridx++] * f; - radial.start[0] = _value[ridx] * fi + v[ridx++] * f; - radial.start[1] = _value[ridx] * fi + v[ridx++] * f; - radial.end[0] = _value[ridx] * fi + v[ridx++] * f; - radial.end[1] = _value[ridx] * fi + v[ridx++] * f; - - while (ridx < v.length && wi < radial.colorStops.length) { - radial.colorStops[wi++] = _value[ridx] * fi + v[ridx++] * f; - } - } else { - double imix = 1.0 - mix; - - // Mix : first interpolate the KeyFrames, and then mix on top of the current value. - double val = _value[ridx] * fi + v[ridx] * f; - radial.secondaryRadiusScale = _value[ridx] * fi + v[ridx++] * f; - val = _value[ridx] * fi + v[ridx] * f; - radial.start[0] = _value[ridx++] * imix + val * mix; - val = _value[ridx] * fi + v[ridx] * f; - radial.start[1] = _value[ridx++] * imix + val * mix; - val = _value[ridx] * fi + v[ridx] * f; - radial.end[0] = _value[ridx++] * imix + val * mix; - val = _value[ridx] * fi + v[ridx] * f; - radial.end[1] = _value[ridx++] * imix + val * mix; - - while (ridx < v.length && wi < radial.colorStops.length) { - val = _value[ridx] * fi + v[ridx] * f; - radial.colorStops[wi] = radial.colorStops[wi] * imix + val * mix; - - ridx++; - wi++; - } - } - } - - @override - apply(ActorComponent component, double mix) { - RadialGradientColor radial = component as RadialGradientColor; - - int ridx = 0; - int wi = 0; - - if (mix == 1.0) { - radial.secondaryRadiusScale = value[ridx++]; - radial.start[0] = _value[ridx++]; - radial.start[1] = _value[ridx++]; - radial.end[0] = _value[ridx++]; - radial.end[1] = _value[ridx++]; - - while (ridx < _value.length && wi < radial.colorStops.length) { - radial.colorStops[wi++] = _value[ridx++]; - } - } else { - double imix = 1.0 - mix; - radial.secondaryRadiusScale = - radial.secondaryRadiusScale * imix + value[ridx++] * mix; - radial.start[0] = radial.start[0] * imix + _value[ridx++] * mix; - radial.start[1] = radial.start[1] * imix + _value[ridx++] * mix; - radial.end[0] = radial.end[0] * imix + _value[ridx++] * mix; - radial.end[1] = radial.end[1] * imix + _value[ridx++] * mix; - - while (ridx < _value.length && wi < radial.colorStops.length) { - radial.colorStops[wi] = radial.colorStops[wi] * imix + _value[ridx++]; - wi++; - } - } - } -} - -class KeyFrameShapeWidth extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameShapeWidth frame = KeyFrameShapeWidth(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - if (component == null) return; - - if (component is ActorProceduralPath) { - component.width = component.width * (1.0 - mix) + value * mix; - } - } -} - -class KeyFrameShapeHeight extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameShapeHeight frame = KeyFrameShapeHeight(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - if (component == null) return; - - if (component is ActorProceduralPath) { - component.height = component.height * (1.0 - mix) + value * mix; - //print("YEAHe ${component.name} ${component.height}"); - } - } -} - -class KeyFrameStrokeWidth extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameStrokeWidth frame = KeyFrameStrokeWidth(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - if (component == null) return; - - if (component is GradientStroke) { - component.width = component.width * (1.0 - mix) + value * mix; - } else if (component is RadialGradientStroke) { - component.width = component.width * (1.0 - mix) + value * mix; - } else if (component is ColorStroke) { - component.width = component.width * (1.0 - mix) + value * mix; - } - } -} - -class KeyFrameStrokeOpacity extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameStrokeOpacity frame = KeyFrameStrokeOpacity(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - if (component == null) return; - - if (component is GradientColor) { - component.opacity = component.opacity * (1.0 - mix) + value * mix; - } else if (component is ColorStroke) { - component.opacity = component.opacity * (1.0 - mix) + value * mix; - } - } -} - -class KeyFrameInnerRadius extends KeyFrameNumeric { - static KeyFrame read(StreamReader reader, ActorComponent component) { - KeyFrameInnerRadius frame = KeyFrameInnerRadius(); - if (KeyFrameNumeric.read(reader, frame)) { - return frame; - } - return null; - } - - void setValue(ActorComponent component, double value, double mix) { - if (component == null) return; - - ActorStar star = component as ActorStar; - star.innerRadius = star.innerRadius * (1.0 - mix) + value * mix; - } -} diff --git a/flarelib/lib/flare/animation/property_types.dart b/flarelib/lib/flare/animation/property_types.dart deleted file mode 100644 index 12ce7a7..0000000 --- a/flarelib/lib/flare/animation/property_types.dart +++ /dev/null @@ -1,71 +0,0 @@ -class PropertyTypes { - static const int Unknown = 0; - static const int PosX = 1; - static const int PosY = 2; - static const int ScaleX = 3; - static const int ScaleY = 4; - static const int Rotation = 5; - static const int Opacity = 6; - static const int DrawOrder = 7; - static const int Length = 8; - static const int VertexDeform = 9; - static const int ConstraintStrength = 10; - static const int Trigger = 11; - static const int IntProperty = 12; - static const int FloatProperty = 13; - static const int StringProperty = 14; - static const int BooleanProperty = 15; - static const int CollisionEnabled = 16; - static const int Sequence = 17; - static const int ActiveChildIndex = 18; - static const int PathVertices = 19; - static const int FillColor = 20; - static const int FillGradient = 21; - static const int FillRadial = 22; - static const int StrokeColor = 23; - static const int StrokeGradient = 24; - static const int StrokeRadial = 25; - static const int StrokeWidth = 26; - static const int StrokeOpacity = 27; - static const int FillOpacity = 28; - static const int ShapeWidth = 29; - static const int ShapeHeight = 30; - static const int CornerRadius = 31; - static const int InnerRadius = 32; -} - -const Map PropertyTypesMap = { - "unknown": PropertyTypes.Unknown, - "posX": PropertyTypes.PosX, - "posY": PropertyTypes.PosY, - "scaleX": PropertyTypes.ScaleX, - "scaleY": PropertyTypes.ScaleY, - "rotation": PropertyTypes.Rotation, - "opacity": PropertyTypes.Opacity, - "drawOrder": PropertyTypes.DrawOrder, - "length": PropertyTypes.Length, - "vertices": PropertyTypes.VertexDeform, - "strength": PropertyTypes.ConstraintStrength, - "trigger": PropertyTypes.Trigger, - "intValue": PropertyTypes.IntProperty, - "floatValue": PropertyTypes.FloatProperty, - "stringValue": PropertyTypes.StringProperty, - "boolValue": PropertyTypes.BooleanProperty, - "isCollisionEnabled": PropertyTypes.CollisionEnabled, - "sequence": PropertyTypes.Sequence, - "activeChild": PropertyTypes.ActiveChildIndex, - "pathVertices": PropertyTypes.PathVertices, - "fillColor": PropertyTypes.FillColor, - "fillGradient": PropertyTypes.FillGradient, - "fillRadial": PropertyTypes.FillRadial, - "strokeColor": PropertyTypes.StrokeColor, - "strokeGradient": PropertyTypes.StrokeGradient, - "strokeRadial": PropertyTypes.StrokeRadial, - "strokeWidth": PropertyTypes.StrokeWidth, - "strokeOpacity": PropertyTypes.StrokeOpacity, - "fillOpacity": PropertyTypes.FillOpacity, - "width": PropertyTypes.ShapeWidth, - "height": PropertyTypes.ShapeHeight, - "cornerRadius": PropertyTypes.CornerRadius, - "innerRadius": PropertyTypes.InnerRadius, -}; diff --git a/flarelib/lib/flare/binary_reader.dart b/flarelib/lib/flare/binary_reader.dart deleted file mode 100644 index 9240948..0000000 --- a/flarelib/lib/flare/binary_reader.dart +++ /dev/null @@ -1,184 +0,0 @@ -import 'dart:typed_data'; -import "stream_reader.dart"; - -abstract class BinaryReader implements StreamReader { - ByteData _raw; - int _readIndex; - - BinaryReader(ByteData data) { - _raw = data; - _readIndex = 0; - } - - double readFloat32([String label]) { - double value = _raw.getFloat32(_readIndex, Endian.little); - _readIndex += 4; - - return value; - } - - Float32List readFloat32ArrayOffset(Float32List list, int length, int offset, - [String label]) { - int end = offset + length; - for (int i = offset; i < end; i++) { - list[i] = _raw.getFloat32(_readIndex, Endian.little); - _readIndex += 4; - } - return list; - } - - double readFloat64([String label]) { - double value = _raw.getFloat64(_readIndex, Endian.little); - _readIndex += 8; - - return value; - } - - int readUint8([String label]) { - return _raw.getUint8(_readIndex++); - } - - bool isEOF() { - return _readIndex >= _raw.lengthInBytes; - } - - int readInt8([String label]) { - return _raw.getInt8(_readIndex++); - } - - int readUint16([String label]) { - int value = _raw.getUint16(_readIndex, Endian.little); - _readIndex += 2; - - return value; - } - - Uint16List readUint16Array(Uint16List list, int length, int offset, - [String label]) { - int end = offset + length; - for (int i = offset; i < end; i++) { - list[i] = _raw.getUint16(_readIndex, Endian.little); - _readIndex += 2; - } - return list; - } - - int readInt16([String label]) { - int value = _raw.getInt16(_readIndex, Endian.little); - _readIndex += 2; - - return value; - } - - int readUint32([String label]) { - int value = _raw.getUint32(_readIndex, Endian.little); - _readIndex += 4; - - return value; - } - - int readInt32([String label]) { - int value = _raw.getInt32(_readIndex, Endian.little); - _readIndex += 4; - - return value; - } - - String readString([String label]) { - int length = readUint32(); - int end = _readIndex + length; - StringBuffer stringBuffer = StringBuffer(); - - while (_readIndex < end) { - int c1 = readUint8(); - if (c1 < 128) { - stringBuffer.writeCharCode(c1); - } else if (c1 > 191 && c1 < 224) { - int c2 = readUint8(); - stringBuffer.writeCharCode((c1 & 31) << 6 | c2 & 63); - } else if (c1 > 239 && c1 < 365) { - int c2 = readUint8(); - int c3 = readUint8(); - int c4 = readUint8(); - int u = ((c1 & 7) << 18 | (c2 & 63) << 12 | (c3 & 63) << 6 | c4 & 63) - - 0x10000; - stringBuffer.writeCharCode(0xD800 + (u >> 10)); - stringBuffer.writeCharCode(0xDC00 + (u & 1023)); - } else { - int c2 = readUint8(); - int c3 = readUint8(); - stringBuffer.writeCharCode((c1 & 15) << 12 | (c2 & 63) << 6 | c3 & 63); - } - } - - return stringBuffer.toString(); - } - - @override - Uint8List readUint8Array(Uint8List list, int length, int offset, - [String label]) { - int end = offset + length; - for (int i = offset; i < end; i++) { - list[i] = _raw.getUint8(_readIndex++); - } - return list; - } - - @override - int readVersion() { - return this.readUint32(); - } - - @override - int readUint8Length() { - return readUint8(); - } - - @override - int readUint32Length() { - return readUint32(); - } - - @override - int readUint16Length() { - return readUint16(); - } - - @override - int readId(String label) { - return readUint16(label); - } - - @override - Float32List readFloat32Array(Float32List ar, String label) { - return readFloat32ArrayOffset(ar, ar.length, 0, label); - } - - @override - bool readBool(String label) { - return readUint8(label) == 1; - } - - @override - openArray(String label) { - /* NOP */ - } - - @override - closeArray() { - /* NOP */ - } - - @override - openObject(String label) { - /* NOP */ - } - - @override - closeObject() { - /* NOP */ - } - - @override - String get containerType => "bin"; -} diff --git a/flarelib/lib/flare/block_reader.dart b/flarelib/lib/flare/block_reader.dart deleted file mode 100644 index 3d25278..0000000 --- a/flarelib/lib/flare/block_reader.dart +++ /dev/null @@ -1,29 +0,0 @@ -import "binary_reader.dart"; -import 'dart:typed_data'; - -class BlockReader extends BinaryReader { - @override - int blockType; - - BlockReader(ByteData data) : super(data) { - blockType = 0; - } - - BlockReader.fromBlock(int type, ByteData stream) : super(stream) { - blockType = type; - } - - // A block is defined as a TLV with type of one byte, length of 4 bytes, and then the value following. - BlockReader readNextBlock(Map types) { - if (isEOF()) { - return null; - } - int blockType = readUint8(); - int length = readUint32(); - - Uint8List buffer = Uint8List(length); - - return BlockReader.fromBlock(blockType, - ByteData.view(readUint8Array(buffer, buffer.length, 0).buffer)); - } -} diff --git a/flarelib/lib/flare/block_types.dart b/flarelib/lib/flare/block_types.dart deleted file mode 100644 index 8d5ec68..0000000 --- a/flarelib/lib/flare/block_types.dart +++ /dev/null @@ -1,99 +0,0 @@ -const Map BlockTypesMap = { - "unknown": BlockTypes.Unknown, - "nodes": BlockTypes.Components, - "node": BlockTypes.ActorNode, - "bone": BlockTypes.ActorBone, - "rootBone": BlockTypes.ActorRootBone, - "image": BlockTypes.ActorImage, - "view": BlockTypes.View, - "animation": BlockTypes.Animation, - "animations": BlockTypes.Animations, - "atlases": BlockTypes.Atlases, - "atlas": BlockTypes.Atlas, - "event": BlockTypes.ActorEvent, - "customInt": BlockTypes.CustomIntProperty, - "customFloat": BlockTypes.CustomFloatProperty, - "customString": BlockTypes.CustomStringProperty, - "customBoolean": BlockTypes.CustomBooleanProperty, - "rectangleCollider": BlockTypes.ActorColliderRectangle, - "triangleCollider": BlockTypes.ActorColliderTriangle, - "circleCollider": BlockTypes.ActorColliderCircle, - "polygonCollider": BlockTypes.ActorColliderPolygon, - "lineCollider": BlockTypes.ActorColliderLine, - "imageSequence": BlockTypes.ActorImageSequence, - "solo": BlockTypes.ActorNodeSolo, - "jelly": BlockTypes.JellyComponent, - "jellyBone": BlockTypes.ActorJellyBone, - "ikConstraint": BlockTypes.ActorIKConstraint, - "distanceConstraint": BlockTypes.ActorDistanceConstraint, - "translationConstraint": BlockTypes.ActorTranslationConstraint, - "rotationConstraint": BlockTypes.ActorRotationConstraint, - "scaleConstraint": BlockTypes.ActorScaleConstraint, - "transformConstraint": BlockTypes.ActorTransformConstraint, - "shape": BlockTypes.ActorShape, - "path": BlockTypes.ActorPath, - "colorFill": BlockTypes.ColorFill, - "colorStroke": BlockTypes.ColorStroke, - "gradientFill": BlockTypes.GradientFill, - "gradientStroke": BlockTypes.GradientStroke, - "radialGradientFill": BlockTypes.RadialGradientFill, - "radialGradientStroke": BlockTypes.RadialGradientStroke, - "ellipse": BlockTypes.ActorEllipse, - "rectangle": BlockTypes.ActorRectangle, - "triangle": BlockTypes.ActorTriangle, - "star": BlockTypes.ActorStar, - "polygon": BlockTypes.ActorPolygon, - "artboards": BlockTypes.Artboards, - "artboard": BlockTypes.ActorArtboard -}; - -class BlockTypes { - static const int Unknown = 0; - static const int Components = 1; - static const int ActorNode = 2; - static const int ActorBone = 3; - static const int ActorRootBone = 4; - static const int ActorImage = 5; - static const int View = 6; - static const int Animation = 7; - static const int Animations = 8; - static const int Atlases = 9; - static const int Atlas = 10; - static const int ActorIKTarget = 11; - static const int ActorEvent = 12; - static const int CustomIntProperty = 13; - static const int CustomFloatProperty = 14; - static const int CustomStringProperty = 15; - static const int CustomBooleanProperty = 16; - static const int ActorColliderRectangle = 17; - static const int ActorColliderTriangle = 18; - static const int ActorColliderCircle = 19; - static const int ActorColliderPolygon = 20; - static const int ActorColliderLine = 21; - static const int ActorImageSequence = 22; - static const int ActorNodeSolo = 23; - static const int JellyComponent = 28; - static const int ActorJellyBone = 29; - static const int ActorIKConstraint = 30; - static const int ActorDistanceConstraint = 31; - static const int ActorTranslationConstraint = 32; - static const int ActorRotationConstraint = 33; - static const int ActorScaleConstraint = 34; - static const int ActorTransformConstraint = 35; - static const int ActorShape = 100; - static const int ActorPath = 101; - static const int ColorFill = 102; - static const int ColorStroke = 103; - static const int GradientFill = 104; - static const int GradientStroke = 105; - static const int RadialGradientFill = 106; - static const int RadialGradientStroke = 107; - static const int ActorEllipse = 108; - static const int ActorRectangle = 109; - static const int ActorTriangle = 110; - static const int ActorStar = 111; - static const int ActorPolygon = 112; - static const int ActorSkin = 113; - static const int ActorArtboard = 114; - static const int Artboards = 115; -} diff --git a/flarelib/lib/flare/dependency_sorter.dart b/flarelib/lib/flare/dependency_sorter.dart deleted file mode 100644 index 8cb074a..0000000 --- a/flarelib/lib/flare/dependency_sorter.dart +++ /dev/null @@ -1,46 +0,0 @@ -import "dart:collection"; -import "actor_component.dart"; - -class DependencySorter { - HashSet _perm; - HashSet _temp; - List _order; - - DependencySorter() { - _perm = HashSet(); - _temp = HashSet(); - } - - List sort(ActorComponent root) { - _order = List(); - if (!visit(root)) { - return null; - } - return _order; - } - - bool visit(ActorComponent n) { - if (_perm.contains(n)) { - return true; - } - if (_temp.contains(n)) { - print("Dependency cycle!"); - return false; - } - - _temp.add(n); - - List dependents = n.dependents; - if (dependents != null) { - for (ActorComponent d in dependents) { - if (!visit(d)) { - return false; - } - } - } - _perm.add(n); - _order.insert(0, n); - - return true; - } -} diff --git a/flarelib/lib/flare/jelly_component.dart b/flarelib/lib/flare/jelly_component.dart deleted file mode 100644 index e7815e7..0000000 --- a/flarelib/lib/flare/jelly_component.dart +++ /dev/null @@ -1,394 +0,0 @@ -import "stream_reader.dart"; -import "actor_artboard.dart"; -import "actor_jelly_bone.dart"; -import "actor_component.dart"; -import "actor_node.dart"; -import "actor_bone.dart"; -import "math/vec2d.dart"; -import "math/mat2d.dart"; -import "dart:math"; -import "actor_root_bone.dart"; -import "actor_constraint.dart"; - -class JellyComponent extends ActorComponent { - static const int JellyMax = 16; - static double OptimalDistance = 4.0 * (sqrt(2.0) - 1.0) / 3.0; - static double CurveConstant = OptimalDistance * sqrt(2.0) * 0.5; - static const double Epsilon = 0.001; // Intentionally agressive. - - static bool fuzzyEquals(Vec2D a, Vec2D b) { - double a0 = a[0], a1 = a[1]; - double b0 = b[0], b1 = b[1]; - return ((a0 - b0).abs() <= Epsilon * max(1.0, max(a0.abs(), b0.abs())) && - (a1 - b1).abs() <= Epsilon * max(1.0, max(a1.abs(), b1.abs()))); - } - - static void forwardDiffBezier(double c0, double c1, double c2, double c3, - List points, int count, int offset) { - double f = count.toDouble(); - - double p0 = c0; - - double p1 = 3.0 * (c1 - c0) / f; - - f *= count; - double p2 = 3.0 * (c0 - 2.0 * c1 + c2) / f; - - f *= count; - double p3 = (c3 - c0 + 3.0 * (c1 - c2)) / f; - - c0 = p0; - c1 = p1 + p2 + p3; - c2 = 2 * p2 + 6 * p3; - c3 = 6 * p3; - - for (int a = 0; a <= count; a++) { - points[a][offset] = c0; - c0 += c1; - c1 += c2; - c2 += c3; - } - } - - List normalizeCurve(List curve, int numSegments) { - List points = List(); - int curvePointCount = curve.length; - List distances = List(curvePointCount); - distances[0] = 0.0; - for (int i = 0; i < curvePointCount - 1; i++) { - Vec2D p1 = curve[i]; - Vec2D p2 = curve[i + 1]; - distances[i + 1] = distances[i] + Vec2D.distance(p1, p2); - } - double totalDistance = distances[curvePointCount - 1]; - - double segmentLength = totalDistance / numSegments; - int pointIndex = 1; - for (int i = 1; i <= numSegments; i++) { - double distance = segmentLength * i; - - while (pointIndex < curvePointCount - 1 && - distances[pointIndex] < distance) { - pointIndex++; - } - - double d = distances[pointIndex]; - double lastCurveSegmentLength = d - distances[pointIndex - 1]; - double remainderOfDesired = d - distance; - double ratio = remainderOfDesired / lastCurveSegmentLength; - double iratio = 1.0 - ratio; - - Vec2D p1 = curve[pointIndex - 1]; - Vec2D p2 = curve[pointIndex]; - points.add(Vec2D.fromValues( - p1[0] * ratio + p2[0] * iratio, p1[1] * ratio + p2[1] * iratio)); - } - - return points; - } - - double _easeIn; - double _easeOut; - double _scaleIn; - double _scaleOut; - int _inTargetIdx; - int _outTargetIdx; - ActorNode _inTarget; - ActorNode _outTarget; - List _bones; - Vec2D _inPoint; - Vec2D _inDirection; - Vec2D _outPoint; - Vec2D _outDirection; - - Vec2D _cachedTip; - Vec2D _cachedOut; - Vec2D _cachedIn; - double _cachedScaleIn; - double _cachedScaleOut; - - List _jellyPoints; - - ActorNode get inTarget => _inTarget; - ActorNode get outTarget => _inTarget; - - JellyComponent() { - _inPoint = Vec2D(); - _inDirection = Vec2D(); - _outPoint = Vec2D(); - _outDirection = Vec2D(); - _cachedTip = Vec2D(); - _cachedOut = Vec2D(); - _cachedIn = Vec2D(); - - _jellyPoints = List(JellyMax + 1); - for (var i = 0; i <= JellyMax; i++) { - _jellyPoints[i] = Vec2D(); - } - } - ActorComponent makeInstance(ActorArtboard artboard) { - JellyComponent instance = JellyComponent(); - instance.copyJelly(this, artboard); - return instance; - } - - void copyJelly(JellyComponent component, ActorArtboard artboard) { - super.copyComponent(component, artboard); - _easeIn = component._easeIn; - _easeOut = component._easeOut; - _scaleIn = component._scaleIn; - _scaleOut = component._scaleOut; - _inTargetIdx = component._inTargetIdx; - _outTargetIdx = component._outTargetIdx; - } - - void resolveComponentIndices(List components) { - super.resolveComponentIndices(components); - - if (_inTargetIdx != 0) { - _inTarget = components[_inTargetIdx] as ActorNode; - } - if (_outTargetIdx != 0) { - _outTarget = components[_outTargetIdx] as ActorNode; - } - - List dependencyConstraints = []; - ActorBone bone = parent as ActorBone; - if (bone != null) { - artboard.addDependency(this, bone); - dependencyConstraints += bone.allConstraints; - ActorBone firstBone = bone.firstBone; - if (firstBone != null) { - artboard.addDependency(this, firstBone); - dependencyConstraints += firstBone.allConstraints; - - // If we don't have an out target and the child jelly does have an in target - // we are dependent on that target's position. - if (_outTarget == null && - firstBone.jelly != null && - firstBone.jelly.inTarget != null) { - artboard.addDependency(this, firstBone.jelly.inTarget); - dependencyConstraints += firstBone.jelly.inTarget.allConstraints; - } - } - if (bone.parent is ActorBone) { - ActorBone parentBone = bone.parent; - JellyComponent parentBoneJelly = parentBone.jelly; - if (parentBoneJelly != null && parentBoneJelly.outTarget != null) { - artboard.addDependency(this, parentBoneJelly.outTarget); - dependencyConstraints += parentBoneJelly.outTarget.allConstraints; - } - } - } - - if (_inTarget != null) { - artboard.addDependency(this, _inTarget); - dependencyConstraints += _inTarget.allConstraints; - } - if (_outTarget != null) { - artboard.addDependency(this, _outTarget); - dependencyConstraints += _outTarget.allConstraints; - } - - // We want to depend on any and all constraints that our dependents have. - Set constraints = - Set.from(dependencyConstraints); - for (ActorConstraint constraint in constraints) { - artboard.addDependency(this, constraint); - } - } - - void completeResolve() { - //super.completeResolve(); - ActorBone bone = parent as ActorBone; - bone.jelly = this; - - // Get jellies. - List children = bone.children; - if (children == null) { - return; - } - - _bones = List(); - for (ActorNode child in children) { - if (child is ActorJellyBone) { - _bones.add(child); - // Make sure the jelly doesn't update until the jelly component has updated - artboard.addDependency(child, this); - } - } - } - - static JellyComponent read( - ActorArtboard artboard, StreamReader reader, JellyComponent node) { - if (node == null) { - node = JellyComponent(); - } - ActorComponent.read(artboard, reader, node); - - node._easeIn = reader.readFloat32("easeIn"); - node._easeOut = reader.readFloat32("easeOut"); - node._scaleIn = reader.readFloat32("scaleIn"); - node._scaleOut = reader.readFloat32("scaleOut"); - node._inTargetIdx = reader.readId("inTargetId"); - node._outTargetIdx = reader.readId("outTargetId"); - - return node; - } - - void updateJellies() { - if (_bones == null) { - return; - } - ActorBone bone = parent as ActorBone; - // We are in local bone space. - Vec2D tipPosition = Vec2D.fromValues(bone.length, 0.0); - - if (fuzzyEquals(_cachedTip, tipPosition) && - fuzzyEquals(_cachedOut, _outPoint) && - fuzzyEquals(_cachedIn, _inPoint) && - _cachedScaleIn == _scaleIn && - _cachedScaleOut == _scaleOut) { - return; - } - - Vec2D.copy(_cachedTip, tipPosition); - Vec2D.copy(_cachedOut, _outPoint); - Vec2D.copy(_cachedIn, _inPoint); - _cachedScaleIn = _scaleIn; - _cachedScaleOut = _scaleOut; - - Vec2D q0 = Vec2D(); - Vec2D q1 = _inPoint; - Vec2D q2 = _outPoint; - Vec2D q3 = tipPosition; - - forwardDiffBezier(q0[0], q1[0], q2[0], q3[0], _jellyPoints, JellyMax, 0); - forwardDiffBezier(q0[1], q1[1], q2[1], q3[1], _jellyPoints, JellyMax, 1); - - List normalizedPoints = normalizeCurve(_jellyPoints, _bones.length); - - Vec2D lastPoint = _jellyPoints[0]; - - double scale = _scaleIn; - double scaleInc = (_scaleOut - _scaleIn) / (_bones.length - 1); - for (int i = 0; i < normalizedPoints.length; i++) { - ActorJellyBone jelly = _bones[i]; - Vec2D p = normalizedPoints[i]; - - jelly.translation = lastPoint; - jelly.length = Vec2D.distance(p, lastPoint); - jelly.scaleY = scale; - scale += scaleInc; - - Vec2D diff = Vec2D.subtract(Vec2D(), p, lastPoint); - jelly.rotation = atan2(diff[1], diff[0]); - lastPoint = p; - } - } - - @override - void onDirty(int dirt) { - // Intentionally empty. Doesn't throw dirt around. - } - - @override - void update(int dirt) { - ActorBone bone = parent as ActorBone; - ActorNode parentBone = bone.parent; - JellyComponent parentBoneJelly; - if (parentBone is ActorBone) { - parentBoneJelly = parentBone.jelly; - } - - Mat2D inverseWorld = Mat2D(); - if (!Mat2D.invert(inverseWorld, bone.worldTransform)) { - return; - } - - if (_inTarget != null) { - Vec2D translation = _inTarget.getWorldTranslation(Vec2D()); - Vec2D.transformMat2D(_inPoint, translation, inverseWorld); - Vec2D.normalize(_inDirection, _inPoint); - } else if (parentBone != null) { - ActorBone firstBone; - if (parentBone is ActorBone) { - firstBone = parentBone.firstBone; - } else if (parentBone is ActorRootBone) { - firstBone = parentBone.firstBone; - } - if (firstBone == bone && - parentBoneJelly != null && - parentBoneJelly._outTarget != null) { - Vec2D translation = - parentBoneJelly._outTarget.getWorldTranslation(Vec2D()); - Vec2D localParentOut = - Vec2D.transformMat2D(Vec2D(), translation, inverseWorld); - Vec2D.normalize(localParentOut, localParentOut); - Vec2D.negate(_inDirection, localParentOut); - } else { - Vec2D d1 = Vec2D.fromValues(1.0, 0.0); - Vec2D d2 = Vec2D.fromValues(1.0, 0.0); - - Vec2D.transformMat2(d1, d1, parentBone.worldTransform); - Vec2D.transformMat2(d2, d2, bone.worldTransform); - - Vec2D sum = Vec2D.add(Vec2D(), d1, d2); - Vec2D.transformMat2(_inDirection, sum, inverseWorld); - Vec2D.normalize(_inDirection, _inDirection); - } - _inPoint[0] = _inDirection[0] * _easeIn * bone.length * CurveConstant; - _inPoint[1] = _inDirection[1] * _easeIn * bone.length * CurveConstant; - } else { - _inDirection[0] = 1.0; - _inDirection[1] = 0.0; - _inPoint[0] = _inDirection[0] * _easeIn * bone.length * CurveConstant; - } - - if (_outTarget != null) { - Vec2D translation = _outTarget.getWorldTranslation(Vec2D()); - Vec2D.transformMat2D(_outPoint, translation, inverseWorld); - Vec2D tip = Vec2D.fromValues(bone.length, 0.0); - Vec2D.subtract(_outDirection, _outPoint, tip); - Vec2D.normalize(_outDirection, _outDirection); - } else if (bone.firstBone != null) { - ActorBone firstBone = bone.firstBone; - JellyComponent firstBoneJelly = firstBone.jelly; - if (firstBoneJelly != null && firstBoneJelly._inTarget != null) { - Vec2D translation = - firstBoneJelly._inTarget.getWorldTranslation(Vec2D()); - Vec2D worldChildInDir = Vec2D.subtract( - Vec2D(), firstBone.getWorldTranslation(Vec2D()), translation); - Vec2D.transformMat2(_outDirection, worldChildInDir, inverseWorld); - } else { - Vec2D d1 = Vec2D.fromValues(1.0, 0.0); - Vec2D d2 = Vec2D.fromValues(1.0, 0.0); - - Vec2D.transformMat2(d1, d1, firstBone.worldTransform); - Vec2D.transformMat2(d2, d2, bone.worldTransform); - - Vec2D sum = Vec2D.add(Vec2D(), d1, d2); - Vec2D negativeSum = Vec2D.negate(Vec2D(), sum); - Vec2D.transformMat2(_outDirection, negativeSum, inverseWorld); - Vec2D.normalize(_outDirection, _outDirection); - } - Vec2D.normalize(_outDirection, _outDirection); - Vec2D scaledOut = Vec2D.scale( - Vec2D(), _outDirection, _easeOut * bone.length * CurveConstant); - _outPoint[0] = bone.length; - _outPoint[1] = 0.0; - Vec2D.add(_outPoint, _outPoint, scaledOut); - } else { - _outDirection[0] = -1.0; - _outDirection[1] = 0.0; - - Vec2D scaledOut = Vec2D.scale( - Vec2D(), _outDirection, _easeOut * bone.length * CurveConstant); - _outPoint[0] = bone.length; - _outPoint[1] = 0.0; - Vec2D.add(_outPoint, _outPoint, scaledOut); - } - - updateJellies(); - } -} diff --git a/flarelib/lib/flare/json_block_reader.dart b/flarelib/lib/flare/json_block_reader.dart deleted file mode 100644 index 2f7774e..0000000 --- a/flarelib/lib/flare/json_block_reader.dart +++ /dev/null @@ -1,64 +0,0 @@ -import "json_reader.dart"; - -class JSONBlockReader extends JSONReader { - @override - int blockType; - - JSONBlockReader(Map object) - : blockType = 0, - super(object); - - JSONBlockReader.fromObject(int type, Map object) : super(object) { - blockType = type; - } - - JSONBlockReader readNextBlock([Map blockTypes]) { - if (isEOF()) { - return null; - } - - var obj = Map(); - obj["container"] = this._peek(); - var type = this.readBlockType(blockTypes); - var c = this.context.first; - if (c is Map) { - c.remove(this.nextKey); - } else if (c is List) { - c.removeAt(0); - } - - return JSONBlockReader.fromObject(type, obj); - } - - readBlockType(Map blockTypes) { - var next = this._peek(); - var bType; - if (next is Map) { - var c = this.context.first; - if (c is Map) { - bType = blockTypes[this.nextKey]; - } else if (c is List) { - // Objects are serialized with "type" property. - var nType = next["type"]; - bType = blockTypes[nType]; - } - } else if (next is List) { - // Arrays are serialized as "type": [Array]. - bType = blockTypes[this.nextKey]; - } - return bType; - } - - _peek() { - var stream = this.context.first; - var next; - if (stream is Map) { - next = stream[this.nextKey]; - } else if (stream is List) { - next = stream[0]; - } - return next; - } - - get nextKey => this.context.first.keys.first; -} diff --git a/flarelib/lib/flare/json_reader.dart b/flarelib/lib/flare/json_reader.dart deleted file mode 100644 index d04a9e5..0000000 --- a/flarelib/lib/flare/json_reader.dart +++ /dev/null @@ -1,181 +0,0 @@ -import "dart:collection"; -import "dart:typed_data"; - -import "stream_reader.dart"; - -abstract class JSONReader implements StreamReader { - @override - int blockType; - - dynamic _readObject; - ListQueue _context; - - JSONReader(Map object) { - _readObject = object["container"]; - _context = ListQueue(); - _context.addFirst(_readObject); - } - - dynamic readProp(String label) { - var head = _context.first; - if (head is Map) { - var prop = head[label]; - head.remove(label); - return prop; - } else if (head is List) { - return head.removeAt(0); - } - return null; - } - - @override - readFloat32(label) { - num f = this.readProp(label); - return f.toDouble(); - } - - // Reads the array into ar - @override - readFloat32Array(Float32List ar, String label) { - this._readArray(ar, label); - } - - @override - readFloat32ArrayOffset(Float32List ar, int length, int offset, String label) { - this._readArrayOffset(ar, length, offset, label); - } - - _readArrayOffset(List ar, int length, int offset, String label) { - List array = this.readProp(label); - num listElement = ar.first; - for (int i = 0; i < length; i++) { - num val = array[i]; - ar[offset + i] = listElement is double ? val.toDouble() : val.toInt(); - } - } - - _readArray(List ar, String label) { - List array = this.readProp(label); - for (int i = 0; i < ar.length; i++) { - num val = array[i]; - ar[i] = ar.first is double ? val.toDouble() : val.toInt(); - } - } - - @override - readFloat64(label) { - num f = this.readProp(label); - return f.toDouble(); - } - - @override - readUint8(label) { - return this.readProp(label); - } - - @override - readUint8Length() { - return this._readLength(); - } - - @override - bool isEOF() { - return _context.length <= 1 && _readObject.length == 0; - } - - @override - readInt8(label) { - return this.readProp(label); - } - - @override - readUint16(label) { - return this.readProp(label); - } - - @override - readUint8Array(Uint8List ar, int length, int offset, String label) { - return this._readArrayOffset(ar, length, offset, label); - } - - @override - readUint16Array(Uint16List ar, int length, int offset, String label) { - return this._readArrayOffset(ar, length, offset, label); - } - - @override - readInt16(label) { - return this.readProp(label); - } - - @override - readUint16Length() { - return this._readLength(); - } - - @override - readUint32Length() { - return this._readLength(); - } - - @override - readUint32(label) { - return this.readProp(label); - } - - @override - readInt32(label) { - return this.readProp(label); - } - - @override - int readVersion() { - return this.readProp("version"); - } - - @override - readString(label) { - return this.readProp(label); - } - - @override - readBool(String label) { - return this.readProp(label); - } - - // @hasOffset flag is needed for older (up until version 14) files. - // Since the JSON Reader has been added in version 15, the field here is optional. - @override - readId(String label) { - var val = this.readProp(label); - return val is num ? val + 1 : 0; - } - - @override - openArray(label) { - var array = this.readProp(label); - _context.addFirst(array); - } - - @override - closeArray() { - _context.removeFirst(); - } - - @override - openObject(label) { - var o = this.readProp(label); - _context.addFirst(o); - } - - @override - closeObject() { - this._context.removeFirst(); - } - - int _readLength() => - _context.first.length; // Maps and Lists both have a `length` property. - @override - String get containerType => "json"; - ListQueue get context => _context; -} diff --git a/flarelib/lib/flare/math/aabb.dart b/flarelib/lib/flare/math/aabb.dart deleted file mode 100644 index ba11f68..0000000 --- a/flarelib/lib/flare/math/aabb.dart +++ /dev/null @@ -1,109 +0,0 @@ -import "dart:typed_data"; -import "dart:math"; -import "vec2d.dart"; - -class AABB { - Float32List _buffer; - - Float32List get values { - return _buffer; - } - - AABB() { - this._buffer = Float32List.fromList([0.0, 0.0, 0.0, 0.0]); - } - - AABB.clone(AABB a) { - this._buffer = Float32List.fromList(a.values); - } - - AABB.fromValues(double a, double b, double c, double d) { - _buffer = Float32List.fromList([a, b, c, d]); - } - - double operator [](int idx) { - return this._buffer[idx]; - } - - operator []=(int idx, double v) { - this._buffer[idx] = v; - } - - static AABB copy(AABB out, AABB a) { - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - out[3] = a[3]; - return out; - } - - static Vec2D center(Vec2D out, AABB a) { - out[0] = (a[0] + a[2]) * 0.5; - out[1] = (a[1] + a[3]) * 0.5; - return out; - } - - static Vec2D size(Vec2D out, AABB a) { - out[0] = a[2] - a[0]; - out[1] = a[3] - a[1]; - return out; - } - - static Vec2D extents(Vec2D out, AABB a) { - out[0] = (a[2] - a[0]) * 0.5; - out[1] = (a[3] - a[1]) * 0.5; - return out; - } - - static double perimeter(AABB a) { - double wx = a[2] - a[0]; - double wy = a[3] - a[1]; - return 2.0 * (wx + wy); - } - - static AABB combine(AABB out, AABB a, AABB b) { - out[0] = min(a[0], b[0]); - out[1] = min(a[1], b[1]); - out[2] = max(a[2], b[2]); - out[3] = max(a[3], b[3]); - return out; - } - - static bool contains(AABB a, AABB b) { - return a[0] <= b[0] && a[1] <= b[1] && b[2] <= a[2] && b[3] <= a[3]; - } - - static bool isValid(AABB a) { - double dx = a[2] - a[0]; - double dy = a[3] - a[1]; - return dx >= 0 && - dy >= 0 && - a[0] <= double.maxFinite && - a[1] <= double.maxFinite && - a[2] <= double.maxFinite && - a[3] <= double.maxFinite; - } - - static bool testOverlap(AABB a, AABB b) { - double d1x = b[0] - a[2]; - double d1y = b[1] - a[3]; - - double d2x = a[0] - b[2]; - double d2y = a[1] - b[3]; - - if (d1x > 0.0 || d1y > 0.0) { - return false; - } - - if (d2x > 0.0 || d2y > 0.0) { - return false; - } - - return true; - } - - @override - String toString() { - return _buffer.toString(); - } -} diff --git a/flarelib/lib/flare/math/mat2d.dart b/flarelib/lib/flare/math/mat2d.dart deleted file mode 100644 index c2df5af..0000000 --- a/flarelib/lib/flare/math/mat2d.dart +++ /dev/null @@ -1,198 +0,0 @@ -import "dart:typed_data"; -import "dart:math"; -import "vec2d.dart"; -import "transform_components.dart"; - -double sign(double value) { - return value > 0.0 ? 1.0 : -1.0; -} - -class Mat2D { - Float32List _buffer; - - Float32List get values { - return _buffer; - } - - Float64List get mat4 { - return Float64List.fromList([ - _buffer[0], - _buffer[1], - 0.0, - 0.0, - _buffer[2], - _buffer[3], - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 0.0, - _buffer[4], - _buffer[5], - 0.0, - 1.0 - ]); - } - - double operator [](int index) { - return _buffer[index]; - } - - void operator []=(int index, double value) { - _buffer[index] = value; - } - - Mat2D() { - _buffer = Float32List.fromList([1.0, 0.0, 0.0, 1.0, 0.0, 0.0]); - } - - Mat2D.clone(Mat2D copy) { - _buffer = Float32List.fromList(copy.values); - } - - static void fromRotation(Mat2D o, double rad) { - double s = sin(rad); - double c = cos(rad); - o[0] = c; - o[1] = s; - o[2] = -s; - o[3] = c; - o[4] = 0.0; - o[5] = 0.0; - } - - static void copy(Mat2D o, Mat2D f) { - o[0] = f[0]; - o[1] = f[1]; - o[2] = f[2]; - o[3] = f[3]; - o[4] = f[4]; - o[5] = f[5]; - } - - static void scale(Mat2D o, Mat2D a, Vec2D v) { - double a0 = a[0], - a1 = a[1], - a2 = a[2], - a3 = a[3], - a4 = a[4], - a5 = a[5], - v0 = v[0], - v1 = v[1]; - o[0] = a0 * v0; - o[1] = a1 * v0; - o[2] = a2 * v1; - o[3] = a3 * v1; - o[4] = a4; - o[5] = a5; - } - - static void multiply(Mat2D o, Mat2D a, Mat2D b) { - double a0 = a[0], - a1 = a[1], - a2 = a[2], - a3 = a[3], - a4 = a[4], - a5 = a[5], - b0 = b[0], - b1 = b[1], - b2 = b[2], - b3 = b[3], - b4 = b[4], - b5 = b[5]; - o[0] = a0 * b0 + a2 * b1; - o[1] = a1 * b0 + a3 * b1; - o[2] = a0 * b2 + a2 * b3; - o[3] = a1 * b2 + a3 * b3; - o[4] = a0 * b4 + a2 * b5 + a4; - o[5] = a1 * b4 + a3 * b5 + a5; - } - - static void cCopy(Mat2D o, Mat2D a) { - o[0] = a[0]; - o[1] = a[1]; - o[2] = a[2]; - o[3] = a[3]; - o[4] = a[4]; - o[5] = a[5]; - } - - static bool invert(Mat2D o, Mat2D a) { - double aa = a[0], ab = a[1], ac = a[2], ad = a[3], atx = a[4], aty = a[5]; - - double det = aa * ad - ab * ac; - if (det == 0.0) { - return false; - } - det = 1.0 / det; - - o[0] = ad * det; - o[1] = -ab * det; - o[2] = -ac * det; - o[3] = aa * det; - o[4] = (ac * aty - ad * atx) * det; - o[5] = (ab * atx - aa * aty) * det; - return true; - } - - static void getScale(Mat2D m, Vec2D s) { - double x = m[0]; - double y = m[1]; - s[0] = sign(x) * sqrt(x * x + y * y); - - x = m[2]; - y = m[3]; - s[1] = sign(y) * sqrt(x * x + y * y); - } - - static void identity(Mat2D mat) { - mat[0] = 1.0; - mat[1] = 0.0; - mat[2] = 0.0; - mat[3] = 1.0; - mat[4] = 0.0; - mat[5] = 0.0; - } - - static void decompose(Mat2D m, TransformComponents result) { - double m0 = m[0], m1 = m[1], m2 = m[2], m3 = m[3]; - - double rotation = atan2(m1, m0); - double denom = m0 * m0 + m1 * m1; - double scaleX = sqrt(denom); - double scaleY = (m0 * m3 - m2 * m1) / scaleX; - double skewX = atan2(m0 * m2 + m1 * m3, denom); - - result[0] = m[4]; - result[1] = m[5]; - result[2] = scaleX; - result[3] = scaleY; - result[4] = rotation; - result[5] = skewX; - } - - static void compose(Mat2D m, TransformComponents result) { - double r = result[4]; - - if (r != 0.0) { - Mat2D.fromRotation(m, r); - } else { - Mat2D.identity(m); - } - m[4] = result[0]; - m[5] = result[1]; - Mat2D.scale(m, m, result.scale); - - double sk = result[5]; - if (sk != 0.0) { - m[2] = m[0] * sk + m[2]; - m[3] = m[1] * sk + m[3]; - } - } - - @override - String toString() { - return _buffer.toString(); - } -} diff --git a/flarelib/lib/flare/math/transform_components.dart b/flarelib/lib/flare/math/transform_components.dart deleted file mode 100644 index f599da6..0000000 --- a/flarelib/lib/flare/math/transform_components.dart +++ /dev/null @@ -1,82 +0,0 @@ -import "dart:typed_data"; -import "vec2d.dart"; - -class TransformComponents { - Float32List _buffer; - - Float32List get values { - return _buffer; - } - - double operator [](int index) { - return _buffer[index]; - } - - void operator []=(int index, double value) { - _buffer[index] = value; - } - - TransformComponents() { - _buffer = Float32List.fromList([1.0, 0.0, 0.0, 1.0, 0.0, 0.0]); - } - - TransformComponents.clone(TransformComponents copy) { - _buffer = Float32List.fromList(copy.values); - } - - double get x { - return _buffer[0]; - } - - set x(double value) { - _buffer[0] = value; - } - - double get y { - return _buffer[1]; - } - - set y(double value) { - _buffer[1] = value; - } - - double get scaleX { - return _buffer[2]; - } - - set scaleX(double value) { - _buffer[2] = value; - } - - double get scaleY { - return _buffer[3]; - } - - set scaleY(double value) { - _buffer[3] = value; - } - - double get rotation { - return _buffer[4]; - } - - set rotation(double value) { - _buffer[4] = value; - } - - double get skew { - return _buffer[5]; - } - - set skew(double value) { - _buffer[5] = value; - } - - Vec2D get translation { - return Vec2D.fromValues(_buffer[0], _buffer[1]); - } - - Vec2D get scale { - return Vec2D.fromValues(_buffer[2], _buffer[3]); - } -} diff --git a/flarelib/lib/flare/math/vec2d.dart b/flarelib/lib/flare/math/vec2d.dart deleted file mode 100644 index 4f9b6fa..0000000 --- a/flarelib/lib/flare/math/vec2d.dart +++ /dev/null @@ -1,124 +0,0 @@ -import "dart:typed_data"; -import "dart:math"; -import "mat2d.dart"; - -class Vec2D { - Float32List _buffer; - - Float32List get values { - return _buffer; - } - - double operator [](int index) { - return _buffer[index]; - } - - void operator []=(int index, double value) { - _buffer[index] = value; - } - - Vec2D() { - _buffer = Float32List.fromList([0.0, 0.0]); - } - - Vec2D.clone(Vec2D copy) { - _buffer = Float32List.fromList(copy._buffer); - } - - Vec2D.fromValues(double x, double y) { - _buffer = Float32List.fromList([x, y]); - } - - static void copy(Vec2D o, Vec2D a) { - o[0] = a[0]; - o[1] = a[1]; - } - - static Vec2D transformMat2D(Vec2D o, Vec2D a, Mat2D m) { - double x = a[0]; - double y = a[1]; - o[0] = m[0] * x + m[2] * y + m[4]; - o[1] = m[1] * x + m[3] * y + m[5]; - return o; - } - - static Vec2D transformMat2(Vec2D o, Vec2D a, Mat2D m) { - double x = a[0]; - double y = a[1]; - o[0] = m[0] * x + m[2] * y; - o[1] = m[1] * x + m[3] * y; - return o; - } - - static Vec2D subtract(Vec2D o, Vec2D a, Vec2D b) { - o[0] = a[0] - b[0]; - o[1] = a[1] - b[1]; - return o; - } - - static Vec2D add(Vec2D o, Vec2D a, Vec2D b) { - o[0] = a[0] + b[0]; - o[1] = a[1] + b[1]; - return o; - } - - static Vec2D scale(Vec2D o, Vec2D a, double scale) { - o[0] = a[0] * scale; - o[1] = a[1] * scale; - return o; - } - - static Vec2D lerp(Vec2D o, Vec2D a, Vec2D b, double f) { - double ax = a[0]; - double ay = a[1]; - o[0] = ax + f * (b[0] - ax); - o[1] = ay + f * (b[1] - ay); - return o; - } - - static double length(Vec2D a) { - double x = a[0]; - double y = a[1]; - return sqrt(x * x + y * y); - } - - static double distance(Vec2D a, Vec2D b) { - double x = b[0] - a[0]; - double y = b[1] - a[1]; - return sqrt(x * x + y * y); - } - - static Vec2D negate(Vec2D result, Vec2D a) { - result[0] = -a[0]; - result[1] = -a[1]; - - return result; - } - - static void normalize(Vec2D result, Vec2D a) { - double x = a[0]; - double y = a[1]; - double len = x * x + y * y; - if (len > 0.0) { - len = 1.0 / sqrt(len); - result[0] = a[0] * len; - result[1] = a[1] * len; - } - } - - static double dot(Vec2D a, Vec2D b) { - return a[0] * b[0] + a[1] * b[1]; - } - - static Vec2D scaleAndAdd(Vec2D result, Vec2D a, Vec2D b, double scale) { - result[0] = a[0] + (b[0] * scale); - result[1] = a[1] + (b[1] * scale); - return result; - } - - @override - String toString() { - String v = _buffer[0].toString() + ", "; - return v + _buffer[1].toString(); - } -} diff --git a/flarelib/lib/flare/path_point.dart b/flarelib/lib/flare/path_point.dart deleted file mode 100644 index e7ada7a..0000000 --- a/flarelib/lib/flare/path_point.dart +++ /dev/null @@ -1,268 +0,0 @@ -import "dart:typed_data"; -import "math/vec2d.dart"; -import "dart:collection"; -import "stream_reader.dart"; -import "math/mat2d.dart"; - -enum PointType { Straight, Mirror, Disconnected, Asymmetric } - -HashMap pointTypeLookup = - HashMap.fromIterables([ - 0, - 1, - 2, - 3 -], [ - PointType.Straight, - PointType.Mirror, - PointType.Disconnected, - PointType.Asymmetric -]); - -abstract class PathPoint { - PointType _type; - Vec2D _translation = Vec2D(); - Float32List _weights; - - PathPoint(PointType type) { - _type = type; - } - - PointType get pointType { - return _type; - } - - Vec2D get translation { - return _translation; - } - - PathPoint makeInstance(); - - copy(PathPoint from) { - this._type = from._type; - Vec2D.copy(_translation, from._translation); - if (from._weights != null) { - _weights = Float32List.fromList(from._weights); - } - } - - void read(StreamReader reader, bool isConnectedToBones) { - reader.readFloat32ArrayOffset(_translation.values, 2, 0, "translation"); - readPoint(reader, isConnectedToBones); - if (_weights != null) { - reader.readFloat32Array(_weights, "weights"); - } - } - - void readPoint(StreamReader reader, bool isConnectedToBones); - - PathPoint transformed(Mat2D transform) { - PathPoint result = makeInstance(); - Vec2D.transformMat2D(result.translation, result.translation, transform); - return result; - } - - PathPoint skin(Mat2D world, Float32List bones); -} - -class StraightPathPoint extends PathPoint { - double radius = 0.0; - - StraightPathPoint() : super(PointType.Straight); - - StraightPathPoint.fromTranslation(Vec2D translation) - : super(PointType.Straight) { - this._translation = translation; - } - - StraightPathPoint.fromValues(Vec2D translation, double r) - : super(PointType.Straight) { - _translation = translation; - radius = r; - } - - PathPoint makeInstance() { - StraightPathPoint node = StraightPathPoint(); - node.copyStraight(this); - return node; - } - - copyStraight(StraightPathPoint from) { - super.copy(from); - radius = from.radius; - } - - void readPoint(StreamReader reader, bool isConnectedToBones) { - radius = reader.readFloat32("radius"); - if (isConnectedToBones) { - _weights = Float32List(8); - } - } - - @override - PathPoint skin(Mat2D world, Float32List bones) { - StraightPathPoint point = StraightPathPoint()..radius = radius; - - double px = - world[0] * translation[0] + world[2] * translation[1] + world[4]; - double py = - world[1] * translation[0] + world[3] * translation[1] + world[5]; - - double a = 0.0, b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0; - - for (int i = 0; i < 4; i++) { - int boneIndex = _weights[i].floor(); - double weight = _weights[i + 4]; - if (weight > 0) { - int bb = boneIndex * 6; - - a += bones[bb] * weight; - b += bones[bb + 1] * weight; - c += bones[bb + 2] * weight; - d += bones[bb + 3] * weight; - e += bones[bb + 4] * weight; - f += bones[bb + 5] * weight; - } - } - - Vec2D pos = point.translation; - pos[0] = a * px + c * py + e; - pos[1] = b * px + d * py + f; - - return point; - } -} - -class CubicPathPoint extends PathPoint { - Vec2D _in = Vec2D(); - Vec2D _out = Vec2D(); - - CubicPathPoint(PointType type) : super(type); - - Vec2D get inPoint { - return _in; - } - - Vec2D get outPoint { - return _out; - } - - CubicPathPoint.fromValues(Vec2D translation, Vec2D inPoint, Vec2D outPoint) - : super(PointType.Disconnected) { - _translation = translation; - _in = inPoint; - _out = outPoint; - } - - PathPoint makeInstance() { - CubicPathPoint node = CubicPathPoint(_type); - node.copyCubic(this); - return node; - } - - copyCubic(from) { - super.copy(from); - Vec2D.copy(_in, from._in); - Vec2D.copy(_out, from._out); - } - - void readPoint(StreamReader reader, bool isConnectedToBones) { - reader.readFloat32ArrayOffset(_in.values, 2, 0, "in"); - reader.readFloat32ArrayOffset(_out.values, 2, 0, "out"); - if (isConnectedToBones) { - _weights = Float32List(24); - } - } - - PathPoint transformed(Mat2D transform) { - CubicPathPoint result = super.transformed(transform) as CubicPathPoint; - Vec2D.transformMat2D(result.inPoint, result.inPoint, transform); - Vec2D.transformMat2D(result.outPoint, result.outPoint, transform); - return result; - } - - @override - PathPoint skin(Mat2D world, Float32List bones) { - CubicPathPoint point = CubicPathPoint(pointType); - - double px = - world[0] * translation[0] + world[2] * translation[1] + world[4]; - double py = - world[1] * translation[0] + world[3] * translation[1] + world[5]; - - { - double a = 0.0, b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0; - - for (int i = 0; i < 4; i++) { - int boneIndex = _weights[i].floor(); - double weight = _weights[i + 4]; - if (weight > 0) { - int bb = boneIndex * 6; - - a += bones[bb] * weight; - b += bones[bb + 1] * weight; - c += bones[bb + 2] * weight; - d += bones[bb + 3] * weight; - e += bones[bb + 4] * weight; - f += bones[bb + 5] * weight; - } - } - - Vec2D pos = point.translation; - pos[0] = a * px + c * py + e; - pos[1] = b * px + d * py + f; - } - - { - double a = 0.0, b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0; - px = world[0] * _in[0] + world[2] * _in[1] + world[4]; - py = world[1] * _in[0] + world[3] * _in[1] + world[5]; - - for (int i = 8; i < 12; i++) { - int boneIndex = _weights[i].floor(); - double weight = _weights[i + 4]; - if (weight > 0) { - int bb = boneIndex * 6; - - a += bones[bb] * weight; - b += bones[bb + 1] * weight; - c += bones[bb + 2] * weight; - d += bones[bb + 3] * weight; - e += bones[bb + 4] * weight; - f += bones[bb + 5] * weight; - } - } - - Vec2D pos = point.inPoint; - pos[0] = a * px + c * py + e; - pos[1] = b * px + d * py + f; - } - - { - double a = 0.0, b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0; - px = world[0] * _out[0] + world[2] * _out[1] + world[4]; - py = world[1] * _out[0] + world[3] * _out[1] + world[5]; - - for (int i = 16; i < 20; i++) { - int boneIndex = _weights[i].floor(); - double weight = _weights[i + 4]; - if (weight > 0) { - int bb = boneIndex * 6; - - a += bones[bb] * weight; - b += bones[bb + 1] * weight; - c += bones[bb + 2] * weight; - d += bones[bb + 3] * weight; - e += bones[bb + 4] * weight; - f += bones[bb + 5] * weight; - } - } - - Vec2D pos = point.outPoint; - pos[0] = a * px + c * py + e; - pos[1] = b * px + d * py + f; - } - - return point; - } -} diff --git a/flarelib/lib/flare/stream_reader.dart b/flarelib/lib/flare/stream_reader.dart deleted file mode 100644 index f488403..0000000 --- a/flarelib/lib/flare/stream_reader.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'dart:typed_data'; - -import "block_reader.dart"; -import "json_block_reader.dart"; - -abstract class StreamReader { - int blockType = 0; - - // Instantiate the right type of Reader based on the input values - factory StreamReader(data) { - var reader; - if (data is ByteData) { - reader = BlockReader(data); - // Move the readIndex forward for the binary reader. - reader.readUint8(); - reader.readUint8(); - reader.readUint8(); - reader.readUint8(); - reader.readUint8(); - } else if (data is Map) { - reader = JSONBlockReader(data); - } - return reader; - } - - bool isEOF(); - - int readUint8Length(); - int readUint16Length(); - int readUint32Length(); - - int readUint8(String label); - readUint8Array(Uint8List list, int length, int offset, String label); - int readInt8(String label); - int readUint16(String label); - readUint16Array(Uint16List ar, int length, int offset, String label); - int readInt16(String label); - int readInt32(String label); - int readUint32(String label); - int readVersion(); - double readFloat32(String label); - readFloat32Array(Float32List ar, String label); - readFloat32ArrayOffset(Float32List ar, int length, int offset, String label); - double readFloat64(String label); - - String readString(String label); - - bool readBool(String label); - - int readId(String label); - - StreamReader readNextBlock(Map types); - - openArray(String label); - closeArray(); - openObject(String label); - closeObject(); - - String get containerType; -} diff --git a/flarelib/lib/flare/transform_space.dart b/flarelib/lib/flare/transform_space.dart deleted file mode 100644 index c68a824..0000000 --- a/flarelib/lib/flare/transform_space.dart +++ /dev/null @@ -1,4 +0,0 @@ -class TransformSpace { - static const int Local = 0; - static const int World = 1; -} diff --git a/flarelib/lib/flare_actor.dart b/flarelib/lib/flare_actor.dart deleted file mode 100644 index 310c924..0000000 --- a/flarelib/lib/flare_actor.dart +++ /dev/null @@ -1,444 +0,0 @@ -import "dart:math"; -import "flare.dart"; -import "flare/actor_drawable.dart"; -import "flare/math/mat2d.dart"; -import "flare/math/vec2d.dart"; -import "flare/math/aabb.dart"; -import "package:flutter/material.dart"; -import "package:flutter/scheduler.dart"; - -typedef void FlareCompletedCallback(String name); - -abstract class FlareController { - void initialize(FlutterActorArtboard artboard); - void setViewTransform(Mat2D viewTransform); - bool advance(FlutterActorArtboard artboard, double elapsed); -} - -class FlareActor extends LeafRenderObjectWidget { - final String filename; - final String animation; - final BoxFit fit; - final Alignment alignment; - final bool isPaused; - final bool shouldClip; - final FlareController controller; - final FlareCompletedCallback callback; - final Color color; - final String boundsNode; - - FlareActor(this.filename, - {this.boundsNode, - this.animation, - this.fit = BoxFit.contain, - this.alignment = Alignment.center, - this.isPaused = false, - this.controller, - this.callback, - this.color, - this.shouldClip = true}); - - @override - RenderObject createRenderObject(BuildContext context) { - return FlareActorRenderObject() - ..filename = filename - ..fit = fit - ..alignment = alignment - ..animationName = animation - ..isPlaying = (!isPaused && animation != null) || controller != null - ..controller = controller - ..completed = callback - ..color = color - ..shouldClip = shouldClip - ..boundsNodeName = boundsNode; - } - - @override - void updateRenderObject( - BuildContext context, covariant FlareActorRenderObject renderObject) { - renderObject - ..filename = filename - ..fit = fit - ..alignment = alignment - ..animationName = animation - ..isPlaying = (!isPaused && animation != null) || controller != null - ..color = color - ..shouldClip = shouldClip - ..boundsNodeName = boundsNode; - } - - didUnmountRenderObject(covariant FlareActorRenderObject renderObject) { - renderObject.dispose(); - } -} - -class FlareAnimationLayer { - String name; - ActorAnimation animation; - double time = 0.0, mix = 0.0; -} - -class FlareActorRenderObject extends RenderBox { - String _filename; - BoxFit _fit; - Alignment _alignment; - String _animationName; - String _boundsNodeName; - FlareController _controller; - FlareCompletedCallback _completedCallback; - double _lastFrameTime = 0.0; - double _mixSeconds = 0.2; - - List _animationLayers = []; - bool _isPlaying; - bool shouldClip; - - FlutterActor _actor; - FlutterActorArtboard _artboard; - AABB _setupAABB; - int _frameCallbackID; - - Color _color; - - Color get color => _color; - set color(Color value) { - if (value != _color) { - _color = value; - markNeedsPaint(); - } - } - - String get boundsNodeName => _boundsNodeName; - set boundsNodeName(String value) { - if (_boundsNodeName == value) { - return; - } - _boundsNodeName = value; - if (_artboard != null) { - ActorNode node = _artboard.getNode(_boundsNodeName); - if (node is ActorDrawable) { - _setupAABB = (node as ActorDrawable).computeAABB(); - } - } - } - - void dispose() { - _isPlaying = false; - updatePlayState(); - _actor = null; - _controller = null; - } - - void updateBounds() { - if (_actor != null) { - ActorNode node; - if (_boundsNodeName != null && - (node = _artboard.getNode(_boundsNodeName)) is ActorDrawable) { - _setupAABB = (node as ActorDrawable).computeAABB(); - } else { - _setupAABB = _artboard.artboardAABB(); - //_setupAABB = _artboard.computeAABB(); - } - } - } - - BoxFit get fit => _fit; - set fit(BoxFit value) { - if (value != _fit) { - _fit = value; - markNeedsPaint(); - } - } - - bool get isPlaying => _isPlaying; - set isPlaying(bool value) { - if (value != _isPlaying) { - _isPlaying = value; - updatePlayState(); - } - } - - updatePlayState() { - if (_isPlaying) { - if (_frameCallbackID == null) { - _frameCallbackID = - SchedulerBinding.instance.scheduleFrameCallback(beginFrame); - } - } else { - if (_frameCallbackID != null) { - SchedulerBinding.instance.cancelFrameCallbackWithId(_frameCallbackID); - } - _lastFrameTime = 0.0; - } - } - - String get animationName => _animationName; - set animationName(String value) { - if (value != _animationName) { - _animationName = value; - _updateAnimation(); - } - } - - FlareController get controller => _controller; - set controller(FlareController c) { - if (_controller != c) { - _controller = c; - if (_controller != null && _artboard != null) { - _controller.initialize(_artboard); - } - } - } - - String get filename => _filename; - set filename(String value) { - if (value != _filename) { - _filename = value; - if (_actor != null) { - _actor.dispose(); - _actor = null; - _artboard = null; - } - if (_filename == null) { - markNeedsPaint(); - return; - } - - FlutterActor actor = FlutterActor(); - actor.loadFromBundle(_filename).then((bool success) { - if (success) { - _actor = actor; - _artboard = _actor?.artboard; //?.makeInstance(); - if (_artboard != null) { - _artboard.advance(0.0); - updateBounds(); - // _setupAABB[0] -= 5000.0; - // _setupAABB[1] -= 5000.0; - // _setupAABB[2] += 5000.0; - // _setupAABB[3] += 5000.0; - - //print("SETUP AABB $_setupAABB"); - // _setupAABB[0] = -261.97979736328125; - // _setupAABB[1] = -1001.48486328125; - // _setupAABB[2] = 248.85952758789062; - // _setupAABB[3] = -33.52388381958008; - } - if (_controller != null) { - _controller.initialize(_artboard); - } - _updateAnimation(onlyWhenMissing: true); - markNeedsPaint(); - updatePlayState(); - } - }); - } - } - - Alignment get alignment => _alignment; - set alignment(Alignment value) { - if (value != _alignment) { - _alignment = value; - markNeedsPaint(); - } - } - - FlareCompletedCallback get completed => _completedCallback; - set completed(FlareCompletedCallback value) { - if (_completedCallback != value) { - _completedCallback = value; - } - } - - @override - bool get sizedByParent => true; - - @override - bool hitTestSelf(Offset screenOffset) => true; - - @override - performResize() { - size = constraints.biggest; - } - - @override - void performLayout() { - super.performLayout(); - } - - void beginFrame(Duration timestamp) { - _frameCallbackID = null; - if (_actor == null) { - return; - } - final double t = - timestamp.inMicroseconds / Duration.microsecondsPerMillisecond / 1000.0; - if (_lastFrameTime == 0 || _actor == null) { - _lastFrameTime = t; - updatePlayState(); - return; - } - - double elapsedSeconds = t - _lastFrameTime; - _lastFrameTime = t; - - int lastFullyMixed = -1; - double lastMix = 0.0; - - List completed = []; - - for (int i = 0; i < _animationLayers.length; i++) { - FlareAnimationLayer layer = _animationLayers[i]; - layer.mix += elapsedSeconds; - layer.time += elapsedSeconds; - - lastMix = (_mixSeconds == null || _mixSeconds == 0.0) - ? 1.0 - : min(1.0, layer.mix / _mixSeconds); - if (layer.animation.isLooping) { - layer.time %= layer.animation.end; - } - layer.animation.apply(layer.time, _artboard, lastMix); - if (lastMix == 1.0) { - lastFullyMixed = i; - } - if (layer.time > layer.animation.end) { - completed.add(layer); - } - } - - if (lastFullyMixed != -1) { - _animationLayers.removeRange(0, lastFullyMixed); - } - if (animationName == null && - _animationLayers.length == 1 && - lastMix == 1.0) { - // Remove remaining animations. - _animationLayers.removeAt(0); - } - for (FlareAnimationLayer animation in completed) { - _animationLayers.remove(animation); - if (_completedCallback != null) { - _completedCallback(animation.name); - } - } - - bool stopPlaying = true; - if (_animationLayers.length > 0) { - stopPlaying = false; - } - - if (_controller != null) { - if (_controller.advance(_artboard, elapsedSeconds)) { - stopPlaying = false; - } - } - - isPlaying = !stopPlaying; - - updatePlayState(); - - if (_artboard != null) { - _artboard.advance(elapsedSeconds); - } - - markNeedsPaint(); - } - - @override - void paint(PaintingContext context, Offset offset) { - final Canvas canvas = context.canvas; - - if (_artboard != null) { - AABB bounds = _setupAABB; - double contentWidth = bounds[2] - bounds[0]; - double contentHeight = bounds[3] - bounds[1]; - double x = - -bounds[0] - contentWidth / 2.0 - (_alignment.x * contentWidth / 2.0); - double y = -bounds[1] - - contentHeight / 2.0 - - (_alignment.y * contentHeight / 2.0); - - double scaleX = 1.0, scaleY = 1.0; - - canvas.save(); - if (this.shouldClip) { - canvas.clipRect(offset & size); - } - - switch (_fit) { - case BoxFit.fill: - scaleX = size.width / contentWidth; - scaleY = size.height / contentHeight; - break; - case BoxFit.contain: - double minScale = - min(size.width / contentWidth, size.height / contentHeight); - scaleX = scaleY = minScale; - break; - case BoxFit.cover: - double maxScale = - max(size.width / contentWidth, size.height / contentHeight); - scaleX = scaleY = maxScale; - break; - case BoxFit.fitHeight: - double minScale = size.height / contentHeight; - scaleX = scaleY = minScale; - break; - case BoxFit.fitWidth: - double minScale = size.width / contentWidth; - scaleX = scaleY = minScale; - break; - case BoxFit.none: - scaleX = scaleY = 1.0; - break; - case BoxFit.scaleDown: - double minScale = - min(size.width / contentWidth, size.height / contentHeight); - scaleX = scaleY = minScale < 1.0 ? minScale : 1.0; - break; - } - - if (_controller != null) { - Mat2D transform = Mat2D(); - transform[4] = - offset.dx + size.width / 2.0 + (_alignment.x * size.width / 2.0); - transform[5] = - offset.dy + size.height / 2.0 + (_alignment.y * size.height / 2.0); - Mat2D.scale(transform, transform, Vec2D.fromValues(scaleX, scaleY)); - Mat2D center = Mat2D(); - center[4] = x; - center[5] = y; - Mat2D.multiply(transform, transform, center); - _controller.setViewTransform(transform); - } - - canvas.translate( - offset.dx + size.width / 2.0 + (_alignment.x * size.width / 2.0), - offset.dy + size.height / 2.0 + (_alignment.y * size.height / 2.0), - ); - - canvas.scale(scaleX, scaleY); - canvas.translate(x, y); - _artboard.draw(canvas, overrideColor: _color); - canvas.restore(); - } - } - - _updateAnimation({bool onlyWhenMissing = false}) { - if (onlyWhenMissing && _animationLayers.isNotEmpty) { - return; - } - if (_animationName != null && _artboard != null) { - ActorAnimation animation = _artboard.getAnimation(_animationName); - if (animation != null) { - _animationLayers.add(FlareAnimationLayer() - ..name = _animationName - ..animation = animation - ..mix = 1.0); - animation.apply(0.0, _artboard, 1.0); - _artboard.advance(0.0); - } - updatePlayState(); - } - } -} diff --git a/flarelib/pubspec.yaml b/flarelib/pubspec.yaml deleted file mode 100644 index bd06b83..0000000 --- a/flarelib/pubspec.yaml +++ /dev/null @@ -1,53 +0,0 @@ -name: flarelib -description: A new Flutter package. -version: 0.0.1 -author: -homepage: - -environment: - sdk: ">=2.0.0-dev.68.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - -dev_dependencies: - flutter_test: - sdk: flutter - -# For information on the generic Dart part of this file, see the -# following page: https://www.dartlang.org/tools/pub/pubspec - -# The following section is specific to Flutter. -flutter: - - # To add assets to your package, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - # - # For details regarding assets in packages, see - # https://flutter.io/assets-and-images/#from-packages - # - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.io/assets-and-images/#resolution-aware. - - # To add custom fonts to your package, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts in packages, see - # https://flutter.io/custom-fonts/#from-packages diff --git a/flarelib/test/flarelib_test.dart b/flarelib/test/flarelib_test.dart deleted file mode 100644 index 23d0ccc..0000000 --- a/flarelib/test/flarelib_test.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -//import 'package:flarelib/flarelib.dart'; - -void main() { - test('adds one to input values', () { -// final calculator = Calculator(); -// expect(calculator.addOne(2), 3); -// expect(calculator.addOne(-7), -6); -// expect(calculator.addOne(0), 1); -// expect(() => calculator.addOne(null), throwsNoSuchMethodError); - }); -} diff --git a/lib/constant/string_const.dart b/lib/constant/string_const.dart index 7520ad9..3c45caf 100644 --- a/lib/constant/string_const.dart +++ b/lib/constant/string_const.dart @@ -9,7 +9,7 @@ const MAIN_PAGE = "main_page"; const HOME_CHILD_PAGE_NAMES = [ "GridView", "SliverGrid2", - "SliverGrid", + "Gesture", "SliverGrid", "SliverGrid", "SliverGrid", @@ -29,10 +29,10 @@ const HOME_CHILD_PAGE_NAMES = [ "SliverGrid", ]; - enum HomePageType { GridView, ScrollView, + Gesture, } HomePageType convertChildType(int type) { @@ -40,6 +40,6 @@ HomePageType convertChildType(int type) { if (t.index == type) { return t; } - return HomePageType.ScrollView; } + return HomePageType.ScrollView; } diff --git a/lib/main.dart b/lib/main.dart index 766f32b..3878af1 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'main_page.dart'; import 'package:flutter_layouts_higher/lib/constant_lib.dart'; import 'package:flutter_layouts_higher/lib/page_lib.dart'; +import 'package:flutter_layouts_higher/page/gesture/GesturePage.dart'; void main() => runApp(MyApp()); @@ -18,6 +19,8 @@ class MyApp extends StatelessWidget { (BuildContext context) => ScrollViewPage(), HOME_CHILD_PAGE_NAMES[HomePageType.GridView.index]: (BuildContext context) => GridViewPage(), + HOME_CHILD_PAGE_NAMES[HomePageType.Gesture.index]: + (BuildContext context) => GesturePage(), }); } } diff --git a/lib/page/OtherPage.dart b/lib/page/OtherPage.dart index 8ace193..33268fb 100644 --- a/lib/page/OtherPage.dart +++ b/lib/page/OtherPage.dart @@ -5,7 +5,6 @@ /// import "package:flutter/material.dart"; import 'package:flutter_layouts_higher/lib/view_lib.dart'; -import 'package:flarelib/flare_actor.dart'; class OtherPage extends StatefulWidget { @override @@ -22,10 +21,22 @@ class _OtherState extends State { titleText: "Other", titleColor: Colors.white, ), +// body: Container( +// child: FlareActor( +// "assets/images/man.flr", +// animation: "Build and Fade Out", +// ), +// ), body: Container( - child: FlareActor( - "assets/images/man.flr", - animation: "Build and Fade Out", + width: 200.0, + height: 200.0, + color: Colors.red, + child: GestureDetector( + onTapDown: (position) { + print( + "x:${position.globalPosition.dx}, y: ${position.globalPosition.dy}"); + }, + onVerticalDragUpdate: (detail){}, ), ), ); diff --git a/lib/page/gesture/GesturePage.dart b/lib/page/gesture/GesturePage.dart new file mode 100644 index 0000000..cbe7318 --- /dev/null +++ b/lib/page/gesture/GesturePage.dart @@ -0,0 +1,42 @@ +/// +/// Created by NieBin on 2019/1/8 +/// Github: https://github.com/nb312 +/// Email: niebin312@gmail.com +/// +import "package:flutter/material.dart"; +import 'GesturePainter.dart'; + +class GesturePage extends StatefulWidget { + @override + _GestureState createState() => _GestureState(); +} + +class _GestureState extends State { + Offset center = Offset(100.0, 100.0); + + @override + Widget build(BuildContext context) { + print("hello"); + return Scaffold( + body: Container( + color: Colors.grey, + child: GestureDetector( + onTapDown: (detail) { + print( + "detail.pos.x: ${detail.globalPosition.dx}, y: ${detail.globalPosition.dy}"); + }, + onHorizontalDragUpdate: (detail) { + setState(() { + center = detail.globalPosition; + }); + }, + behavior: HitTestBehavior.deferToChild, + child: CustomPaint( + painter: GesturePainter(center: center), + child: Container(), + ), + ), + ), + ); + } +} diff --git a/lib/page/gesture/GesturePainter.dart b/lib/page/gesture/GesturePainter.dart new file mode 100644 index 0000000..1e63cc2 --- /dev/null +++ b/lib/page/gesture/GesturePainter.dart @@ -0,0 +1,27 @@ +/// +/// Created by NieBin on 2019/1/8 +/// Github: https://github.com/nb312 +/// Email: niebin312@gmail.com +/// +import "package:flutter/material.dart"; + +class GesturePainter extends CustomPainter { + GesturePainter({this.center}); + + final Offset center; + + @override + void paint(Canvas canvas, Size size) { + print("GesturePainter.size.width:${size.width}, height: ${size.height}"); + var paint = Paint() + ..color = Colors.green + ..style = PaintingStyle.fill + ..strokeWidth = 10.0; + canvas.drawCircle(center, 50.0, paint); + canvas.save(); + canvas.restore(); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) => true; +} diff --git a/pubspec.yaml b/pubspec.yaml index 35c9384..12b2ccb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,9 +19,9 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 -# flare_flutter: ^1.0.2 - flarelib: - path: flarelib + flare_flutter: ^1.0.11 +# flarelib: +# path: flarelib dev_dependencies: flutter_test: From fdcd88416d20bb2af08ff5fd7091448e66055134 Mon Sep 17 00:00:00 2001 From: nb312 Date: Wed, 9 Jan 2019 17:19:55 +0800 Subject: [PATCH 2/3] delete all code before and add the animation example. --- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 57221 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 57221 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 57221 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 57221 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 57221 bytes assets/images/flutter_icon.jpeg | Bin 3869 -> 0 bytes assets/images/flutteropen.png | Bin 0 -> 57221 bytes assets/images/ic_preview_1.png | Bin 117147 -> 0 bytes assets/images/ic_preview_2.png | Bin 106015 -> 0 bytes assets/images/ic_preview_3.png | Bin 105073 -> 0 bytes assets/images/ic_preview_4.png | Bin 111282 -> 0 bytes assets/images/ic_thumb_11.png | Bin 67761 -> 0 bytes assets/images/ic_thumb_12.png | Bin 72335 -> 0 bytes assets/images/ic_thumb_13.png | Bin 83974 -> 0 bytes assets/images/ic_thumb_21.png | Bin 72784 -> 0 bytes assets/images/ic_thumb_31.png | Bin 80733 -> 0 bytes assets/images/ic_thumb_41.png | Bin 75270 -> 0 bytes assets/images/movie_banner_1.png | Bin 158180 -> 0 bytes assets/images/movie_banner_2.png | Bin 331529 -> 0 bytes assets/images/movie_banner_3.png | Bin 449349 -> 0 bytes assets/images/movie_banner_4.png | Bin 535685 -> 0 bytes lib/constant/image_const.dart | 5 +- lib/constant/string_const.dart | 45 ---- lib/data/main_data.dart | 5 - lib/data/move_data.dart | 183 ------------- lib/lib/constant_lib.dart | 12 - lib/lib/page_lib.dart | 28 -- lib/lib/view_lib.dart | 11 - lib/main.dart | 21 +- lib/main_page.dart | 81 ------ lib/page/HomePage.dart | 70 ----- lib/page/OtherPage.dart | 44 ---- lib/page/ThemePage.dart | 29 --- lib/page/WelcomePage.dart | 126 ++++----- lib/page/gesture/GesturePage.dart | 42 --- lib/page/gesture/GesturePainter.dart | 27 -- lib/page/scroll/GridViewDetailPage.dart | 244 ------------------ lib/page/scroll/GridViewPage.dart | 136 ---------- lib/page/scroll/ScrollViewPage.dart | 29 --- lib/view/app_bar.dart | 40 --- lib/view/star_view.dart | 50 ---- pubspec.yaml | 2 +- screen_shot/flare_animation.png | Bin 45354 -> 0 bytes screen_shot/grid_view_detail_screen.png | Bin 302098 -> 0 bytes screen_shot/grid_view_screen.png | Bin 782497 -> 0 bytes screen_shot/welcome_screen.png | Bin 30563 -> 0 bytes screen_shot/widget_screen.png | Bin 46865 -> 0 bytes test/widget_test.dart | 4 +- 48 files changed, 59 insertions(+), 1175 deletions(-) delete mode 100644 assets/images/flutter_icon.jpeg create mode 100644 assets/images/flutteropen.png delete mode 100644 assets/images/ic_preview_1.png delete mode 100644 assets/images/ic_preview_2.png delete mode 100644 assets/images/ic_preview_3.png delete mode 100644 assets/images/ic_preview_4.png delete mode 100644 assets/images/ic_thumb_11.png delete mode 100644 assets/images/ic_thumb_12.png delete mode 100644 assets/images/ic_thumb_13.png delete mode 100644 assets/images/ic_thumb_21.png delete mode 100644 assets/images/ic_thumb_31.png delete mode 100644 assets/images/ic_thumb_41.png delete mode 100644 assets/images/movie_banner_1.png delete mode 100644 assets/images/movie_banner_2.png delete mode 100644 assets/images/movie_banner_3.png delete mode 100644 assets/images/movie_banner_4.png delete mode 100644 lib/constant/string_const.dart delete mode 100644 lib/data/main_data.dart delete mode 100644 lib/data/move_data.dart delete mode 100644 lib/lib/constant_lib.dart delete mode 100644 lib/lib/page_lib.dart delete mode 100644 lib/lib/view_lib.dart delete mode 100644 lib/main_page.dart delete mode 100644 lib/page/HomePage.dart delete mode 100644 lib/page/OtherPage.dart delete mode 100644 lib/page/ThemePage.dart delete mode 100644 lib/page/gesture/GesturePage.dart delete mode 100644 lib/page/gesture/GesturePainter.dart delete mode 100644 lib/page/scroll/GridViewDetailPage.dart delete mode 100644 lib/page/scroll/GridViewPage.dart delete mode 100644 lib/page/scroll/ScrollViewPage.dart delete mode 100644 lib/view/app_bar.dart delete mode 100644 lib/view/star_view.dart delete mode 100644 screen_shot/flare_animation.png delete mode 100644 screen_shot/grid_view_detail_screen.png delete mode 100644 screen_shot/grid_view_screen.png delete mode 100644 screen_shot/welcome_screen.png delete mode 100644 screen_shot/widget_screen.png diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..58035a0ed6269af57a2d0e073fdfdfcf8e39f9f1 100644 GIT binary patch literal 57221 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 literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..58035a0ed6269af57a2d0e073fdfdfcf8e39f9f1 100644 GIT binary patch literal 57221 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 literal 442 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 literal 721 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!iOI#yLg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+5i=O3-AeX1=1l$e`s#|#^}+&7(N@w0CIr{$Oe+Uk^K-ZP~83C zcc@hG6rikF&NPT(23>y!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..58035a0ed6269af57a2d0e073fdfdfcf8e39f9f1 100644 GIT binary patch literal 57221 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 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372eebdb28e45604e46eeda8dd24651419bc0..58035a0ed6269af57a2d0e073fdfdfcf8e39f9f1 100644 GIT binary patch literal 57221 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 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/assets/images/flutter_icon.jpeg b/assets/images/flutter_icon.jpeg deleted file mode 100644 index 81f96d26340c7024bafe394edb9b89af1c5c6794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3869 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 diff --git a/assets/images/flutteropen.png b/assets/images/flutteropen.png new file mode 100644 index 0000000000000000000000000000000000000000..58035a0ed6269af57a2d0e073fdfdfcf8e39f9f1 GIT binary patch literal 57221 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 literal 0 HcmV?d00001 diff --git a/assets/images/ic_preview_1.png b/assets/images/ic_preview_1.png deleted file mode 100644 index aeaa5f3b4101ab70a86c74bded898df638e5a4fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117147 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€qCgbd+8V-G}xso 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 JPDHLkV1h*2^Xvcs diff --git a/assets/images/ic_preview_2.png b/assets/images/ic_preview_2.png deleted file mode 100644 index b7ec838929b1a6a80e108a9f1284f4c04d09f62b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106015 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 z%0A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

j(F6+rJoGNU}>)4oy);X(#aXN!t+qG-j}boU%? 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