TestRenderer.java

package com.example.renderer.bridge;

import com.example.renderer.bridge.Renderer;

/**
 * 测试用渲染器,仅记录调用不实际渲染
 */
public class TestRenderer implements Renderer {
    private Object testContext = new Object();

    @Override
    public void setStyle(String stroke, String fill, int width) {
        System.out.printf("TestRenderer: 设置样式 - 描边:%s 填充:%s 线宽:%d\n", 
                         stroke, fill, width);
    }

    @Override
    public Object getContext() {
        return testContext;
    }

    @Override
    public void beginFrame() {
        System.out.println("TestRenderer: 开始新帧");
    }

    @Override
    public void endFrame() {
        System.out.println("TestRenderer: 结束帧");
    }
    @Override
    public void drawCircle(int x, int y, int radius) {
        if (radius <= 0) {
            throw new IllegalArgumentException("半径必须为正数 (当前值: " + radius + ")");
        }
        System.out.printf("[DEBUG] TestRenderer.drawCircle - 位置: (%d,%d), 半径: %d, 面积: %.2f\n", 
            x, y, radius, Math.PI * radius * radius);
    }

    @Override
    public void drawRectangle(int x, int y, int width, int height) {
        System.out.printf("TestRenderer: drawRectangle(%d,%d,%d,%d)\n", 
            x, y, width, height);
    }

    @Override
    public void drawEllipse(int x, int y, int width, int height) {
        System.out.printf("TestRenderer: drawEllipse(%d,%d,%d,%d)\n",
            x, y, width, height);
    }

    @Override
    public void drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3) {
        System.out.printf("TestRenderer: drawTriangle(%d,%d,%d,%d,%d,%d)\n",
            x1, y1, x2, y2, x3, y3);
    }
}