UNPKG

@polygonjs/polygonjs

Version:

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

40 lines (39 loc) 1.42 kB
"use strict"; import { ParamConfig } from "../../engine/nodes/utils/params/ParamsConfig"; export var CameraFrameMode = /* @__PURE__ */ ((CameraFrameMode2) => { CameraFrameMode2["DEFAULT"] = "default"; CameraFrameMode2["COVER"] = "cover"; CameraFrameMode2["CONTAIN"] = "contain"; return CameraFrameMode2; })(CameraFrameMode || {}); export const CAMERA_FRAME_MODES = [ "default" /* DEFAULT */, "cover" /* COVER */, "contain" /* CONTAIN */ ]; export function CoreCameraFrameParamConfig(Base) { return class Mixin extends Base { constructor() { super(...arguments); /** @param fov adjust mode */ this.frameMode = ParamConfig.INTEGER(CAMERA_FRAME_MODES.indexOf("default" /* DEFAULT */), { menu: { entries: CAMERA_FRAME_MODES.map((name, value) => { return { name, value }; }) } }); /** @param expected aspect ratio */ this.expectedAspectRatio = ParamConfig.FLOAT("16/9", { visibleIf: [ { frameMode: CAMERA_FRAME_MODES.indexOf("cover" /* COVER */) }, { frameMode: CAMERA_FRAME_MODES.indexOf("contain" /* CONTAIN */) } ], range: [0, 2], rangeLocked: [true, false] }); } // vertical_fov_range = ParamConfig.VECTOR2([0, 100], {visibleIf: {lock_width: 1}}); // horizontal_fov_range = ParamConfig.VECTOR2([0, 100], {visibleIf: {lock_width: 0}}); }; }