📄 gridconstrainer.java
字号:
/*
* @(#)GridConstrainer.java 5.2
*
*/
package CH.ifa.draw.standard;
import java.awt.*;
import java.io.Serializable;
import CH.ifa.draw.framework.PointConstrainer;
/**
* Constrains a point such that it falls on a grid.
*
* @see CH.ifa.draw.framework.DrawingView
*/
public class GridConstrainer implements PointConstrainer, Serializable {
private int fGridX;
private int fGridY;
public GridConstrainer(int x, int y) {
fGridX = Math.max(1, x);
fGridY = Math.max(1, y);
}
/**
* Constrains the given point.
* @return constrained point.
*/
public Point constrainPoint(Point p) {
p.x = ((p.x+fGridX/2) / fGridX) * fGridX;
p.y = ((p.y+fGridY/2) / fGridY) * fGridY;
return p;
}
/**
* Gets the x offset to move an object.
*/
public int getStepX() {
return fGridX;
}
/**
* Gets the y offset to move an object.
*/
public int getStepY() {
return fGridY;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -