富文本编辑器
万里长征的第一步: 我们先开发一个基于canvas的富文本编辑器. 之后, 这个编辑器可以用在我们所有类型的文档中(文档, 表格, 幻灯片...)....因为:
当我们的鼠标hover在文字上方的时候, 需要产生相应的样式变化. 在DOM中, 这个功能是浏览器帮我们实现的....但是现在在canvas中, 因为整个canvas对于浏览器来说, 就是一个栅格图像, 所以我们需要自己计算, 实现这个功能.
当我们在文字上方点击的时候, 需要在对应位置插入闪烁的光标....MDN是这样描述的:
actualBoundingBox: 渲染文本的矩形边界
fontBoundingBox: 渲染文本的所有字体的矩形边界
看完文档, 还是不确定哪一个使我们想要的....当鼠标移出这些区域的时候, 去掉cursor: text;
问题来了, 如何获取到鼠标在canvas中的坐标呢?