HaxeFlixel / flixel

Free, cross-platform 2D game engine powered by Haxe and OpenFL
https://haxeflixel.com/
MIT License
1.92k stars 427 forks source link

New text input object #3191

Closed Starmapo closed 1 week ago

Starmapo commented 2 weeks ago

After #3178 was opened and I figured that my original text input library just would not work with Flash, I've started making a new one from the ground up, which does not depend on any internal OpenFL functions/variables.

It's still a work-in-progress as of now, you're free to request any changes of my implementation.

Showcase of its current state:

https://github.com/HaxeFlixel/flixel/assets/85134252/c34655ab-8afa-4d2b-a5a8-c6c75b02b4d4

To-do list:

Geokureli commented 2 weeks ago

I've taken the quickest of glances at the source and this looks promising!

Edit: Multiline should already be handled by FlxText

Geokureli commented 2 weeks ago

Also, fwiw, FlxBitmapInputText is not a requirement for this PR, if you only have time for FlxInputText we can always do bitmap text sometime later, after this merge

in fact not everything in the FlxInputText TODO needs to be done in the first pass either, my minimum requirement is whatever it takes to make people stop using addons and your flixel-text-input lib. we can see if Shahar wants to add RTL

Starmapo commented 2 weeks ago

Also, fwiw, FlxBitmapInputText is not a requirement for this PR, if you only have time for FlxInputText we can always do bitmap text sometime later, after this merge

in fact not everything in the FlxInputText TODO needs to be done in the first pass either, my minimum requirement is whatever it takes to make people stop using addons and your flixel-text-input lib. we can see if Shahar wants to add RTL

Alright, I'll update the to-do list accordingly.

Geokureli commented 1 week ago

what is "text scrolling", is that and "force case" something that should also go in FlxText?

Starmapo commented 1 week ago

what is "text scrolling", is that and "force case" something that should also go in FlxText?

Text scrolling is being able to scroll the text horizontally and vertically (if all the text doesn't fit in the bounds of the sprite), which for FlxInputText the user can do by scrolling the mouse wheel or moving the mouse around while selecting text. I suppose it could also have some uses in FlxText independent of text input, maybe even the mouse wheel scrolling could be an optional feature for base FlxText (it seems to already be the case for OpenFL text fields).

forceCase is in flixel-ui's FlxInputText and it just forces all letters the user types to be either lowercase or uppercase, I don't think it has any use for non-input text.

Geokureli commented 1 week ago

if these features are already in ui.FlxInputText then adding them to FlxText would require a PR to flixel-ui for compatibility. so just keep doing it how you're doing it and we'll migrate these to FlxText some other time. thanks for the info

Geokureli commented 1 week ago

Unsubscribing for the moment, if you need me for anything, ping me please

Starmapo commented 1 week ago

There's still a handful of things left so I think I'll just close the PR for now and reopen it once it's ready.