Project

General

Profile

« Previous | Next » 

Revision 72d6857c

Added by Leszek Koltunski over 2 years ago

off-center objects: finished.

View differences:

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