Skip to content

Commit

Permalink
feat: added element options to canvas mask, for using an external cre…
Browse files Browse the repository at this point in the history
…ated canvas
  • Loading branch information
matteobruni committed Sep 7, 2022
1 parent f3fc227 commit 0770c13
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
5 changes: 3 additions & 2 deletions plugins/canvasMask/src/CanvasMaskInstance.ts
Expand Up @@ -46,8 +46,9 @@ export class CanvasMaskInstance implements IContainerPlugin {
const textOptions = options.text;

pixelData = getTextData(textOptions.text, textOptions.color, offset, textOptions.font);
} else if (options.selector) {
const canvas = document.querySelector<HTMLCanvasElement>(options.selector);
} else if (options.element || options.selector) {
const canvas =
options.element || (options.selector && document.querySelector<HTMLCanvasElement>(options.selector));

if (!canvas) {
return;
Expand Down
5 changes: 5 additions & 0 deletions plugins/canvasMask/src/Options/Classes/CanvasMask.ts
Expand Up @@ -10,6 +10,7 @@ import { TextMask } from "./TextMask";
* @category Canvas Mask Plugin
*/
export class CanvasMask implements ICanvasMask, IOptionLoader<ICanvasMask> {
element?: HTMLCanvasElement;
enable;
image?: ImageMask;
override;
Expand All @@ -35,6 +36,10 @@ export class CanvasMask implements ICanvasMask, IOptionLoader<ICanvasMask> {
return;
}

if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {
this.element = data.element;
}

if (data.enable !== undefined) {
this.enable = data.enable;
}
Expand Down
1 change: 1 addition & 0 deletions plugins/canvasMask/src/Options/Interfaces/ICanvasMask.ts
Expand Up @@ -8,6 +8,7 @@ import type { ITextMask } from "./ITextMask";
* @category Canvas Mask Plugin
*/
export interface ICanvasMask {
element?: HTMLCanvasElement;
enable: boolean;
image?: IImageMask;
override: ICanvasMaskOverride;
Expand Down

0 comments on commit 0770c13

Please sign in to comment.