UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

28 lines (27 loc) 1.07 kB
"use strict"; import { createGeometriesFromTypeMesh } from "./TextMesh"; import { getShapes } from "./TextShapes"; import { createGeometriesFromTypeFlat } from "./TextFlat"; import { createGeometriesFromTypeStroke } from "./TextStroke"; import { shapesFromFont } from "./TextShapesFromFont"; import { TypeAssert } from "../../../engine/poly/Assert"; import { createGeometriesFromTypeLine } from "./TextLine"; import { TextType } from "./TextType"; export async function textBuildGeometries(params) { const { textType } = params; const shapes = getShapes(params); switch (textType) { case TextType.MESH: return createGeometriesFromTypeMesh({ ...params, shapes }); case TextType.FLAT: return createGeometriesFromTypeFlat({ shapes }); case TextType.LINE: return createGeometriesFromTypeLine({ shapes: shapesFromFont(shapes) }); case TextType.STROKE: return await createGeometriesFromTypeStroke({ shapes: shapesFromFont(shapes), strokeWidth: params.strokeWidth }); } TypeAssert.unreachable(textType); }