【发布时间】:2026-01-16 08:20:07
【问题描述】:
我为什么要问?
我被赋予了重新实现文本框 GUI 小部件和类型编写器的艰巨任务,所以这就是这个问题的由来。
我目前的做法
目前在我的项目中,新行字符\n 保存了下一行(column1,line+1)最终第一个字符的位置坐标。但是,这恐怕不是对换行位置的标准理解。
问题
新行字符\n 是否与前一个字符在同一行,它是下一行的一部分(就像我目前的方法一样)还是两者都不是?
有区别吗?
我在用退格键擦除新行时遇到了并发症,因为我必须为此事件实施特定条件,但我试图避免这种情况(或者可以通过改变我处理新行的方式来避免这种情况字符),因为从所有这些情况来看,我似乎正在尝试发明人工智能或其他东西。
【问题讨论】:
-
@naxa 是的,它将使用 GPL 许可证开源发布。
-
它建立在一个平台上,该平台只允许基本的绘图功能(putpixel、lineto 和 setpen)以及访问键盘和鼠标。该平台不支持 2D(或 3D)硬件加速(因为它基于 SDL1),但它被设计为经过大量优化,并且在自动输入(自动文本框填充)时支持 166 fps。它可以移植以与 CAIRO 一起使用(例如),因为它只使用我所说的最基本的交互。
-
尽管有这些限制和大量优化,但它在功能和适应性方面超出了标准文本框(来自 .NET env 甚至 GNOME)。 (数字滚动、分层 pixbuff 等 - 已确认)
-
嘿,听起来令人印象深刻!如果您可以在存储库公开时将其超链接到此处,那就太好了。
-
这确实令人印象深刻,但我一般开始使用它是因为没有全功能的文本框编码在平台上工作。因此,我不明白为什么有人会更喜欢使用这些(尽管功能强大、xplatform、可定制),而是使用标准的 GNOME 文本框。我同意它们有一些缺点(例如幻影选择),但它们并不那么重要(至少对于常用)
标签: c user-interface textbox position newline