in shared/java/EncodedOrigin.java [56:85]
public Matrix33 toMatrix(int w, int h) {
switch (this) {
case TOP_LEFT:
return Matrix33.IDENTITY;
case TOP_RIGHT:
return new Matrix33(-1, 0, w, 0, 1, 0, 0, 0, 1);
case BOTTOM_RIGHT:
return new Matrix33(-1, 0, w, 0, -1, h, 0, 0, 1);
case BOTTOM_LEFT:
return new Matrix33( 1, 0, 0, 0, -1, h, 0, 0, 1);
case LEFT_TOP:
return new Matrix33( 0, 1, 0, 1, 0, 0, 0, 0, 1);
case RIGHT_TOP:
return new Matrix33( 0, -1, w, 1, 0, 0, 0, 0, 1);
case RIGHT_BOTTOM:
return new Matrix33( 0, -1, w, -1, 0, h, 0, 0, 1);
case LEFT_BOTTOM:
return new Matrix33( 0, 1, 0, -1, 0, h, 0, 0, 1);
default:
throw new IllegalArgumentException("Unsupported origin " + this);
}
}