当前位置: 首页>>代码示例>>Java>>正文


Java PAffineTransform.setTransform方法代码示例

本文整理汇总了Java中org.piccolo2d.util.PAffineTransform.setTransform方法的典型用法代码示例。如果您正苦于以下问题:Java PAffineTransform.setTransform方法的具体用法?Java PAffineTransform.setTransform怎么用?Java PAffineTransform.setTransform使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.piccolo2d.util.PAffineTransform的用法示例。


在下文中一共展示了PAffineTransform.setTransform方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getLocalToGlobalTransform

import org.piccolo2d.util.PAffineTransform; //导入方法依赖的package包/类
/**
 * Return the transform that converts local coordinates at this node to the
 * global coordinate system.
 * 
 * @param dest PAffineTransform to transform to global coordinates
 * @return The concatenation of transforms from the top node down to this
 *         node.
 */
public PAffineTransform getLocalToGlobalTransform(final PAffineTransform dest) {
    PAffineTransform result = dest;
    if (parent != null) {
        result = parent.getLocalToGlobalTransform(result);
        if (transform != null) {
            result.concatenate(transform);
        }
    }
    else if (dest == null) {
        result = getTransform();
    }
    else if (transform != null) {
        result.setTransform(transform);
    }
    else {
        result.setToIdentity();
    }

    return result;
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:29,代码来源:PNode.java

示例2: getGlobalToLocalTransform

import org.piccolo2d.util.PAffineTransform; //导入方法依赖的package包/类
/**
 * Return the transform that converts global coordinates to local
 * coordinates of this node.
 * 
 * @param dest PAffineTransform to transform from global to local
 * 
 * @return The inverse of the concatenation of transforms from the root down
 *         to this node.
 */
public PAffineTransform getGlobalToLocalTransform(final PAffineTransform dest) {
    PAffineTransform result = getLocalToGlobalTransform(dest);
    try {
        result.setTransform(result.createInverse());
    }
    catch (final NoninvertibleTransformException e) {
        throw new PAffineTransformException(e, result);
    }
    return result;
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:20,代码来源:PNode.java

示例3: 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;
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:59,代码来源:PrintExample.java

示例4: 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;
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:58,代码来源:ScrollingExample.java

示例5: 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;
}
 
开发者ID:piccolo2d,项目名称:piccolo2d.java,代码行数:48,代码来源:PDefaultScrollDirector.java


注:本文中的org.piccolo2d.util.PAffineTransform.setTransform方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。