【乐吾乐2D可视化组态编辑器】生命周期

生命周期

乐吾乐2D可视化组态编辑器demo:https://2d.le5le.com/  

全局生命周期函数


meta2d.beforeAddPens = async (pens: Pen[]) => {
  console.log("addPens", pens);

  // showDialog 伪代码
  const res = await showDialog("是否添加此图元?");
  // 返回 true 允许 remove
  return res.ok;
};

// 删除组合节点时, beforeRemovePens 会多次触发
meta2d.beforeRemovePens = async (pens: Pen[]) => {
  console.log("removePens", pens);
  // showDialog 伪代码
  const res = await showDialog("是否删除所选图元?");
  // 返回 true 允许 remove
  return res.ok;
};

meta2d.beforeAddAnchor = async (pen: Pen, anchor: Point) => {
  // showDialog 伪代码
  return await showModal("添加锚点");
};

meta2d.beforeRemoveAnchor = async (pen: Pen, anchor: Point) => {
  // showDialog 伪代码
  return await showModal("删除锚点");
};

// 定义一个pen,矩形
const pen = {
  name: "rectangle",
  text: "矩形",
  x: 100,
  y: 100,
  width: 100,
  height: 100,
  tag: ["aaa"],
};
meta2d.addPen(pen);

画笔生命周期函数

生命周期函数类型均为:(pen: Pen) => void , 除了 onBeforeValue, onChangeId

  • onAdd 画笔添加到画布后
  • onDestroy 画笔被删除后

其他相关函数:

  • onBeforeValue 属性值发生改变前
  • onValue 属性值发生修改
  • onMove 被移动拖拽
  • onResize 修改大小
  • onRotate 旋转
  • onClick 单击
  • onMouseDown 鼠标按下
  • onMouseMove 鼠标移动
  • onMouseUp 鼠标抬起
  • onMouseEnter 鼠标经过
  • onMouseLeave 鼠标离开
  • onShowInput 开始输入
  • onInput 完成输入
  • onChangeId id 改变
  • onKeyDown 键盘按下
  • onScale 缩放
  • onBinds 绑定变量处理
  • onStartVideo 开始视频
  • onPauseVideo 暂停视频
  • onStopVideo 停止视频
  • onRenderPenRaw 下载png/svg前,pen绘制处理。
  • onWheel 鼠标经过图元,滚轮缩放 (version>=1.0.25)

const onAddPen = (pen: Pen) => {
  console.log("onAddPen", pen);
};

// 定义一个pen,矩形
const pen = {
  name: "rectangle",
  text: "矩形",
  x: 100,
  y: 100,
  width: 100,
  height: 100,
  onAdd: onAddPen,
};
meta2d.addPen(pen);

相关推荐

  1. 2D编辑器生命周期

    2024-07-19 06:06:02       19 阅读
  2. 2D编辑器】消息

    2024-07-19 06:06:02       25 阅读
  3. 2D编辑器】事件

    2024-07-19 06:06:02       25 阅读
  4. 2D编辑器】快捷键

    2024-07-19 06:06:02       19 阅读
  5. 2D编辑器】切换画面

    2024-07-19 06:06:02       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 06:06:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 06:06:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 06:06:02       57 阅读
  4. Python语言-面向对象

    2024-07-19 06:06:02       68 阅读

热门阅读

  1. SQLite 事务

    2024-07-19 06:06:02       19 阅读
  2. C++ STL partition用法

    2024-07-19 06:06:02       20 阅读
  3. Vue 3路由详解:从基础配置到高级技巧

    2024-07-19 06:06:02       20 阅读
  4. MQTT 固定报头中的剩余长度介绍

    2024-07-19 06:06:02       21 阅读
  5. uniapp自定义tabBar

    2024-07-19 06:06:02       21 阅读
  6. Redis

    2024-07-19 06:06:02       14 阅读