diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java index 5195ce0..b61813d 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java @@ -85,25 +85,24 @@ float x = event.getX(); float y = event.getY(); - //(3-2)タッチの処理 switch (event.getAction()) { case MotionEvent.ACTION_DOWN: Log.d("motion", "+++++++++++++++++++++++++++++++++++++++down======================================================"); onTouched(x, y); - paintViewModel.addLocalStrokeRequest(); + paintViewModel.addLocalStrokeRequest(x,y); //paintViewModel.addPositionLocal(x, y); break; case MotionEvent.ACTION_MOVE: Log.d("motion", "move"); onTouchedMove(x, y); - paintViewModel.addPositionLocal(x, y); + paintViewModel.addPositionRequest(x,y); break; case MotionEvent.ACTION_UP: Log.d("motion", "=====================================up======================================================"); - paintViewModel.addPositionRequest(); + paintViewModel.addPositionRequestfirst(); break; } @@ -153,13 +152,14 @@ //描写するための取得 public void getCanvas() { - int cnt = 1; - path2.reset();//ここで一旦クリア + int cnt = 0; + path2.reset(); + invalidate(); for (Stroke s : paintViewModel.getStroke().getValue()) { for (Position p : s.getPositions()) { - if (cnt == 1) { + if (cnt == 0) { onTouched2(p.getX(), p.getY()); - } else if(cnt==p.getI()){ + } else{ onTouchedMove2(p.getX(), p.getY()); } cnt++; diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java index fd055b3..e247c4a 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java @@ -31,9 +31,9 @@ private ArrayListpositionLocalx = new ArrayList<>(); private ArrayListpositionLocaly = new ArrayList<>(); private ArrayListlocalstrokeNo = new ArrayList<>(); - private ArrayListpositionLocalx2 = new ArrayList<>(); - private ArrayListpositionLocaly2 = new ArrayList<>(); - private ArrayListlocalstrokeNo2 = new ArrayList<>(); + private int cnt=0; + private float fsx=0; + private float fsy=0; //----------------------------------------------------------------- // getter public MutableLiveData> getStroke() { @@ -72,38 +72,18 @@ //----------------------------------------------------------------- // 描画APIの通信リクエスト - public void addLocalStrokeRequest() { + public void addLocalStrokeRequest(float x,float y) { paintModelContainer.getPaintConnectionModel().addLocalStroke(mStrokeNo); + fsx=x; + fsy=y; + cnt=1; } - - public void addPositionLocal(float x , float y) { -// if(positionLocalx.size()==0) { - positionLocalx.add((double) x); - positionLocaly.add((double) y); - localstrokeNo.add(mStrokeNo.getValue()); - //}else{ -// positionLocalx2.add((double) x); -// positionLocaly2.add((double) y); -// localstrokeNo2.add(mStrokeNo.getValue()); - //} + public void addPositionRequest(float x, float y) { + paintModelContainer.getPaintConnectionModel().addPosition(cnt,x,y,mStrokeNo.getValue()); + cnt++; } - public void addPositionRequest() { - // if(positionLocalx.size()!=0) { - for (int i = 0; i < positionLocalx.size(); i++) { - paintModelContainer.getPaintConnectionModel().addPosition(i, positionLocalx.get(i), positionLocaly.get(i),mStrokeNo.getValue()); - } - positionLocalx.clear(); - positionLocaly.clear(); - localstrokeNo.clear(); -// } -// if(positionLocalx2.size()!=0) { -// for (int i = 0; i < positionLocalx2.size(); i++) { -// paintModelContainer.getPaintConnectionModel().addPosition(i, positionLocalx2.get(i), positionLocaly2.get(i), localstrokeNo2.get(i)); -// } -// positionLocalx2.clear(); -// positionLocaly2.clear(); -// localstrokeNo2.clear(); -// } + public void addPositionRequestfirst() { + paintModelContainer.getPaintConnectionModel().addPosition(0,fsx,fsy,mStrokeNo.getValue()); } //-----------------------------------------------------------------