博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Abiword中鼠标在文档中位置定位
阅读量:5266 次
发布时间:2019-06-14

本文共 703 字,大约阅读时间需要 2 分钟。

 

  1. 利用鼠标消息获取鼠标在客户区的坐标信息

    FV_View::_getMouseContext函数,layout view mouse pos x , pos y

  2. 减去页面的外边距

    FV_View::_getPageForXY,具体算法参考:,系统默认的左边距是:1500,上边距是:375

  3. 减去页面内边距

    fp_Page::mapXYToPosition函数中调用fp_VerticalContainer::mapXYToPosition(列)时,自动减去页面内边距。也可以理解成列的外边距,默认是1440。根据页面列的设置,循环所有的列用于确定坐标是否包含在该列中,然后调用fp_VerticalContainer::mapXYToPosition,该函数中要确定现在的y坐标能定位到那一行上(fp_Line) 

    Find first container that contains the point. First has its lower level below the desired Y

    position. Note that X-positions are completely ignored here.

     

  4. 在fp_Line::mapXYToPosition函数中,循环该行包含的fp_Run对象,判断x坐标,最后定位x到Run对象内

  5. fp_TextRun::mapXYToPosition,该函数调用GR_Win32USPGraphics::XYToPosition函数定位鼠标的文档中的位置

转载于:https://www.cnblogs.com/songtzu/p/3539784.html

你可能感兴趣的文章
洛谷 P3478 [POI2008]STA-Station
查看>>
消除文法左递归
查看>>
Html Mailto标签详细使用方法
查看>>
简明Python3教程 9.函数
查看>>
程序员的人性思考(下)
查看>>
POJ 1611 The Suspects 并查集
查看>>
极其简单的使用基于gulp和sass前端工作流
查看>>
卡牌简单动作编辑器
查看>>
上帝造题五分钟
查看>>
所谓的传值和引用
查看>>
面向对象的一些性质
查看>>
输入数字个数以及要找的位置,输出以字典序为准的那个数
查看>>
第十章 优先级队列 (c)堆排序
查看>>
12_传智播客iOS视频教程_注释和函数的定义和调用
查看>>
IO,容器
查看>>
一次深刻的教训。js和java投票界面功能提供 ajax返回前后台代码以及动态的添加input和点击动态添加的input的单击事件...
查看>>
c++ algorithm 的用法
查看>>
面试题:编写上传和下载文件测试用例
查看>>
hibernate jar包介绍
查看>>
所谓的大厂让人思考人生
查看>>