Abiword中鼠標在文檔中位置定位
?
-
利用鼠標消息獲取鼠標在客戶區(qū)的坐標信息
FV_View::_getMouseContext函數(shù),layout view mouse pos x?, pos y
-
減去頁面的外邊距
FV_View::_getPageForXY,具體算法參考: Abiword頁面布局 ,系統(tǒng)默認的左邊距是:1500,上邊距是:375
-
減去頁面內(nèi)邊距
fp_Page::mapXYToPosition函數(shù)中調(diào)用fp_VerticalContainer::mapXYToPosition(列)時,自動減去頁面內(nèi)邊距。也可以理解成列的外邊距,默認是1440。根據(jù)頁面列的設(shè)置,循環(huán)所有的列用于確定坐標是否包含在該列中,然后調(diào)用fp_VerticalContainer::mapXYToPosition,該函數(shù)中要確定現(xiàn)在的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.?
-
在fp_Line::mapXYToPosition函數(shù)中,循環(huán)該行包含的fp_Run對象,判斷x坐標,最后定位x到Run對象內(nèi)
- fp_TextRun::mapXYToPosition,該函數(shù)調(diào)用GR_Win32USPGraphics::XYToPosition函數(shù)定位鼠標的文檔中的位置
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
