blob: e0821006e3d6169327f4593deb46dee48eca3d4f [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart = 2.9
part of base;
/**
* This class has static fields that hold objects that this isolate
* uses to interact with the environment. Which objects are available
* depend on how the isolate was started. In the UI isolate
* of the browser, the window object is available.
*/
class Env {
static AnimationScheduler _animationScheduler;
/**
* Provides functionality similar to [:window.requestAnimationFrame:] for
* all platforms. [callback] is executed on the next animation frame that
* occurs at or after [minTime]. If [minTime] is not specified, the first
* available animation frame is used. Returns an id that can be used to
* cancel the pending callback.
*/
static int requestAnimationFrame(AnimationCallback callback,
[Element element = null, num minTime = null]) {
if (_animationScheduler == null) {
_animationScheduler = new AnimationScheduler();
}
return _animationScheduler.requestAnimationFrame(
callback, element, minTime);
}
/**
* Cancel the pending callback callback matching the specified [id].
*/
static void cancelRequestAnimationFrame(int id) {
_animationScheduler.cancelRequestAnimationFrame(id);
}
}
typedef void XMLHttpRequestCompleted(HttpRequest req);