簡(jiǎn)易文本編輯器代碼 記事本是一個(gè)純文本編輯器。這是什么意思啊?
記事本是一個(gè)純文本編輯器。這是什么意思???文本編輯器一直是個(gè)難題?;旧希F(xiàn)代文本編輯器體系結(jié)構(gòu)基本上由視圖、存儲(chǔ)和布局管理器組成。如果只考慮純文本,也就是像記事本這樣的程序,存儲(chǔ)可以直接用字符串代替
記事本是一個(gè)純文本編輯器。這是什么意思???
文本編輯器一直是個(gè)難題?;旧?,現(xiàn)代文本編輯器體系結(jié)構(gòu)基本上由視圖、存儲(chǔ)和布局管理器組成。如果只考慮純文本,也就是像記事本這樣的程序,存儲(chǔ)可以直接用字符串代替,因?yàn)樗簧婕案袷交痛笪谋尽N覜]有研究過富格文本版本,但是對(duì)于純文本來說,布局相對(duì)容易。我們來談?wù)劶兾谋尽J紫?,不建議您為數(shù)據(jù)結(jié)構(gòu)制作自己的輪子??梢允褂米址悺5?,字符串通常是不可變的,因此頻繁的操作會(huì)導(dǎo)致性能問題。不過,問題在初期并不大。建議為以后的優(yōu)化保留此接口。然后,在渲染部分,關(guān)鍵點(diǎn)是測(cè)量每個(gè)字符,計(jì)算一行的長(zhǎng)度,然后進(jìn)行換行。如果考慮自動(dòng)斷線,則會(huì)更加復(fù)雜。分割線之后,您可以直接在繪圖API中獲得抽繩。對(duì)于選定的文本,可能需要使用反向顏色再次繪制字符串?;旧暇褪沁@樣。當(dāng)然,會(huì)有性能問題。對(duì)于不在視口中的行,需要計(jì)算它們并跳過該部分中的圖形。