Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
Loading items

Target

Select target project
  • b21228304/graphic-2020-2-0
  • l21221596/graphic-2020
  • c19014407/graphic-2020
  • b23019494/graphic-2020
  • g21212987/graphic-2020
  • couetoux.b/graphic-2020
  • s22029480/graphic-2020
  • c23025119/tp-3-graphique
  • m19023837/graphic-2020-tp-5
  • s22029480/graphic-tp-4
  • m19023837/graphic-2020-tp-7
  • n22021899/tp-3-programmation-conception
  • r24025701/graphic-2020
  • a23022716/exo-2-tp-3-algo
  • m23000189/graphic-2024
  • b21228304/graphic-2020
  • t21234458/graphic-2020
  • v23014723/graphic-2020
  • h22021483/graphic-2020
  • t21234458/graphic-2020-tiakout-khaled
  • m19023837/graphic-2020-chadi
  • b20031964/graphic-2020
22 results
Select Git revision
Loading items
Show changes
Commits on Source (3)
Showing
with 252 additions and 19 deletions
package Graph1.serializer;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class App extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Group root = new Group();
DrawerWithSave container = new DrawerWithSave(800, 600);
root.getChildren().add(container);
primaryStage.setScene(new Scene(root));
primaryStage.show();
Button save = new Button("save");
root.getChildren().add(save);
save.setLayoutX(0);
save.setLayoutY(0);
root.setOnKeyPressed(event->container.context.keyPressed(event));
//save.setOnKeyPressed(event->container.context.keyPressed(event));
save.setOnAction(event -> container.write());
}
}
\ No newline at end of file
package serializer;
package Graph1.serializer;
import javafx.scene.canvas.Canvas;
import javafx.scene.control.Alert;
import javafx.stage.FileChooser;
import shape.Shape;
import java.io.File;
import java.io.IOException;
......@@ -11,7 +11,7 @@ import java.util.List;
import java.util.stream.Collectors;
public class DrawerWithSave extends state.Drawer {
public class DrawerWithSave extends Graph1.state.Drawer {
public DrawerWithSave(int width, int height) {
super(width, height);
......
package serializer;
package Graph1.serializer;
import shape.Shape;
import Graph1.shape.Shape;
import java.io.BufferedReader;
import java.io.File;
......
package Graph1.serializer;
import Graph1.shape.Shape;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
public class ShapeWriter {
public static void write (File file, List<Shape> shapes) throws IOException {
PrintWriter printWriter = new PrintWriter(file);
printWriter.println("Coucou");
}
}
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import java.util.List;
public abstract class Abstractshape implements Shape {
private List<Point2D> points;
public Abstractshape(List<Point2D> points) {
this.points = points;
}
public void addPoints(Point2D... points){
for (Point2D point: points)
this.points.add(point);
}
@Override
public int pointsCount() {
return points.size();
}
@Override
public Point2D point(int index) {
return index < points.size() ? points.get(index) : null;
}
@Override
public void draw(GraphicsContext context) {
if (pointsCount()>0){
context.beginPath();
context.moveTo(point(0).getX(), point(0).getY());
for (int i = 1; i<pointsCount(); i++){
context.lineTo(point(i).getX(),point(i).getY());
}
context.closePath();
context.stroke();
}
}
}
\ No newline at end of file
package shape;
package Graph1.shape;
import javafx.application.Application;
import javafx.geometry.Point2D;
......
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public class BorderDecorator extends Decorator {
private double radius;
public BorderDecorator(Shape decoratedShape ,double radius) {
super(decoratedShape);
this.radius = radius;
}
protected void drawDecoration(GraphicsContext context) {
context.setStroke(Color.BLACK);
context.setLineWidth(2);
for (int i=0; i<pointsCount(); i++){
Point2D point = point(i);
context.strokeOval(point.getX() - radius, point.getY()- radius,radius*2,radius*2);
}
}
}
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public class CenterDecorator extends Decorator{
private double radius;
public CenterDecorator(Shape decoratedShape, double radius) {
super(decoratedShape);
this.radius = radius;
}
protected void drawDecoration(GraphicsContext context) {
double centerX = 0;
double centerY = 0;
for (int i =0; i<pointsCount(); i++){
Point2D point = point(i);
centerX += point.getX();
centerY += point.getY();
}
centerX /= pointsCount();
centerY /= pointsCount();
context.setStroke(Color.RED);
context.setLineWidth(2);
context.strokeOval(centerX-radius, centerY-radius, radius*2,radius*2);
}
}
\ No newline at end of file
package shape;
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
......
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
public abstract class Decorator implements Shape {
protected Shape decoratedshape;
public Decorator(Shape decoratedShape) {
this.decoratedshape = decoratedShape;
}
@Override
public int pointsCount() {
return decoratedshape.pointsCount();
}
@Override
public Point2D point(int index) {
return decoratedshape.point(index);
}
@Override
public void draw(GraphicsContext context) {
decoratedshape.draw(context);
drawDecoration(context);
}
protected void drawDecoration(GraphicsContext context) {
}
}
\ No newline at end of file
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.util.List;
public class Polygon extends Abstractshape {
private Color color;
public Polygon(Color color, Point2D... points) {
super(List.of(points));
this.color = color;
}
@Override
public int pointsCount() {
return super.pointsCount();
}
@Override
public Point2D point(int index) {
return super.point(index);
}
@Override
public void draw(GraphicsContext context) {
context.setFill(color);
super.draw(context);
context.fill();
}
}
\ No newline at end of file
package shape;
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.util.List;
public class Rectangle implements Shape{
Color color;
public class Rectangle extends Abstractshape{
private Color color;
Rectangle(Color color, Point2D point0, Point2D point1){
super(List.of(point0, new Point2D(point1.getX(),point0.getY()),
point1,new Point2D(point0.getX(),point1.getY())));
this.color = color;
}
@Override
public int pointsCount() {
return 0;
return super.pointsCount();
}
@Override
public Point2D point(int index) {
return null;
return super.point(index);
}
@Override
public void draw(GraphicsContext context) {
context.setFill(color);
super.draw(context);
context.fill();
}
}
\ No newline at end of file
package shape;
package Graph1.shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
......
package shape;
package Graph1.shape;
import javafx.scene.canvas.GraphicsContext;
......@@ -9,7 +9,9 @@ public class ShapeContainer{
private List<Shape> shapes = new ArrayList<>();
public void addShape(Shape shape){}
public void addShape(Shape shape){
shapes.add(shape);
}
public void draw(GraphicsContext context){
for(Shape shape : shapes)
......
package state;
package Graph1.state;
import javafx.application.Application;
import javafx.scene.Group;
......
package state;
package Graph1.state;
import javafx.scene.canvas.Canvas;
import shape.Circle;
import shape.Shape;
import Graph1.shape.Circle;
import Graph1.shape.Shape;
import java.util.ArrayList;
import java.util.List;
......
package state;
package Graph1.state;
import javafx.scene.input.KeyEvent;
......
package state;
package Graph1.state;
public interface DrawerState {
void mousePressed(DrawerContext context, double x, double y);
......
package state;
package Graph1.state;
public class StateCircle0 implements DrawerState {
@Override
......
package serializer;
package TP5.serializer;
import javafx.application.Application;
import javafx.scene.Group;
......