Renderer.java
package com.example.graphics.render;
import com.example.graphics.model.Circle;
import com.example.graphics.model.Line;
import com.example.graphics.model.Rectangle;
import com.example.graphics.model.Triangle;
/**
* Renderer interface for implementing the Bridge pattern.
* This interface defines methods for rendering different shapes.
*/
public interface Renderer {
/**
* Render a circle
* @param circle the circle to render
*/
void renderCircle(Circle circle);
/**
* Render a rectangle
* @param rectangle the rectangle to render
*/
void renderRectangle(Rectangle rectangle);
/**
* Render a line
* @param line the line to render
*/
void renderLine(Line line);
/**
* Render a triangle
* @param triangle the triangle to render
*/
void renderTriangle(Triangle triangle);
/**
* Clear the rendering surface
*/
void clear();
/**
* Display the rendered content
*/
void display();
/**
* Get the width of the rendering area
* @return the width
*/
default int getWidth() {
return 800; // Default width
}
/**
* Get the height of the rendering area
* @return the height
*/
default int getHeight() {
return 600; // Default height
}
}