Beispiel #1
0
 internal override android.view.HardwareLayer getHardwareLayer()
 {
     if (mLayer == null)
     {
         if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null)
         {
             return(null);
         }
         mLayer   = mAttachInfo.mHardwareRenderer.createHardwareLayer(mOpaque);
         mSurface = mAttachInfo.mHardwareRenderer.createSurfaceTexture(mLayer);
         nSetDefaultBufferSize(mSurface, getWidth(), getHeight());
         nCreateNativeWindow(mSurface);
         mUpdateListener = new _OnFrameAvailableListener_315(this);
         mSurface.setOnFrameAvailableListener(mUpdateListener);
         if (mListener != null)
         {
             mListener.onSurfaceTextureAvailable(mSurface, getWidth(), getHeight());
         }
     }
     applyUpdate();
     applyTransformMatrix();
     return(mLayer);
 }
Beispiel #2
0
 protected internal override void onDetachedFromWindow()
 {
     base.onDetachedFromWindow();
     if (mLayer != null)
     {
         bool shouldRelease = true;
         if (mListener != null)
         {
             shouldRelease = mListener.onSurfaceTextureDestroyed(mSurface);
         }
         lock (mNativeWindowLock)
         {
             nDestroyNativeWindow();
         }
         mLayer.destroy();
         if (shouldRelease)
         {
             mSurface.release();
         }
         mSurface = null;
         mLayer   = null;
     }
 }
Beispiel #3
0
		internal override android.view.HardwareLayer getHardwareLayer()
		{
			if (mLayer == null)
			{
				if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null)
				{
					return null;
				}
				mLayer = mAttachInfo.mHardwareRenderer.createHardwareLayer(mOpaque);
				mSurface = mAttachInfo.mHardwareRenderer.createSurfaceTexture(mLayer);
				nSetDefaultBufferSize(mSurface, getWidth(), getHeight());
				nCreateNativeWindow(mSurface);
				mUpdateListener = new _OnFrameAvailableListener_315(this);
				mSurface.setOnFrameAvailableListener(mUpdateListener);
				if (mListener != null)
				{
					mListener.onSurfaceTextureAvailable(mSurface, getWidth(), getHeight());
				}
			}
			applyUpdate();
			applyTransformMatrix();
			return mLayer;
		}
Beispiel #4
0
		protected internal override void onDetachedFromWindow()
		{
			base.onDetachedFromWindow();
			if (mLayer != null)
			{
				bool shouldRelease = true;
				if (mListener != null)
				{
					shouldRelease = mListener.onSurfaceTextureDestroyed(mSurface);
				}
				lock (mNativeWindowLock)
				{
					nDestroyNativeWindow();
				}
				mLayer.destroy();
				if (shouldRelease)
				{
					mSurface.release();
				}
				mSurface = null;
				mLayer = null;
			}
		}
Beispiel #5
0
 internal override void drawHardwareLayer(android.view.HardwareLayer layer, float
                                          x, float y, android.graphics.Paint paint)
 {
     throw new System.NotImplementedException();
 }
Beispiel #6
0
 internal abstract android.graphics.SurfaceTexture createSurfaceTexture(android.view.HardwareLayer
                                                                        layer);
Beispiel #7
0
 internal override android.graphics.SurfaceTexture createSurfaceTexture(android.view.HardwareLayer
                                                                        layer)
 {
     throw new System.NotImplementedException();
 }
Beispiel #8
0
 /// <summary>Draws the specified layer onto this canvas.</summary>
 /// <remarks>Draws the specified layer onto this canvas.</remarks>
 /// <param name="layer">The layer to composite on this canvas</param>
 /// <param name="x">The left coordinate of the layer</param>
 /// <param name="y">The top coordinate of the layer</param>
 /// <param name="paint">The paint used to draw the layer</param>
 internal abstract void drawHardwareLayer(android.view.HardwareLayer layer, float
                                          x, float y, android.graphics.Paint paint);