28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
|
# 文本编辑控件
|
|||
|
## 创建原因
|
|||
|
1. 实现一个可以自主掌控的源码编辑控件
|
|||
|
2. 验证自己的设计理念,学习基本的文本排版技术
|
|||
|
3. 市面上没有一个开源好用的源码编辑器,需要以C++内存模型对外暴露文档模型,方便编辑和解析
|
|||
|
4. 需要多线程处理高亮渲染,以应对大规模关键词渲染需求
|
|||
|
5. 同一个文档模型多开视图窗口,自动同步修改内容,同一模型不同的渲染视图的渲染结果互不影响
|
|||
|
6. 自动补全功能
|
|||
|
7. 富文本元素排版
|
|||
|
8. Unicode内建支持
|
|||
|
|
|||
|
## 设计目标
|
|||
|
1. 富文本渲染控件
|
|||
|
1. 支持排版元素:“文本”、“图片”、“超链接”、“列表”、“表格”、“视频”、“音频”;
|
|||
|
2. 支持编辑内容:“文本”、“表格”、“列表”
|
|||
|
3. 支持编辑引用:“图片”,“超链接”,“视频”,“音频”;
|
|||
|
4. 支持元素折叠和展开
|
|||
|
5. 块级元素内建排版格式,行内元素排版方向内建
|
|||
|
2. 源码文本编辑控件
|
|||
|
1. 纯文本控件,支持编辑和呈现文本元素
|
|||
|
2. 多种文本格式混合排版
|
|||
|
3. 支持块级元素折叠和展开
|
|||
|
4. 全局统一排版方向,行内元素排版方向内建
|
|||
|
|
|||
|
## 开发路线图
|
|||
|
1. 基本的源码展示控件(WsTextPresent)
|
|||
|
2. 基本的源码编辑控件(WsTextEdit)
|
|||
|
3. 富文本渲染控件(WsRichTextPresent)
|