Please ignore this it is a duplicate of
https://groups.google.com/forum/?fromgroups=#!topic/android-developers/ClKJXc0AgHA
On Wednesday, 3 October 2012 10:03:57 UTC+2, Conrad Chapman wrote:
>
> I have an app that used SurfaceView to draw dynamic 2D graphs. It worked
> ok but transformations etc as we know are not supported. So I went to
> TextureView. My old code used another class/thread to do the drawing via
> the Surfaceholder.lockCanvas(); So I changed this to
> TextureView.lockcanvas. When this runs the canvas not accelerated (the view
> is) does not display initially but if I touch the
> screen onSurfaceTextureUpdated (currently with no code inside) is called
> and it displays???
>
> protected void RenderCanvas(){
> //mCanvas = null;
> Canvas c = null;
> //synchronized (mCanvas) {
> //mCanvas = null;
> try {
> c = mChartView.lockCanvas(null);
> if (!c.isHardwareAccelerated()) {
> Log.w("GVIEW", "A TextureView or a subclass can only be "
> + "used with hardware acceleration enabled.");
> }
> synchronized (mCanvas) {
> c.drawBitmap(buffBitmap, 0, 0, null);
>
> }
> } finally {
> // do this in a finally so that if an exception is thrown
> // during the above, we don't leave the Surface in an
> // inconsistent state
> if (c != null) {
> mChartView.unlockCanvasAndPost(c);
> //mSurfaceHolder.updateTexImage();
> }
> }
> }
>
> I implement the SurfaceTextureListener within my TextureView and all of
> the program flow seems fine a real surface is handed to the plotting thread
> by
>
> @Override
>
> public void onSurfaceTextureAvailable(SurfaceTexture surface, int width,
>
> int height) {
>
> // TODO Auto-generated method stub
>
> isRunning = true;
>
> mySurface = surface;
>
> mChart.setTextureSurface(surface);
>
> mChart.setSurfaceSize(width, height);
>
> mChart.Redraw(true)
>
> }
>
> This void finishes with the RenderCanvas() above.
>
> Redrawing the view also doesn't work unless i again touch the screen.
>
> Cannot I not use TextureView like this?
>
> Does it have to be openGl content stream?
>
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en