import { Mesh, MeshConstructorProps } from './Mesh'; import { ContextManager, Observable } from '@zcomponent/core'; export declare enum ThreeFont { 'helvetiker-regular' = "helvetiker-regular", 'helvetiker-bold' = "helvetiker-bold", 'gentilis-regular' = "gentilis-regular", 'gentilis-bold' = "gentilis-bold", 'optimer-regular' = "optimer-regular", 'optimer-bold' = "optimer-bold" } interface ExtrudedTextConstructorProps extends MeshConstructorProps { /** * @zui * @zdefault "helvetiker-regular" */ standardFont: ThreeFont; } /** * A mesh component with extruded (i.e. 3D) text geometry. Several fonts from the three.js project are available for use. * Note that these fonts include a limited set of glyphs and so may not be suitable to some text/language combinations. * For support for a wider range of glyphs, consider instead the Text component, or HTML. * * Root element: [THREE.Mesh](https://threejs.org/docs/index.html#api/en/objects/Mesh) * @zcomponent * @zgroup Meshes * @zicon deployed_code * @ztag three/Object3D/Mesh/ExtrudedText * @zparents three/Object3D/Group/** */ export declare class ExtrudedText extends Mesh { constructorProps: ExtrudedTextConstructorProps; private _dirty; private _font?; _update: () => void; /** * @zprop * @zgroup Extruded Text * @zgrouppriority 21 * @ztype text-multiline * @zdefault ... */ text: Observable; /** * Size of the text * @zui * @zdefault 1 * @zgroup Text Properties * @zgrouppriority 20 */ size: Observable; /** * Thickness to extrude text. * @zui * @zdefault 0.2 * @zgroup Text Properties * @zgrouppriority 20 */ height: Observable; /** * @zui * @zdefault 12 * @zgroup Text Properties * @zgrouppriority 20 */ curveSegments: Observable; /** * @zui * @zdefault false * @zgroup Text Properties * @zgrouppriority 20 */ bevelEnabled: Observable; /** * How deep into text bevel goes. * @zui * @zdefault 0.1 * @zgroup Text Properties * @zgrouppriority 20 */ bevelThickness: Observable; /** * How far from text outline is bevel. * @zui * @zdefault 0.08 * @zgroup Text Properties * @zgrouppriority 20 */ bevelSize: Observable; /** * How far from text outline bevel starts. * Expects a `Float`. * @zui * @zdefault 0 * @zgroup Text Properties * @zgrouppriority 20 */ bevelOffset: Observable; /** * @zui * @zdefault 3 * @zgroup Text Properties * @zgrouppriority 20 */ bevelSegments: Observable; constructor(contextManager: ContextManager, constructorProps: ExtrudedTextConstructorProps); private _load; /** * Disposes the box geometry. */ dispose(): never; } export {};