TextIOC Version 1.0 Release
Today I released the first version of TextIOC as part of the LLVM branch of the C toolchain. The library will not officially be available until the next toolchain release, but in the meantime, it is available for download at its Github repository.
Here are several screenshots taken from some of the toolchain examples:
Timed Input
Click here to view the demo's source code.
This example demonstrates the textio_TimedInput function. The time displayed is in seconds. Each IDS allocates 3 bytes for a timer, so each timer has a theoretical maximum capacity of 16,777,216 seconds, or about 4,660 hours. Plenty of leeway for any project that you might have.
To implement this timer, TextIOC uses the third calculator timer, leaveing the first two timers free for progam use.
Program/Appvar Name Input
Click here to view the demo's source code.
This screenshot shows how the textio_SetPrgmNameFlag and the textio_SetThetaCharacter functions work. Each IDS has a byte allocated for special attributes. These attributes include whether or not an IDS is timed, is locked, set for program/appvar input, or if its data buffer is full. When the prgm_name flag is set, textio_Input will not accept a numeral as the first input character and locks the key that moves the cursor left, executing the backspace instead. The textio_SetThetaCharacter function determines which codepoint in the current font will act as the theta character. In the example above, I set the theta character value to 255. Thus, instead of the TI-OS value for theta (0x5b or 91; "[" in ASCII), the input function inserts 255 in the program/appvar name. TextIOC also offers two functions, textio_ConvertProgramAppvarName_TIOS and textio_ConvertProgramAppvarName_TextIOC, to convert the name into a TI-OS compatible format from a TextIOC compatible format and vice versa.
Advanced Input
Click here to view the demo's source code.
This demonstration shows how the IDS_Lock flag works as well as how to switch between different input fields.
TextIOC provides four keymaps of its own: uppercase letters, lowercase letters, numerals, and a special program/appvar name keymap. However, it also supports custom keymaps using the special string format given with the os_GetCSC function in the tice.h documentation.
The library also supports cursor customization, offering such functions as textio_SetCursorDimensions, textio_SetCursorColor, and textio_SetCursorBlinkRate.
As always, any feedback is greatly appreciated! Thanks again to everyone who helped make this project possible!
Today I released the first version of TextIOC as part of the LLVM branch of the C toolchain. The library will not officially be available until the next toolchain release, but in the meantime, it is available for download at its Github repository.
Here are several screenshots taken from some of the toolchain examples:
Timed Input

Click here to view the demo's source code.
This example demonstrates the textio_TimedInput function. The time displayed is in seconds. Each IDS allocates 3 bytes for a timer, so each timer has a theoretical maximum capacity of 16,777,216 seconds, or about 4,660 hours. Plenty of leeway for any project that you might have.

To implement this timer, TextIOC uses the third calculator timer, leaveing the first two timers free for progam use.
Program/Appvar Name Input

Click here to view the demo's source code.
This screenshot shows how the textio_SetPrgmNameFlag and the textio_SetThetaCharacter functions work. Each IDS has a byte allocated for special attributes. These attributes include whether or not an IDS is timed, is locked, set for program/appvar input, or if its data buffer is full. When the prgm_name flag is set, textio_Input will not accept a numeral as the first input character and locks the key that moves the cursor left, executing the backspace instead. The textio_SetThetaCharacter function determines which codepoint in the current font will act as the theta character. In the example above, I set the theta character value to 255. Thus, instead of the TI-OS value for theta (0x5b or 91; "[" in ASCII), the input function inserts 255 in the program/appvar name. TextIOC also offers two functions, textio_ConvertProgramAppvarName_TIOS and textio_ConvertProgramAppvarName_TextIOC, to convert the name into a TI-OS compatible format from a TextIOC compatible format and vice versa.
Advanced Input

Click here to view the demo's source code.
This demonstration shows how the IDS_Lock flag works as well as how to switch between different input fields.
TextIOC provides four keymaps of its own: uppercase letters, lowercase letters, numerals, and a special program/appvar name keymap. However, it also supports custom keymaps using the special string format given with the os_GetCSC function in the tice.h documentation.
The library also supports cursor customization, offering such functions as textio_SetCursorDimensions, textio_SetCursorColor, and textio_SetCursorBlinkRate.
As always, any feedback is greatly appreciated! Thanks again to everyone who helped make this project possible!
