From 2c2f1d5aff54ab83cf7ffaac75847e003b610355 Mon Sep 17 00:00:00 2001 From: Zufar Fakhurtdinov Date: Fri, 8 Jul 2016 20:56:01 +0300 Subject: [PATCH] add missed jso methods --- .../jso/browser/AnimationFrameCallback.java | 24 +++++++++++++++++++ .../java/org/teavm/jso/browser/Window.java | 6 +++++ 2 files changed, 30 insertions(+) create mode 100644 jso/apis/src/main/java/org/teavm/jso/browser/AnimationFrameCallback.java diff --git a/jso/apis/src/main/java/org/teavm/jso/browser/AnimationFrameCallback.java b/jso/apis/src/main/java/org/teavm/jso/browser/AnimationFrameCallback.java new file mode 100644 index 000000000..68b137757 --- /dev/null +++ b/jso/apis/src/main/java/org/teavm/jso/browser/AnimationFrameCallback.java @@ -0,0 +1,24 @@ +/* + * Copyright 2016 Alexey Andreev. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.teavm.jso.browser; + +import org.teavm.jso.JSFunctor; +import org.teavm.jso.JSObject; + +@JSFunctor +public interface AnimationFrameCallback extends JSObject { + void onAnimationFrame(double timestamp); +} diff --git a/jso/apis/src/main/java/org/teavm/jso/browser/Window.java b/jso/apis/src/main/java/org/teavm/jso/browser/Window.java index c5ef1d36c..b5ec08652 100644 --- a/jso/apis/src/main/java/org/teavm/jso/browser/Window.java +++ b/jso/apis/src/main/java/org/teavm/jso/browser/Window.java @@ -117,6 +117,12 @@ public abstract class Window implements JSObject, WindowEventTarget, StorageProv @JSBody(params = { "timeoutId" }, script = "clearInterval(timeoutId);") public static native void clearInterval(int timeoutId); + @JSBody(params = { "callback" }, script = "return requestAnimationFrame(callback);") + public static native int requestAnimationFrame(AnimationFrameCallback callback); + + @JSBody(params = { "requestId" }, script = "cancelAnimationFrame(requestId);") + public static native void cancelAnimationFrame(int requestId); + public abstract void blur(); public abstract void focus();