UNPKG

rough-native

Version:

Create graphics using HTML Canvas or SVG with a hand-drawn, sketchy, appearance. Features comprehensive React hooks, memory management, and React 18 concurrent rendering support.

48 lines (47 loc) 1.66 kB
import { HachureFiller } from './hachure-filler'; import { ZigZagFiller } from './zigzag-filler'; import { HatchFiller } from './hatch-filler'; import { DotFiller } from './dot-filler'; import { DashedFiller } from './dashed-filler'; import { ZigZagLineFiller } from './zigzag-line-filler'; const fillers = {}; export function getFiller(o, helper) { let fillerName = o.fillStyle || 'hachure'; if (!fillers[fillerName]) { switch (fillerName) { case 'zigzag': if (!fillers[fillerName]) { fillers[fillerName] = new ZigZagFiller(helper); } break; case 'cross-hatch': if (!fillers[fillerName]) { fillers[fillerName] = new HatchFiller(helper); } break; case 'dots': if (!fillers[fillerName]) { fillers[fillerName] = new DotFiller(helper); } break; case 'dashed': if (!fillers[fillerName]) { fillers[fillerName] = new DashedFiller(helper); } break; case 'zigzag-line': if (!fillers[fillerName]) { fillers[fillerName] = new ZigZagLineFiller(helper); } break; case 'hachure': default: fillerName = 'hachure'; if (!fillers[fillerName]) { fillers[fillerName] = new HachureFiller(helper); } break; } } return fillers[fillerName]; }