gstream-set_cursor_dimensions man page
void set_cursor_dimensions(int iw, int ih, int ow, int oh);
This will set the cursor dimensions to IW x IH when in insert mode and OW x OH when in overwrite mode. Although the standard cursors respond to this, it is mostly intended to be used with custom cursor drawers.
Before requesting any inputs with your custom cursor drawer, you should call this function with the appropriate values. To set the size of the character underneath the cursor dynamically, pass gbuf::DYNAMIC_CURSOR_SIZE: if the cursor is at the end of the line, it will get the width of a space ' ', else it will get the size of the character under it.
Say that we have created a nice cursor drawer that for the insert cursor is one pixel wide and as tall as the characters (in other words: a vertical line), but for the overwrite cursor is a BITMAP with the dimensions 8x10. Then the following would do:
gs.set_cursor_dimensions(1, gbuf::DYNAMIC_CURSOR_SIZE, 8, 10);
It is important that you remember to call this function when you are using custom cursor drawers - else the inputter doesn't know how much of the background below the cursor to save and recover.
The default dimensions are the dimensions that are suited for the default cursor.
gstream-get_cursor_w(3), gstream-get_cursor_h(3), gstream-set_cursor_drawer(3)
gstream-get_cursor_h(3), gstream-get_cursor_w(3), gstream-set_cursor_drawer(3).