我想用SDL和SDL_ttf实现一个简单的输入框。就像浏览器中的地址栏一样。
我正在猜测使用SDL_ttf检测鼠标选择的最简单,最有效的方法是什么。>>
让框显示如下文本:
+--------+ | abcdef | +--------+
用户在'c'和'd'之间单击,然后将鼠标向左拖动几个像素。现在,我需要检测它是否选择了'c'字符。
SDL_ttf库具有确定文本度量的几种功能。您可以使用
TTF_SizeUTF8
计算整个文本大小,也可以使用TTF_GlyphMetrics
确定单个字符的字形大小。
粗略的想法是用所有具有各自大小的单个字符创建一个特殊的数组,以便确定它们在框中的位置。
您对如何轻松实现这一点有更好的想法吗?
我想用SDL和SDL_ttf实现一个简单的输入框。就像浏览器中的地址栏一样。我在猜测使用...
立即渲染模式下的文本选择应从零开始处理,这需要做很多工作。许多即时gui库(例如imgui)都使用了传说中的stb_textedit,您可以在这里找到它https://github.com/nothings/stb/blob/master/stb_textedit.h