Добавлено ограничение области вывода в GraphicsExt
This commit is contained in:
parent
50226ed4eb
commit
cc5eeb00b9
@ -32,6 +32,10 @@ public class GraphicsExt {
|
|||||||
clip = null;
|
clip = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setClip(Clip clip) {
|
||||||
|
this.clip = clip;
|
||||||
|
}
|
||||||
|
|
||||||
public void clip(double x, double y, double width, double height) {
|
public void clip(double x, double y, double width, double height) {
|
||||||
if (clip != null) clip.setClip(x, y, width, height);
|
if (clip != null) clip.setClip(x, y, width, height);
|
||||||
else clip = new Clip(x, y, width, height);
|
else clip = new Clip(x, y, width, height);
|
||||||
@ -80,7 +84,12 @@ public class GraphicsExt {
|
|||||||
public void line(Point from, Point to) {
|
public void line(Point from, Point to) {
|
||||||
double[] p1 = transformMatrix.applyTransform(from.getVector3());
|
double[] p1 = transformMatrix.applyTransform(from.getVector3());
|
||||||
double[] p2 = transformMatrix.applyTransform(to.getVector3());
|
double[] p2 = transformMatrix.applyTransform(to.getVector3());
|
||||||
g.drawLine(convertX(p1[0]), convertY(p1[1]), convertX(p2[0]), convertY(p2[1]));
|
if (clip != null) {
|
||||||
|
double[] coords = clip.clip(p1[0], p1[1], p2[0], p2[1]);
|
||||||
|
g.drawLine(convertX(coords[0]), convertY(coords[1]), convertX(coords[2]), convertY(coords[3]));
|
||||||
|
} else {
|
||||||
|
g.drawLine(convertX(p1[0]), convertY(p1[1]), convertX(p2[0]), convertY(p2[1]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int convertX(double x) {
|
private int convertX(double x) {
|
||||||
|
Loading…
Reference in New Issue
Block a user