1
edit
Changes
m
→Line Editor: int io_edit(........) OOP344B - northWind87: Clarified tab functionality when IsTextEditor is true a little bit and added a small blurb on offsetting when IsTextEditor is true.
* TAB:
** if '''IsTextEditor''' is false, TAB will simply terminate the function like a Function key
** if '''IsTextEditor''' is true, TAB will insert CIO_TAB_SIZE number of spaces into the string. '''CIO_TAB_SIZE''' should be a defined "tab size" value in ciol.h. If '''CIO_TAB_SIZE''' spaces cannot be inserted into the string for any reason then the inputted tab should be ignored. (See below for more about '''IsTextEditor''' flag)
====IsTextEditor:====
''when IsTextEditor is true, and Escape is hit do not abort the editing but simply terminate the function returning the Escape key.''
'''Note:''' While IsTextEditor is true, io_edit can and should modify *curpos in the course of any editing. If an offset is required, io_edit should terminate and return the Left, Right, or Tab key respectively after having performed any required edits.
Any normal printable key is simply placed into the string according to the rules laid out in the discussion of the INSERT key above. (The keys from the space character to the tilde character in the ASCII table are considered "printable".)