Emacs 光标动画(或:果冻光标)

@kekeimiku 启发,感觉可以试着直接牛了 Emacs 里负责绘制光标的函数,性能会好一些

目前看到的逻辑是:ns_draw_window_cursor 当在 FILLED_BOX_CURSOR 时调用 draw_phys_cursor_glyph,然后是 face override 为 DRAW_CURSORdraw_glyphs,根据上下文调用一堆 ns_draw_xxx 函数

难搞的就在这里,一些 ns_draw_xxx 的函数会更改绘制的光标的尺寸信息(这也是为什么 Elisp 的接口会返回错误的值)

1 个赞