本文整理匯總了Java中org.piccolo2d.util.PAffineTransform.transform方法的典型用法代碼示例。如果您正苦於以下問題:Java PAffineTransform.transform方法的具體用法?Java PAffineTransform.transform怎麽用?Java PAffineTransform.transform使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.piccolo2d.util.PAffineTransform
的用法示例。
在下文中一共展示了PAffineTransform.transform方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: setViewPosition
import org.piccolo2d.util.PAffineTransform; //導入方法依賴的package包/類
/**
* We do the same thing we did in getViewPosition above to flip the
* document-window position relationship
*
* @param x The new x position
* @param y The new y position
*/
public void setViewPosition(final double x, final double y) {
if (camera == null)
return;
// If a scroll is in progress - we ignore new scrolls - if we
// didn't, since the scrollbars depend on the camera location
// we can end up with an infinite loop
if (scrollInProgress)
return;
scrollInProgress = true;
// Get the union of all the layers' bounds
final PBounds layerBounds = new PBounds();
final List layers = camera.getLayersReference();
for (final Iterator i = layers.iterator(); i.hasNext();) {
final PLayer layer = (PLayer) i.next();
layerBounds.add(layer.getFullBoundsReference());
}
final PAffineTransform at = camera.getViewTransform();
at.transform(layerBounds, layerBounds);
// Union the camera view bounds
final PBounds viewBounds = camera.getBoundsReference();
layerBounds.add(viewBounds);
// Now find the new view position in view coordinates -
// This is basically the distance from the lower right
// corner of the window to the upper left corner of the
// document
// We then measure the offset from the lower right corner
// of the document
final Point2D newPoint = new Point2D.Double(layerBounds.getX() + layerBounds.getWidth()
- (x + viewBounds.getWidth()), layerBounds.getY() + layerBounds.getHeight()
- (y + viewBounds.getHeight()));
// Now transform the new view position into global coords
camera.localToView(newPoint);
// Compute the new matrix values to put the camera at the
// correct location
final double newX = -(at.getScaleX() * newPoint.getX() + at.getShearX() * newPoint.getY());
final double newY = -(at.getShearY() * newPoint.getX() + at.getScaleY() * newPoint.getY());
at.setTransform(at.getScaleX(), at.getShearY(), at.getShearX(), at.getScaleY(), newX, newY);
// Now actually set the camera's transform
camera.setViewTransform(at);
scrollInProgress = false;
}
示例2: setViewPosition
import org.piccolo2d.util.PAffineTransform; //導入方法依賴的package包/類
/**
* We do the same thing we did in getViewPosition above to flip the
* document-window position relationship
*
* @param x The new x position
* @param y The new y position
*/
public void setViewPosition(final double x, final double y) {
if (camera == null)
return;
// If a scroll is in progress - we ignore new scrolls - if we
// didn't, since the scrollbars depend on the camera
// location we can end up with an infinite loop
if (scrollInProgress)
return;
scrollInProgress = true;
// Get the union of all the layers' bounds
final PBounds layerBounds = new PBounds();
final java.util.List layers = camera.getLayersReference();
for (final Iterator i = layers.iterator(); i.hasNext();) {
final PLayer layer = (PLayer) i.next();
layerBounds.add(layer.getFullBoundsReference());
}
final PAffineTransform at = camera.getViewTransform();
at.transform(layerBounds, layerBounds);
// Union the camera view bounds
final PBounds viewBounds = camera.getBoundsReference();
layerBounds.add(viewBounds);
// Now find the new view position in view coordinates -
// This is basically the distance from the lower right
// corner of the window to the upper left corner of the
// document. We then measure the offset from the lower right corner
// of the document
final Point2D newPoint = new Point2D.Double(layerBounds.getX() + layerBounds.getWidth()
- (x + viewBounds.getWidth()), layerBounds.getY() + layerBounds.getHeight()
- (y + viewBounds.getHeight()));
// Now transform the new view position into global coords
camera.localToView(newPoint);
// Compute the new matrix values to put the camera at the
// correct location
final double newX = -(at.getScaleX() * newPoint.getX() + at.getShearX() * newPoint.getY());
final double newY = -(at.getShearY() * newPoint.getX() + at.getScaleY() * newPoint.getY());
at.setTransform(at.getScaleX(), at.getShearY(), at.getShearX(), at.getScaleY(), newX, newY);
// Now actually set the camera's transform
camera.setViewTransform(at);
scrollInProgress = false;
}
示例3: setViewPosition
import org.piccolo2d.util.PAffineTransform; //導入方法依賴的package包/類
/**
* Set the view position in a manner consistent with standardized scrolling.
*
* @param x The new x position
* @param y The new y position
*/
public void setViewPosition(final double x, final double y) {
// Bail out if scrollInProgress because we can end up with an infinite
// loop since the scrollbars depend on the camera location
if (camera == null || scrollInProgress) {
return;
}
scrollInProgress = true;
// Get the union of all the layers' bounds
final PBounds layerBounds = new PBounds();
final List layers = camera.getLayersReference();
for (final Iterator i = layers.iterator(); i.hasNext();) {
final PLayer layer = (PLayer) i.next();
layerBounds.add(layer.getFullBoundsReference());
}
final PAffineTransform at = camera.getViewTransform();
at.transform(layerBounds, layerBounds);
// Union the camera bounds
final PBounds viewBounds = camera.getBoundsReference();
layerBounds.add(viewBounds);
// Now find the new view position in view coordinates
final Point2D newPoint = new Point2D.Double(layerBounds.getX() + x, layerBounds.getY() + y);
// Now transform the new view position into global coords
camera.localToView(newPoint);
// Compute the new matrix values to put the camera at the
// correct location
final double newX = -(at.getScaleX() * newPoint.getX() + at.getShearX() * newPoint.getY());
final double newY = -(at.getShearY() * newPoint.getX() + at.getScaleY() * newPoint.getY());
at.setTransform(at.getScaleX(), at.getShearY(), at.getShearX(), at.getScaleY(), newX, newY);
// Now actually set the camera's transform
camera.setViewTransform(at);
scrollInProgress = false;
}