LineTool.java 文件源码

java
阅读 34 收藏 0 点赞 0 评论 0

项目:Logisim 作者:
private void updateMouse(Canvas canvas, int mx, int my, int mods) {
    if (active) {
        boolean shift = (mods & InputEvent.SHIFT_DOWN_MASK) != 0;
        Location newEnd;
        if (shift) {
            newEnd = LineUtil.snapTo8Cardinals(mouseStart, mx, my);
        } else {
            newEnd = Location.create(mx, my);
        }

        if ((mods & InputEvent.CTRL_DOWN_MASK) == 0) {
            int x = newEnd.getX();
            int y = newEnd.getY();
            x = canvas.snapX(x);
            y = canvas.snapY(y);
            newEnd = Location.create(x, y);
        }

        if (!newEnd.equals(mouseEnd)) {
            mouseEnd = newEnd;
            repaintArea(canvas);
        }
    }
    lastMouseX = mx;
    lastMouseY = my;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号