Files
AFFiNE-Mirror/blocksuite/affine/gfx/shape/src/overlay/triangle.ts
T
2025-03-21 06:13:11 +00:00

23 lines
569 B
TypeScript

import type { RoughCanvas } from '@blocksuite/affine-block-surface';
import { Shape } from './shape';
import { drawGeneralShape } from './utils';
export class TriangleShape extends Shape {
draw(ctx: CanvasRenderingContext2D, rc: RoughCanvas): void {
if (this.shapeStyle === 'Scribbled') {
const [x, y, w, h] = this.xywh;
rc.polygon(
[
[x + w / 2, y],
[x, y + h],
[x + w, y + h],
],
this.options
);
} else {
drawGeneralShape(ctx, 'triangle', this.xywh, this.options);
}
}
}