Revision 72d6857c
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/main/ObjectControl.java | ||
---|---|---|
26 | 26 |
|
27 | 27 |
import org.distorted.library.main.QuatHelper; |
28 | 28 |
import org.distorted.library.type.Static2D; |
29 |
import org.distorted.library.type.Static3D; |
|
30 | 29 |
import org.distorted.library.type.Static4D; |
31 | 30 |
|
32 | 31 |
import org.distorted.objectlib.helpers.BlockController; |
... | ... | |
57 | 56 |
private Movement mMovement; |
58 | 57 |
private boolean mDragging, mBeginningRotation, mContinuingRotation; |
59 | 58 |
private int mScreenWidth, mScreenHeight, mScreenMin; |
60 |
private Static3D mMove;
|
|
59 |
private float mMoveX, mMoveY;
|
|
61 | 60 |
|
62 | 61 |
private float mRotAngle, mInitDistance; |
63 | 62 |
private float mStartRotX, mStartRotY; |
... | ... | |
330 | 329 |
private void prepareDown(MotionEvent event) |
331 | 330 |
{ |
332 | 331 |
mPointer1 = event.getPointerId(0); |
333 |
mX1 = event.getX(); |
|
334 |
mY1 = event.getY(); |
|
332 |
mX1 = event.getX() - mMoveX;
|
|
333 |
mY1 = event.getY() + mMoveY;
|
|
335 | 334 |
mPointer2 = INVALID_POINTER_ID; |
336 | 335 |
} |
337 | 336 |
|
... | ... | |
343 | 342 |
|
344 | 343 |
if( index1>=0 ) |
345 | 344 |
{ |
346 |
mX1 = event.getX(index1); |
|
347 |
mY1 = event.getY(index1); |
|
345 |
mX1 = event.getX(index1) - mMoveX;
|
|
346 |
mY1 = event.getY(index1) + mMoveY;
|
|
348 | 347 |
} |
349 | 348 |
|
350 | 349 |
int index2 = event.findPointerIndex(mPointer2); |
351 | 350 |
|
352 | 351 |
if( index2>=0 ) |
353 | 352 |
{ |
354 |
mX2 = event.getX(index2); |
|
355 |
mY2 = event.getY(index2); |
|
353 |
mX2 = event.getX(index2) - mMoveX;
|
|
354 |
mY2 = event.getY(index2) + mMoveY;
|
|
356 | 355 |
} |
357 | 356 |
} |
358 | 357 |
|
... | ... | |
373 | 372 |
if( mPointer1==INVALID_POINTER_ID ) |
374 | 373 |
{ |
375 | 374 |
mPointer1 = event.getPointerId(index); |
376 |
mX1 = event.getX(index); |
|
377 |
mY1 = event.getY(index); |
|
375 |
mX1 = event.getX(index) - mMoveX;
|
|
376 |
mY1 = event.getY(index) + mMoveY;
|
|
378 | 377 |
} |
379 | 378 |
else if( mPointer2==INVALID_POINTER_ID ) |
380 | 379 |
{ |
381 | 380 |
mPointer2 = event.getPointerId(index); |
382 |
mX2 = event.getX(index); |
|
383 |
mY2 = event.getY(index); |
|
381 |
mX2 = event.getX(index) - mMoveX;
|
|
382 |
mY2 = event.getY(index) + mMoveY;
|
|
384 | 383 |
} |
385 | 384 |
} |
386 | 385 |
|
... | ... | |
489 | 488 |
} |
490 | 489 |
} |
491 | 490 |
|
492 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
493 |
|
|
494 |
Static3D getMove() |
|
495 |
{ |
|
496 |
return mMove; |
|
497 |
} |
|
498 |
|
|
499 | 491 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
500 | 492 |
// INTERNAL API (for AutomaticControl) |
501 | 493 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
536 | 528 |
|
537 | 529 |
mPreRender = new ObjectPreRender(act,this,actioner); |
538 | 530 |
mInterface = actioner; |
539 |
mMove = new Static3D(0,0,0); |
|
540 | 531 |
} |
541 | 532 |
|
542 | 533 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
553 | 544 |
|
554 | 545 |
public void setMove(int xmove, int ymove) |
555 | 546 |
{ |
556 |
mMove = new Static3D(xmove,ymove,0); |
|
557 |
mPreRender.setMove(mMove); |
|
547 |
mMoveX = xmove; |
|
548 |
mMoveY = ymove; |
|
549 |
|
|
550 |
mPreRender.setMove(xmove,ymove); |
|
558 | 551 |
} |
559 | 552 |
|
560 | 553 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
off-center objects: finished.