接口 Renderer

所有已知实现类:
LegacyRendererAdapter, RemoteRendererProxy, SVGRenderer, SwingRenderer, TestRenderer

public interface Renderer
增强渲染器接口,扩展基础渲染能力。

架构演进记录:

  • v1.0 - 基础绘制方法
  • v1.1 - 分离为RendererInterface和Renderer
  • v1.2 - 增加样式设置和上下文访问
  • v1.3 - 合并RendererInterface功能,包含基础绘制方法、样式管理、渲染上下文访问和帧控制

架构角色:桥接模式中的抽象部分,将图形绘制与具体实现解耦。

生命周期:

  1. 通过RendererFactory创建实例
  2. 配置样式(setStyle)
  3. 执行绘制操作(drawXxx)
  4. 可通过getContext获取底层实现对象
从以下版本开始:
2025-06-29
作者:
Aider+SillconFlow-Deepseek-R1
另请参阅:
  • 方法概要

    修饰符和类型
    方法
    说明
    default void
    开始新帧/页的绘制
    void
    drawCircle(int x, int y, int radius)
    绘制圆形
    void
    drawEllipse(int x, int y, int width, int height)
    绘制椭圆
    void
    drawRectangle(int x, int y, int width, int height)
    绘制矩形
    void
    drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3)
    绘制三角形
    default void
    结束当前帧/页的绘制
    获取当前渲染上下文
    void
    setStyle(String stroke, String fill, int width)
    设置渲染样式
  • 方法详细资料

    • setStyle

      void setStyle(String stroke, String fill, int width) throws IllegalArgumentException
      设置渲染样式

      此方法用于配置图形绘制时的线条、填充和线宽属性

      参数:
      stroke - 线条颜色(支持CSS颜色格式)
      fill - 填充颜色(支持CSS颜色格式)
      width - 线宽(像素,必须>=0)
      抛出:
      IllegalArgumentException - 如果宽度为负数
      从以下版本开始:
      2025-06-29
    • getContext

      Object getContext()
      获取当前渲染上下文

      此方法返回渲染器使用的底层实现对象

      返回:
      底层实现对象 (Swing返回Graphics2D,SVG返回StringBuilder等)
      从以下版本开始:
      2025-06-29
    • beginFrame

      default void beginFrame()
      开始新帧/页的绘制

      此方法应在序列绘制的开始处调用,用于初始化帧状态

      从以下版本开始:
      2025-06-29
    • endFrame

      default void endFrame()
      结束当前帧/页的绘制

      此方法应在序列绘制的末尾调用,用于清理帧资源

      从以下版本开始:
      2025-06-29
    • drawCircle

      void drawCircle(int x, int y, int radius) throws IllegalArgumentException, IllegalStateException
      绘制圆形
      参数:
      x - 圆心x坐标
      y - 圆心y坐标
      radius - 圆形半径(必须>0)
      抛出:
      IllegalArgumentException - 如果半径不合法
      IllegalStateException - 如果渲染器未正确初始化
      从以下版本开始:
      2025-06-29
    • drawRectangle

      void drawRectangle(int x, int y, int width, int height)
      绘制矩形
      参数:
      x - 左上角x坐标
      y - 左上角y坐标
      width - 矩形宽度(必须>0)
      height - 矩形高度(必须>0)
      抛出:
      IllegalArgumentException - 如果宽度或高度不合法
      从以下版本开始:
      2025-06-29
    • drawEllipse

      void drawEllipse(int x, int y, int width, int height)
      绘制椭圆
      参数:
      x - 椭圆外接矩形左上角x坐标
      y - 椭圆外接矩形左上角y坐标
      width - 椭圆宽度(必须>0)
      height - 椭圆高度(必须>0)
      抛出:
      IllegalArgumentException - 如果宽度或高度不合法
      从以下版本开始:
      2025-06-29
    • drawTriangle

      void drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3)
      绘制三角形
      参数:
      x1 - 第一个顶点x坐标
      y1 - 第一个顶点y坐标
      x2 - 第二个顶点x坐标
      y2 - 第二个顶点y坐标
      x3 - 第三个顶点x坐标
      y3 - 第三个顶点y坐标
      从以下版本开始:
      2025-06-29