mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Added missing clamped_simulation.dart file
This commit is contained in:
parent
63766316c6
commit
ad6aec767a
@ -10,6 +10,7 @@ library animation;
|
||||
export 'src/animation/animated_simulation.dart';
|
||||
export 'src/animation/animated_value.dart';
|
||||
export 'src/animation/animation_performance.dart';
|
||||
export 'src/animation/clamped_simulation.dart';
|
||||
export 'src/animation/curves.dart';
|
||||
export 'src/animation/forces.dart';
|
||||
export 'src/animation/scheduler.dart';
|
||||
|
||||
28
sky/packages/sky/lib/src/animation/clamped_simulation.dart
Normal file
28
sky/packages/sky/lib/src/animation/clamped_simulation.dart
Normal file
@ -0,0 +1,28 @@
|
||||
// Copyright 2015 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:newton/newton.dart';
|
||||
|
||||
class ClampedSimulation extends Simulation {
|
||||
ClampedSimulation(this.simulation, {
|
||||
this.xMin: double.NEGATIVE_INFINITY,
|
||||
this.xMax: double.INFINITY,
|
||||
this.dxMin: double.NEGATIVE_INFINITY,
|
||||
this.dxMax: double.INFINITY
|
||||
}) {
|
||||
assert(simulation != null);
|
||||
assert(xMax >= xMin);
|
||||
assert(dxMax >= dxMin);
|
||||
}
|
||||
|
||||
final Simulation simulation;
|
||||
final double xMin;
|
||||
final double xMax;
|
||||
final double dxMin;
|
||||
final double dxMax;
|
||||
|
||||
double x(double time) => simulation.x(time).clamp(xMin, xMax);
|
||||
double dx(double time) => simulation.dx(time).clamp(dxMin, dxMax);
|
||||
bool isDone(double time) => simulation.isDone(time);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user