Skip to content

Latest commit

 

History

History
38 lines (26 loc) · 2.25 KB

README.CN.md

File metadata and controls

38 lines (26 loc) · 2.25 KB

.Net35 LICENSE

STTextBox

STTextBox是我和我的朋友netero使用GDI构建的一个WinForm控件,可以支持Emoji

我们采用MIT开源协议,使用.Net3.5 + vs2010构建的项目,所以几乎可以兼容任何VS版本, 在开发的过程中我们还衍生出两个额外的开源项目:

emoji-svg-render, STGraphemeSplitter

因为能力有限,很多功能我们都无法很好的实现,所以将一些有代表性的功能独立成了接口。 如果有能力且愿意去修改它们的开发者可以直接继承接口实现,不用在项目中到处找代码了。

Emoji

你可以在STTextBox中使用Emoji,在demos_bin的样例我们使用的是推特的表情符twemoji. 更多信息可以查看: emoji-svg-render

Alpha

STTextBox中的所有颜色你都可以使用alpha通道,当然代价就是渲染的速度会变慢。

Style

你可以自定义文本样式,通过实现ITextStyleMonitor接口,在STTextBox中内置了4个样式监视器。 KeyWorldStyleMonitor CSharpStyleMonitor LinkStyleMonitor SelectionStyleMonitor

注意:STTextBox的渲染速度和内容没太大关系,而是和当前UI中需要绘制的字符个数有关,因为一些原因我们采用的是逐个字符绘制。 为了让颜色可以使用Alpha通道,所以我们并没有对绘制的内容做缓存处理,因为背景可能是变化的。而且要做缓存也是一个麻烦事情。 所以我们暂时没有考虑极端情况的渲染速度。

关于作者