Skip to content
Snippets Groups Projects
CenterDecorator.java 843 B
Newer Older
  • Learn to ignore specific revisions
  • MANSOUR Chadi's avatar
    MANSOUR Chadi committed
    package shape;
    
    
    Chadi's avatar
    Chadi committed
    import javafx.geometry.Point2D;
    
    MANSOUR Chadi's avatar
    MANSOUR Chadi committed
    import javafx.scene.canvas.GraphicsContext;
    
    Chadi's avatar
    Chadi committed
    import javafx.scene.paint.Color;
    
    MANSOUR Chadi's avatar
    MANSOUR Chadi committed
    
    public class CenterDecorator extends Decorator{
    
    MANSOUR Chadi's avatar
    MANSOUR Chadi committed
        private final double radius;
    
    MANSOUR Chadi's avatar
    MANSOUR Chadi committed
        public CenterDecorator(Shape decoratedShape, double radius) {
            super(decoratedShape);
            this.radius = radius;
        }
    
            protected void drawDecoration(GraphicsContext context) {
    
    MANSOUR Chadi's avatar
    MANSOUR Chadi committed
    
            if (decoratedshape.pointsCount() >= 2) {
                Point2D point0 = decoratedshape.point(0);
                Point2D point1 = decoratedshape.point(1);
    
                double centerX = point0.getX() + point1.getX() / 2;
                double centerY = point0.getY() + point1.getY() / 2;
    
                context.setFill(Color.RED);
                context.strokeOval(centerX - radius, centerY - radius, radius * 2, radius * 2);
    
    Chadi's avatar
    Chadi committed
            }
    
    MANSOUR Chadi's avatar
    MANSOUR Chadi committed
        }
    }