UNPKG

@polygonjs/polygonjs

Version:

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

48 lines (43 loc) 1.99 kB
import {CSS2DObjectSopNode} from '../../../src/engine/nodes/sop/CSS2DObject'; import {ParamType} from '../../../src/engine/poly/ParamType'; import {BasePreset, NodePresetsCollection, PresetRegister, PresetsCollectionFactory} from '../BasePreset'; // export function CSS2DObjectSopNodePresets() { // return { // smooth_transform: function (node: CSS2DObjectSopNode) { // node.p.useHTMLAttrib.set(false); // node.p.html.set(`<div style='will-change: transform;'>default html</div>`); // }, // smooth_opacity: function (node: CSS2DObjectSopNode) { // node.p.useHTMLAttrib.set(false); // node.p.html.set("<div style='will-change: opacity;'>default html</div>"); // }, // smooth_opacity_and_transform: function (node: CSS2DObjectSopNode) { // node.p.useHTMLAttrib.set(false); // node.p.html.set("<div style='will-change: transform, opacity;'>default html</div>"); // }, // }; // } const CSS2DObjectSopNodePresetsCollectionFactory: PresetsCollectionFactory<CSS2DObjectSopNode> = ( node: CSS2DObjectSopNode ) => { const collection = new NodePresetsCollection(); const smooth_transform = new BasePreset() .addEntry(node.p.overrideHTML, true) .addEntry<ParamType.STRING>(node.p.html, `<div style='will-change: transform;'>default html</div>`); const smooth_opacity = new BasePreset() .addEntry(node.p.overrideHTML, true) .addEntry<ParamType.STRING>(node.p.html, `<div style='will-change: opacity;'>default html</div>`); const smooth_opacity_and_transform = new BasePreset() .addEntry(node.p.overrideHTML, true) .addEntry<ParamType.STRING>(node.p.html, `<div style='will-change: transform, opacity;'>default html</div>`); collection.setPresets({ smooth_transform, smooth_opacity, smooth_opacity_and_transform, }); return collection; }; export const CSS2DObjectPresetRegister: PresetRegister<typeof CSS2DObjectSopNode, CSS2DObjectSopNode> = { nodeClass: CSS2DObjectSopNode, setupFunc: CSS2DObjectSopNodePresetsCollectionFactory, };