Revision c7b00dfb
Added by Leszek Koltunski almost 4 years ago
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
Introduce two-fingered object resize.