double ty = (!Double.isNaN(gradient.getY()) ? gradient.getY() : (pathBounds.yMax() + pathBounds.yMin()) / (2.0*ISWFConstants.TWIPS_PER_PIXEL));
FXGMatrix matrix = new FXGMatrix();
matrix.scale(w/ISWFConstants.GRADIENT_SQUARE, h/ISWFConstants.GRADIENT_SQUARE);
if (!Double.isNaN(gradient.getRotation()) && (gradient.getRotation() != 0))
matrix.rotate(gradient.getRotation());
matrix.translate(tx, ty);
return matrix.toSWFMatrix();
}