add app
This commit is contained in:
30
app/src/drawers/paint.ts
Normal file
30
app/src/drawers/paint.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { convertToFloat } from "@tempblade/common";
|
||||
import { Paint as SkPaint, CanvasKit } from "canvaskit-wasm";
|
||||
import { Paint } from "primitives/Paint";
|
||||
import { z } from "zod";
|
||||
|
||||
export function buildPaintStyle(
|
||||
CanvasKit: CanvasKit,
|
||||
skPaint: SkPaint,
|
||||
paint: z.output<typeof Paint>
|
||||
) {
|
||||
const color = convertToFloat(paint.style.color.value);
|
||||
|
||||
skPaint.setAntiAlias(true);
|
||||
skPaint.setColor(color);
|
||||
|
||||
switch (paint.style.type) {
|
||||
case "Fill":
|
||||
skPaint.setStyle(CanvasKit.PaintStyle.Fill);
|
||||
break;
|
||||
|
||||
case "Stroke":
|
||||
skPaint.setStyle(CanvasKit.PaintStyle.Stroke);
|
||||
skPaint.setStrokeWidth(paint.style.width);
|
||||
break;
|
||||
|
||||
default:
|
||||
console.error("Paint Style not supported!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user