我有缓冲区中某个点的坐标:x,y 相对于窗口的开头;如何通过这些相对坐标获得文本位置(缓冲区开头的偏移量)?
IE。:
--------------- 缓冲区的启动
sdfv efrv s
==========================================<--窗口开始边框
s!df verg 34v dc
sd sdf
==========================================<--窗口结束边框
如果该点在感叹号位置,则x = 1,y = 0,位置= 13。现在我知道(x,y)=(1,0),如何获得位置?
编辑(回应 Stefan):
这个坐标来自事件,在 mause-1 下的整流罩。我从一个函数中获取它tmm-menubar-mouse
。整个事件看起来像这样:
(mouse-1 (nil menu-bar (45 . 0) 15023 nil 2924 (45 . 0) nil (0 . 0) (1 . 0)))
问题是,由于错误,一些坐标计算错误,我重新计算了它们,但是我必须获得一个文本位置才能将新事件传输到mouse-drag-region
. 我得到窗口window-at
,并从它们重新计算绝对坐标到相对减去窗口左上角。