本節是關於高層介面相關實現.
文檔寬度則是對應水平滾動條(水平閱讀方向下)需要的數據. 寬度和高度略有區別, 自己的處理方法如下:
其中也有配合ALT鍵的擴展輸入, 看情況可以給予支持. 當然還有很多快捷輸入, 例如:
具體實現中, 很多操作分為邏輯和視覺. 例如上、下、HOME、END之類的, 可以根據自身情況實現.
比如只讀文檔, GUI基本的操作是無法修改的, 但是低級介面肯定必須能修改(不然都沒有文檔看). 所以針對上述的GUI操作需要提供一系列GUI基本的函數.
算是基礎功能, 一般來說我們可以把選擇區兩端用錨點(anchor)和插入符(caret)區分, 錨點可能在插入符的前(向後選擇)、後(向前選擇)以及一樣(沒有選擇). 選擇方式一般有:
如果選擇區只有一行則是: 開始點-結束點. 多行則是: