标签归档:CanvasObjLibrary

CanvasObjLibrary大更新

COL

本次更新做了如下改动
GitHub:https://github.com/iTisso/CanvasObjLibrary/pull/26/files

  • 把图形元素的left和top分别改成了x和y,不然看着太别扭了
  • 把绘制对象的代码块缩减了
  • 优化了代码结构。。。
  • 修复上次所谓优化遗留下的错误:上一次做了一个鼠标检测优化,但是后来我发现这样就出错了,于是这一次更新里就把它又恢复了
  • 优化了Debug:底部状态条增加了FPS,鼠标移到可接收事件的对象上时它会发白
  • 取消了右键截获,如果需要这样的功能的话就自己对canvas增加阻止事件吧。
  • 终于解决了鼠标移的越远离左上角,误差就越大的问题。(与其说解决了不如说干脆不进行浏览器坐标校正了。。)现在只要不给canvas添加border,margin,padding这样会使元素实际坐标产生歧义的css,鼠标 就会在它应该在的地方
  • 为图形增加了自定义边缘功能,通过元素的borderPathFun路径函数来定义元素的边缘,边缘的作用是在overflow=”hidden”的时候正确裁剪掉边缘外部的图形。
  • 给元素增加clipBy属性,定义裁剪区域使用的边界。”border”为使用borderPathFun定义的边界。如果是drawtype==”function”的元素,可以使clipBy=”drawfunction”把绘图函数当作裁剪边缘(虽然似乎不靠谱。。。)。clipBy为其它任意值的时候都会使用元素定义的宽高来裁剪。

差不多就这些了。

CanvasObjLibrary小更新

刚刚断了一会儿网,所以我又打开了COL这个库的代码来看看有没有啥好改进的,没想到一打开附带的dome就一堆报错,原来是事件冒泡的终点出问题了,于是我就花了点时间修补了它一下,顺便加点功能。
·修复事件冒泡bug
·添加Debug鼠标十字(加了十字以后可以明显看出鼠标坐标计算是必须优化的,实际坐标永远拖在鼠标指针后面)
·优化鼠标位置判断(绘制一个图形的时候会判断鼠标在不在上面,如果在的话就告诉后面要绘制的图形不要再判断鼠标位置了)