- if(key==Input::KEY_LEFT)
- {
- if(edit_pos>0)
- set_edit_position(edit_pos-1);
- }
- else if(key==Input::KEY_RIGHT)
- {
- if(edit_pos<text.size())
- set_edit_position(edit_pos+1);
- }
- else if(key==Input::KEY_DOWN && multiline)
- {
- unsigned row, col;
- text.offset_to_coords(edit_pos, row, col);
- set_edit_position(text.coords_to_offset(row+1, col));
- }
- else if(key==Input::KEY_UP && multiline)
- {
- unsigned row, col;
- text.offset_to_coords(edit_pos, row, col);
- set_edit_position(row>0 ? text.coords_to_offset(row-1, col) : 0);
- }
- else if(key==Input::KEY_BACKSPACE)