Merge "Expose DisplayListCanvas.drawGLFunctor to webview" into nyc-dev am: 57b615c
am: 39e562d
* commit '39e562df80d20510b1edfbed870abe0eeb431d95':
Expose DisplayListCanvas.drawGLFunctor to webview
Change-Id: I6dd2a77387b36dae67c5ca15b40ba985fa1addaa
This commit is contained in:
@@ -48880,6 +48880,7 @@ package android.webkit {
|
|||||||
public final class WebViewDelegate {
|
public final class WebViewDelegate {
|
||||||
method public void addWebViewAssetPath(android.content.Context);
|
method public void addWebViewAssetPath(android.content.Context);
|
||||||
method public void callDrawGlFunction(android.graphics.Canvas, long);
|
method public void callDrawGlFunction(android.graphics.Canvas, long);
|
||||||
|
method public void callDrawGlFunction(android.graphics.Canvas, long, java.lang.Runnable);
|
||||||
method public boolean canInvokeDrawGlFunctor(android.view.View);
|
method public boolean canInvokeDrawGlFunctor(android.view.View);
|
||||||
method public void detachDrawGlFunctor(android.view.View, long);
|
method public void detachDrawGlFunctor(android.view.View, long);
|
||||||
method public android.app.Application getApplication();
|
method public android.app.Application getApplication();
|
||||||
|
|||||||
@@ -107,7 +107,29 @@ public final class WebViewDelegate {
|
|||||||
throw new IllegalArgumentException(canvas.getClass().getName()
|
throw new IllegalArgumentException(canvas.getClass().getName()
|
||||||
+ " is not a DisplayList canvas");
|
+ " is not a DisplayList canvas");
|
||||||
}
|
}
|
||||||
((DisplayListCanvas) canvas).callDrawGLFunction2(nativeDrawGLFunctor);
|
((DisplayListCanvas) canvas).drawGLFunctor2(nativeDrawGLFunctor, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls the function specified with the nativeDrawGLFunctor functor pointer. This
|
||||||
|
* functionality is used by the WebView for calling into their renderer from the
|
||||||
|
* framework display lists.
|
||||||
|
*
|
||||||
|
* @param canvas a hardware accelerated canvas (see {@link Canvas#isHardwareAccelerated()})
|
||||||
|
* @param nativeDrawGLFunctor the pointer to the native functor that implements
|
||||||
|
* system/core/include/utils/Functor.h
|
||||||
|
* @param releasedRunnable Called when this nativeDrawGLFunctor is no longer referenced by this
|
||||||
|
* canvas, so is safe to be destroyed.
|
||||||
|
* @throws IllegalArgumentException if the canvas is not hardware accelerated
|
||||||
|
*/
|
||||||
|
public void callDrawGlFunction(@NonNull Canvas canvas, long nativeDrawGLFunctor,
|
||||||
|
@Nullable Runnable releasedRunnable) {
|
||||||
|
if (!(canvas instanceof DisplayListCanvas)) {
|
||||||
|
// Canvas#isHardwareAccelerated() is only true for subclasses of HardwareCanvas.
|
||||||
|
throw new IllegalArgumentException(canvas.getClass().getName()
|
||||||
|
+ " is not a DisplayList canvas");
|
||||||
|
}
|
||||||
|
((DisplayListCanvas) canvas).drawGLFunctor2(nativeDrawGLFunctor, releasedRunnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user