am 3bc69e62: Merge change Ib59457e0 into eclair-mr2

Merge commit '3bc69e6256b616514871276e24bf98f37b3f89ad' into eclair-mr2-plus-aosp

* commit '3bc69e6256b616514871276e24bf98f37b3f89ad':
  Change full screen surface to Opaque as it is required
This commit is contained in:
Grace Kloba
2009-12-16 14:21:19 -08:00
committed by Android Git Automerger

View File

@@ -35,7 +35,6 @@ import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
import android.view.SurfaceHolder.Callback; import android.view.SurfaceHolder.Callback;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
import android.webkit.plugin.FullScreenDrawingModel;
import android.webkit.plugin.NativePlugin; import android.webkit.plugin.NativePlugin;
import android.webkit.plugin.SurfaceDrawingModel; import android.webkit.plugin.SurfaceDrawingModel;
import android.widget.FrameLayout; import android.widget.FrameLayout;
@@ -53,7 +52,7 @@ public class SamplePlugin implements NativePlugin {
private Context context; private Context context;
private SurfaceDrawingModel embeddedSurface; private SurfaceDrawingModel embeddedSurface;
private FullScreenDrawingModel fullScreenSurface; private SurfaceDrawingModel fullScreenSurface;
private boolean validNPP = false; private boolean validNPP = false;
private Object nppLock = new Object(); private Object nppLock = new Object();
@@ -71,7 +70,7 @@ public class SamplePlugin implements NativePlugin {
return embeddedSurface; return embeddedSurface;
} }
public FullScreenDrawingModel getFullScreenSurface() { public SurfaceDrawingModel getFullScreenSurface() {
if (fullScreenSurface == null) { if (fullScreenSurface == null) {
fullScreenSurface = new FullScreenSurface(); fullScreenSurface = new FullScreenSurface();
} }
@@ -145,7 +144,7 @@ public class SamplePlugin implements NativePlugin {
} }
} }
private class FullScreenSurface implements FullScreenDrawingModel { private class FullScreenSurface implements SurfaceDrawingModel {
public View getSurface() { public View getSurface() {
/* TODO make this aware of the plugin instance and get the video file /* TODO make this aware of the plugin instance and get the video file
@@ -156,37 +155,30 @@ public class SamplePlugin implements NativePlugin {
LayoutParams fp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); LayoutParams fp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
layout.setLayoutParams(fp); layout.setLayoutParams(fp);
VideoView video = new VideoView(context); // VideoView video = new VideoView(context);
LayoutParams vp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); // LayoutParams vp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
layout.setLayoutParams(vp); // layout.setLayoutParams(vp);
GLSurfaceView gl = new GLSurfaceView(context); GLSurfaceView gl = new GLSurfaceView(context);
LayoutParams gp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); LayoutParams gp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
layout.setLayoutParams(gp); layout.setLayoutParams(gp);
layout.addView(video);
layout.addView(gl); layout.addView(gl);
// layout.addView(video);
// We want an 8888 pixel format because that's required for a translucent
// window. And we want a depth buffer.
gl.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
// Tell the cube renderer that we want to render a translucent version // Tell the cube renderer that we want to render a translucent version
// of the cube: // of the cube:
gl.setRenderer(new CubeRenderer(true)); gl.setRenderer(new CubeRenderer(false));
// Use a surface format with an Alpha channel:
gl.getHolder().setFormat(PixelFormat.TRANSLUCENT);
gl.setWindowType(WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY); gl.setWindowType(WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY);
video.setVideoPath("/sdcard/test_video.3gp"); // video.setVideoPath("/sdcard/test_video.3gp");
video.setMediaController(new MediaController(context)); // video.setMediaController(new MediaController(context));
video.requestFocus(); // video.requestFocus();
// ensure that the view system is aware that we will be drawing // ensure that the view system is aware that we will be drawing
layout.setWillNotDraw(false); layout.setWillNotDraw(false);
return layout; return layout;
} }
public void onSurfaceRemoved() { }
} }
} }