예제 #1
0
 protected internal override void onVisibilityChanged(android.view.View changedView
                                                      , int visibility)
 {
     base.onVisibilityChanged(changedView, visibility);
     if (mSurface != null)
     {
         // When the view becomes invisible, stop updating it, it's a waste of CPU
         // To cancel updates, the easiest thing to do is simply to remove the
         // updates listener
         if (visibility == VISIBLE)
         {
             mSurface.setOnFrameAvailableListener(mUpdateListener);
             updateLayer();
         }
         else
         {
             mSurface.setOnFrameAvailableListener(null);
         }
     }
 }
예제 #2
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);
 }
예제 #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;
		}