Skip to content

Commit 8aadf01

Browse files
committed
renamed tmp matrix and array
1 parent 90d2122 commit 8aadf01

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

core/src/processing/a2d/PGraphicsAndroid2D.java

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ public class PGraphicsAndroid2D extends PGraphics {
7373
static protected final int MATRIX_STACK_DEPTH = 32;
7474
protected float[][] transformStack;
7575
public PMatrix2D transform;
76-
protected Matrix tmpMatrix;
77-
protected float[] tmpArray;
76+
protected Matrix transformMatrix;
77+
protected float[] transformArray;
7878
int transformCount;
7979

8080
// Line2D.Float line = new Line2D.Float();
@@ -133,8 +133,8 @@ public class PGraphicsAndroid2D extends PGraphics {
133133
public PGraphicsAndroid2D() {
134134
transformStack = new float[MATRIX_STACK_DEPTH][6];
135135
transform = new PMatrix2D();
136-
tmpMatrix = new Matrix();
137-
tmpArray = new float[9];
136+
transformMatrix = new Matrix();
137+
transformArray = new float[9];
138138

139139
path = new Path();
140140
rect = new RectF();
@@ -1432,7 +1432,8 @@ public void pushMatrix() {
14321432
}
14331433
transform.get(transformStack[transformCount]);
14341434
transformCount++;
1435-
// canvas.save(Canvas.MATRIX_SAVE_FLAG);
1435+
1436+
// canvas.save();
14361437
}
14371438

14381439

@@ -1444,8 +1445,15 @@ public void popMatrix() {
14441445
}
14451446
transformCount--;
14461447
transform.set(transformStack[transformCount]);
1447-
updateTmpMatrix();
1448-
canvas.setMatrix(tmpMatrix);
1448+
updateTransformMatrix();
1449+
1450+
// Using canvas.restore() here and canvas.save() in popMatrix() and should achieve
1451+
// the same effect as setting copying transform into transformMatrix with updateTransformMatrix()
1452+
// and setting it below, although it has been reported that with the later approach, a push/pop
1453+
// would not result in the initial matrix state:
1454+
// https://github.com/processing/processing-android/issues/445
1455+
// However, cannot find
1456+
canvas.setMatrix(transformMatrix);
14491457
// canvas.restore();
14501458
}
14511459

@@ -1548,8 +1556,8 @@ public void resetMatrix() {
15481556
public void applyMatrix(float n00, float n01, float n02,
15491557
float n10, float n11, float n12) {
15501558
transform.apply(n00, n01, n02, n10, n11, n12);
1551-
updateTmpMatrix();
1552-
canvas.concat(tmpMatrix);
1559+
updateTransformMatrix();
1560+
canvas.concat(transformMatrix);
15531561
}
15541562

15551563

@@ -1600,8 +1608,8 @@ public PMatrix3D getMatrix(PMatrix3D target) {
16001608
@Override
16011609
public void setMatrix(PMatrix2D source) {
16021610
transform.set(source);
1603-
updateTmpMatrix();
1604-
canvas.setMatrix(tmpMatrix);
1611+
updateTransformMatrix();
1612+
canvas.setMatrix(transformMatrix);
16051613
}
16061614

16071615

@@ -1619,24 +1627,24 @@ public void printMatrix() {
16191627

16201628
protected Matrix getMatrixImp() {
16211629
Matrix m = new Matrix();
1622-
updateTmpMatrix();
1623-
m.set(tmpMatrix);
1630+
updateTransformMatrix();
1631+
m.set(transformMatrix);
16241632
return m;
16251633
// return canvas.getMatrix();
16261634
}
16271635

16281636

1629-
protected void updateTmpMatrix() {
1630-
tmpArray[0] = transform.m00;
1631-
tmpArray[1] = transform.m01;
1632-
tmpArray[2] = transform.m02;
1633-
tmpArray[3] = transform.m10;
1634-
tmpArray[4] = transform.m11;
1635-
tmpArray[5] = transform.m12;
1636-
tmpArray[6] = 0;
1637-
tmpArray[7] = 0;
1638-
tmpArray[8] = 1;
1639-
tmpMatrix.setValues(tmpArray);
1637+
public void updateTransformMatrix() {
1638+
transformArray[0] = transform.m00;
1639+
transformArray[1] = transform.m01;
1640+
transformArray[2] = transform.m02;
1641+
transformArray[3] = transform.m10;
1642+
transformArray[4] = transform.m11;
1643+
transformArray[5] = transform.m12;
1644+
transformArray[6] = 0;
1645+
transformArray[7] = 0;
1646+
transformArray[8] = 1;
1647+
transformMatrix.setValues(transformArray);
16401648
}
16411649

16421650

@@ -1676,29 +1684,23 @@ protected void updateTmpMatrix() {
16761684

16771685
@Override
16781686
public float screenX(float x, float y) {
1679-
// canvas.getTransform().getMatrix(transform);
1680-
// return (float)transform[0]*x + (float)transform[2]*y + (float)transform[4];
16811687
if (screenPoint == null) {
16821688
screenPoint = new float[2];
16831689
}
16841690
screenPoint[0] = x;
16851691
screenPoint[1] = y;
1686-
// canvas.getMatrix().mapPoints(screenPoint);
16871692
getMatrixImp().mapPoints(screenPoint);
16881693
return screenPoint[0];
16891694
}
16901695

16911696

16921697
@Override
16931698
public float screenY(float x, float y) {
1694-
// canvas.getTransform().getMatrix(transform);
1695-
// return (float)transform[1]*x + (float)transform[3]*y + (float)transform[5];
16961699
if (screenPoint == null) {
16971700
screenPoint = new float[2];
16981701
}
16991702
screenPoint[0] = x;
17001703
screenPoint[1] = y;
1701-
// canvas.getMatrix().mapPoints(screenPoint);
17021704
getMatrixImp().mapPoints(screenPoint);
17031705
return screenPoint[1];
17041706
}
@@ -2188,12 +2190,10 @@ public void set(int x, int y, PImage src) {
21882190
src.setModified(false);
21892191
}
21902192
// set() happens in screen coordinates, so need to clear the ctm
2191-
// canvas.save(Canvas.MATRIX_SAVE_FLAG);
21922193
pushMatrix();
21932194
canvas.setMatrix(null); // set to identity
21942195
canvas.drawBitmap(bitmap, x, y, null);
21952196
popMatrix();
2196-
// canvas.restore();
21972197
}
21982198

21992199

0 commit comments

Comments
 (0)