From 99382d5f46e59cf03bea59d93e1fbfa0e2fc0552 Mon Sep 17 00:00:00 2001 From: Suvekshya Date: Tue, 31 Oct 2023 23:30:46 +0545 Subject: [PATCH] feat: added new factory method --- src/assets/TemplateFactory.ts | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/assets/TemplateFactory.ts b/src/assets/TemplateFactory.ts index 90dc389..c84855d 100644 --- a/src/assets/TemplateFactory.ts +++ b/src/assets/TemplateFactory.ts @@ -703,5 +703,44 @@ export const TemplateFactory = { } ] }; + }), + Shit: createTemplate((image: ImageSource) => { + const clipCircle = (ctx: SKRSContext2D, width: number, height: number) => { + ctx.save(); + ctx.globalCompositeOperation = 'destination-in'; + ctx.beginPath(); + ctx.arc(width / 2, height / 2, width / 2, 0, Math.PI * 2); + ctx.closePath(); + ctx.fill(); + ctx.restore(); + }; + + return { + steps: [ + { + image: [ + { + source: new TemplateImage(ImageFactory.SHIT), + x: 0, + y: 0 + } + ] + }, + { + image: [ + { + source: new TemplateImage(image), + x: 210, + y: 700, + width: 170, + height: 170, + preprocess(_canvas, ctx) { + clipCircle(ctx, 170, 170); + } + } + ] + } + ] + }; }) };