Skip to content
Snippets Groups Projects
Commit 71aa2ce4 authored by AREZKI Celia's avatar AREZKI Celia
Browse files

change of centerDecorator class

parent 59f87507
No related branches found
No related tags found
No related merge requests found
package shape;
import javafx.geometry.Point2D; import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext; import javafx.scene.canvas.GraphicsContext;
import java.util.ArrayList; import java.util.ArrayList;
......
package shape;
import javafx.geometry.Point2D; import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext; import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
......
package shape; package shape;
import javafx.scene.canvas.GraphicsContext;
import javafx.geometry.Point2D; import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
public class CenterDecorator extends Decorator { public class CenterDecorator extends Decorator {
...@@ -14,16 +14,18 @@ public class CenterDecorator extends Decorator { ...@@ -14,16 +14,18 @@ public class CenterDecorator extends Decorator {
@Override @Override
protected void drawDecoration(GraphicsContext graphicsContext) { protected void drawDecoration(GraphicsContext graphicsContext) {
graphicsContext.setStroke(Color.RED); graphicsContext.setStroke(Color.RED);
double centerX = 0, centerY = 0; Point2D center = calculateCenter();
graphicsContext.strokeOval(center.getX() - radius, center.getY() - radius, radius * 2, radius * 2);
}
private Point2D calculateCenter() {
double sumX = 0;
double sumY = 0;
for (int i = 0; i < decoratedShape.pointsCount(); i++) { for (int i = 0; i < decoratedShape.pointsCount(); i++) {
Point2D point = decoratedShape.point(i); Point2D point = decoratedShape.point(i);
centerX += point.getX(); sumX += point.getX();
centerY += point.getY(); sumY += point.getY();
} }
centerX /= decoratedShape.pointsCount(); return new Point2D(sumX / decoratedShape.pointsCount(), sumY / decoratedShape.pointsCount());
centerY /= decoratedShape.pointsCount();
graphicsContext.strokeOval(centerX - radius, centerY - radius, radius * 2, radius * 2);
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment