diff --git a/src/main/java/cit/PureATN/MultiNote/KeyEvent_on_MultiNote.java b/src/main/java/cit/PureATN/MultiNote/KeyEvent_on_MultiNote.java index c2f68e5..15f6f7b 100644 --- a/src/main/java/cit/PureATN/MultiNote/KeyEvent_on_MultiNote.java +++ b/src/main/java/cit/PureATN/MultiNote/KeyEvent_on_MultiNote.java @@ -43,6 +43,14 @@ MultiNote mn = (MultiNote)Note.theapp; mn.iroduke(); } + if (e.getKeyCode() == KeyEvent.VK_V) { //Visual Layout + MultiNote mn = (MultiNote)Note.theapp; + mn.vlayout(); + } + if (e.getKeyCode() == KeyEvent.VK_F) { //Fold + MultiNote mn = (MultiNote)Note.theapp; + mn.vfold(); + } if (e.getKeyCode() == KeyEvent.VK_R) { MultiNote mn = (MultiNote)Note.theapp; mn.showStat(); diff --git a/src/main/java/cit/PureATN/MultiNote/MultiNote.java b/src/main/java/cit/PureATN/MultiNote/MultiNote.java index 34e2cad..bd2c286 100644 --- a/src/main/java/cit/PureATN/MultiNote/MultiNote.java +++ b/src/main/java/cit/PureATN/MultiNote/MultiNote.java @@ -17,7 +17,9 @@ import org.piccolo2d.PCanvas; import org.piccolo2d.PLayer; import org.piccolo2d.PNode; +import org.piccolo2d.activities.PTransformActivity; import org.piccolo2d.nodes.PPath; +import org.piccolo2d.util.PBounds; import cit.PureATN.Note; import cit.PureATN.PenUser; @@ -57,7 +59,7 @@ setMousePenID(1); // 基準となる紙の輪郭線 - for (int i = 1; i < 10; i++) { + for (int i = 1; i < 11; i++) { PPath stjk = shitajikiNodes[i] = PPath.createRectangle(0, 0, 700, 990); // stjk.setPaint(Color.getHSBColor((float) (i / 11.0f), 0.1f, 1.0f)); stjk.setPaint(null); @@ -90,8 +92,8 @@ ArrayList sss = PenUser.find(penidStr).strokes; for (ShortStroke s : sss) { s.setStrokePaint(c); - System.out.println("ss.time "+s.time); - if (s.getParent() instanceof PLayer){ + System.out.println("ss.time " + s.time); + if (s.getParent() instanceof PLayer) { shitajikiNodes[penid].addChild(s); // 親レイヤーから、下敷きに移動 } } @@ -141,4 +143,35 @@ } + public void vlayout() { + PTransformActivity ta = null; + for (int i = 1; i < 6; i++) { + shitajikiNodes[i].animateToPositionScaleRotation((i - 1) * 700, 0, 1, 0, 1000); + } + for (int i = 6; i < 11; i++) { + ta = shitajikiNodes[i].animateToPositionScaleRotation((i - 6) * 700, 1000, 1, 0, 1000); + } + + PTransformActivity ta2 = getCanvas().getCamera().animateViewToCenterBounds( + // getCanvas().getLayer().getFullBounds(), + new PBounds(0, 0, 700*5, 990*2), + true, 1000); + ta2.startAfter(ta); + + } + + public void vfold() { + PTransformActivity ta = null; + for (int i = 1; i < 11; i++) { + ta = shitajikiNodes[i].animateToPositionScaleRotation(0, 0, 1, 0, 1000); + } + + PTransformActivity ta2 = getCanvas().getCamera().animateViewToCenterBounds( + //getCanvas().getLayer().getFullBounds(), + new PBounds(0, 0, 700, 990), + true, 1000); + ta2.startAfter(ta); + + } + } diff --git a/src/main/java/cit/PureATN/PenUser.java b/src/main/java/cit/PureATN/PenUser.java index 682dbae..57f9997 100644 --- a/src/main/java/cit/PureATN/PenUser.java +++ b/src/main/java/cit/PureATN/PenUser.java @@ -176,7 +176,7 @@ } public void add(int x, int y) { - System.out.println("add (" + penid + ") " + x + " " + y); + // System.out.println("add (" + penid + ") " + x + " " + y); if (graphicsMode == GraphicsMode.AWT) { if (lastStroke == null) { lastStroke = new Stroke(this); @@ -186,7 +186,6 @@ } else { if (squiggle == null) { squiggle = new ShortStroke(); - strokes.add(squiggle); PNode layer = Note.theapp.getCanvas().getLayer(); layer.addChild(squiggle); squiggle.startDrag_on_draw(x, y); @@ -210,6 +209,13 @@ lastStroke = null; } } else { + PNode layer = Note.theapp.getCanvas().getLayer(); + if (squiggle.tempPts.size()<3) { + layer.removeChild(squiggle); + squiggle = null; + return; + } + strokes.add(squiggle); squiggle.applyTempPtsToAry(); squiggle.penid = num; //整数型のPenID squiggle = null;