Project

General

Profile

« Previous | Next » 

Revision c7b00dfb

Added by Leszek Koltunski almost 4 years ago

Introduce two-fingered object resize.

View differences:

src/main/java/org/distorted/main/RubikSurfaceView.java
72 72
    private boolean mDragging, mBeginningRotation, mContinuingRotation;
73 73
    private int mScreenWidth, mScreenHeight, mScreenMin;
74 74

  
75
    private float mRotAngle;
75
    private float mRotAngle, mInitDistance;
76 76
    private int mPtrID1, mPtrID2;
77 77
    private float mX, mY;
78 78
    private float mStartRotX, mStartRotY;
......
374 374
        mTemp.set(dragQuat);
375 375

  
376 376
        mRotAngle = angleNow;
377

  
378
        float distNow  = (float)Math.sqrt( (x-x2)*(x-x2) + (y-y2)*(y-y2) );
379
        float distQuot = mInitDistance<0 ? 1.0f : distNow/ mInitDistance;
380
        mInitDistance = distNow;
381

  
382
        RubikObject object = mPreRender.getObject();
383
        object.setObjectRatio(distQuot);
377 384
        }
378 385
      else
379 386
        {
......
575 582
          float y2 = event.getY(pointer);
576 583

  
577 584
          mRotAngle = getAngle(x,-y,x2,-y2);
585
          mInitDistance = -1;
578 586
          }
579 587

  
580 588
        mX = (x - mScreenWidth*0.5f)/mScreenMin;
......
595 603
          float y2 = event.getY(pointer);
596 604

  
597 605
          mRotAngle = getAngle(x,-y,x2,-y2);
606
          mInitDistance = -1;
598 607
          }
599 608

  
600 609
        if( mBeginningRotation || mContinuingRotation )

Also available in: Unified diff