public mTrans2(ICanvasTransformer trans, IInterpolator interp, int openedX, int closedX,
                  int openedY, int closedY,
                  int px, int py)
            {
                mtrans = trans;
                minterp = interp;
                mopenedX = openedX;
                mclosedX = closedX;
                mopenedY = openedY;
                mclosedY = closedY;
                mpx = px;
                mpy = py;

            }
 public void setCanvasTransformer(ICanvasTransformer t)
 {
     mTransformer = t;
 }
 /**
  * Sets the behind canvas transformer.
  *
  * @param t the new behind canvas transformer
  */
 public void setBehindCanvasTransformer(ICanvasTransformer t)
 {
     mViewBehind.setCanvasTransformer(t);
 }
 public ICanvasTransformer zoom(int openedX, int closedX,
           int openedY, int closedY,
           int px, int py, IInterpolator interp)
 {
     initTransformer();
     //mTrans = new CanvasTransformer() {
     //    public void transformCanvas(Canvas canvas, float percentOpen) {
     //        mTrans.transformCanvas(canvas, percentOpen);
     //        float f = interp.getInterpolation(percentOpen);
     //        canvas.scale((openedX - closedX) * f + closedX,
     //                (openedY - closedY) * f + closedY, px, py);
     //    }			
     //};
     mTrans = new mTrans2(mTrans, interp, openedX, closedX, openedY, closedY, px, py);
     return mTrans;
 }
 public ICanvasTransformer concatTransformer(ICanvasTransformer t)
 {
     initTransformer();
     //mTrans = new CanvasTransformer() {
     //    public void transformCanvas(Canvas canvas, float percentOpen) {
     //        mTrans.transformCanvas(canvas, percentOpen);
     //        t.transformCanvas(canvas, percentOpen);
     //    }			
     //};
     mTrans = new mTrans5(mTrans, t);
     return mTrans;
 }
 private void initTransformer()
 {
     if (mTrans == null)
         mTrans = new mTransClass();
 }
 public mTrans5(ICanvasTransformer mTrans, ICanvasTransformer t)
 {
     // TODO: Complete member initialization
     this.mTrans = mTrans;
     this.t = t;
 }
 public mTrans4(ICanvasTransformer mTrans, IInterpolator interp, int openedX, int closedX, int openedY, int closedY)
 {
     // TODO: Complete member initialization
     this.mTrans = mTrans;
     this.interp = interp;
     this.openedX = openedX;
     this.closedX = closedX;
     this.openedY = openedY;
     this.closedY = closedY;
 }
 public ICanvasTransformer rotate(int openedDeg, int closedDeg,
           int px, int py, IInterpolator interp)
 {
     initTransformer();
     //mTrans = new CanvasTransformer() {
     //    public void transformCanvas(Canvas canvas, float percentOpen) {
     //        mTrans.transformCanvas(canvas, percentOpen);
     //        float f = interp.getInterpolation(percentOpen);
     //        canvas.rotate((openedDeg - closedDeg) * f + closedDeg, 
     //                px, py);
     //    }			
     //};
     mTrans = new mTrans3(mTrans, interp, openedDeg, closedDeg, px, py);
     return mTrans;
 }
 public mTrans3(ICanvasTransformer mTrans, IInterpolator interp, int openedDeg, int closedDeg, int px, int py)
 {
     // TODO: Complete member initialization
     this.mTrans = mTrans;
     this.interp = interp;
     this.openedDeg = openedDeg;
     this.closedDeg = closedDeg;
     this.px = px;
     this.py = py;
 }
        public CustomAnimation(int titleRes, ICanvasTransformer transformer)
            : base(titleRes)
        {

            mTransformer = transformer;
        }