26 lines
761 B
TypeScript
26 lines
761 B
TypeScript
import * as clipperLib from 'js-angusj-clipper/web/index.js'
|
|
|
|
// nodejs style require
|
|
// 多边形和线条裁剪及偏移库
|
|
export const clipperCpp: { lib?: clipperLib.ClipperLibWrapper } = {}
|
|
export function InitClipperCpp(): Promise<void>
|
|
{
|
|
if (clipperCpp.lib)
|
|
return
|
|
if (!globalThis.document)
|
|
globalThis.document = {} as any
|
|
return new Promise((res, rej) =>
|
|
{
|
|
clipperLib.loadNativeClipperLibInstanceAsync(
|
|
// let it autodetect which one to use, but also available WasmOnly and AsmJsOnly
|
|
// clipperLib.NativeClipperLibRequestedFormat.WasmWithAsmJsFallback
|
|
clipperLib.NativeClipperLibRequestedFormat.WasmOnly,
|
|
).then((c) =>
|
|
{
|
|
clipperCpp.lib = c
|
|
res()
|
|
console.log('载入成功!')
|
|
})
|
|
})
|
|
}
|