refactor(editor): extract brush element renderer (#11460)

This commit is contained in:
Saul-Mirone
2025-04-04 13:09:45 +00:00
parent 138e7f60de
commit 5a1106fb88
4 changed files with 23 additions and 16 deletions
@@ -1,25 +0,0 @@
import { type BrushElementModel, DefaultTheme } from '@blocksuite/affine-model';
import type { CanvasRenderer } from '../../canvas-renderer.js';
export function brush(
model: BrushElementModel,
ctx: CanvasRenderingContext2D,
matrix: DOMMatrix,
renderer: CanvasRenderer
) {
const { rotate } = model;
const [, , w, h] = model.deserializedXYWH;
const cx = w / 2;
const cy = h / 2;
ctx.setTransform(
matrix.translateSelf(cx, cy).rotateSelf(rotate).translateSelf(-cx, -cy)
);
const color = renderer.getColorValue(model.color, DefaultTheme.black, true);
ctx.fillStyle = color;
ctx.fill(new Path2D(model.commands));
}
@@ -7,7 +7,6 @@ import type {
import { ElementRendererExtension } from '../../extensions/element-renderer.js';
import type { RoughCanvas } from '../../index.js';
import type { CanvasRenderer } from '../canvas-renderer.js';
import { brush } from './brush/index.js';
import { connector } from './connector/index.js';
import { group } from './group/index.js';
import { highlighter } from './highlighter/index.js';
@@ -29,11 +28,6 @@ export type ElementRenderer<
viewportBound: IBound
) => void;
export const BrushElementRendererExtension = ElementRendererExtension(
'brush',
brush
);
export const HighlighterElementRendererExtension = ElementRendererExtension(
'highlighter',
highlighter
@@ -65,7 +59,6 @@ export const MindmapElementRendererExtension = ElementRendererExtension(
);
export const elementRendererExtensions = [
BrushElementRendererExtension,
HighlighterElementRendererExtension,
ConnectorElementRendererExtension,
GroupElementRendererExtension,