要实现文本的自动换行,在brew平台下,一般使用IDisplay_MeasureTextEx()接口。对于文本比较短的时候,可以使用该接口,但是,当文本比较长的时候,该接口的效率会比较低。
解决的办法一般有两个:
1、以空间换时间,复制当前屏幕要显示的内容到一个临时buffer中,然后显示。由于当前屏幕要显示的内容一般不会超过300字,所以完全可以满足需要。
2、实现计算好。计算的时候,可以使用IDisplay_MeasureText()接口,以提高效率,但是由于IDisplay_MeasureText()接口没有指定文本长度,所以也需要把数据复制到一个临时的buffer中,然后再进行计算。