Simos Xenitellis
2009-05-28 04:22:29 UTC
Hi All,
Here are some thoughts for the IME work in SDL that takes place this summer.
The aim is to start a discussion on the API that will support the
input method in SDL.
As far as I understand, SDL does not provide GUI elements such as text
input widgets.
For the IME support requirements, we need to bring to SDL such a basic
text input widget.
Shall SDL perform the full drawing of the characters pressed, or shall
the programmer
do it instead (with help from SDL)?
For Latin, Greek and Cyrillic (LGC) there is no strong need for visual
feedback when pre-editing
(for example, when typing a compose sequence such as dead_acute + a),
which makes it easier
than more complex scripts.
SDL would consume key events as they are pressed until it would be
able to produce
a new printable character. Then, the updated string is printed over
the previous version.
When visual feedback is required while pre-editing, things get
complicated and SDL has to take
over the input and display of text.
Would to be acceptable for SDL to take over when the program gives control
to a text input box, until a condition arises (such as pressing Esc,
Enter, Tab).
This might be acceptable for simple programs (such as when typing your
name for the scores
in an arcade game), however it would not be acceptable for a network
game where you
type a message in a multi-line textbox and at the same time you make
interruptions to control
the game elements with your mouse.
Simos
Here are some thoughts for the IME work in SDL that takes place this summer.
The aim is to start a discussion on the API that will support the
input method in SDL.
As far as I understand, SDL does not provide GUI elements such as text
input widgets.
For the IME support requirements, we need to bring to SDL such a basic
text input widget.
Shall SDL perform the full drawing of the characters pressed, or shall
the programmer
do it instead (with help from SDL)?
For Latin, Greek and Cyrillic (LGC) there is no strong need for visual
feedback when pre-editing
(for example, when typing a compose sequence such as dead_acute + a),
which makes it easier
than more complex scripts.
SDL would consume key events as they are pressed until it would be
able to produce
a new printable character. Then, the updated string is printed over
the previous version.
When visual feedback is required while pre-editing, things get
complicated and SDL has to take
over the input and display of text.
Would to be acceptable for SDL to take over when the program gives control
to a text input box, until a condition arises (such as pressing Esc,
Enter, Tab).
This might be acceptable for simple programs (such as when typing your
name for the scores
in an arcade game), however it would not be acceptable for a network
game where you
type a message in a multi-line textbox and at the same time you make
interruptions to control
the game elements with your mouse.
Simos