使用SDL_ttf 2检测文本选择>>

问题描述 投票:0回答:1

我想用SDL和SDL_ttf实现一个简单的输入框。就像浏览器中的地址栏一样。

我正在猜测使用SDL_ttf检测鼠标选择的最简单,最有效的方法是什么。>>

让框显示如下文本:

+--------+
| abcdef |
+--------+

用户在'c'和'd'之间单击,然后将鼠标向左拖动几个像素。现在,我需要检测它是否选择了'c'字符。

SDL_ttf库具有确定文本度量的几种功能。您可以使用TTF_SizeUTF8计算整个文本大小,也可以使用TTF_GlyphMetrics确定单个字符的字形大小。

粗略的想法是用所有具有各自大小的单个字符创建一个特殊的数组,以便确定它们在框中的位置。

您对如何轻松实现这一点有更好的想法吗?

我想用SDL和SDL_ttf实现一个简单的输入框。就像浏览器中的地址栏一样。我在猜测使用...

sdl-2 sdl-ttf
1个回答
0
投票

立即渲染模式下的文本选择应从零开始处理,这需要做很多工作。许多即时gui库(例如imgui)都使用了传说中的stb_textedit,您可以在这里找到它https://github.com/nothings/stb/blob/master/stb_textedit.h

© www.soinside.com 2019 - 2024. All rights reserved.